#
# This Kconfig describes xen options
#

config XEN
	bool "Xen guest support"
	select PARAVIRT
	select PARAVIRT_CLOCK
	depends on X86_64 || (X86_32 && X86_PAE && !X86_VISWS)
	depends on X86_CMPXCHG && X86_TSC
	help
	  This is the Linux Xen port.  Enabling this will allow the
	  kernel to boot in a paravirtualized environment under the
	  Xen hypervisor.

config XEN_MAX_DOMAIN_MEMORY
       int "Maximum allowed size of a domain in gigabytes"
       default 8 if X86_32
       default 32 if X86_64
       depends on XEN
       help
         The pseudo-physical to machine address array is sized
         according to the maximum possible memory size of a Xen
         domain.  This array uses 1 page per gigabyte, so there's no
         need to be too stingy here.

config XEN_SAVE_RESTORE
       bool
       depends on XEN && PM
       default y

config XEN_DEBUG_FS
	bool "Enable Xen debug and tuning parameters in debugfs"
	depends on XEN && DEBUG_FS
	default n
	help
	  Enable statistics output and various tuning options in debugfs.
	  Enabling this option may incur a significant performance overhead.
