On 6/28/23 03:20, Conor Dooley wrote:
Hey Eric,

On Mon, Jun 26, 2023 at 12:13:30PM -0400, Eric DeVolder wrote:
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.

I find this diff a little hard to follow (since the other half off the
change is in another patch), so it may be me missing something, but are
you sure?


Signed-off-by: Eric DeVolder <eric.devol...@oracle.com>
---
  arch/riscv/Kconfig | 48 ++++++++++++++--------------------------------
  1 file changed, 14 insertions(+), 34 deletions(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 5966ad97c30c..c484abd9bbfd 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -585,48 +585,28 @@ 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 && CRYPTO=y && CRYPTO_SHA256=y

This looks like a change to me. Previously, only KEXEC_PURGATORY
required these crypto options to be like so, but now KEXEC_FILE needs
them too.

What am I missing?
Conor,
Thanks for looking at this! Indeed I erroneously applied the CRYPTO=y && 
CRYPTO_SHA256=y
to KEXEC_FILE rather than PURGATORY. I will correct for v4!
Thanks!
eric


Cheers,
Conor.

-config KEXEC_FILE
-       bool "kexec file based systmem call"
-       depends on 64BIT && MMU
-       select HAVE_IMA_KEXEC if IMA
-       select KEXEC_CORE
+config ARCH_SELECTS_KEXEC_FILE
+       def_bool y
+       depends on KEXEC_FILE
        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.
+       select HAVE_IMA_KEXEC if IMA
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"
--
2.31.1

Reply via email to