Revision: 2374
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2374
Author: robertmh
Date: 2009-06-29 15:55:42 +0000 (Mon, 29 Jun 2009)
Log Message:
-----------
2009-06-29 Robert Millan <[email protected]>
* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
assembly in final jump, using register constraints.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/loader/i386/linux.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-06-29 12:20:56 UTC (rev 2373)
+++ trunk/grub2/ChangeLog 2009-06-29 15:55:42 UTC (rev 2374)
@@ -1,5 +1,10 @@
2009-06-29 Robert Millan <[email protected]>
+ * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
+ assembly in final jump, using register constraints.
+
+2009-06-29 Robert Millan <[email protected]>
+
* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
* loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
and set GRUB_LINUX_FLAG_QUIET appropiately.
Modified: trunk/grub2/loader/i386/linux.c
===================================================================
--- trunk/grub2/loader/i386/linux.c 2009-06-29 12:20:56 UTC (rev 2373)
+++ trunk/grub2/loader/i386/linux.c 2009-06-29 15:55:42 UTC (rev 2374)
@@ -554,14 +554,8 @@
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