Messages in this thread | | | Date | Fri, 23 May 2008 23:17:01 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 1/2] Use structs instead of hardcoded offsets in x86 boot decompressor. |
| |
Rik van Riel wrote: > > People who wonder why these pointers never get initialized: they > point to the zeropage, which of course lives at address zero. > > /* The so-called "zeropage" */ > struct boot_params { > struct screen_info screen_info; /* 0x000 */ > struct apm_bios_info apm_bios_info; /* 0x040 */ > __u8 _pad2[12]; /* 0x054 */ > struct ist_info ist_info; /* 0x060 */ > ... >
Uhm... except it doesn't live at address zero, at all.
It's called "zeropage" because we used to recycle it into empty_zero_page, a long long time ago.
The bootparms structure is pointed to by %esi being passed from the setup code to the decompressor to the kernel.
-hpa
| |