riscv/kexec: refactor for kernel/Kconfig.kexec
authorEric DeVolder <eric.devolder@oracle.com>
Wed, 12 Jul 2023 16:15:42 +0000 (12:15 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 18 Aug 2023 17:18:54 +0000 (10:18 -0700)
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-12-eric.devolder@oracle.com
Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/riscv/Kconfig

index 4c07b91..23d0fbb 100644 (file)
@@ -650,48 +650,30 @@ config RISCV_BOOT_SPINWAIT
 
          If unsure what to do here, say N.
 
-config KEXEC
-       bool "Kexec system call"
-       depends on MMU
+config ARCH_SUPPORTS_KEXEC
+       def_bool MMU
+
+config ARCH_SELECTS_KEXEC
+       def_bool y
+       depends on KEXEC
        select HOTPLUG_CPU if 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.
 
-         The name comes from the similarity to the exec system call.
+config ARCH_SUPPORTS_KEXEC_FILE
+       def_bool 64BIT && MMU
 
-config KEXEC_FILE
-       bool "kexec file based systmem call"
-       depends on 64BIT && MMU
+config ARCH_SELECTS_KEXEC_FILE
+       def_bool y
+       depends on KEXEC_FILE
        select HAVE_IMA_KEXEC if IMA
-       select KEXEC_CORE
        select KEXEC_ELF
-       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.
-
-         If you don't know what to do here, say Y.
 
 config ARCH_HAS_KEXEC_PURGATORY
        def_bool KEXEC_FILE
        depends on CRYPTO=y
        depends on CRYPTO_SHA256=y
 
-config CRASH_DUMP
-       bool "Build kdump crash kernel"
-       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.
-
-         For more details see Documentation/admin-guide/kdump/kdump.rst
+config ARCH_SUPPORTS_CRASH_DUMP
+       def_bool y
 
 config COMPAT
        bool "Kernel support for 32-bit U-mode"