Re: [PATCH v3 11/13] riscv/kexec: refactor for kernel/Kconfig.kexec

Eric DeVolder <[email protected]>
Newsgroups gmane.linux.ports.riscv,gmane.linux.kernel,gmane.linux.ports.arm.kernel,gmane.linux.ports.ia64,gmane.linux.ports.mips,gmane.linux.ports.parisc,gmane.linux.ports.ppc64.devel,gmane.linux.ports.sh.devel
Message-ID <[email protected]>

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 <[email protected]>
>> ---
>>   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
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.