2009-06-29 Robert Millan <rmh.grub@aybabtu.com>

* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
        assembly in final jump, using register constraints.
This commit is contained in:
robertmh 2009-06-29 15:55:42 +00:00
parent 28333ad04f
commit c6fe4d5328
2 changed files with 6 additions and 7 deletions

View file

@ -1,3 +1,8 @@
2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
assembly in final jump, using register constraints.
2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.

View file

@ -554,14 +554,8 @@ grub_linux_boot (void)
asm volatile ("lidt %0" : : "m" (idt_desc));
asm volatile ("lgdt %0" : : "m" (gdt_desc));
/* Pass parameters. */
asm volatile ("movl %0, %%ecx" : : "m" (params->code32_start));
asm volatile ("movl %0, %%esi" : : "m" (real_mode_mem));
asm volatile ("xorl %%ebx, %%ebx" : : );
/* Enter Linux. */
asm volatile ("jmp *%%ecx" : : );
asm volatile ("jmp *%2" : : "b" (0), "S" (real_mode_mem), "g" (params->code32_start));
#endif