diff options
author | Robert Millan <rmh@aybabtu.com> | 2008-11-11 20:20:54 +0000 |
---|---|---|
committer | Jordan Crouse <jordan.crouse@amd.com> | 2008-11-11 20:20:54 +0000 |
commit | 81af3d4a0077f354029e92aea71eb737d20f6a3e (patch) | |
tree | a6ff46fe806d5ad57f23a3b398e3ae6772eef477 /src/arch/i386/boot/boot.c | |
parent | 5cb4d9d663d2ed5b8225dbbb00507637016d3fc4 (diff) | |
download | coreboot-81af3d4a0077f354029e92aea71eb737d20f6a3e.tar.xz |
[PATCH] coreboot-v2: Add multiboot support
Signed-off-by: Robert Millan <rmh@aybabtu.com>
Acked-by: Jordan Crouse <jordan@cosmicpneguin.net>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3745 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/i386/boot/boot.c')
-rw-r--r-- | src/arch/i386/boot/boot.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/i386/boot/boot.c b/src/arch/i386/boot/boot.c index edba2d1c3d..c1cdf594a4 100644 --- a/src/arch/i386/boot/boot.c +++ b/src/arch/i386/boot/boot.c @@ -3,6 +3,7 @@ #include <boot/elf.h> #include <boot/elf_boot.h> #include <string.h> +#include <cpu/x86/multiboot.h> #ifndef CMD_LINE @@ -139,7 +140,7 @@ void jmp_to_elf_entry(void *entry, unsigned long buffer) " rep movsl\n\t" /* Now jump to the loaded image */ - " movl $0x0E1FB007, %%eax\n\t" + " movl %5, %%eax\n\t" " movl 0(%%esp), %%ebx\n\t" " call *4(%%esp)\n\t" @@ -175,7 +176,12 @@ void jmp_to_elf_entry(void *entry, unsigned long buffer) :: "g" (lb_start), "g" (buffer), "g" (lb_size), - "g" (entry), "g"(adjusted_boot_notes) + "g" (entry), +#if CONFIG_MULTIBOOT + "g"(mbi), "g" (MB_MAGIC2) +#else + "g"(adjusted_boot_notes), "g" (0x0E1FB007) +#endif ); } |