menuconfig HVM
	bool "HVM support"
	depends on !PV_SHIM_EXCLUSIVE
	default !PV_SHIM
	select COMPAT
	select IOREQ_SERVER
	help
	  Interfaces to support HVM domains.  HVM domains require hardware
	  virtualisation extensions (e.g. Intel VT-x, AMD SVM), but can boot
	  guests which have no specific Xen knowledge.

	  This option is needed if you want to run HVM or PVH domains.

	  If unsure, say Y.

if HVM

config AMD_SVM
	bool "AMD-V" if EXPERT
	default AMD
	help
	  Enables virtual machine extensions on platforms that implement the
	  AMD Virtualization Technology (AMD-V).
	  If your system includes a processor with AMD-V support, say Y.
	  If in doubt, say Y.

config INTEL_VMX
	bool "Intel VT-x" if EXPERT
	default INTEL
	select ARCH_VCPU_IOREQ_COMPLETION
	help
	  Enables virtual machine extensions on platforms that implement the
	  Intel Virtualization Technology (Intel VT-x).
	  If your system includes a processor with Intel VT-x support, say Y.
	  If in doubt, say Y.

config VMTRACE
	bool "HW VM tracing support"
	depends on INTEL_VMX
	default y
	help
	  Enables HW VM tracing support which allows to configure HW processor
	  features (vmtrace_op) to enable capturing information about software
	  execution using dedicated hardware facilities with minimal interference
	  to the software being traced. The trace data can be retrieved using buffer
	  shared between Xen and domain
	  (see XENMEM_acquire_resource(XENMEM_resource_vmtrace_buf)).

config HVM_FEP
	bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
	default DEBUG
	help
	  Compiles in a feature that allows HVM guest to arbitrarily
	  exercise the instruction emulator.

	  This feature can only be enabled during boot time with
	  appropriate hypervisor command line option. Please read
	  hypervisor command line documentation before trying to use
	  this feature.

	  This is strictly for testing purposes, and not appropriate
	  for use in production.

	  If unsure, say N.

config ALTP2M
	bool "Alternate P2M support" if EXPERT
	depends on INTEL_VMX
	default y
	help
	  Alternate-p2m allows a guest to manage multiple p2m guest physical
	  "memory views" (as opposed to a single p2m).
	  Useful for memory introspection.

	  If unsure, stay with defaults.

config VIRIDIAN
	bool "Hyper-V enlightenments for guests" if EXPERT
	default y
	help
	  Support optimizations for Hyper-V guests such as hypercalls, efficient
	  timers and interrupt handling. This is to improve performance and
	  compatibility of Windows VMs.

	  If unsure, say Y.

config MEM_PAGING
	bool "Xen memory paging support (UNSUPPORTED)" if UNSUPPORTED
	depends on VM_EVENT

config MEM_SHARING
	bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
	depends on INTEL_VMX

endif
