[PATCH v1 10/21] powerpc/kexec: refactor for kernel/Kconfig.kexec
Eric DeVolder
eric.devolder at oracle.com
Thu Jun 15 09:17:30 PDT 2023
On 6/14/23 22:34, Michael Ellerman wrote:
> Eric DeVolder <eric.devolder at 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.devolder at oracle.com>
>> Reviewed-by: Sourabh Jain <sourabhjain at 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
Thanks Michael, I've applied =y's. Good catch!
eric
More information about the linux-riscv
mailing list