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