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?

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
>

Attachment: signature.asc
Description: PGP signature

Reply via email to