GNU Linux-libre 6.8.9-gnu
[releases.git] / virt / kvm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 # KVM common configuration items and defaults
3
4 config HAVE_KVM
5        bool
6
7 config KVM_COMMON
8        bool
9        select EVENTFD
10        select INTERVAL_TREE
11        select PREEMPT_NOTIFIERS
12
13 config HAVE_KVM_PFNCACHE
14        bool
15
16 config HAVE_KVM_IRQCHIP
17        bool
18
19 config HAVE_KVM_IRQ_ROUTING
20        bool
21
22 config 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.
28 config 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.
35 config 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.
41 config NEED_KVM_DIRTY_RING_WITH_BITMAP
42         bool
43         depends on HAVE_KVM_DIRTY_RING
44
45 config KVM_MMIO
46        bool
47
48 config KVM_ASYNC_PF
49        bool
50
51 # Toggle to switch between direct notification and batch job
52 config KVM_ASYNC_PF_SYNC
53        bool
54
55 config HAVE_KVM_MSI
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_COMPAT
71        def_bool y
72        depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
73
74 config HAVE_KVM_IRQ_BYPASS
75        bool
76
77 config HAVE_KVM_VCPU_ASYNC_IOCTL
78        bool
79
80 config HAVE_KVM_VCPU_RUN_PID_CHANGE
81        bool
82
83 config HAVE_KVM_NO_POLL
84        bool
85
86 config KVM_XFER_TO_GUEST_WORK
87        bool
88
89 config HAVE_KVM_PM_NOTIFIER
90        bool
91
92 config KVM_GENERIC_HARDWARE_ENABLING
93        bool
94
95 config KVM_GENERIC_MMU_NOTIFIER
96        select MMU_NOTIFIER
97        bool
98
99 config KVM_GENERIC_MEMORY_ATTRIBUTES
100        depends on KVM_GENERIC_MMU_NOTIFIER
101        bool
102
103 config KVM_PRIVATE_MEM
104        select XARRAY_MULTI
105        bool
106
107 config KVM_GENERIC_PRIVATE_MEM
108        select KVM_GENERIC_MEMORY_ATTRIBUTES
109        select KVM_PRIVATE_MEM
110        bool