| # SPDX-License-Identifier: GPL-2.0 |
| # KVM common configuration items and defaults |
| |
| config KVM_COMMON |
| bool |
| select EVENTFD |
| select INTERVAL_TREE |
| select PREEMPT_NOTIFIERS |
| |
| config HAVE_KVM_PFNCACHE |
| bool |
| |
| config HAVE_KVM_IRQCHIP |
| bool |
| |
| config HAVE_KVM_IRQ_ROUTING |
| bool |
| |
| config HAVE_KVM_DIRTY_RING |
| bool |
| |
| # Only strongly ordered architectures can select this, as it doesn't |
| # put any explicit constraint on userspace ordering. They can also |
| # select the _ACQ_REL version. |
| config HAVE_KVM_DIRTY_RING_TSO |
| bool |
| select HAVE_KVM_DIRTY_RING |
| depends on X86 |
| |
| # Weakly ordered architectures can only select this, advertising |
| # to userspace the additional ordering requirements. |
| config HAVE_KVM_DIRTY_RING_ACQ_REL |
| bool |
| select HAVE_KVM_DIRTY_RING |
| |
| # Allow enabling both the dirty bitmap and dirty ring. Only architectures |
| # that need to dirty memory outside of a vCPU context should select this. |
| config NEED_KVM_DIRTY_RING_WITH_BITMAP |
| bool |
| depends on HAVE_KVM_DIRTY_RING |
| |
| config KVM_MMIO |
| bool |
| |
| config KVM_ASYNC_PF |
| bool |
| |
| # Toggle to switch between direct notification and batch job |
| config KVM_ASYNC_PF_SYNC |
| bool |
| |
| config HAVE_KVM_MSI |
| bool |
| |
| config HAVE_KVM_READONLY_MEM |
| bool |
| |
| config HAVE_KVM_CPU_RELAX_INTERCEPT |
| bool |
| |
| config KVM_VFIO |
| bool |
| |
| config HAVE_KVM_INVALID_WAKEUPS |
| bool |
| |
| config KVM_GENERIC_DIRTYLOG_READ_PROTECT |
| bool |
| |
| config KVM_GENERIC_PRE_FAULT_MEMORY |
| bool |
| |
| config KVM_COMPAT |
| def_bool y |
| depends on KVM && COMPAT && !(S390 || ARM64 || RISCV) |
| |
| config HAVE_KVM_IRQ_BYPASS |
| bool |
| select IRQ_BYPASS_MANAGER |
| |
| config HAVE_KVM_VCPU_ASYNC_IOCTL |
| bool |
| |
| config HAVE_KVM_VCPU_RUN_PID_CHANGE |
| bool |
| |
| config HAVE_KVM_NO_POLL |
| bool |
| |
| config KVM_XFER_TO_GUEST_WORK |
| bool |
| |
| config HAVE_KVM_PM_NOTIFIER |
| bool |
| |
| config KVM_GENERIC_HARDWARE_ENABLING |
| bool |
| |
| config KVM_GENERIC_MMU_NOTIFIER |
| select MMU_NOTIFIER |
| bool |
| |
| config KVM_GENERIC_MEMORY_ATTRIBUTES |
| depends on KVM_GENERIC_MMU_NOTIFIER |
| bool |
| |
| config KVM_PRIVATE_MEM |
| select XARRAY_MULTI |
| bool |
| |
| config KVM_GENERIC_PRIVATE_MEM |
| select KVM_GENERIC_MEMORY_ATTRIBUTES |
| select KVM_PRIVATE_MEM |
| bool |
| |
| config HAVE_KVM_ARCH_GMEM_PREPARE |
| bool |
| depends on KVM_PRIVATE_MEM |
| |
| config HAVE_KVM_ARCH_GMEM_INVALIDATE |
| bool |
| depends on KVM_PRIVATE_MEM |