Kconfig 3.07 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0
2 3 4
#
# KVM configuration
#
5

6
source "virt/kvm/Kconfig"
7

8 9
menuconfig VIRTUALIZATION
	bool "Virtualization"
10
	depends on HAVE_KVM || X86
11
	default y
12
	help
13 14
	  Say Y here to get to see options for using your Linux host to run other
	  operating systems inside virtual machines (guests).
15 16 17
	  This option alone does not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.
18 19

if VIRTUALIZATION
20

21 22
config KVM
	tristate "Kernel-based Virtual Machine (KVM) support"
Avi Kivity's avatar
Avi Kivity committed
23
	depends on HAVE_KVM
24
	depends on HIGH_RES_TIMERS
25
	# for TASKSTATS/TASK_DELAY_ACCT:
26
	depends on NET && MULTIUSER
27
	depends on X86_LOCAL_APIC
28
	select PREEMPT_NOTIFIERS
Andrea Arcangeli's avatar
Andrea Arcangeli committed
29
	select MMU_NOTIFIER
30
	select HAVE_KVM_IRQCHIP
31
	select HAVE_KVM_IRQFD
32 33
	select IRQ_BYPASS_MANAGER
	select HAVE_KVM_IRQ_BYPASS
34
	select HAVE_KVM_IRQ_ROUTING
Gregory Haskins's avatar
Gregory Haskins committed
35
	select HAVE_KVM_EVENTFD
36
	select KVM_ASYNC_PF
37
	select USER_RETURN_NOTIFIER
Avi Kivity's avatar
Avi Kivity committed
38
	select KVM_MMIO
39
	select TASKSTATS
40
	select TASK_DELAY_ACCT
41
	select PERF_EVENTS
42
	select HAVE_KVM_MSI
43
	select HAVE_KVM_CPU_RELAX_INTERCEPT
44
	select HAVE_KVM_NO_POLL
45
	select KVM_XFER_TO_GUEST_WORK
46
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
Alex Williamson's avatar
Alex Williamson committed
47
	select KVM_VFIO
48
	select SRCU
49
	help
50 51 52 53 54 55 56 57 58 59 60 61 62
	  Support hosting fully virtualized guest machines using hardware
	  virtualization extensions.  You will need a fairly recent
	  processor equipped with virtualization extensions. You will also
	  need to select one or more of the processor modules below.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  To compile this as a module, choose M here: the module
	  will be called kvm.

	  If unsure, say N.

63 64 65 66 67 68
config KVM_WERROR
	bool "Compile KVM with -Werror"
	# KASAN may cause the build to fail due to larger frames
	default y if X86_64 && !KASAN
	# We use the dependency on !COMPILE_TEST to not be enabled
	# blindly in allmodconfig or allyesconfig configurations
69
	depends on KVM
70 71 72
	depends on (X86_64 && !KASAN) || !COMPILE_TEST
	depends on EXPERT
	help
73
	  Add -Werror to the build flags for KVM.
74 75 76

	  If in doubt, say "N".

77
config KVM_INTEL
78 79
	tristate "KVM for Intel (and compatible) processors support"
	depends on KVM && IA32_FEAT_CTL
80
	help
81 82
	  Provides support for KVM on processors equipped with Intel's VT
	  extensions, a.k.a. Virtual Machine Extensions (VMX).
83

84 85 86
	  To compile this as a module, choose M here: the module
	  will be called kvm-intel.

87 88 89
config KVM_AMD
	tristate "KVM for AMD processors support"
	depends on KVM
90
	help
91 92
	  Provides support for KVM on AMD processors equipped with the AMD-V
	  (SVM) extensions.
93

94 95 96
	  To compile this as a module, choose M here: the module
	  will be called kvm-amd.

97 98 99 100
config KVM_AMD_SEV
	def_bool y
	bool "AMD Secure Encrypted Virtualization (SEV) support"
	depends on KVM_AMD && X86_64
101
	depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
102
	help
103 104
	Provides support for launching Encrypted VMs on AMD processors.

105 106 107
config KVM_MMU_AUDIT
	bool "Audit KVM MMU"
	depends on KVM && TRACEPOINTS
108
	help
109
	 This option adds a R/W kVM module parameter 'mmu_audit', which allows
110
	 auditing of KVM MMU events at runtime.
111

112
endif # VIRTUALIZATION