xref: /linux/virt/kvm/Kconfig (revision c5b31cc2371728ddefe9baf1d036aeb630a25d96)
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_IRQ_ROUTING
15       bool
16
17config HAVE_KVM_DIRTY_RING
18       bool
19
20# Only strongly ordered architectures can select this, as it doesn't
21# put any explicit constraint on userspace ordering. They can also
22# select the _ACQ_REL version.
23config HAVE_KVM_DIRTY_RING_TSO
24       bool
25       select HAVE_KVM_DIRTY_RING
26       depends on X86
27
28# Weakly ordered architectures can only select this, advertising
29# to userspace the additional ordering requirements.
30config HAVE_KVM_DIRTY_RING_ACQ_REL
31       bool
32       select HAVE_KVM_DIRTY_RING
33
34# Allow enabling both the dirty bitmap and dirty ring. Only architectures
35# that need to dirty memory outside of a vCPU context should select this.
36config NEED_KVM_DIRTY_RING_WITH_BITMAP
37	bool
38	depends on HAVE_KVM_DIRTY_RING
39
40config KVM_MMIO
41       bool
42
43config KVM_ASYNC_PF
44       bool
45
46# Toggle to switch between direct notification and batch job
47config KVM_ASYNC_PF_SYNC
48       bool
49
50config HAVE_KVM_MSI
51       bool
52
53config HAVE_KVM_CPU_RELAX_INTERCEPT
54       bool
55
56config KVM_VFIO
57       bool
58
59config HAVE_KVM_INVALID_WAKEUPS
60       bool
61
62config KVM_GENERIC_DIRTYLOG_READ_PROTECT
63       bool
64
65config KVM_COMPAT
66       def_bool y
67       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
68
69config HAVE_KVM_IRQ_BYPASS
70       bool
71
72config HAVE_KVM_VCPU_ASYNC_IOCTL
73       bool
74
75config HAVE_KVM_VCPU_RUN_PID_CHANGE
76       bool
77
78config HAVE_KVM_NO_POLL
79       bool
80
81config KVM_XFER_TO_GUEST_WORK
82       bool
83
84config HAVE_KVM_PM_NOTIFIER
85       bool
86
87config KVM_GENERIC_HARDWARE_ENABLING
88       bool
89
90config KVM_GENERIC_MMU_NOTIFIER
91       select MMU_NOTIFIER
92       bool
93
94config KVM_GENERIC_MEMORY_ATTRIBUTES
95       select KVM_GENERIC_MMU_NOTIFIER
96       bool
97
98config KVM_PRIVATE_MEM
99       select XARRAY_MULTI
100       bool
101
102config KVM_GENERIC_PRIVATE_MEM
103       select KVM_GENERIC_MEMORY_ATTRIBUTES
104       select KVM_PRIVATE_MEM
105       bool
106