Merge branch 'address-masking'
[linux-2.6-microblaze.git] / virt / kvm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # KVM common configuration items and defaults
3
4 config KVM_COMMON
5        bool
6        select EVENTFD
7        select INTERVAL_TREE
8        select PREEMPT_NOTIFIERS
9
10 config HAVE_KVM_PFNCACHE
11        bool
12
13 config HAVE_KVM_IRQCHIP
14        bool
15
16 config HAVE_KVM_IRQ_ROUTING
17        bool
18
19 config 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.
25 config 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.
32 config 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.
38 config NEED_KVM_DIRTY_RING_WITH_BITMAP
39         bool
40         depends on HAVE_KVM_DIRTY_RING
41
42 config KVM_MMIO
43        bool
44
45 config KVM_ASYNC_PF
46        bool
47
48 # Toggle to switch between direct notification and batch job
49 config KVM_ASYNC_PF_SYNC
50        bool
51
52 config HAVE_KVM_MSI
53        bool
54
55 config HAVE_KVM_READONLY_MEM
56        bool
57
58 config HAVE_KVM_CPU_RELAX_INTERCEPT
59        bool
60
61 config KVM_VFIO
62        bool
63
64 config HAVE_KVM_INVALID_WAKEUPS
65        bool
66
67 config KVM_GENERIC_DIRTYLOG_READ_PROTECT
68        bool
69
70 config KVM_GENERIC_PRE_FAULT_MEMORY
71        bool
72
73 config KVM_COMPAT
74        def_bool y
75        depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
76
77 config HAVE_KVM_IRQ_BYPASS
78        bool
79        select IRQ_BYPASS_MANAGER
80
81 config HAVE_KVM_VCPU_ASYNC_IOCTL
82        bool
83
84 config HAVE_KVM_VCPU_RUN_PID_CHANGE
85        bool
86
87 config HAVE_KVM_NO_POLL
88        bool
89
90 config KVM_XFER_TO_GUEST_WORK
91        bool
92
93 config HAVE_KVM_PM_NOTIFIER
94        bool
95
96 config KVM_GENERIC_HARDWARE_ENABLING
97        bool
98
99 config KVM_GENERIC_MMU_NOTIFIER
100        select MMU_NOTIFIER
101        bool
102
103 config KVM_GENERIC_MEMORY_ATTRIBUTES
104        depends on KVM_GENERIC_MMU_NOTIFIER
105        bool
106
107 config KVM_PRIVATE_MEM
108        select XARRAY_MULTI
109        bool
110
111 config KVM_GENERIC_PRIVATE_MEM
112        select KVM_GENERIC_MEMORY_ATTRIBUTES
113        select KVM_PRIVATE_MEM
114        bool
115
116 config HAVE_KVM_ARCH_GMEM_PREPARE
117        bool
118        depends on KVM_PRIVATE_MEM
119
120 config HAVE_KVM_ARCH_GMEM_INVALIDATE
121        bool
122        depends on KVM_PRIVATE_MEM