mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
687d8f4c3d
Cleanups to Kconfig definitions for KVM * replace HAVE_KVM with an architecture-dependent symbol, when CONFIG_KVM may or may not be available depending on CPU capabilities (MIPS) * replace HAVE_KVM with IS_ENABLED(CONFIG_KVM) for host-side code that is not part of the KVM module, so that it is completely compiled out * factor common "select" statements in common code instead of requiring each architecture to specify it
112 lines
2.2 KiB
Plaintext
112 lines
2.2 KiB
Plaintext
# 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_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
|