PageRenderTime 22ms CodeModel.GetById 16ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

Plain Text | 84 lines | 77 code | 7 blank | 0 comment | 0 complexity | a53616ac959350154fbddbf5300ab7fa MD5 | raw file
 1Summary of boot_params layout (kernel point of view)
 2     ( collected by Hans Lermen and Martin Mares )
 4The contents of boot_params are used to pass parameters from the
 516-bit realmode code of the kernel to the 32-bit part. References/settings
 6to it mainly are in:
 8  arch/i386/boot/setup.S
 9  arch/i386/boot/video.S
10  arch/i386/kernel/head.S
11  arch/i386/kernel/setup.c
14Offset	Type		Description
15------  ----		-----------
16    0	32 bytes	struct screen_info, SCREEN_INFO
17			ATTENTION, overlaps the following !!!
18    2	unsigned short	EXT_MEM_K, extended memory size in Kb (from int 0x15)
19 0x20	unsigned short	CL_MAGIC, commandline magic number (=0xA33F)
20 0x22	unsigned short	CL_OFFSET, commandline offset
21			Address of commandline is calculated:
22			  0x90000 + contents of CL_OFFSET
23			(only taken, when CL_MAGIC = 0xA33F)
24 0x40	20 bytes	struct apm_bios_info, APM_BIOS_INFO
25 0x60	16 bytes	Intel SpeedStep (IST) BIOS support information
26 0x80	16 bytes	hd0-disk-parameter from intvector 0x41
27 0x90	16 bytes	hd1-disk-parameter from intvector 0x46
29 0xa0	16 bytes	System description table truncated to 16 bytes.
30			( struct sys_desc_table_struct )
31 0xb0 - 0x13f		Free. Add more parameters here if you really need them.
32 0x140- 0x1be		EDID_INFO Video mode setup
340x1c4	unsigned long	EFI system table pointer
350x1c8	unsigned long	EFI memory descriptor size
360x1cc	unsigned long	EFI memory descriptor version
370x1d0	unsigned long	EFI memory descriptor map pointer
380x1d4	unsigned long	EFI memory descriptor map size
390x1e0	unsigned long	ALT_MEM_K, alternative mem check, in Kb
400x1e8	char		number of entries in E820MAP (below)
410x1e9	unsigned char	number of entries in EDDBUF (below)
420x1ea	unsigned char	number of entries in EDD_MBR_SIG_BUFFER (below)
430x1f1	char		size of setup.S, number of sectors
440x1f2	unsigned short	MOUNT_ROOT_RDONLY (if !=0)
450x1f4	unsigned short	size of compressed kernel-part in the
46			(b)zImage-file (in 16 byte units, rounded up)
470x1f6	unsigned short	swap_dev (unused AFAIK)
480x1f8	unsigned short	RAMDISK_FLAGS
490x1fa	unsigned short	VGA-Mode (old one)
500x1fc	unsigned short	ORIG_ROOT_DEV (high=Major, low=minor)
510x1ff	char		AUX_DEVICE_INFO
530x200	short jump to start of setup code aka "reserved" field.
540x202	4 bytes		Signature for SETUP-header, ="HdrS"
550x206	unsigned short	Version number of header format
56			Current version is 0x0201...
570x208	8 bytes		(used by setup.S for communication with boot loaders,
58			 look there)
590x210	char		LOADER_TYPE, = 0, old one
60			else it is set by the loader:
61			0xTV: T=0 for LILO
62				1 for Loadlin
63				2 for bootsect-loader
64				3 for SYSLINUX
65				4 for ETHERBOOT
66				V = version
670x211	char		loadflags:
68			bit0 = 1: kernel is loaded high (bzImage)
69			bit7 = 1: Heap and pointer (see below) set by boot
70				  loader.
710x212	unsigned short	(setup.S)
720x214	unsigned long	KERNEL_START, where the loader started the kernel
730x218	unsigned long	INITRD_START, address of loaded ramdisk image
740x21c	unsigned long	INITRD_SIZE, size in bytes of ramdisk image
750x220	4 bytes		(setup.S)
760x224	unsigned short	setup.S heap end pointer
770x226   unsigned short	zero_pad
780x228   unsigned long	cmd_line_ptr
790x22c   unsigned long	ramdisk_max
800x230   16 bytes 	trampoline
810x290 - 0x2cf		EDD_MBR_SIG_BUFFER (edd.S)
820x2d0 - 0x600		E820MAP
830x600 - 0x7ff		EDDBUF (edd.S) for disk signature read sector
840x600 - 0x7eb		EDDBUF (edd.S) for edd data