xref: /linux/virt/kvm/Kconfig (revision 1fd1dc41724319406b0aff221a352a400b0ddfc5)
1# SPDX-License-Identifier: GPL-2.0
2# KVM common configuration items and defaults
3
4config KVM_COMMON
5       bool
6       select EVENTFD
7       select INTERVAL_TREE
8       select MMU_NOTIFIER
9       select PREEMPT_NOTIFIERS
10
11config HAVE_KVM_PFNCACHE
12       bool
13
14config HAVE_KVM_IRQCHIP
15       bool
16
17config HAVE_KVM_IRQ_ROUTING
18       bool
19
20config HAVE_KVM_DIRTY_RING
21       bool
22
23# Only strongly ordered architectures can select this, as it doesn't
24# put any explicit constraint on userspace ordering. They can also
25# select the _ACQ_REL version.
26config HAVE_KVM_DIRTY_RING_TSO
27       bool
28       select HAVE_KVM_DIRTY_RING
29       depends on X86
30
31# Weakly ordered architectures can only select this, advertising
32# to userspace the additional ordering requirements.
33config HAVE_KVM_DIRTY_RING_ACQ_REL
34       bool
35       select HAVE_KVM_DIRTY_RING
36
37# Allow enabling both the dirty bitmap and dirty ring. Only architectures
38# that need to dirty memory outside of a vCPU context should select this.
39config NEED_KVM_DIRTY_RING_WITH_BITMAP
40	bool
41	depends on HAVE_KVM_DIRTY_RING
42
43config KVM_MMIO
44       bool
45
46config KVM_ASYNC_PF
47       bool
48
49# Toggle to switch between direct notification and batch job
50config KVM_ASYNC_PF_SYNC
51       bool
52
53config HAVE_KVM_MSI
54       bool
55
56config HAVE_KVM_READONLY_MEM
57       bool
58
59config HAVE_KVM_CPU_RELAX_INTERCEPT
60       bool
61
62config KVM_VFIO
63       bool
64
65config HAVE_KVM_INVALID_WAKEUPS
66       bool
67
68config KVM_GENERIC_DIRTYLOG_READ_PROTECT
69       bool
70
71config KVM_GENERIC_PRE_FAULT_MEMORY
72       bool
73
74config KVM_COMPAT
75       def_bool y
76       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
77
78config HAVE_KVM_IRQ_BYPASS
79       tristate
80       select IRQ_BYPASS_MANAGER
81
82config HAVE_KVM_VCPU_RUN_PID_CHANGE
83       bool
84
85config HAVE_KVM_NO_POLL
86       bool
87
88config VIRT_XFER_TO_GUEST_WORK
89       bool
90
91config HAVE_KVM_PM_NOTIFIER
92       bool
93
94config KVM_GENERIC_HARDWARE_ENABLING
95       bool
96
97config KVM_ELIDE_TLB_FLUSH_IF_YOUNG
98       bool
99
100config KVM_MMU_LOCKLESS_AGING
101       bool
102
103config KVM_GENERIC_MEMORY_ATTRIBUTES
104       bool
105
106config KVM_GUEST_MEMFD
107       select XARRAY_MULTI
108       bool
109
110config HAVE_KVM_ARCH_GMEM_PREPARE
111       bool
112       depends on KVM_GUEST_MEMFD
113
114config HAVE_KVM_ARCH_GMEM_INVALIDATE
115       bool
116       depends on KVM_GUEST_MEMFD
117
118config HAVE_KVM_ARCH_GMEM_POPULATE
119       bool
120       depends on KVM_GUEST_MEMFD
121