xref: /linux/virt/kvm/Kconfig (revision 8132d887a7023b212f242a51ae89281c69fde996)
1# SPDX-License-Identifier: GPL-2.0
2# KVM common configuration items and defaults
3
4config HAVE_KVM
5       bool
6       select EVENTFD
7
8config HAVE_KVM_PFNCACHE
9       bool
10
11config HAVE_KVM_IRQCHIP
12       bool
13
14config HAVE_KVM_IRQFD
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_CPU_RELAX_INTERCEPT
57       bool
58
59config KVM_VFIO
60       bool
61
62config HAVE_KVM_INVALID_WAKEUPS
63       bool
64
65config KVM_GENERIC_DIRTYLOG_READ_PROTECT
66       bool
67
68config KVM_COMPAT
69       def_bool y
70       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
71
72config HAVE_KVM_IRQ_BYPASS
73       bool
74
75config HAVE_KVM_VCPU_ASYNC_IOCTL
76       bool
77
78config HAVE_KVM_VCPU_RUN_PID_CHANGE
79       bool
80
81config HAVE_KVM_NO_POLL
82       bool
83
84config KVM_XFER_TO_GUEST_WORK
85       bool
86
87config HAVE_KVM_PM_NOTIFIER
88       bool
89
90config KVM_GENERIC_HARDWARE_ENABLING
91       bool
92
93config KVM_GENERIC_MMU_NOTIFIER
94       select MMU_NOTIFIER
95       bool
96
97config KVM_GENERIC_MEMORY_ATTRIBUTES
98       select KVM_GENERIC_MMU_NOTIFIER
99       bool
100
101config KVM_PRIVATE_MEM
102       select XARRAY_MULTI
103       bool
104
105config KVM_GENERIC_PRIVATE_MEM
106       select KVM_GENERIC_MEMORY_ATTRIBUTES
107       select KVM_PRIVATE_MEM
108       bool
109