On Sat, Aug 08, 2009 at 10:44:25PM +0800, Bean wrote:
> Hi,
>
> I also encounter this problem with apple gcc 4.0, the fix is to replace:
>
> asm volatile ("jmp *%2" : : "b" (0), "S" (real_mode_mem), "g"
> (params->code32_start));
>
> With:
> asm volatile ("movl %0, %%ecx" : : "m" (params->code32_start));
> asm volatile ("movl %0, %%esi" : : "m" (real_mode_mem));
>
> asm volatile ("xorl %%ebx, %%ebx" : : );
> asm volatile ("jmp *%%ecx" : : );
I think I did precisely the opposite change a while ago, with the purpose of
general cleanup (to make it more compact and avoid generating unnecessary
instructions).
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel