]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
6aa8b732 AK |
2 | # |
3 | # KVM configuration | |
4 | # | |
fb56dbb3 | 5 | |
0ba12d10 | 6 | source "virt/kvm/Kconfig" |
5d9b8e30 | 7 | |
de062065 JE |
8 | menuconfig 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 | |
19 | if VIRTUALIZATION | |
fd24dc4a | 20 | |
6aa8b732 AK |
21 | config 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 |
61 | config 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 | 75 | config 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 |
85 | config 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 |
97 | config 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 |
107 | config 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 |
116 | config 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 |
125 | config 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 | 132 | endif # VIRTUALIZATION |