#
# 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 HAVE_KVM
	select EXPORT_UASM
	select PREEMPT_NOTIFIERS
	select ANON_INODES
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select KVM_MMIO
	select MMU_NOTIFIER
	select SRCU
	---help---
	  Support for hosting Guest kernels.

choice
	prompt "Virtualization mode"
	depends on KVM
	default KVM_MIPS_TE

config KVM_MIPS_TE
	bool "Trap & Emulate"
	---help---
	  Use trap and emulate to virtualize 32-bit guests in user mode. This
	  does not require any special hardware Virtualization support beyond
	  standard MIPS32/64 r2 or later, but it does require the guest kernel
	  to be configured with CONFIG_KVM_GUEST=y so that it resides in the
	  user address segment.

config KVM_MIPS_VZ
	bool "MIPS Virtualization (VZ) ASE"
	---help---
	  Use the MIPS Virtualization (VZ) ASE to virtualize guests. This
	  supports running unmodified guest kernels (with CONFIG_KVM_GUEST=n),
	  but requires hardware support.

endchoice

config KVM_MIPS_DYN_TRANS
	bool "KVM/MIPS: Dynamic binary translation to reduce traps"
	depends on KVM_MIPS_TE
	default y
	---help---
	  When running in Trap & Emulate mode patch privileged
	  instructions to reduce the number of traps.

	  If unsure, say Y.

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.

source drivers/vhost/Kconfig

endif # VIRTUALIZATION
