#
# 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
	bool
	select PREEMPT_NOTIFIERS
	select ANON_INODES
	select KVM_MMIO

config KVM_BOOK3S_HANDLER
	bool

config KVM_BOOK3S_32_HANDLER
	bool
	select KVM_BOOK3S_HANDLER

config KVM_BOOK3S_64_HANDLER
	bool
	select KVM_BOOK3S_HANDLER

config KVM_BOOK3S_32
	tristate "KVM support for PowerPC book3s_32 processors"
	depends on EXPERIMENTAL && PPC_BOOK3S_32 && !SMP && !PTE_64BIT
	select KVM
	select KVM_BOOK3S_32_HANDLER
	---help---
	  Support running unmodified book3s_32 guest kernels
	  in virtual machines on book3s_32 host processors.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  If unsure, say N.

config KVM_BOOK3S_64
	tristate "KVM support for PowerPC book3s_64 processors"
	depends on EXPERIMENTAL && PPC_BOOK3S_64
	select KVM
	select KVM_BOOK3S_64_HANDLER
	---help---
	  Support running unmodified book3s_64 and book3s_32 guest kernels
	  in virtual machines on book3s_64 host processors.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  If unsure, say N.

config KVM_440
	bool "KVM support for PowerPC 440 processors"
	depends on EXPERIMENTAL && 44x
	select KVM
	---help---
	  Support running unmodified 440 guest kernels in virtual machines on
	  440 host processors.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  If unsure, say N.

config KVM_EXIT_TIMING
	bool "Detailed exit timing"
	depends on KVM_440 || KVM_E500
	---help---
	  Calculate elapsed time for every exit/enter cycle. A per-vcpu
	  report is available in debugfs kvm/vm#_vcpu#_timing.
	  The overhead is relatively small, however it is not recommended for
	  production environments.

	  If unsure, say N.

config KVM_E500
	bool "KVM support for PowerPC E500 processors"
	depends on EXPERIMENTAL && E500
	select KVM
	---help---
	  Support running unmodified E500 guest kernels in virtual machines on
	  E500 host processors.

	  This module provides access to the hardware capabilities through
	  a character device node named /dev/kvm.

	  If unsure, say N.

source drivers/vhost/Kconfig
source drivers/virtio/Kconfig

endif # VIRTUALIZATION
