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