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