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.

Signed-off-by: Eric DeVolder <eric.devol...@oracle.com>
---
 arch/x86/Kconfig | 89 +++++++-----------------------------------------
 1 file changed, 13 insertions(+), 76 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 53bab123a8ee..1afc6ca2986b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2043,88 +2043,25 @@ config EFI_RUNTIME_MAP
 
 source "kernel/Kconfig.hz"
 
-config KEXEC
-       bool "kexec system call"
-       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.
-
-         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
-       depends on X86_64
-       depends on CRYPTO=y
-       depends on CRYPTO_SHA256=y
-       help
-         This is new version of kexec system call. This system call is
-         file based and takes file descriptors as system call argument
-         for kernel and initramfs as opposed to list of segments as
-         accepted by previous system call.
+config ARCH_SUPPORTS_KEXEC
+       def_bool y
 
-config ARCH_HAS_KEXEC_PURGATORY
-       def_bool KEXEC_FILE
+config ARCH_SUPPORTS_KEXEC_FILE
+       def_bool X86_64 && CRYPTO && CRYPTO_SHA256
 
-config KEXEC_SIG
-       bool "Verify kernel signature during kexec_file_load() syscall"
+config ARCH_SELECTS_KEXEC_FILE
+       def_bool y
        depends on KEXEC_FILE
-       help
-
-         This option makes the kexec_file_load() syscall check for a valid
-         signature of the kernel image.  The image can still be loaded without
-         a valid signature unless you also enable KEXEC_SIG_FORCE, though if
-         there's a signature that we can check, then it must be valid.
-
-         In addition to this option, you need to enable signature
-         verification for the corresponding kernel image type being
-         loaded in order for this to work.
-
-config KEXEC_SIG_FORCE
-       bool "Require a valid signature in kexec_file_load() syscall"
-       depends on KEXEC_SIG
-       help
-         This option makes kernel signature verification mandatory for
-         the kexec_file_load() syscall.
+       select HAVE_IMA_KEXEC if IMA
 
-config KEXEC_BZIMAGE_VERIFY_SIG
-       bool "Enable bzImage signature verification support"
-       depends on KEXEC_SIG
-       depends on SIGNED_PE_FILE_VERIFICATION
-       select SYSTEM_TRUSTED_KEYRING
-       help
-         Enable bzImage signature verification support.
+config ARCH_HAS_KEXEC_PURGATORY
+       def_bool KEXEC_FILE
 
-config CRASH_DUMP
-       bool "kernel crash dumps"
-       depends on X86_64 || (X86_32 && HIGHMEM)
-       help
-         Generate crash dump after being started by kexec.
-         This should be normally only set in special crash dump kernels
-         which are loaded in the main kernel with kexec-tools into
-         a specially reserved region and then later executed after
-         a crash by kdump/kexec. The crash dump kernel must be compiled
-         to a memory address not used by the main kernel or BIOS using
-         PHYSICAL_START, or it must be built as a relocatable image
-         (CONFIG_RELOCATABLE=y).
-         For more details see Documentation/admin-guide/kdump/kdump.rst
+config ARCH_SUPPORTS_KEXEC_JUMP
+       def_bool y
 
-config KEXEC_JUMP
-       bool "kexec jump"
-       depends on KEXEC && HIBERNATION
-       help
-         Jump between original kernel and kexeced kernel and invoke
-         code in physical address mode via KEXEC
+config ARCH_SUPPORTS_CRASH_DUMP
+       def_bool X86_64 || (X86_32 && HIGHMEM)
 
 config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if (EXPERT || 
CRASH_DUMP)
-- 
2.31.1

Reply via email to