#
# 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_64_HANDLER
	bool

config KVM_BOOK3S_64
	tristate "KVM support for PowerPC book3s_64 processors"
	depends on EXPERIMENTAL && PPC64
	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
