Re: [PATCH 1/2] Use structs instead of hardcoded offsets in x86 bootdecompressor.

From: H. Peter Anvin
Date: Sat May 24 2008 - 02:20:16 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/