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 >>