mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
caadf876bb
CONFIG_HAVE_KVM is currently used by some architectures to either
enabled the KVM config proper, or to enable host-side code that is
not part of the KVM module. However, CONFIG_KVM's "select" statement
in virt/kvm/Kconfig corresponds to a third meaning, namely to
enable common Kconfigs required by all architectures that support
KVM.
These three meanings can be replaced respectively by an
architecture-specific Kconfig, by IS_ENABLED(CONFIG_KVM), or by
a new Kconfig symbol that is in turn selected by the
architecture-specific "config KVM".
Start by introducing such a new Kconfig symbol, CONFIG_KVM_COMMON.
Unlike CONFIG_HAVE_KVM, it is selected by CONFIG_KVM, not by
architecture code, and it brings in all dependencies of common
KVM code. In particular, INTERVAL_TREE was missing in loongarch
and riscv, so that is another thing that is fixed.
Fixes: 8132d887a7
("KVM: remove CONFIG_HAVE_KVM_EVENTFD", 2023-12-08)
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/all/44907c6b-c5bd-4e4a-a921-e4d3825539d8@infradead.org/
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
72 lines
1.8 KiB
Plaintext
72 lines
1.8 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# KVM configuration
|
|
#
|
|
|
|
source "virt/lib/Kconfig"
|
|
source "virt/kvm/Kconfig"
|
|
|
|
menuconfig VIRTUALIZATION
|
|
bool "Virtualization"
|
|
help
|
|
Say Y here to get to see options for using your Linux host to run
|
|
other operating systems inside virtual machines (guests).
|
|
This option alone does not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and
|
|
disabled.
|
|
|
|
if VIRTUALIZATION
|
|
|
|
menuconfig KVM
|
|
bool "Kernel-based Virtual Machine (KVM) support"
|
|
depends on HAVE_KVM
|
|
select KVM_COMMON
|
|
select KVM_GENERIC_HARDWARE_ENABLING
|
|
select KVM_GENERIC_MMU_NOTIFIER
|
|
select HAVE_KVM_CPU_RELAX_INTERCEPT
|
|
select KVM_MMIO
|
|
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
|
|
select KVM_XFER_TO_GUEST_WORK
|
|
select KVM_VFIO
|
|
select HAVE_KVM_DIRTY_RING_ACQ_REL
|
|
select NEED_KVM_DIRTY_RING_WITH_BITMAP
|
|
select HAVE_KVM_MSI
|
|
select HAVE_KVM_IRQCHIP
|
|
select HAVE_KVM_IRQ_ROUTING
|
|
select IRQ_BYPASS_MANAGER
|
|
select HAVE_KVM_IRQ_BYPASS
|
|
select HAVE_KVM_VCPU_RUN_PID_CHANGE
|
|
select SCHED_INFO
|
|
select GUEST_PERF_EVENTS if PERF_EVENTS
|
|
select XARRAY_MULTI
|
|
help
|
|
Support hosting virtualized guest machines.
|
|
|
|
If unsure, say N.
|
|
|
|
config NVHE_EL2_DEBUG
|
|
bool "Debug mode for non-VHE EL2 object"
|
|
depends on KVM
|
|
help
|
|
Say Y here to enable the debug mode for the non-VHE KVM EL2 object.
|
|
Failure reports will BUG() in the hypervisor. This is intended for
|
|
local EL2 hypervisor development.
|
|
|
|
If unsure, say N.
|
|
|
|
config PROTECTED_NVHE_STACKTRACE
|
|
bool "Protected KVM hypervisor stacktraces"
|
|
depends on NVHE_EL2_DEBUG
|
|
default n
|
|
help
|
|
Say Y here to enable pKVM hypervisor stacktraces on hyp_panic()
|
|
|
|
If using protected nVHE mode, but cannot afford the associated
|
|
memory cost (less than 0.75 page per CPU) of pKVM stacktraces,
|
|
say N.
|
|
|
|
If unsure, or not using protected nVHE (pKVM), say N.
|
|
|
|
endif # VIRTUALIZATION
|