summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/zimage.h
diff options
context:
space:
mode:
authorGabe Black <gabeblack@chromium.org>2011-12-05 12:09:24 +0000
committerGraeme Russ <graeme.russ@gmail.com>2011-12-19 13:26:16 +1100
commit233dbc119438ad17bb0bc7104ba7972415c4f7e7 (patch)
tree03022351620c0713a9d869c2e2e78e6b3175090e /arch/x86/include/asm/zimage.h
parentd3a2bc3fd148232461c2435330261aeaabf87830 (diff)
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 <gabeblack@chromium.org>
Diffstat (limited to 'arch/x86/include/asm/zimage.h')
-rw-r--r--arch/x86/include/asm/zimage.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/include/asm/zimage.h b/arch/x86/include/asm/zimage.h
index 1a77e00995..3a68bb0bb3 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 <asm/e820.h>
+
/* 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