x86, boot: make kernel_alignment adjustable; new bzImage fields
authorH. Peter Anvin <hpa@zytor.com>
Mon, 11 May 2009 22:56:08 +0000 (15:56 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 12 May 2009 00:44:39 +0000 (17:44 -0700)
commit37ba7ab5e33cebc25c68fffe33e9f21e7c2014e8
tree006ba60fcd29b8fdee844ee6d90b85104a254d0d
parent99aa45595f45603526513d5e29fc00f8afbf3913
x86, boot: make kernel_alignment adjustable; new bzImage fields

Make the kernel_alignment field adjustable; this allows us to set it
to a large value (intended to be 16 MB to avoid ZONE_DMA contention,
memory holes and other weirdness) while a smart bootloader can still
force a loading at a lesser alignment if absolutely necessary.

Also export pref_address (preferred loading address, corresponding to
the link-time address) and init_size, the total amount of linear
memory the kernel will require during initialization.

[ Impact: allows better kernel placement, gives bootloader more info ]

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/boot/compressed/head_32.S
arch/x86/boot/compressed/head_64.S
arch/x86/boot/header.S
arch/x86/include/asm/boot.h
arch/x86/kernel/asm-offsets_32.c
arch/x86/kernel/asm-offsets_64.c