From 233dbc119438ad17bb0bc7104ba7972415c4f7e7 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 5 Dec 2011 12:09:24 +0000 Subject: x86: Add support for booting Linux using the 32 bit boot protocol This change conditionally modifies the zboot command so that it can use the 32 bit boot protocol. This is necessary because the 16 bit realmode entry point assumes that it can call BIOS services which neither coreboot nor u-boot provide. Signed-off-by: Gabe Black --- arch/x86/include/asm/zimage.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'arch/x86/include/asm') diff --git a/arch/x86/include/asm/zimage.h b/arch/x86/include/asm/zimage.h index 1a77e00..3a68bb0 100644 --- a/arch/x86/include/asm/zimage.h +++ b/arch/x86/include/asm/zimage.h @@ -24,6 +24,8 @@ #ifndef _ASM_ZIMAGE_H_ #define _ASM_ZIMAGE_H_ +#include + /* linux i386 zImage/bzImage header. Offsets relative to * the start of the image */ @@ -44,10 +46,13 @@ #define BZIMAGE_LOAD_ADDR 0x100000 #define ZIMAGE_LOAD_ADDR 0x10000 +/* Implementation defined function to install an e820 map. */ +unsigned install_e820_map(unsigned max_entries, struct e820entry *); + void *load_zimage(char *image, unsigned long kernel_size, unsigned long initrd_addr, unsigned long initrd_size, - int auto_boot); + int auto_boot, void **load_address); -void boot_zimage(void *setup_base); +void boot_zimage(void *setup_base, void *load_address); #endif -- cgit v1.1