From: Graeme Russ Date: Tue, 8 Nov 2011 02:33:19 +0000 (+0000) Subject: x86: Add multiboot header X-Git-Tag: v2011.12-rc1~106^2~28 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a206cc23431474a9890f0301f02f50ad3dc9b062;p=oweals%2Fu-boot.git x86: Add multiboot header By adding a multiboot header, U-Boot can be loaded by GRUB2. Using GRUB2 to bootstrap U-Boot is useful for using an existing BIOS to get an initial U-Boot port up and running before implementing the low-level reset vector code, SDRAM init, etc. and overwriting the BIOS Signed-off-by: Graeme Russ --- diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index 5adb3874b4..d099fc9ba3 100644 --- a/arch/x86/cpu/start.S +++ b/arch/x86/cpu/start.S @@ -129,3 +129,23 @@ die: hlt blank_idt_ptr: .word 0 /* limit */ .long 0 /* base */ + + .p2align 2 /* force 4-byte alignment */ + +multiboot_header: + /* magic */ + .long 0x1BADB002 + /* flags */ + .long (1 << 16) + /* checksum */ + .long -0x1BADB002 - (1 << 16) + /* header addr */ + .long multiboot_header - _x86boot_start + CONFIG_SYS_TEXT_BASE + /* load addr */ + .long CONFIG_SYS_TEXT_BASE + /* load end addr */ + .long 0 + /* bss end addr */ + .long 0 + /* entry addr */ + .long CONFIG_SYS_TEXT_BASE