# 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 HAVE_KVM
	select EXPORT_UASM
	select PREEMPT_NOTIFIERS
	select ANON_INODES
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select HAVE_KVM_VCPU_ASYNC_IOCTL
	select KVM_MMIO
	select MMU_NOTIFIER
	select HAVE_KVM_IRQCHIP
	select HAVE_KVM_IRQFD
	select HAVE_KVM_IRQ_ROUTING
	select HAVE_KVM_EVENTFD
	select HAVE_KVM_MSI
	select SRCU
	select KVM_VFIO
	help
	  Support for hosting Guest kernels.

choice
	prompt "Virtualization mode"
	depends on KVM
	default KVM_LOONGARCH_LVZ

config KVM_LOONGARCH_LVZ
	bool "LOONGARCH Virtualization (VZ) ASE"
	help
	  Use the LOONGARCH Virtualization (VZ) ASE to virtualize guests. This
	  supports running unmodified guest kernels, but requires hardware
	  support.

endchoice

source "drivers/vhost/Kconfig"

endif # VIRTUALIZATION
