18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# This Kconfig describes xen options
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig XEN
78c2ecf20Sopenharmony_ci	bool "Xen guest support"
88c2ecf20Sopenharmony_ci	depends on PARAVIRT
98c2ecf20Sopenharmony_ci	select PARAVIRT_CLOCK
108c2ecf20Sopenharmony_ci	select X86_HV_CALLBACK_VECTOR
118c2ecf20Sopenharmony_ci	depends on X86_64 || (X86_32 && X86_PAE)
128c2ecf20Sopenharmony_ci	depends on X86_LOCAL_APIC && X86_TSC
138c2ecf20Sopenharmony_ci	help
148c2ecf20Sopenharmony_ci	  This is the Linux Xen port.  Enabling this will allow the
158c2ecf20Sopenharmony_ci	  kernel to boot in a paravirtualized environment under the
168c2ecf20Sopenharmony_ci	  Xen hypervisor.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig XEN_PV
198c2ecf20Sopenharmony_ci	bool "Xen PV guest support"
208c2ecf20Sopenharmony_ci	default y
218c2ecf20Sopenharmony_ci	depends on XEN
228c2ecf20Sopenharmony_ci	depends on X86_64
238c2ecf20Sopenharmony_ci	select PARAVIRT_XXL
248c2ecf20Sopenharmony_ci	select XEN_HAVE_PVMMU
258c2ecf20Sopenharmony_ci	select XEN_HAVE_VPMU
268c2ecf20Sopenharmony_ci	help
278c2ecf20Sopenharmony_ci	  Support running as a Xen PV guest.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig XEN_PV_SMP
308c2ecf20Sopenharmony_ci	def_bool y
318c2ecf20Sopenharmony_ci	depends on XEN_PV && SMP
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciconfig XEN_DOM0
348c2ecf20Sopenharmony_ci	bool "Xen PV Dom0 support"
358c2ecf20Sopenharmony_ci	default y
368c2ecf20Sopenharmony_ci	depends on XEN_PV && PCI_XEN && SWIOTLB_XEN
378c2ecf20Sopenharmony_ci	depends on X86_IO_APIC && ACPI && PCI
388c2ecf20Sopenharmony_ci	help
398c2ecf20Sopenharmony_ci	  Support running as a Xen PV Dom0 guest.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig XEN_PVHVM
428c2ecf20Sopenharmony_ci	bool "Xen PVHVM guest support"
438c2ecf20Sopenharmony_ci	default y
448c2ecf20Sopenharmony_ci	depends on XEN && PCI && X86_LOCAL_APIC
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  Support running as a Xen PVHVM guest.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig XEN_PVHVM_SMP
498c2ecf20Sopenharmony_ci	def_bool y
508c2ecf20Sopenharmony_ci	depends on XEN_PVHVM && SMP
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig XEN_512GB
538c2ecf20Sopenharmony_ci	bool "Limit Xen pv-domain memory to 512GB"
548c2ecf20Sopenharmony_ci	depends on XEN_PV
558c2ecf20Sopenharmony_ci	default y
568c2ecf20Sopenharmony_ci	help
578c2ecf20Sopenharmony_ci	  Limit paravirtualized user domains to 512GB of RAM.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci	  The Xen tools and crash dump analysis tools might not support
608c2ecf20Sopenharmony_ci	  pv-domains with more than 512 GB of RAM. This option controls the
618c2ecf20Sopenharmony_ci	  default setting of the kernel to use only up to 512 GB or more.
628c2ecf20Sopenharmony_ci	  It is always possible to change the default via specifying the
638c2ecf20Sopenharmony_ci	  boot parameter "xen_512gb_limit".
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciconfig XEN_SAVE_RESTORE
668c2ecf20Sopenharmony_ci	bool
678c2ecf20Sopenharmony_ci	depends on XEN
688c2ecf20Sopenharmony_ci	select HIBERNATE_CALLBACKS
698c2ecf20Sopenharmony_ci	default y
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig XEN_DEBUG_FS
728c2ecf20Sopenharmony_ci	bool "Enable Xen debug and tuning parameters in debugfs"
738c2ecf20Sopenharmony_ci	depends on XEN && DEBUG_FS
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Enable statistics output and various tuning options in debugfs.
768c2ecf20Sopenharmony_ci	  Enabling this option may incur a significant performance overhead.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig XEN_PVH
798c2ecf20Sopenharmony_ci	bool "Support for running as a Xen PVH guest"
808c2ecf20Sopenharmony_ci	depends on XEN && XEN_PVHVM && ACPI
818c2ecf20Sopenharmony_ci	select PVH
828c2ecf20Sopenharmony_ci	def_bool n
83