# SPDX-License-Identifier: GPL-2.0
#
# KVM configuration
#
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

config KVM
	tristate "Kernel-based Virtual Machine (KVM) support"
	depends on CPU_SUPPORTS_VZ
	depends on MIPS_FP_SUPPORT
	select EXPORT_UASM
	select KVM_COMMON
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select HAVE_KVM_VCPU_ASYNC_IOCTL
	select KVM_MMIO
	select KVM_GENERIC_MMU_NOTIFIER
	select KVM_GENERIC_HARDWARE_ENABLING
	select HAVE_KVM_READONLY_MEM
	help
	  Support for hosting Guest kernels.

config KVM_MIPS_DEBUG_COP0_COUNTERS
	bool "Maintain counters for COP0 accesses"
	depends on KVM
	help
	  Maintain statistics for Guest COP0 accesses.
	  A histogram of COP0 accesses is printed when the VM is
	  shutdown.

	  If unsure, say N.

endif # VIRTUALIZATION
