#
# 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 "Kernel-based Virtual Machine (KVM) support"
	depends on EXPERIMENTAL
	select PREEMPT_NOTIFIERS
	select ANON_INODES
	---help---
	  Support hosting virtualized guest machines. You will also
	  need to select one or more of the processor modules below.

	  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 KVM && 44x
	---help---
	  KVM can run unmodified 440 guest kernels on 440 host processors.

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
