1 /* 2 * (C) Copyright 2002 3 * Daniel Engström, Omicron Ceti AB, daniel@omicron.se 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8 #ifndef _ASM_ZIMAGE_H_ 9 #define _ASM_ZIMAGE_H_ 10 11 #include <asm/bootparam.h> 12 #include <asm/e820.h> 13 14 /* linux i386 zImage/bzImage header. Offsets relative to 15 * the start of the image */ 16 17 #define HEAP_FLAG 0x80 18 #define BIG_KERNEL_FLAG 0x01 19 20 /* magic numbers */ 21 #define KERNEL_MAGIC 0xaa55 22 #define KERNEL_V2_MAGIC 0x53726448 23 #define COMMAND_LINE_MAGIC 0xA33F 24 25 /* limits */ 26 #define BZIMAGE_MAX_SIZE 15*1024*1024 /* 15MB */ 27 #define ZIMAGE_MAX_SIZE 512*1024 /* 512k */ 28 #define SETUP_MAX_SIZE 32768 29 30 #define SETUP_START_OFFSET 0x200 31 #define BZIMAGE_LOAD_ADDR 0x100000 32 #define ZIMAGE_LOAD_ADDR 0x10000 33 34 /* Implementation defined function to install an e820 map. */ 35 unsigned install_e820_map(unsigned max_entries, struct e820entry *); 36 37 struct boot_params *load_zimage(char *image, unsigned long kernel_size, 38 void **load_address); 39 int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot, 40 unsigned long initrd_addr, unsigned long initrd_size); 41 42 void boot_zimage(void *setup_base, void *load_address); 43 44 #endif 45