mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 06:33:34 +00:00
powerpc/kexec: refactor for kernel/Kconfig.kexec
The kexec and crash kernel options are provided in the common kernel/Kconfig.kexec. Utilize the common options and provide the ARCH_SUPPORTS_ and ARCH_SELECTS_ entries to recreate the equivalent set of KEXEC and CRASH options. Link: https://lkml.kernel.org/r/20230712161545.87870-11-eric.devolder@oracle.com Signed-off-by: Eric DeVolder <eric.devolder@oracle.com> Reviewed-by: Sourabh Jain <sourabhjain@linux.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
b9bf5cb17f
commit
80bf3c84e9
@ -589,41 +589,21 @@ config PPC64_SUPPORTS_MEMORY_FAILURE
|
||||
default "y" if PPC_POWERNV
|
||||
select ARCH_SUPPORTS_MEMORY_FAILURE
|
||||
|
||||
config KEXEC
|
||||
bool "kexec system call"
|
||||
depends on PPC_BOOK3S || PPC_E500 || (44x && !SMP)
|
||||
select KEXEC_CORE
|
||||
help
|
||||
kexec is a system call that implements the ability to shutdown your
|
||||
current kernel, and to start another kernel. It is like a reboot
|
||||
but it is independent of the system firmware. And like a reboot
|
||||
you can start any kernel with it, not just Linux.
|
||||
config ARCH_SUPPORTS_KEXEC
|
||||
def_bool PPC_BOOK3S || PPC_E500 || (44x && !SMP)
|
||||
|
||||
The name comes from the similarity to the exec system call.
|
||||
|
||||
It is an ongoing process to be certain the hardware in a machine
|
||||
is properly shutdown, so do not be surprised if this code does not
|
||||
initially work for you. As of this writing the exact hardware
|
||||
interface is strongly in flux, so no good recommendation can be
|
||||
made.
|
||||
|
||||
config KEXEC_FILE
|
||||
bool "kexec file based system call"
|
||||
select KEXEC_CORE
|
||||
select HAVE_IMA_KEXEC if IMA
|
||||
select KEXEC_ELF
|
||||
depends on PPC64
|
||||
depends on CRYPTO=y
|
||||
depends on CRYPTO_SHA256=y
|
||||
help
|
||||
This is a new version of the kexec system call. This call is
|
||||
file based and takes in file descriptors as system call arguments
|
||||
for kernel and initramfs as opposed to a list of segments as is the
|
||||
case for the older kexec call.
|
||||
config ARCH_SUPPORTS_KEXEC_FILE
|
||||
def_bool PPC64 && CRYPTO=y && CRYPTO_SHA256=y
|
||||
|
||||
config ARCH_HAS_KEXEC_PURGATORY
|
||||
def_bool KEXEC_FILE
|
||||
|
||||
config ARCH_SELECTS_KEXEC_FILE
|
||||
def_bool y
|
||||
depends on KEXEC_FILE
|
||||
select KEXEC_ELF
|
||||
select HAVE_IMA_KEXEC if IMA
|
||||
|
||||
config PPC64_BIG_ENDIAN_ELF_ABI_V2
|
||||
# Option is available to BFD, but LLD does not support ELFv1 so this is
|
||||
# always true there.
|
||||
@ -683,14 +663,13 @@ config RELOCATABLE_TEST
|
||||
loaded at, which tends to be non-zero and therefore test the
|
||||
relocation code.
|
||||
|
||||
config CRASH_DUMP
|
||||
bool "Build a dump capture kernel"
|
||||
depends on PPC64 || PPC_BOOK3S_32 || PPC_85xx || (44x && !SMP)
|
||||
config ARCH_SUPPORTS_CRASH_DUMP
|
||||
def_bool PPC64 || PPC_BOOK3S_32 || PPC_85xx || (44x && !SMP)
|
||||
|
||||
config ARCH_SELECTS_CRASH_DUMP
|
||||
def_bool y
|
||||
depends on CRASH_DUMP
|
||||
select RELOCATABLE if PPC64 || 44x || PPC_85xx
|
||||
help
|
||||
Build a kernel suitable for use as a dump capture kernel.
|
||||
The same kernel binary can be used as production kernel and dump
|
||||
capture kernel.
|
||||
|
||||
config FA_DUMP
|
||||
bool "Firmware-assisted dump"
|
||||
|
Loading…
Reference in New Issue
Block a user