]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/x86/kvm/Kconfig
KVM: x86: Use KVM_BUG/KVM_BUG_ON to handle bugs that are fatal to the VM
[mirror_ubuntu-jammy-kernel.git] / arch / x86 / kvm / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
6aa8b732
AK
2#
3# KVM configuration
4#
fb56dbb3 5
0ba12d10 6source "virt/kvm/Kconfig"
5d9b8e30 7
de062065
JE
8menuconfig VIRTUALIZATION
9 bool "Virtualization"
fb56dbb3 10 depends on HAVE_KVM || X86
de062065 11 default y
a7f7f624 12 help
36a74097
AK
13 Say Y here to get to see options for using your Linux host to run other
14 operating systems inside virtual machines (guests).
06bfb7eb
JE
15 This option alone does not add any kernel code.
16
17 If you say N, all options in this submenu will be skipped and disabled.
de062065
JE
18
19if VIRTUALIZATION
fd24dc4a 20
6aa8b732
AK
21config KVM
22 tristate "Kernel-based Virtual Machine (KVM) support"
268fe02a 23 depends on HAVE_KVM
92b5265d 24 depends on HIGH_RES_TIMERS
e42eef4b 25 depends on X86_LOCAL_APIC
15ad7146 26 select PREEMPT_NOTIFIERS
cddb8a5c 27 select MMU_NOTIFIER
0ba12d10 28 select HAVE_KVM_IRQCHIP
297e2105 29 select HAVE_KVM_IRQFD
87276880
FW
30 select IRQ_BYPASS_MANAGER
31 select HAVE_KVM_IRQ_BYPASS
a725d56a 32 select HAVE_KVM_IRQ_ROUTING
721eecbf 33 select HAVE_KVM_EVENTFD
af585b92 34 select KVM_ASYNC_PF
18863bdd 35 select USER_RETURN_NOTIFIER
50eb2a3c 36 select KVM_MMIO
63b3f96e 37 select SCHED_INFO
f5132b01 38 select PERF_EVENTS
07975ad3 39 select HAVE_KVM_MSI
f2a74347 40 select HAVE_KVM_CPU_RELAX_INTERCEPT
2d5ba19b 41 select HAVE_KVM_NO_POLL
72c3c0fe 42 select KVM_XFER_TO_GUEST_WORK
e108ff2f 43 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
ec53500f 44 select KVM_VFIO
83fe27ea 45 select SRCU
7d62874f 46 select HAVE_KVM_PM_NOTIFIER if PM
a7f7f624 47 help
6aa8b732
AK
48 Support hosting fully virtualized guest machines using hardware
49 virtualization extensions. You will need a fairly recent
50 processor equipped with virtualization extensions. You will also
51 need to select one or more of the processor modules below.
52
53 This module provides access to the hardware capabilities through
54 a character device node named /dev/kvm.
55
56 To compile this as a module, choose M here: the module
57 will be called kvm.
58
59 If unsure, say N.
60
4f337faf
PB
61config KVM_WERROR
62 bool "Compile KVM with -Werror"
63 # KASAN may cause the build to fail due to larger frames
64 default y if X86_64 && !KASAN
65 # We use the dependency on !COMPILE_TEST to not be enabled
66 # blindly in allmodconfig or allyesconfig configurations
8f116a6c 67 depends on KVM
4f337faf
PB
68 depends on (X86_64 && !KASAN) || !COMPILE_TEST
69 depends on EXPERT
70 help
a754acc3 71 Add -Werror to the build flags for KVM.
4f337faf
PB
72
73 If in doubt, say "N".
74
6aa8b732 75config KVM_INTEL
8f63aaf5
SC
76 tristate "KVM for Intel (and compatible) processors support"
77 depends on KVM && IA32_FEAT_CTL
a7f7f624 78 help
8f63aaf5
SC
79 Provides support for KVM on processors equipped with Intel's VT
80 extensions, a.k.a. Virtual Machine Extensions (VMX).
6aa8b732 81
58f8ac27
RD
82 To compile this as a module, choose M here: the module
83 will be called kvm-intel.
84
540745dd
SC
85config X86_SGX_KVM
86 bool "Software Guard eXtensions (SGX) Virtualization"
87 depends on X86_SGX && KVM_INTEL
88 help
89
90 Enables KVM guests to create SGX enclaves.
91
92 This includes support to expose "raw" unreclaimable enclave memory to
93 guests via a device node, e.g. /dev/sgx_vepc.
94
95 If unsure, say N.
96
6aa8b732
AK
97config KVM_AMD
98 tristate "KVM for AMD processors support"
99 depends on KVM
a7f7f624 100 help
6aa8b732
AK
101 Provides support for KVM on AMD processors equipped with the AMD-V
102 (SVM) extensions.
fd24dc4a 103
58f8ac27
RD
104 To compile this as a module, choose M here: the module
105 will be called kvm-amd.
106
5dd0a57c
BS
107config KVM_AMD_SEV
108 def_bool y
109 bool "AMD Secure Encrypted Virtualization (SEV) support"
110 depends on KVM_AMD && X86_64
d30f370d 111 depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
a7f7f624 112 help
916391a2
TL
113 Provides support for launching Encrypted VMs (SEV) and Encrypted VMs
114 with Encrypted State (SEV-ES) on AMD processors.
5dd0a57c 115
b59b153d
PB
116config KVM_XEN
117 bool "Support for Xen hypercall interface"
118 depends on KVM
119 help
120 Provides KVM support for the hosting Xen HVM guests and
121 passing Xen hypercalls to userspace.
122
123 If in doubt, say "N".
124
8b1fe17c
XG
125config KVM_MMU_AUDIT
126 bool "Audit KVM MMU"
127 depends on KVM && TRACEPOINTS
a7f7f624 128 help
8b1fe17c 129 This option adds a R/W kVM module parameter 'mmu_audit', which allows
94491620 130 auditing of KVM MMU events at runtime.
8b1fe17c 131
de062065 132endif # VIRTUALIZATION