Loading...
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
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 PREEMPT_NOTIFIERS
9
10config HAVE_KVM_PFNCACHE
11 bool
12
13config HAVE_KVM_IRQCHIP
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
36# Allow enabling both the dirty bitmap and dirty ring. Only architectures
37# that need to dirty memory outside of a vCPU context should select this.
38config NEED_KVM_DIRTY_RING_WITH_BITMAP
39 bool
40 depends on HAVE_KVM_DIRTY_RING
41
42config KVM_MMIO
43 bool
44
45config KVM_ASYNC_PF
46 bool
47
48# Toggle to switch between direct notification and batch job
49config KVM_ASYNC_PF_SYNC
50 bool
51
52config HAVE_KVM_MSI
53 bool
54
55config HAVE_KVM_READONLY_MEM
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 select IRQ_BYPASS_MANAGER
77
78config HAVE_KVM_VCPU_ASYNC_IOCTL
79 bool
80
81config HAVE_KVM_VCPU_RUN_PID_CHANGE
82 bool
83
84config HAVE_KVM_NO_POLL
85 bool
86
87config KVM_XFER_TO_GUEST_WORK
88 bool
89
90config HAVE_KVM_PM_NOTIFIER
91 bool
92
93config KVM_GENERIC_HARDWARE_ENABLING
94 bool
95
96config KVM_GENERIC_MMU_NOTIFIER
97 select MMU_NOTIFIER
98 bool
99
100config KVM_GENERIC_MEMORY_ATTRIBUTES
101 depends on KVM_GENERIC_MMU_NOTIFIER
102 bool
103
104config KVM_PRIVATE_MEM
105 select XARRAY_MULTI
106 bool
107
108config KVM_GENERIC_PRIVATE_MEM
109 select KVM_GENERIC_MEMORY_ATTRIBUTES
110 select KVM_PRIVATE_MEM
111 bool