xref: /openbmc/u-boot/arch/x86/include/asm/zimage.h (revision a452002259e172c93277dbe5752817e0732afe78)
1fea25720SGraeme Russ /*
2fea25720SGraeme Russ  * (C) Copyright 2002
3fa82f871SAlbert ARIBAUD  * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
4fea25720SGraeme Russ  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6fea25720SGraeme Russ  */
7fea25720SGraeme Russ 
8fea25720SGraeme Russ #ifndef _ASM_ZIMAGE_H_
9fea25720SGraeme Russ #define _ASM_ZIMAGE_H_
10fea25720SGraeme Russ 
1169370d14SGabe Black #include <asm/bootparam.h>
12233dbc11SGabe Black #include <asm/e820.h>
13233dbc11SGabe Black 
14fea25720SGraeme Russ /* linux i386 zImage/bzImage header. Offsets relative to
15fea25720SGraeme Russ  * the start of the image */
16fea25720SGraeme Russ 
17fea25720SGraeme Russ #define HEAP_FLAG           0x80
18fea25720SGraeme Russ #define BIG_KERNEL_FLAG     0x01
19fea25720SGraeme Russ 
20fea25720SGraeme Russ /* magic numbers */
21fea25720SGraeme Russ #define KERNEL_MAGIC        0xaa55
22fea25720SGraeme Russ #define KERNEL_V2_MAGIC     0x53726448
23fea25720SGraeme Russ #define COMMAND_LINE_MAGIC  0xA33F
24fea25720SGraeme Russ 
25fea25720SGraeme Russ /* limits */
26fea25720SGraeme Russ #define BZIMAGE_MAX_SIZE   15*1024*1024     /* 15MB */
27fea25720SGraeme Russ #define ZIMAGE_MAX_SIZE    512*1024         /* 512k */
28fea25720SGraeme Russ #define SETUP_MAX_SIZE     32768
29fea25720SGraeme Russ 
30fea25720SGraeme Russ #define SETUP_START_OFFSET 0x200
31fea25720SGraeme Russ #define BZIMAGE_LOAD_ADDR  0x100000
32fea25720SGraeme Russ #define ZIMAGE_LOAD_ADDR   0x10000
33fea25720SGraeme Russ 
34233dbc11SGabe Black /* Implementation defined function to install an e820 map. */
35233dbc11SGabe Black unsigned install_e820_map(unsigned max_entries, struct e820entry *);
36233dbc11SGabe Black 
3769370d14SGabe Black struct boot_params *load_zimage(char *image, unsigned long kernel_size,
3876539383SSimon Glass 				ulong *load_addressp);
3969370d14SGabe Black int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,
4069370d14SGabe Black 		 unsigned long initrd_addr, unsigned long initrd_size);
41*a4520022SBin Meng void setup_video(struct screen_info *screen_info);
42fea25720SGraeme Russ 
43fea25720SGraeme Russ #endif
44