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
29 select HAVE_KVM_PFNCACHE
31 select HAVE_KVM_DIRTY_RING_TSO
32 select HAVE_KVM_DIRTY_RING_ACQ_REL
33 select IRQ_BYPASS_MANAGER
34 select HAVE_KVM_IRQ_BYPASS
35 select HAVE_KVM_IRQ_ROUTING
36 select HAVE_KVM_EVENTFD
38 select USER_RETURN_NOTIFIER
42 select GUEST_PERF_EVENTS
44 select HAVE_KVM_CPU_RELAX_INTERCEPT
45 select HAVE_KVM_NO_POLL
46 select KVM_XFER_TO_GUEST_WORK
47 select KVM_GENERIC_DIRTYLOG_READ_PROTECT
51 select HAVE_KVM_PM_NOTIFIER if PM
53 Support hosting fully virtualized guest machines using hardware
54 virtualization extensions. You will need a fairly recent
55 processor equipped with virtualization extensions. You will also
56 need to select one or more of the processor modules below.
58 This module provides access to the hardware capabilities through
59 a character device node named /dev/kvm.
61 To compile this as a module, choose M here: the module
67 bool "Compile KVM with -Werror"
68 # KASAN may cause the build to fail due to larger frames
69 default y if X86_64 && !KASAN
70 # We use the dependency on !COMPILE_TEST to not be enabled
71 # blindly in allmodconfig or allyesconfig configurations
73 depends on (X86_64 && !KASAN) || !COMPILE_TEST
76 Add -Werror to the build flags for KVM.
81 tristate "KVM for Intel (and compatible) processors support"
82 depends on KVM && IA32_FEAT_CTL
84 Provides support for KVM on processors equipped with Intel's VT
85 extensions, a.k.a. Virtual Machine Extensions (VMX).
87 To compile this as a module, choose M here: the module
88 will be called kvm-intel.
91 bool "Software Guard eXtensions (SGX) Virtualization"
92 depends on X86_SGX && KVM_INTEL
95 Enables KVM guests to create SGX enclaves.
97 This includes support to expose "raw" unreclaimable enclave memory to
98 guests via a device node, e.g. /dev/sgx_vepc.
103 tristate "KVM for AMD processors support"
106 Provides support for KVM on AMD processors equipped with the AMD-V
109 To compile this as a module, choose M here: the module
110 will be called kvm-amd.
114 bool "AMD Secure Encrypted Virtualization (SEV) support"
115 depends on KVM_AMD && X86_64
116 depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
118 Provides support for launching Encrypted VMs (SEV) and Encrypted VMs
119 with Encrypted State (SEV-ES) on AMD processors.
122 bool "Support for Xen hypercall interface"
125 Provides KVM support for the hosting Xen HVM guests and
126 passing Xen hypercalls to userspace.
128 If in doubt, say "N".
130 config KVM_EXTERNAL_WRITE_TRACKING
133 endif # VIRTUALIZATION