1# SPDX-License-Identifier: GPL-2.0
2#
3# This Kconfig describes xen options
4#
5
6config XEN
7	bool "Xen guest support"
8	depends on PARAVIRT
9	select PARAVIRT_CLOCK
10	select X86_HV_CALLBACK_VECTOR
11	depends on X86_64 || (X86_32 && X86_PAE)
12	depends on X86_LOCAL_APIC && X86_TSC
13	help
14	  This is the Linux Xen port.  Enabling this will allow the
15	  kernel to boot in a paravirtualized environment under the
16	  Xen hypervisor.
17
18config XEN_PV
19	bool "Xen PV guest support"
20	default y
21	depends on XEN
22	depends on X86_64
23	select PARAVIRT_XXL
24	select XEN_HAVE_PVMMU
25	select XEN_HAVE_VPMU
26	select GUEST_PERF_EVENTS
27	help
28	  Support running as a Xen PV guest.
29
30config XEN_512GB
31	bool "Limit Xen pv-domain memory to 512GB"
32	depends on XEN_PV
33	default y
34	help
35	  Limit paravirtualized user domains to 512GB of RAM.
36
37	  The Xen tools and crash dump analysis tools might not support
38	  pv-domains with more than 512 GB of RAM. This option controls the
39	  default setting of the kernel to use only up to 512 GB or more.
40	  It is always possible to change the default via specifying the
41	  boot parameter "xen_512gb_limit".
42
43config XEN_PV_SMP
44	def_bool y
45	depends on XEN_PV && SMP
46
47config XEN_PV_DOM0
48	def_bool y
49	depends on XEN_PV && XEN_DOM0
50
51config XEN_PVHVM
52	def_bool y
53	depends on XEN && X86_LOCAL_APIC
54
55config XEN_PVHVM_SMP
56	def_bool y
57	depends on XEN_PVHVM && SMP
58
59config XEN_PVHVM_GUEST
60	bool "Xen PVHVM guest support"
61	default y
62	depends on XEN_PVHVM && PCI
63	help
64	  Support running as a Xen PVHVM guest.
65
66config XEN_SAVE_RESTORE
67	bool
68	depends on XEN
69	select HIBERNATE_CALLBACKS
70	default y
71
72config XEN_DEBUG_FS
73	bool "Enable Xen debug and tuning parameters in debugfs"
74	depends on XEN && DEBUG_FS
75	help
76	  Enable statistics output and various tuning options in debugfs.
77	  Enabling this option may incur a significant performance overhead.
78
79config XEN_PVH
80	bool "Xen PVH guest support"
81	depends on XEN && XEN_PVHVM && ACPI
82	select PVH
83	def_bool n
84	help
85	  Support for running as a Xen PVH guest.
86
87config XEN_DOM0
88	bool "Xen Dom0 support"
89	default XEN_PV
90	depends on (XEN_PV && SWIOTLB_XEN) || (XEN_PVH && X86_64)
91	depends on X86_IO_APIC && ACPI && PCI
92	select X86_X2APIC if XEN_PVH && X86_64
93	help
94	  Support running as a Xen Dom0 guest.
95
96config XEN_PV_MSR_SAFE
97	bool "Always use safe MSR accesses in PV guests"
98	default y
99	depends on XEN_PV
100	help
101	  Use safe (not faulting) MSR access functions even if the MSR access
102	  should not fault anyway.
103	  The default can be changed by using the "xen_msr_safe" boot parameter.
104