kernel_optimize_test/arch
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
..
alpha [STRING]: Move strcasecmp/strncasecmp to lib/string.c 2007-04-26 01:54:39 -07:00
arm power management: implement pm_ops.valid for everybody 2007-04-30 16:40:40 -07:00
arm26 [PATCH] arch/arm26/kernel/entry.S: remove dead code 2007-03-01 14:53:35 -08:00
avr32 AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK". 2007-04-27 13:45:26 +02:00
cris [PATCH] MSI-X: fix resume crash 2007-03-28 13:59:37 -07:00
frv [PATCH] MSI-X: fix resume crash 2007-03-28 13:59:37 -07:00
h8300 [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
i386 [PATCH] x86: __pa and __pa_symbol address space separation 2007-05-02 19:27:07 +02:00
ia64 [AF_RXRPC/AFS]: Arch-specific fixes. 2007-04-27 15:28:45 -07:00
m32r Various typo fixes. 2007-02-17 19:07:33 +01:00
m68k [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
m68knommu [PATCH] m68knommu: remove local_bh_count 2007-03-06 18:08:38 -08:00
mips MIPSnet: Modernize use platform_device API. 2007-04-28 11:01:01 -04:00
parisc libata/IDE: remove combined mode quirk 2007-04-28 14:15:59 -04:00
powerpc [PATCH] x86: Move swsusp __pa() dependent code to arch portion 2007-05-02 19:27:07 +02:00
ppc Merge branch 'linux-2.6' into for-2.6.22 2007-04-30 12:38:01 +10:00
s390 [NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats. 2007-04-28 21:04:03 -07:00
sh power management: implement pm_ops.valid for everybody 2007-04-30 16:40:40 -07:00
sh64 [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
sparc [SPARC]: device_node name constification fallout 2007-04-26 01:55:45 -07:00
sparc64 [SPARC64]: Convert PCI over to generic struct iommu/strbuf. 2007-04-26 21:08:21 -07:00
um [PATCH] i386: Add an option for the VIA C7 which sets appropriate L1 cache 2007-05-02 19:27:05 +02:00
v850 kbuild: Replace remaining "depends" with "depends on" 2007-02-17 19:05:24 +01:00
x86_64 [PATCH] x86-64: Relocatable Kernel Support 2007-05-02 19:27:07 +02:00
xtensa Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-04-27 09:29:04 -07:00