kernel_optimize_test/arch/x86_64
Vivek Goyal 1ab60e0f72 [PATCH] x86-64: Relocatable Kernel Support
This patch modifies the x86_64 kernel so that it can be loaded and run
at any 2M aligned address, below 512G.  The technique used is to
compile the decompressor with -fPIC and modify it so the decompressor
is fully relocatable.  For the main kernel the page tables are
modified so the kernel remains at the same virtual address.  In
addition a variable phys_base is kept that holds the physical address
the kernel is loaded at.  __pa_symbol is modified to add that when
we take the address of a kernel symbol.

When loaded with a normal bootloader the decompressor will decompress
the kernel to 2M and it will run there.  This both ensures the
relocation code is always working, and makes it easier to use 2M
pages for the kernel and the cpu.

AK: changed to not make RELOCATABLE default in Kconfig

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2007-05-02 19:27:07 +02:00
..
boot [PATCH] x86-64: Relocatable Kernel Support 2007-05-02 19:27:07 +02:00
crypto
ia32 [PATCH] x86-64: adjust inclusion of asm/vsyscall32.h 2007-05-02 19:27:04 +02:00
kernel [PATCH] x86-64: Relocatable Kernel Support 2007-05-02 19:27:07 +02:00
lib Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2007-02-26 14:17:50 -08:00
mm [PATCH] x86: __pa and __pa_symbol address space separation 2007-05-02 19:27:07 +02:00
oprofile
pci [PATCH] mmconfig: fix unreachable_devices() 2007-02-13 13:26:20 +01:00
defconfig [PATCH] x86-64: Update defconfig 2007-05-02 19:27:04 +02:00
Kconfig [PATCH] x86-64: Relocatable Kernel Support 2007-05-02 19:27:07 +02:00
Kconfig.debug
Makefile Remove stack unwinder for now 2006-12-15 08:47:51 -08:00