[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