| From: Alexander Graf <graf@amazon.com> |
| Subject: kexec: add config option for KHO |
| Date: Fri, 9 May 2025 00:46:26 -0700 |
| |
| We have all generic code in place now to support Kexec with KHO. This |
| patch adds a config option that depends on architecture support to enable |
| KHO support. |
| |
| Link: https://lkml.kernel.org/r/20250509074635.3187114-9-changyuanl@google.com |
| Signed-off-by: Alexander Graf <graf@amazon.com> |
| Co-developed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> |
| Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> |
| Signed-off-by: Changyuan Lyu <changyuanl@google.com> |
| Cc: Andy Lutomirski <luto@kernel.org> |
| Cc: Anthony Yznaga <anthony.yznaga@oracle.com> |
| Cc: Arnd Bergmann <arnd@arndb.de> |
| Cc: Ashish Kalra <ashish.kalra@amd.com> |
| Cc: Ben Herrenschmidt <benh@kernel.crashing.org> |
| Cc: Borislav Betkov <bp@alien8.de> |
| Cc: Catalin Marinas <catalin.marinas@arm.com> |
| Cc: Dave Hansen <dave.hansen@linux.intel.com> |
| Cc: David Woodhouse <dwmw2@infradead.org> |
| Cc: Eric Biederman <ebiederm@xmission.com> |
| Cc: "H. Peter Anvin" <hpa@zytor.com> |
| Cc: Ingo Molnar <mingo@redhat.com> |
| Cc: James Gowans <jgowans@amazon.com> |
| Cc: Jason Gunthorpe <jgg@nvidia.com> |
| Cc: Jonathan Corbet <corbet@lwn.net> |
| Cc: Krzysztof Kozlowski <krzk@kernel.org> |
| Cc: Marc Rutland <mark.rutland@arm.com> |
| Cc: Paolo Bonzini <pbonzini@redhat.com> |
| Cc: Pasha Tatashin <pasha.tatashin@soleen.com> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Pratyush Yadav <ptyadav@amazon.de> |
| Cc: Rob Herring <robh@kernel.org> |
| Cc: Saravana Kannan <saravanak@google.com> |
| Cc: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> |
| Cc: Steven Rostedt <rostedt@goodmis.org> |
| Cc: Thomas Gleinxer <tglx@linutronix.de> |
| Cc: Thomas Lendacky <thomas.lendacky@amd.com> |
| Cc: Will Deacon <will@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| kernel/Kconfig.kexec | 14 ++++++++++++++ |
| 1 file changed, 14 insertions(+) |
| |
| --- a/kernel/Kconfig.kexec~kexec-add-config-option-for-kho |
| +++ a/kernel/Kconfig.kexec |
| @@ -95,6 +95,20 @@ config KEXEC_JUMP |
| Jump between original kernel and kexeced kernel and invoke |
| code in physical address mode via KEXEC |
| |
| +config KEXEC_HANDOVER |
| + bool "kexec handover" |
| + depends on ARCH_SUPPORTS_KEXEC_HANDOVER && ARCH_SUPPORTS_KEXEC_FILE |
| + select MEMBLOCK_KHO_SCRATCH |
| + select KEXEC_FILE |
| + select DEBUG_FS |
| + select LIBFDT |
| + select CMA |
| + help |
| + Allow kexec to hand over state across kernels by generating and |
| + passing additional metadata to the target kernel. This is useful |
| + to keep data or state alive across the kexec. For this to work, |
| + both source and target kernels need to have this option enabled. |
| + |
| config CRASH_DUMP |
| bool "kernel crash dumps" |
| default ARCH_DEFAULT_CRASH_DUMP |
| _ |