sh/kexec: refactor for kernel/Kconfig.kexec
authorEric DeVolder <eric.devolder@oracle.com>
Wed, 12 Jul 2023 16:15:44 +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-14-eric.devolder@oracle.com
Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/sh/Kconfig

index 2b3ce4fd39563d5284a415c8e1b32011471d9afa..1cf6603781c7726fe59363a3af20094029d1f281 100644 (file)
@@ -548,44 +548,14 @@ menu "Kernel features"
 
 source "kernel/Kconfig.hz"
 
-config KEXEC
-       bool "kexec system call (EXPERIMENTAL)"
-       depends on MMU
-       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 CRASH_DUMP
-       bool "kernel crash dumps (EXPERIMENTAL)"
-       depends on BROKEN_ON_SMP
-       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 using
-         PHYSICAL_START.
-
-         For more details see Documentation/admin-guide/kdump/kdump.rst
-
-config KEXEC_JUMP
-       bool "kexec jump (EXPERIMENTAL)"
-       depends on KEXEC && HIBERNATION
-       help
-         Jump between original kernel and kexeced kernel and invoke
-         code via KEXEC
+config ARCH_SUPPORTS_KEXEC
+       def_bool MMU
+
+config ARCH_SUPPORTS_CRASH_DUMP
+       def_bool BROKEN_ON_SMP
+
+config ARCH_SUPPORTS_KEXEC_JUMP
+       def_bool y
 
 config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)