diff options
author | Graeme Russ <graeme.russ@gmail.com> | 2011-11-08 02:33:19 +0000 |
---|---|---|
committer | Graeme Russ <graeme.russ@gmail.com> | 2011-11-29 21:08:02 +1100 |
commit | a206cc23431474a9890f0301f02f50ad3dc9b062 (patch) | |
tree | 26f7d5e9420b5639af89b9c8214677d1a465982f /arch/x86/cpu | |
parent | 311b1a2b38b5317fdff76a5dad9d16fee3f52c79 (diff) | |
download | u-boot-imx-a206cc23431474a9890f0301f02f50ad3dc9b062.zip u-boot-imx-a206cc23431474a9890f0301f02f50ad3dc9b062.tar.gz u-boot-imx-a206cc23431474a9890f0301f02f50ad3dc9b062.tar.bz2 |
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 <graeme.russ@gmail.com>
Diffstat (limited to 'arch/x86/cpu')
-rw-r--r-- | arch/x86/cpu/start.S | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S index 5adb387..d099fc9 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 |