# SPDX-License-Identifier: GPL-2.0
# KVM common configuration items and defaults

config HAVE_KVM
       bool

config HAVE_KVM_PFNCACHE
       bool

config HAVE_KVM_IRQCHIP
       bool

config HAVE_KVM_IRQFD
       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

config HAVE_KVM_EVENTFD
       bool
       select EVENTFD

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_CPU_RELAX_INTERCEPT
       bool

config KVM_VFIO
       bool

config HAVE_KVM_ARCH_TLB_FLUSH_ALL
       bool

config HAVE_KVM_INVALID_WAKEUPS
       bool

config KVM_GENERIC_DIRTYLOG_READ_PROTECT
       bool

config KVM_COMPAT
       def_bool y
       depends on KVM && COMPAT && !(S390 || ARM64 || RISCV)

config HAVE_KVM_IRQ_BYPASS
       bool

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
