#
# KVM configuration
#

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

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
	---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_TRACE
	bool "KVM trace support"
	depends on KVM && MARKERS && SYSFS
	select RELAY
	select DEBUG_FS
	default n
	---help---
	  This option allows reading a trace of kvm-related events through
	  relayfs.  Note the ABI is not considered stable and will be
	  modified in future updates.

source drivers/virtio/Kconfig

endif # VIRTUALIZATION
