xref: /linux/virt/kvm/Kconfig (revision 28d5df7b727471439ca343208e5be1fd55338128)
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_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_CPU_RELAX_INTERCEPT
51       bool
52
53config KVM_VFIO
54       bool
55
56config KVM_GENERIC_DIRTYLOG_READ_PROTECT
57       bool
58
59config KVM_GENERIC_PRE_FAULT_MEMORY
60       bool
61
62config KVM_COMPAT
63       def_bool y
64       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
65
66config HAVE_KVM_IRQ_BYPASS
67       tristate
68       select IRQ_BYPASS_MANAGER
69
70config VIRT_XFER_TO_GUEST_WORK
71       bool
72
73config HAVE_KVM_PM_NOTIFIER
74       bool
75
76config KVM_GENERIC_HARDWARE_ENABLING
77       bool
78
79config KVM_ELIDE_TLB_FLUSH_IF_YOUNG
80       bool
81
82config KVM_MMU_LOCKLESS_AGING
83       bool
84
85config KVM_GUEST_MEMFD
86       select XARRAY_MULTI
87       bool
88
89config HAVE_KVM_ARCH_GMEM_CONVERT
90       bool
91       depends on KVM_GUEST_MEMFD
92
93config HAVE_KVM_ARCH_GMEM_RECLAIM
94       bool
95       depends on KVM_GUEST_MEMFD
96
97config HAVE_KVM_ARCH_GMEM_INVALIDATE
98       bool
99       depends on KVM_GUEST_MEMFD
100
101config HAVE_KVM_ARCH_GMEM_POPULATE
102       bool
103       depends on KVM_GUEST_MEMFD
104
105config KVM_VM_MEMORY_ATTRIBUTES
106       bool
107