# SPDX-License-Identifier: GPL-2.0-only

menu "Live Update and Kexec HandOver"

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.

endmenu
