summaryrefslogtreecommitdiff
path: root/virt/kvm/Kconfig
blob: 727b542074e7efa306f0db0e21d072adff70e3cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# SPDX-License-Identifier: GPL-2.0
# KVM common configuration items and defaults

config KVM_COMMON
       bool
       select EVENTFD
       select INTERVAL_TREE
       select PREEMPT_NOTIFIERS

config HAVE_KVM_PFNCACHE
       bool

config HAVE_KVM_IRQCHIP
       bool

config HAVE_KVM_IRQ_ROUTING
       bool

config HAVE_KVM_DIRTY_RING
       bool

# Only strongly ordered architectures can select this, as it doesn't
# put any explicit constraint on userspace ordering. They can also
# select the _ACQ_REL version.
config HAVE_KVM_DIRTY_RING_TSO
       bool
       select HAVE_KVM_DIRTY_RING
       depends on X86

# Weakly ordered architectures can only select this, advertising
# to userspace the additional ordering requirements.
config HAVE_KVM_DIRTY_RING_ACQ_REL
       bool
       select HAVE_KVM_DIRTY_RING

# Allow enabling both the dirty bitmap and dirty ring. Only architectures
# that need to dirty memory outside of a vCPU context should select this.
config NEED_KVM_DIRTY_RING_WITH_BITMAP
	bool
	depends on HAVE_KVM_DIRTY_RING

config KVM_MMIO
       bool

config KVM_ASYNC_PF
       bool

# Toggle to switch between direct notification and batch job
config KVM_ASYNC_PF_SYNC
       bool

config HAVE_KVM_MSI
       bool

config HAVE_KVM_READONLY_MEM
       bool

config HAVE_KVM_CPU_RELAX_INTERCEPT
       bool

config KVM_VFIO
       bool

config HAVE_KVM_INVALID_WAKEUPS
       bool

config KVM_GENERIC_DIRTYLOG_READ_PROTECT
       bool

config KVM_GENERIC_PRE_FAULT_MEMORY
       bool

config KVM_COMPAT
       def_bool y
       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)

config HAVE_KVM_IRQ_BYPASS
       tristate
       select IRQ_BYPASS_MANAGER

config HAVE_KVM_VCPU_ASYNC_IOCTL
       bool

config HAVE_KVM_VCPU_RUN_PID_CHANGE
       bool

config HAVE_KVM_NO_POLL
       bool

config KVM_XFER_TO_GUEST_WORK
       bool

config HAVE_KVM_PM_NOTIFIER
       bool

config KVM_GENERIC_HARDWARE_ENABLING
       bool

config KVM_GENERIC_MMU_NOTIFIER
       select MMU_NOTIFIER
       bool

config KVM_ELIDE_TLB_FLUSH_IF_YOUNG
       depends on KVM_GENERIC_MMU_NOTIFIER
       bool

config KVM_MMU_LOCKLESS_AGING
       depends on KVM_GENERIC_MMU_NOTIFIER
       bool

config KVM_GENERIC_MEMORY_ATTRIBUTES
       depends on KVM_GENERIC_MMU_NOTIFIER
       bool

config KVM_PRIVATE_MEM
       select XARRAY_MULTI
       bool

config KVM_GENERIC_PRIVATE_MEM
       select KVM_GENERIC_MEMORY_ATTRIBUTES
       select KVM_PRIVATE_MEM
       bool

config HAVE_KVM_ARCH_GMEM_PREPARE
       bool
       depends on KVM_PRIVATE_MEM

config HAVE_KVM_ARCH_GMEM_INVALIDATE
       bool
       depends on KVM_PRIVATE_MEM