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