diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/i386/zero-page.txt |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/i386/zero-page.txt')
-rw-r--r-- | Documentation/i386/zero-page.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Documentation/i386/zero-page.txt b/Documentation/i386/zero-page.txt new file mode 100644 index 000000000000..67c053a099ed --- /dev/null +++ b/Documentation/i386/zero-page.txt | |||
@@ -0,0 +1,84 @@ | |||
1 | Summary of boot_params layout (kernel point of view) | ||
2 | ( collected by Hans Lermen and Martin Mares ) | ||
3 | |||
4 | The contents of boot_params are used to pass parameters from the | ||
5 | 16-bit realmode code of the kernel to the 32-bit part. References/settings | ||
6 | to it mainly are in: | ||
7 | |||
8 | arch/i386/boot/setup.S | ||
9 | arch/i386/boot/video.S | ||
10 | arch/i386/kernel/head.S | ||
11 | arch/i386/kernel/setup.c | ||
12 | |||
13 | |||
14 | Offset 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 | ||
28 | |||
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 | ||
33 | |||
34 | 0x1c4 unsigned long EFI system table pointer | ||
35 | 0x1c8 unsigned long EFI memory descriptor size | ||
36 | 0x1cc unsigned long EFI memory descriptor version | ||
37 | 0x1d0 unsigned long EFI memory descriptor map pointer | ||
38 | 0x1d4 unsigned long EFI memory descriptor map size | ||
39 | 0x1e0 unsigned long ALT_MEM_K, alternative mem check, in Kb | ||
40 | 0x1e8 char number of entries in E820MAP (below) | ||
41 | 0x1e9 unsigned char number of entries in EDDBUF (below) | ||
42 | 0x1ea unsigned char number of entries in EDD_MBR_SIG_BUFFER (below) | ||
43 | 0x1f1 char size of setup.S, number of sectors | ||
44 | 0x1f2 unsigned short MOUNT_ROOT_RDONLY (if !=0) | ||
45 | 0x1f4 unsigned short size of compressed kernel-part in the | ||
46 | (b)zImage-file (in 16 byte units, rounded up) | ||
47 | 0x1f6 unsigned short swap_dev (unused AFAIK) | ||
48 | 0x1f8 unsigned short RAMDISK_FLAGS | ||
49 | 0x1fa unsigned short VGA-Mode (old one) | ||
50 | 0x1fc unsigned short ORIG_ROOT_DEV (high=Major, low=minor) | ||
51 | 0x1ff char AUX_DEVICE_INFO | ||
52 | |||
53 | 0x200 short jump to start of setup code aka "reserved" field. | ||
54 | 0x202 4 bytes Signature for SETUP-header, ="HdrS" | ||
55 | 0x206 unsigned short Version number of header format | ||
56 | Current version is 0x0201... | ||
57 | 0x208 8 bytes (used by setup.S for communication with boot loaders, | ||
58 | look there) | ||
59 | 0x210 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 | ||
67 | 0x211 char loadflags: | ||
68 | bit0 = 1: kernel is loaded high (bzImage) | ||
69 | bit7 = 1: Heap and pointer (see below) set by boot | ||
70 | loader. | ||
71 | 0x212 unsigned short (setup.S) | ||
72 | 0x214 unsigned long KERNEL_START, where the loader started the kernel | ||
73 | 0x218 unsigned long INITRD_START, address of loaded ramdisk image | ||
74 | 0x21c unsigned long INITRD_SIZE, size in bytes of ramdisk image | ||
75 | 0x220 4 bytes (setup.S) | ||
76 | 0x224 unsigned short setup.S heap end pointer | ||
77 | 0x226 unsigned short zero_pad | ||
78 | 0x228 unsigned long cmd_line_ptr | ||
79 | 0x22c unsigned long ramdisk_max | ||
80 | 0x230 16 bytes trampoline | ||
81 | 0x290 - 0x2cf EDD_MBR_SIG_BUFFER (edd.S) | ||
82 | 0x2d0 - 0x600 E820MAP | ||
83 | 0x600 - 0x7ff EDDBUF (edd.S) for disk signature read sector | ||
84 | 0x600 - 0x7eb EDDBUF (edd.S) for edd data | ||