1 # SPDX-License-Identifier: GPL-2.0
6 source "virt/kvm/Kconfig"
8 menuconfig VIRTUALIZATION
10 depends on HAVE_KVM || X86
13 Say Y here to get to see options for using your Linux host to run other
14 operating systems inside virtual machines (guests).
15 This option alone does not add any kernel code.
17 If you say N, all options in this submenu will be skipped and disabled.
22 tristate "Kernel-based Virtual Machine (KVM) support"
24 depends on HIGH_RES_TIMERS
25 depends on X86_LOCAL_APIC
26 select PREEMPT_NOTIFIERS
28 select HAVE_KVM_IRQCHIP
30 select IRQ_BYPASS_MANAGER
31 select HAVE_KVM_IRQ_BYPASS
32 select HAVE_KVM_IRQ_ROUTING
33 select HAVE_KVM_EVENTFD
35 select USER_RETURN_NOTIFIER
40 select HAVE_KVM_CPU_RELAX_INTERCEPT
41 select HAVE_KVM_NO_POLL
42 select KVM_XFER_TO_GUEST_WORK
43 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
46 select HAVE_KVM_PM_NOTIFIER if PM
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.
53 This module provides access to the hardware capabilities through
54 a character device node named /dev/kvm.
56 To compile this as a module, choose M here: the module
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
68 depends on (X86_64 && !KASAN) || !COMPILE_TEST
71 Add -Werror to the build flags for KVM.
76 tristate "KVM for Intel (and compatible) processors support"
77 depends on KVM && IA32_FEAT_CTL
79 Provides support for KVM on processors equipped with Intel's VT
80 extensions, a.k.a. Virtual Machine Extensions (VMX).
82 To compile this as a module, choose M here: the module
83 will be called kvm-intel.
86 bool "Software Guard eXtensions (SGX) Virtualization"
87 depends on X86_SGX && KVM_INTEL
90 Enables KVM guests to create SGX enclaves.
92 This includes support to expose "raw" unreclaimable enclave memory to
93 guests via a device node, e.g. /dev/sgx_vepc.
98 tristate "KVM for AMD processors support"
101 Provides support for KVM on AMD processors equipped with the AMD-V
104 To compile this as a module, choose M here: the module
105 will be called kvm-amd.
109 bool "AMD Secure Encrypted Virtualization (SEV) support"
110 depends on KVM_AMD && X86_64
111 depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
113 Provides support for launching Encrypted VMs (SEV) and Encrypted VMs
114 with Encrypted State (SEV-ES) on AMD processors.
117 bool "Support for Xen hypercall interface"
120 Provides KVM support for the hosting Xen HVM guests and
121 passing Xen hypercalls to userspace.
123 If in doubt, say "N".
127 depends on KVM && TRACEPOINTS
129 This option adds a R/W kVM module parameter 'mmu_audit', which allows
130 auditing of KVM MMU events at runtime.
132 config KVM_EXTERNAL_WRITE_TRACKING
135 endif # VIRTUALIZATION