• Mohan Kumar M's avatar
    powerpc: Support for relocatable kdump kernel · 54622f10
    Mohan Kumar M authored
    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: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarMohan Kumar M <mohan@in.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    54622f10
machine_kexec_64.c 9.97 KB