From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3D98C001DF for ; Wed, 12 Jul 2023 19:16:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231987AbjGLTP7 (ORCPT ); Wed, 12 Jul 2023 15:15:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231913AbjGLTP6 (ORCPT ); Wed, 12 Jul 2023 15:15:58 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 776B21FD7 for ; Wed, 12 Jul 2023 12:15:56 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1516A618BF for ; Wed, 12 Jul 2023 19:15:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68398C433C8; Wed, 12 Jul 2023 19:15:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1689189355; bh=EvAgoxvdEzWyPT4swVopXsR2LllgI0V+qo1oSNbnsKc=; h=Date:To:From:Subject:From; b=AooNF/WRNuhkKdYpASXcp0cq5yMVkP+q+GzY07AFk8TU6AXkVD/wudjnA/pIUyKFl OM5nVTpe7zedn1Eo8UBVohnzngV5JnPIB1CdmxBJbmJ2e2w4FTY8sGw/eTujuO+dmx XWjepQxYsCxuPUrBGAh4fnqMRs7v/hibia4Lzeag= Date: Wed, 12 Jul 2023 12:15:54 -0700 To: mm-commits@vger.kernel.org, palmer@rivosinc.com, eric.devolder@oracle.com, akpm@linux-foundation.org From: Andrew Morton Subject: + riscv-kexec-refactor-for-kernel-kconfigkexec.patch added to mm-nonmm-unstable branch Message-Id: <20230712191555.68398C433C8@smtp.kernel.org> Precedence: bulk Reply-To: linux-kernel@vger.kernel.org List-ID: X-Mailing-List: mm-commits@vger.kernel.org The patch titled Subject: riscv/kexec: refactor for kernel/Kconfig.kexec has been added to the -mm mm-nonmm-unstable branch. Its filename is riscv-kexec-refactor-for-kernel-kconfigkexec.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/riscv-kexec-refactor-for-kernel-kconfigkexec.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Eric DeVolder Subject: riscv/kexec: refactor for kernel/Kconfig.kexec Date: Wed, 12 Jul 2023 12:15:42 -0400 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. Link: https://lkml.kernel.org/r/20230712161545.87870-12-eric.devolder@oracle.com Signed-off-by: Eric DeVolder Acked-by: Palmer Dabbelt Signed-off-by: Andrew Morton --- arch/riscv/Kconfig | 48 +++++++++++++------------------------------ 1 file changed, 15 insertions(+), 33 deletions(-) --- a/arch/riscv/Kconfig~riscv-kexec-refactor-for-kernel-kconfigkexec +++ a/arch/riscv/Kconfig @@ -650,48 +650,30 @@ 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 KEXEC_FILE - bool "kexec file based systmem call" - depends on 64BIT && MMU + +config ARCH_SUPPORTS_KEXEC_FILE + def_bool 64BIT && MMU + +config ARCH_SELECTS_KEXEC_FILE + def_bool y + depends on KEXEC_FILE select HAVE_IMA_KEXEC if IMA - select KEXEC_CORE 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. 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" _ Patches currently in -mm which might be from eric.devolder@oracle.com are kexec-consolidate-kexec-and-crash-options-into-kernel-kconfigkexec.patch x86-kexec-refactor-for-kernel-kconfigkexec.patch arm-kexec-refactor-for-kernel-kconfigkexec.patch ia64-kexec-refactor-for-kernel-kconfigkexec.patch arm64-kexec-refactor-for-kernel-kconfigkexec.patch loongarch-kexec-refactor-for-kernel-kconfigkexec.patch m68k-kexec-refactor-for-kernel-kconfigkexec.patch mips-kexec-refactor-for-kernel-kconfigkexec.patch parisc-kexec-refactor-for-kernel-kconfigkexec.patch powerpc-kexec-refactor-for-kernel-kconfigkexec.patch riscv-kexec-refactor-for-kernel-kconfigkexec.patch s390-kexec-refactor-for-kernel-kconfigkexec.patch sh-kexec-refactor-for-kernel-kconfigkexec.patch kexec-rename-arch_has_kexec_purgatory.patch