# SPDX-License-Identifier: GPL-2.0-only menu "Live Update and Kexec HandOver" depends on !DEFERRED_STRUCT_PAGE_INIT config KEXEC_HANDOVER bool "kexec handover" depends on ARCH_SUPPORTS_KEXEC_HANDOVER && ARCH_SUPPORTS_KEXEC_FILE depends on !DEFERRED_STRUCT_PAGE_INIT select MEMBLOCK_KHO_SCRATCH select KEXEC_FILE 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 KEXEC_HANDOVER_DEBUG bool "Enable Kexec Handover debug checks" depends on KEXEC_HANDOVER help This option enables extra sanity checks for the Kexec Handover subsystem. Since, KHO performance is crucial in live update scenarios and the extra code might be adding overhead it is only optionally enabled. config KEXEC_HANDOVER_DEBUGFS bool "kexec handover debugfs interface" default KEXEC_HANDOVER depends on KEXEC_HANDOVER select DEBUG_FS help Allow to control kexec handover device tree via debugfs interface, i.e. finalize the state or aborting the finalization. Also, enables inspecting the KHO fdt trees with the debugfs binary blobs. config KEXEC_HANDOVER_ENABLE_DEFAULT bool "Enable kexec handover by default" depends on KEXEC_HANDOVER help Enable Kexec Handover by default. This avoids the need to explicitly pass 'kho=on' on the kernel command line. This is useful for systems where KHO is a prerequisite for other features, such as Live Update, ensuring the mechanism is always active. The default behavior can still be overridden at boot time by passing 'kho=off'. config LIVEUPDATE bool "Live Update Orchestrator" depends on KEXEC_HANDOVER help Enable the Live Update Orchestrator. Live Update is a mechanism, typically based on kexec, that allows the kernel to be updated while keeping selected devices operational across the transition. These devices are intended to be reclaimed by the new kernel and re-attached to their original workload without requiring a device reset. Ability to handover a device from current to the next kernel depends on specific support within device drivers and related kernel subsystems. This feature primarily targets virtual machine hosts to quickly update the kernel hypervisor with minimal disruption to the running virtual machines. If unsure, say N. endmenu