Eric DeVolder <eric.devol...@oracle.com> writes:

> The kexec and crash kernel options are provided in the common
> kernel/Kconfig.kexec. Utilize the common options and provide
> the ARCH_HAS_ and ARCH_SUPPORTS_ entries to recreate the
> equivalent set of KEXEC and CRASH options.
>
> Signed-off-by: Eric DeVolder <eric.devol...@oracle.com>
> Reviewed-by: Sourabh Jain <sourabhj...@linux.ibm.com>
> ---
>  arch/powerpc/Kconfig | 55 ++++++++++++++------------------------------
>  1 file changed, 17 insertions(+), 38 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index bff5820b7cda..36f2fe0cc8a5 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -588,41 +588,21 @@ config PPC64_SUPPORTS_MEMORY_FAILURE
>       default "y" if PPC_POWERNV
>       select ARCH_SUPPORTS_MEMORY_FAILURE
>  
> -config KEXEC
> -     bool "kexec system call"
> -     depends on PPC_BOOK3S || PPC_E500 || (44x && !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.
> -
> -       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
> -     select KEXEC_ELF
> -     depends on PPC64
> -     depends on CRYPTO=y
> -     depends on CRYPTO_SHA256=y
...
> +
> +config ARCH_HAS_KEXEC_FILE
> +     def_bool PPC64 && CRYPTO && CRYPTO_SHA256

The =y's got lost here.

I think they were both meaningful, because both options are tristate. So
this previously required them to be built-in (=y), whereas after your
patch it will allow them to be modules.

I don't know for sure that those options need to be built-in, but that's
what the code does now, so this patch shouldn't change it, at least
without an explanation.

cheers

Reply via email to