1# SPDX-License-Identifier: GPL-2.0-only 2 3menu "Live Update and Kexec HandOver" 4 depends on !DEFERRED_STRUCT_PAGE_INIT 5 6config KEXEC_HANDOVER 7 bool "kexec handover" 8 depends on ARCH_SUPPORTS_KEXEC_HANDOVER && ARCH_SUPPORTS_KEXEC_FILE 9 depends on !DEFERRED_STRUCT_PAGE_INIT 10 select MEMBLOCK_KHO_SCRATCH 11 select KEXEC_FILE 12 select LIBFDT 13 select CMA 14 help 15 Allow kexec to hand over state across kernels by generating and 16 passing additional metadata to the target kernel. This is useful 17 to keep data or state alive across the kexec. For this to work, 18 both source and target kernels need to have this option enabled. 19 20config KEXEC_HANDOVER_DEBUG 21 bool "Enable Kexec Handover debug checks" 22 depends on KEXEC_HANDOVER 23 help 24 This option enables extra sanity checks for the Kexec Handover 25 subsystem. Since, KHO performance is crucial in live update 26 scenarios and the extra code might be adding overhead it is 27 only optionally enabled. 28 29config KEXEC_HANDOVER_DEBUGFS 30 bool "kexec handover debugfs interface" 31 default KEXEC_HANDOVER 32 depends on KEXEC_HANDOVER 33 select DEBUG_FS 34 help 35 Allow to control kexec handover device tree via debugfs 36 interface, i.e. finalize the state or aborting the finalization. 37 Also, enables inspecting the KHO fdt trees with the debugfs binary 38 blobs. 39 40config KEXEC_HANDOVER_ENABLE_DEFAULT 41 bool "Enable kexec handover by default" 42 depends on KEXEC_HANDOVER 43 help 44 Enable Kexec Handover by default. This avoids the need to 45 explicitly pass 'kho=on' on the kernel command line. 46 47 This is useful for systems where KHO is a prerequisite for other 48 features, such as Live Update, ensuring the mechanism is always 49 active. 50 51 The default behavior can still be overridden at boot time by 52 passing 'kho=off'. 53 54config LIVEUPDATE 55 bool "Live Update Orchestrator" 56 depends on KEXEC_HANDOVER 57 help 58 Enable the Live Update Orchestrator. Live Update is a mechanism, 59 typically based on kexec, that allows the kernel to be updated 60 while keeping selected devices operational across the transition. 61 These devices are intended to be reclaimed by the new kernel and 62 re-attached to their original workload without requiring a device 63 reset. 64 65 Ability to handover a device from current to the next kernel depends 66 on specific support within device drivers and related kernel 67 subsystems. 68 69 This feature primarily targets virtual machine hosts to quickly update 70 the kernel hypervisor with minimal disruption to the running virtual 71 machines. 72 73 If unsure, say N. 74 75endmenu 76