1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 # KVM common configuration items and defaults 2 # KVM common configuration items and defaults 3 3 >> 4 config HAVE_KVM >> 5 bool >> 6 4 config KVM_COMMON 7 config KVM_COMMON 5 bool 8 bool 6 select EVENTFD 9 select EVENTFD 7 select INTERVAL_TREE 10 select INTERVAL_TREE 8 select PREEMPT_NOTIFIERS 11 select PREEMPT_NOTIFIERS 9 12 10 config HAVE_KVM_PFNCACHE 13 config HAVE_KVM_PFNCACHE 11 bool 14 bool 12 15 13 config HAVE_KVM_IRQCHIP 16 config HAVE_KVM_IRQCHIP 14 bool 17 bool 15 18 16 config HAVE_KVM_IRQ_ROUTING 19 config HAVE_KVM_IRQ_ROUTING 17 bool 20 bool 18 21 19 config HAVE_KVM_DIRTY_RING 22 config HAVE_KVM_DIRTY_RING 20 bool 23 bool 21 24 22 # Only strongly ordered architectures can sele 25 # Only strongly ordered architectures can select this, as it doesn't 23 # put any explicit constraint on userspace ord 26 # put any explicit constraint on userspace ordering. They can also 24 # select the _ACQ_REL version. 27 # select the _ACQ_REL version. 25 config HAVE_KVM_DIRTY_RING_TSO 28 config HAVE_KVM_DIRTY_RING_TSO 26 bool 29 bool 27 select HAVE_KVM_DIRTY_RING 30 select HAVE_KVM_DIRTY_RING 28 depends on X86 31 depends on X86 29 32 30 # Weakly ordered architectures can only select 33 # Weakly ordered architectures can only select this, advertising 31 # to userspace the additional ordering require 34 # to userspace the additional ordering requirements. 32 config HAVE_KVM_DIRTY_RING_ACQ_REL 35 config HAVE_KVM_DIRTY_RING_ACQ_REL 33 bool 36 bool 34 select HAVE_KVM_DIRTY_RING 37 select HAVE_KVM_DIRTY_RING 35 38 36 # Allow enabling both the dirty bitmap and dir 39 # Allow enabling both the dirty bitmap and dirty ring. Only architectures 37 # that need to dirty memory outside of a vCPU 40 # that need to dirty memory outside of a vCPU context should select this. 38 config NEED_KVM_DIRTY_RING_WITH_BITMAP 41 config NEED_KVM_DIRTY_RING_WITH_BITMAP 39 bool 42 bool 40 depends on HAVE_KVM_DIRTY_RING 43 depends on HAVE_KVM_DIRTY_RING 41 44 42 config KVM_MMIO 45 config KVM_MMIO 43 bool 46 bool 44 47 45 config KVM_ASYNC_PF 48 config KVM_ASYNC_PF 46 bool 49 bool 47 50 48 # Toggle to switch between direct notification 51 # Toggle to switch between direct notification and batch job 49 config KVM_ASYNC_PF_SYNC 52 config KVM_ASYNC_PF_SYNC 50 bool 53 bool 51 54 52 config HAVE_KVM_MSI 55 config HAVE_KVM_MSI 53 bool 56 bool 54 57 55 config HAVE_KVM_READONLY_MEM << 56 bool << 57 << 58 config HAVE_KVM_CPU_RELAX_INTERCEPT 58 config HAVE_KVM_CPU_RELAX_INTERCEPT 59 bool 59 bool 60 60 61 config KVM_VFIO 61 config KVM_VFIO 62 bool 62 bool 63 63 64 config HAVE_KVM_INVALID_WAKEUPS 64 config HAVE_KVM_INVALID_WAKEUPS 65 bool 65 bool 66 66 67 config KVM_GENERIC_DIRTYLOG_READ_PROTECT 67 config KVM_GENERIC_DIRTYLOG_READ_PROTECT 68 bool 68 bool 69 69 70 config KVM_GENERIC_PRE_FAULT_MEMORY << 71 bool << 72 << 73 config KVM_COMPAT 70 config KVM_COMPAT 74 def_bool y 71 def_bool y 75 depends on KVM && COMPAT && !(S390 || A 72 depends on KVM && COMPAT && !(S390 || ARM64 || RISCV) 76 73 77 config HAVE_KVM_IRQ_BYPASS 74 config HAVE_KVM_IRQ_BYPASS 78 bool 75 bool 79 select IRQ_BYPASS_MANAGER << 80 76 81 config HAVE_KVM_VCPU_ASYNC_IOCTL 77 config HAVE_KVM_VCPU_ASYNC_IOCTL 82 bool 78 bool 83 79 84 config HAVE_KVM_VCPU_RUN_PID_CHANGE 80 config HAVE_KVM_VCPU_RUN_PID_CHANGE 85 bool 81 bool 86 82 87 config HAVE_KVM_NO_POLL 83 config HAVE_KVM_NO_POLL 88 bool 84 bool 89 85 90 config KVM_XFER_TO_GUEST_WORK 86 config KVM_XFER_TO_GUEST_WORK 91 bool 87 bool 92 88 93 config HAVE_KVM_PM_NOTIFIER 89 config HAVE_KVM_PM_NOTIFIER 94 bool 90 bool 95 91 96 config KVM_GENERIC_HARDWARE_ENABLING 92 config KVM_GENERIC_HARDWARE_ENABLING 97 bool 93 bool 98 94 99 config KVM_GENERIC_MMU_NOTIFIER 95 config KVM_GENERIC_MMU_NOTIFIER 100 select MMU_NOTIFIER 96 select MMU_NOTIFIER 101 bool 97 bool 102 98 103 config KVM_GENERIC_MEMORY_ATTRIBUTES 99 config KVM_GENERIC_MEMORY_ATTRIBUTES 104 depends on KVM_GENERIC_MMU_NOTIFIER 100 depends on KVM_GENERIC_MMU_NOTIFIER 105 bool 101 bool 106 102 107 config KVM_PRIVATE_MEM 103 config KVM_PRIVATE_MEM 108 select XARRAY_MULTI 104 select XARRAY_MULTI 109 bool 105 bool 110 106 111 config KVM_GENERIC_PRIVATE_MEM 107 config KVM_GENERIC_PRIVATE_MEM 112 select KVM_GENERIC_MEMORY_ATTRIBUTES 108 select KVM_GENERIC_MEMORY_ATTRIBUTES 113 select KVM_PRIVATE_MEM 109 select KVM_PRIVATE_MEM 114 bool 110 bool 115 << 116 config HAVE_KVM_ARCH_GMEM_PREPARE << 117 bool << 118 depends on KVM_PRIVATE_MEM << 119 << 120 config HAVE_KVM_ARCH_GMEM_INVALIDATE << 121 bool << 122 depends on KVM_PRIVATE_MEM <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.