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_GENERIC_PRE_FAULT_MEMORY 71 bool 72 73config KVM_COMPAT 74 def_bool y 75 depends on KVM && COMPAT && !(S390 || ARM64 || RISCV) 76 77config HAVE_KVM_IRQ_BYPASS 78 bool 79 select IRQ_BYPASS_MANAGER 80 81config HAVE_KVM_VCPU_ASYNC_IOCTL 82 bool 83 84config HAVE_KVM_VCPU_RUN_PID_CHANGE 85 bool 86 87config HAVE_KVM_NO_POLL 88 bool 89 90config KVM_XFER_TO_GUEST_WORK 91 bool 92 93config HAVE_KVM_PM_NOTIFIER 94 bool 95 96config KVM_GENERIC_HARDWARE_ENABLING 97 bool 98 99config KVM_GENERIC_MMU_NOTIFIER 100 select MMU_NOTIFIER 101 bool 102 103config KVM_GENERIC_MEMORY_ATTRIBUTES 104 depends on KVM_GENERIC_MMU_NOTIFIER 105 bool 106 107config KVM_PRIVATE_MEM 108 select XARRAY_MULTI 109 bool 110 111config KVM_GENERIC_PRIVATE_MEM 112 select KVM_GENERIC_MEMORY_ATTRIBUTES 113 select KVM_PRIVATE_MEM 114 bool 115 116config HAVE_KVM_ARCH_GMEM_PREPARE 117 bool 118 depends on KVM_PRIVATE_MEM 119 120config HAVE_KVM_ARCH_GMEM_INVALIDATE 121 bool 122 depends on KVM_PRIVATE_MEM 123