From: Eric DeVolder <eric.devolder@oracle•com>
To: linux@armlinux•org.uk, catalin.marinas@arm•com, will@kernel•org,
chenhuacai@kernel•org, geert@linux-m68k•org,
tsbogend@alpha•franken.de, James.Bottomley@HansenPartnership•com,
deller@gmx•de, ysato@users•sourceforge.jp, dalias@libc•org,
glaubitz@physik•fu-berlin.de, tglx@linutronix•de,
mingo@redhat•com, bp@alien8•de, dave.hansen@linux•intel.com,
x86@kernel•org, linux-kernel@vger•kernel.org,
linux-arm-kernel@lists•infradead.org, linux-ia64@vger•kernel.org,
loongarch@lists•linux.dev, linux-m68k@lists•linux-m68k.org,
linux-mips@vger•kernel.org, linux-parisc@vger•kernel.org,
linuxppc-dev@lists•ozlabs.org, linux-riscv@lists•infradead.org,
linux-s390@vger•kernel.org, linux-sh@vger•kernel.org
Cc: peterz@infradead•org, linus.walleij@linaro•org,
thunder.leizhen@huawei•com, hpa@zytor•com, kernel@xen0n•name,
eric.devolder@oracle•com, ardb@kernel•org, tsi@tuyoix•net,
agordeev@linux•ibm.com, paulmck@kernel•org, bhe@redhat•com,
masahiroy@kernel•org, konrad.wilk@oracle•com,
sebastian.reichel@collabora•com, samitolvanen@google•com,
ojeda@kernel•org, juerg.haefliger@canonical•com,
borntraeger@linux•ibm.com, frederic@kernel•org, arnd@arndb•de,
mhiramat@kernel•org, aou@eecs•berkeley.edu,
keescook@chromium•org, gor@linux•ibm.com,
anshuman.khandual@arm•com, hca@linux•ibm.com, xin3.li@intel•com,
npiggin@gmail•com, rmk+kernel@armlinux•org.uk,
paul.walmsley@sifive•com, boris.ostrovsky@oracle•com,
ziy@nvidia•com, hbathini@linux•ibm.com,
gregkh@linuxfoundation•org, kirill.shutemov@linux•intel.com,
ndesaulniers@google•com, sourabhjain@linux•ibm.com,
palmer@dabbelt•com, svens@linux•ibm.com, tj@kernel•org,
akpm@linux-foundation•org, rppt@kernel•org
Subject: [PATCH v2 12/13] s390/kexec: refactor for kernel/Kconfig.kexec
Date: Mon, 19 Jun 2023 10:58:00 -0400 [thread overview]
Message-ID: <20230619145801.1064716-13-eric.devolder@oracle.com> (raw)
In-Reply-To: <20230619145801.1064716-1-eric.devolder@oracle.com>
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.
NOTE: The original Kconfig has a KEXEC_SIG which depends on
MODULE_SIG_FORMAT. However, attempts to keep the MODULE_SIG_FORMAT
dependency (using the strategy outlined in this series, and other
techniques) results in 'error: recursive dependency detected'
on CRYPTO. This occurs due to any path through KEXEC_SIG
attempting to select CRYPTO is ultimately dependent upon CRYPTO:
CRYPTO
<- ARCH_SUPPORTS_KEXEC_FILE
<- KEXEC_FILE
<- KEXEC_SIG
Therefore, the solution is to drop the MODULE_SIG_FORMAT dependency
for KEXEC_SIG. In practice, however, MODULE_SIG_FORMAT is still
configured-in as the use of KEXEC_SIG is in step with the use of
SYSTEM_DATA_VERIFICATION, which does select MODULE_SIG_FORMAT.
Not ideal, but results in equivalent .config files for s390.
Signed-off-by: Eric DeVolder <eric.devolder@oracle•com>
---
arch/s390/Kconfig | 65 ++++++++++++++---------------------------------
1 file changed, 19 insertions(+), 46 deletions(-)
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 6dab9c1be508..58dc124433ca 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -243,6 +243,25 @@ config PGTABLE_LEVELS
source "kernel/livepatch/Kconfig"
+config ARCH_DEFAULT_KEXEC
+ def_bool y
+
+config ARCH_SUPPORTS_KEXEC
+ def_bool y
+
+config ARCH_SUPPORTS_KEXEC_FILE
+ def_bool CRYPTO && CRYPTO_SHA256 && CRYPTO_SHA256_S390
+
+config ARCH_HAS_KEXEC_PURGATORY
+ def_bool KEXEC_FILE
+
+config ARCH_SUPPORTS_CRASH_DUMP
+ def_bool y
+ help
+ Refer to <file:Documentation/s390/zfcpdump.rst> for more details on this.
+ This option also enables s390 zfcpdump.
+ See also <file:Documentation/s390/zfcpdump.rst>
+
menu "Processor type and features"
config HAVE_MARCH_Z10_FEATURES
@@ -481,36 +500,6 @@ config SCHED_TOPOLOGY
source "kernel/Kconfig.hz"
-config KEXEC
- def_bool y
- select KEXEC_CORE
-
-config KEXEC_FILE
- bool "kexec file based system call"
- select KEXEC_CORE
- depends on CRYPTO
- depends on CRYPTO_SHA256
- depends on CRYPTO_SHA256_S390
- help
- Enable the kexec file based system call. In contrast to the normal
- kexec system call this system call takes file descriptors for the
- kernel and initramfs as arguments.
-
-config ARCH_HAS_KEXEC_PURGATORY
- def_bool y
- depends on KEXEC_FILE
-
-config KEXEC_SIG
- bool "Verify kernel signature during kexec_file_load() syscall"
- depends on KEXEC_FILE && MODULE_SIG_FORMAT
- help
- This option makes kernel signature verification mandatory for
- the kexec_file_load() syscall.
-
- In addition to that option, you need to enable signature
- verification for the corresponding kernel image type being
- loaded in order for this to work.
-
config KERNEL_NOBP
def_bool n
prompt "Enable modified branch prediction for the kernel by default"
@@ -732,22 +721,6 @@ config VFIO_AP
endmenu
-menu "Dump support"
-
-config CRASH_DUMP
- bool "kernel crash dumps"
- select KEXEC
- help
- Generate crash dump after being started by kexec.
- Crash dump kernels are loaded in the main kernel with kexec-tools
- into a specially reserved region and then later executed after
- a crash by kdump/kexec.
- Refer to <file:Documentation/s390/zfcpdump.rst> for more details on this.
- This option also enables s390 zfcpdump.
- See also <file:Documentation/s390/zfcpdump.rst>
-
-endmenu
-
config CCW
def_bool y
--
2.31.1
next prev parent reply other threads:[~2023-06-19 23:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-19 14:57 [PATCH v2 00/13] refactor Kconfig to consolidate KEXEC and CRASH options Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 01/13] kexec: consolidate kexec and crash options into kernel/Kconfig.kexec Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 02/13] x86/kexec: refactor for kernel/Kconfig.kexec Eric DeVolder
2023-06-20 8:21 ` Baoquan He
2023-06-20 12:56 ` Eric DeVolder
2023-06-20 14:49 ` Baoquan He
2023-06-19 14:57 ` [PATCH v2 03/13] arm/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 04/13] ia64/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 05/13] arm64/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 06/13] loongarch/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 07/13] m68k/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 08/13] mips/kexec: " Eric DeVolder
2023-06-20 12:52 ` Thomas Bogendoerfer
2023-06-20 15:09 ` Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 09/13] parisc/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 10/13] powerpc/kexec: " Eric DeVolder
2023-06-19 14:57 ` [PATCH v2 11/13] riscv/kexec: " Eric DeVolder
2023-06-19 14:58 ` Eric DeVolder [this message]
2023-06-21 5:00 ` [PATCH v2 12/13] s390/kexec: " Alexander Gordeev
2023-06-21 17:10 ` Eric DeVolder
2023-06-22 16:24 ` Alexander Gordeev
2023-06-22 17:51 ` Eric DeVolder
2023-06-21 22:22 ` Mimi Zohar
2023-06-19 14:58 ` [PATCH v2 13/13] sh/kexec: " Eric DeVolder
2023-06-19 18:21 ` John Paul Adrian Glaubitz
2023-06-20 15:10 ` Eric DeVolder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230619145801.1064716-13-eric.devolder@oracle.com \
--to=eric.devolder@oracle$(echo .)com \
--cc=James.Bottomley@HansenPartnership$(echo .)com \
--cc=agordeev@linux$(echo .)ibm.com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=anshuman.khandual@arm$(echo .)com \
--cc=aou@eecs$(echo .)berkeley.edu \
--cc=ardb@kernel$(echo .)org \
--cc=arnd@arndb$(echo .)de \
--cc=bhe@redhat$(echo .)com \
--cc=boris.ostrovsky@oracle$(echo .)com \
--cc=borntraeger@linux$(echo .)ibm.com \
--cc=bp@alien8$(echo .)de \
--cc=catalin.marinas@arm$(echo .)com \
--cc=chenhuacai@kernel$(echo .)org \
--cc=dalias@libc$(echo .)org \
--cc=dave.hansen@linux$(echo .)intel.com \
--cc=deller@gmx$(echo .)de \
--cc=frederic@kernel$(echo .)org \
--cc=geert@linux-m68k$(echo .)org \
--cc=glaubitz@physik$(echo .)fu-berlin.de \
--cc=gor@linux$(echo .)ibm.com \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=hbathini@linux$(echo .)ibm.com \
--cc=hca@linux$(echo .)ibm.com \
--cc=hpa@zytor$(echo .)com \
--cc=juerg.haefliger@canonical$(echo .)com \
--cc=keescook@chromium$(echo .)org \
--cc=kernel@xen0n$(echo .)name \
--cc=kirill.shutemov@linux$(echo .)intel.com \
--cc=konrad.wilk@oracle$(echo .)com \
--cc=linus.walleij@linaro$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-ia64@vger$(echo .)kernel.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-m68k@lists$(echo .)linux-m68k.org \
--cc=linux-mips@vger$(echo .)kernel.org \
--cc=linux-parisc@vger$(echo .)kernel.org \
--cc=linux-riscv@lists$(echo .)infradead.org \
--cc=linux-s390@vger$(echo .)kernel.org \
--cc=linux-sh@vger$(echo .)kernel.org \
--cc=linux@armlinux$(echo .)org.uk \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=loongarch@lists$(echo .)linux.dev \
--cc=masahiroy@kernel$(echo .)org \
--cc=mhiramat@kernel$(echo .)org \
--cc=mingo@redhat$(echo .)com \
--cc=ndesaulniers@google$(echo .)com \
--cc=npiggin@gmail$(echo .)com \
--cc=ojeda@kernel$(echo .)org \
--cc=palmer@dabbelt$(echo .)com \
--cc=paul.walmsley@sifive$(echo .)com \
--cc=paulmck@kernel$(echo .)org \
--cc=peterz@infradead$(echo .)org \
--cc=rmk+kernel@armlinux$(echo .)org.uk \
--cc=rppt@kernel$(echo .)org \
--cc=samitolvanen@google$(echo .)com \
--cc=sebastian.reichel@collabora$(echo .)com \
--cc=sourabhjain@linux$(echo .)ibm.com \
--cc=svens@linux$(echo .)ibm.com \
--cc=tglx@linutronix$(echo .)de \
--cc=thunder.leizhen@huawei$(echo .)com \
--cc=tj@kernel$(echo .)org \
--cc=tsbogend@alpha$(echo .)franken.de \
--cc=tsi@tuyoix$(echo .)net \
--cc=will@kernel$(echo .)org \
--cc=x86@kernel$(echo .)org \
--cc=xin3.li@intel$(echo .)com \
--cc=ysato@users$(echo .)sourceforge.jp \
--cc=ziy@nvidia$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox