Linux 6.10-rc3
[linux-block.git] / virt / kvm / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
0ba12d10
AK
2# KVM common configuration items and defaults
3
caadf876
PB
4config KVM_COMMON
5 bool
8132d887 6 select EVENTFD
caadf876
PB
7 select INTERVAL_TREE
8 select PREEMPT_NOTIFIERS
0ba12d10 9
982ed0de
DW
10config HAVE_KVM_PFNCACHE
11 bool
12
0ba12d10
AK
13config HAVE_KVM_IRQCHIP
14 bool
721eecbf 15
a725d56a
AG
16config HAVE_KVM_IRQ_ROUTING
17 bool
18
dc70ec21
DW
19config HAVE_KVM_DIRTY_RING
20 bool
21
17601bfe
MZ
22# Only strongly ordered architectures can select this, as it doesn't
23# put any explicit constraint on userspace ordering. They can also
24# select the _ACQ_REL version.
25config HAVE_KVM_DIRTY_RING_TSO
26 bool
27 select HAVE_KVM_DIRTY_RING
28 depends on X86
29
30# Weakly ordered architectures can only select this, advertising
31# to userspace the additional ordering requirements.
32config HAVE_KVM_DIRTY_RING_ACQ_REL
33 bool
34 select HAVE_KVM_DIRTY_RING
35
86bdf3eb
GS
36# Allow enabling both the dirty bitmap and dirty ring. Only architectures
37# that need to dirty memory outside of a vCPU context should select this.
38config NEED_KVM_DIRTY_RING_WITH_BITMAP
39 bool
40 depends on HAVE_KVM_DIRTY_RING
41
50eb2a3c
AK
42config KVM_MMIO
43 bool
af585b92
GN
44
45config KVM_ASYNC_PF
46 bool
07975ad3 47
e0ead41a
DD
48# Toggle to switch between direct notification and batch job
49config KVM_ASYNC_PF_SYNC
50 bool
51
07975ad3
JK
52config HAVE_KVM_MSI
53 bool
f2a74347 54
8886640d
PB
55config HAVE_KVM_READONLY_MEM
56 bool
57
f2a74347
R
58config HAVE_KVM_CPU_RELAX_INTERCEPT
59 bool
ec53500f
AW
60
61config KVM_VFIO
62 bool
a6d51016 63
3491caf2
CB
64config HAVE_KVM_INVALID_WAKEUPS
65 bool
66
ba0513b5
MS
67config KVM_GENERIC_DIRTYLOG_READ_PROTECT
68 bool
de8e5d74
CB
69
70config KVM_COMPAT
71 def_bool y
afec0c65 72 depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
1a02b270
EA
73
74config HAVE_KVM_IRQ_BYPASS
75 bool
61df71ee 76 select IRQ_BYPASS_MANAGER
5cb0944c
PB
77
78config HAVE_KVM_VCPU_ASYNC_IOCTL
79 bool
bd2a6394
CD
80
81config HAVE_KVM_VCPU_RUN_PID_CHANGE
82 bool
cdd6ad3a
CB
83
84config HAVE_KVM_NO_POLL
85 bool
935ace2f
TG
86
87config KVM_XFER_TO_GUEST_WORK
88 bool
2fdef3a2
SS
89
90config HAVE_KVM_PM_NOTIFIER
91 bool
441f7bfa
SC
92
93config KVM_GENERIC_HARDWARE_ENABLING
94 bool
f128cf8c
SC
95
96config KVM_GENERIC_MMU_NOTIFIER
97 select MMU_NOTIFIER
98 bool
5a475554
CP
99
100config KVM_GENERIC_MEMORY_ATTRIBUTES
3a373e02 101 depends on KVM_GENERIC_MMU_NOTIFIER
5a475554 102 bool
a7800aa8
SC
103
104config KVM_PRIVATE_MEM
105 select XARRAY_MULTI
106 bool
89ea60c2
SC
107
108config KVM_GENERIC_PRIVATE_MEM
109 select KVM_GENERIC_MEMORY_ATTRIBUTES
110 select KVM_PRIVATE_MEM
111 bool