1
linux/arch/powerpc/platforms/pseries
Mohan Kumar M 54622f10a6 powerpc: Support for relocatable kdump kernel
This adds relocatable kernel support for kdump. With this one can
use the same regular kernel to capture the kdump. A signature (0xfeed1234)
is passed in r6 from panic code to the next kernel through kexec_sequence
and purgatory code. The signature is used to differentiate between
kdump kernel and non-kdump kernels.

The purgatory code compares the signature and sets the __kdump_flag in
head_64.S.  During the boot up, kernel code checks __kdump_flag and if it
is set, the kernel will behave as relocatable kdump kernel. This kernel
will boot at the address where it was loaded by kexec-tools ie. at the
address reserved through crashkernel boot parameter.

CONFIG_CRASH_DUMP depends on CONFIG_RELOCATABLE option to build kdump
kernel as relocatable. So the same kernel can be used as production and
kdump kernel.

This patch incorporates the changes suggested by Paul Mackerras to avoid
GOT use and to avoid two copies of the code.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Mohan Kumar M <mohan@in.ibm.com>
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2008-10-22 15:01:22 +11:00
..
cmm.c powerpc: Replace __FUNCTION__ with __func__ 2008-08-20 16:34:57 +10:00
eeh_cache.c
eeh_driver.c powerpc: Guard print_device_node_tree() with #if 0 2008-08-20 16:34:57 +10:00
eeh_event.c
eeh_sysfs.c
eeh.c powerpc/eeh: Don't panic when EEH_MAX_FAILS is exceeded 2008-07-22 10:39:37 +10:00
firmware.c [POWERPC] pseries/firmware.c should include pseries/pseries.h 2008-05-14 22:32:00 +10:00
hotplug-cpu.c
hotplug-memory.c powerpc/pseries: Validate PFN in pseries_remove_lmb() 2008-10-21 15:17:47 +11:00
hvCall_inst.c
hvCall.S
hvconsole.c
hvcserver.c
iommu.c powerpc: Support for relocatable kdump kernel 2008-10-22 15:01:22 +11:00
Kconfig powerpc/pseries: Add collaborative memory manager 2008-07-25 15:44:42 +10:00
kexec.c powerpc/pseries: Call pseries_kexec_setup only on pseries 2008-06-30 22:30:57 +10:00
lpar.c powerpc: Remove unnecessary condition when sanity-checking WIMG bits 2008-07-15 12:24:59 +10:00
Makefile powerpc/pseries: Add collaborative memory manager 2008-07-25 15:44:42 +10:00
msi.c
nvram.c [POWERPC] Add missing of_node_put in pseries/nvram.c 2008-06-16 15:00:32 +10:00
pci_dlpar.c
pci.c
phyp_dump.c
plpar_wrappers.h powerpc: Fix CMM page loaning on 64k page kernel with 4k hardware pages 2008-08-18 14:22:35 +10:00
power.c
pseries.h
ras.c [POWERPC] Fix sparse warnings in arch/powerpc/platforms/pseries 2008-05-14 22:32:02 +10:00
reconfig.c powerpc: Check rc of notifier chain for memory remove 2008-09-15 11:07:52 -07:00
rtasd.c powerpc: Honor O_NONBLOCK flag when reading RTAS log 2008-10-07 14:26:21 +11:00
scanlog.c [POWERPC] Assign PDE->data before gluing PDE into /proc tree 2008-05-05 16:47:14 +10:00
setup.c Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
smp.c powerpc: Use cpu_thread_in_core in smp_init for of_spin_map 2008-10-21 15:19:12 +11:00
xics.c powerpc/xics: Reduce and comment xics IPI use of memory barriers 2008-10-13 16:24:19 +11:00
xics.h powerpc/xics: Consolidate ipi message encode and decode 2008-10-13 16:24:16 +11:00