xref: /linux/virt/kvm/Kconfig (revision fc6dfd5547794b0bf10790576a9d97443d975439)
1# SPDX-License-Identifier: GPL-2.0
2# KVM common configuration items and defaults
3
4config HAVE_KVM
5       bool
6
7config HAVE_KVM_PFNCACHE
8       bool
9
10config HAVE_KVM_IRQCHIP
11       bool
12
13config HAVE_KVM_IRQFD
14       bool
15
16config HAVE_KVM_IRQ_ROUTING
17       bool
18
19config HAVE_KVM_DIRTY_RING
20       bool
21
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
36config HAVE_KVM_EVENTFD
37       bool
38       select EVENTFD
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_ARCH_TLB_FLUSH_ALL
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