1 # SPDX-License-Identifier: GPL-2.0
2 # KVM common configuration items and defaults
8 config HAVE_KVM_PFNCACHE
11 config HAVE_KVM_IRQCHIP
14 config HAVE_KVM_IRQ_ROUTING
17 config HAVE_KVM_DIRTY_RING
20 # Only strongly ordered architectures can select this, as it doesn't
21 # put any explicit constraint on userspace ordering. They can also
22 # select the _ACQ_REL version.
23 config HAVE_KVM_DIRTY_RING_TSO
25 select HAVE_KVM_DIRTY_RING
28 # Weakly ordered architectures can only select this, advertising
29 # to userspace the additional ordering requirements.
30 config HAVE_KVM_DIRTY_RING_ACQ_REL
32 select HAVE_KVM_DIRTY_RING
34 # Allow enabling both the dirty bitmap and dirty ring. Only architectures
35 # that need to dirty memory outside of a vCPU context should select this.
36 config NEED_KVM_DIRTY_RING_WITH_BITMAP
38 depends on HAVE_KVM_DIRTY_RING
46 # Toggle to switch between direct notification and batch job
47 config KVM_ASYNC_PF_SYNC
53 config HAVE_KVM_CPU_RELAX_INTERCEPT
59 config HAVE_KVM_INVALID_WAKEUPS
62 config KVM_GENERIC_DIRTYLOG_READ_PROTECT
67 depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)
69 config HAVE_KVM_IRQ_BYPASS
72 config HAVE_KVM_VCPU_ASYNC_IOCTL
75 config HAVE_KVM_VCPU_RUN_PID_CHANGE
78 config HAVE_KVM_NO_POLL
81 config KVM_XFER_TO_GUEST_WORK
84 config HAVE_KVM_PM_NOTIFIER
87 config KVM_GENERIC_HARDWARE_ENABLING
90 config KVM_GENERIC_MMU_NOTIFIER
94 config KVM_GENERIC_MEMORY_ATTRIBUTES
95 select KVM_GENERIC_MMU_NOTIFIER
98 config KVM_PRIVATE_MEM
102 config KVM_GENERIC_PRIVATE_MEM
103 select KVM_GENERIC_MEMORY_ATTRIBUTES
104 select KVM_PRIVATE_MEM