1 # SPDX-License-Identifier: GPL-2.0
2 # KVM common configuration items and defaults
11 select PREEMPT_NOTIFIERS
13 config HAVE_KVM_PFNCACHE
16 config HAVE_KVM_IRQCHIP
19 config HAVE_KVM_IRQ_ROUTING
22 config HAVE_KVM_DIRTY_RING
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
30 select HAVE_KVM_DIRTY_RING
33 # Weakly ordered architectures can only select this, advertising
34 # to userspace the additional ordering requirements.
35 config HAVE_KVM_DIRTY_RING_ACQ_REL
37 select HAVE_KVM_DIRTY_RING
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
43 depends on HAVE_KVM_DIRTY_RING
51 # Toggle to switch between direct notification and batch job
52 config KVM_ASYNC_PF_SYNC
58 config HAVE_KVM_CPU_RELAX_INTERCEPT
64 config HAVE_KVM_INVALID_WAKEUPS
67 config KVM_GENERIC_DIRTYLOG_READ_PROTECT
72 depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
74 config HAVE_KVM_IRQ_BYPASS
77 config HAVE_KVM_VCPU_ASYNC_IOCTL
80 config HAVE_KVM_VCPU_RUN_PID_CHANGE
83 config HAVE_KVM_NO_POLL
86 config KVM_XFER_TO_GUEST_WORK
89 config HAVE_KVM_PM_NOTIFIER
92 config KVM_GENERIC_HARDWARE_ENABLING
95 config KVM_GENERIC_MMU_NOTIFIER
99 config KVM_GENERIC_MEMORY_ATTRIBUTES
100 depends on KVM_GENERIC_MMU_NOTIFIER
103 config KVM_PRIVATE_MEM
107 config KVM_GENERIC_PRIVATE_MEM
108 select KVM_GENERIC_MEMORY_ATTRIBUTES
109 select KVM_PRIVATE_MEM