blob: 9b2515f31afb4b3603c1eadd2cc25ccb07345344 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# 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
|