xref: /linux/arch/x86/xen/Kconfig (revision 30d4efb2f5a515a60fe6b0ca85362cbebea21e2f)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
29702785aSThomas Gleixner#
39702785aSThomas Gleixner# This Kconfig describes xen options
49702785aSThomas Gleixner#
59702785aSThomas Gleixner
69702785aSThomas Gleixnerconfig XEN
7d3d1c4bdSRusty Russell	bool "Xen guest support"
86276a074SBorislav Petkov	depends on PARAVIRT
91c7b67f7SGerd Hoffmann	select PARAVIRT_CLOCK
10ecca2502SZhao Yakui	select X86_HV_CALLBACK_VECTOR
11*29c2f18dSLukas Bulwahn	select HIBERNATE_CALLBACKS
12c5f9ee3dSH. Peter Anvin	depends on X86_64 || (X86_32 && X86_PAE)
13091b7686SLukas Bulwahn	depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MATOM)
1487ffd2b9SDavid Vrabel	depends on X86_LOCAL_APIC && X86_TSC
159702785aSThomas Gleixner	help
169702785aSThomas Gleixner	  This is the Linux Xen port.  Enabling this will allow the
179702785aSThomas Gleixner	  kernel to boot in a paravirtualized environment under the
189702785aSThomas Gleixner	  Xen hypervisor.
198006ec3eSJeremy Fitzhardinge
205e57f1d6SVitaly Kuznetsovconfig XEN_PV
215e57f1d6SVitaly Kuznetsov	bool "Xen PV guest support"
225e57f1d6SVitaly Kuznetsov	default y
235e57f1d6SVitaly Kuznetsov	depends on XEN
24a13f2ef1SJuergen Gross	depends on X86_64
25c00a280aSJuergen Gross	select PARAVIRT_XXL
265e57f1d6SVitaly Kuznetsov	select XEN_HAVE_PVMMU
2750a1062dSVitaly Kuznetsov	select XEN_HAVE_VPMU
282aef6f30SSean Christopherson	select GUEST_PERF_EVENTS
295e57f1d6SVitaly Kuznetsov	help
305e57f1d6SVitaly Kuznetsov	  Support running as a Xen PV guest.
315e57f1d6SVitaly Kuznetsov
32bfda93aeSJason Andryukconfig XEN_512GB
33bfda93aeSJason Andryuk	bool "Limit Xen pv-domain memory to 512GB"
346190c0ccSJason Andryuk	depends on XEN_PV
35bfda93aeSJason Andryuk	default y
36bfda93aeSJason Andryuk	help
37bfda93aeSJason Andryuk	  Limit paravirtualized user domains to 512GB of RAM.
38bfda93aeSJason Andryuk
39bfda93aeSJason Andryuk	  The Xen tools and crash dump analysis tools might not support
40bfda93aeSJason Andryuk	  pv-domains with more than 512 GB of RAM. This option controls the
41bfda93aeSJason Andryuk	  default setting of the kernel to use only up to 512 GB or more.
42bfda93aeSJason Andryuk	  It is always possible to change the default via specifying the
43bfda93aeSJason Andryuk	  boot parameter "xen_512gb_limit".
44bfda93aeSJason Andryuk
4533af7469SVitaly Kuznetsovconfig XEN_PV_SMP
4633af7469SVitaly Kuznetsov	def_bool y
4733af7469SVitaly Kuznetsov	depends on XEN_PV && SMP
4833af7469SVitaly Kuznetsov
49cae7d81aSJan Beulichconfig XEN_PV_DOM0
50cae7d81aSJan Beulich	def_bool y
51cae7d81aSJan Beulich	depends on XEN_PV && XEN_DOM0
526b0661a5SStefano Stabellini
53ca65f9fcSStefano Stabelliniconfig XEN_PVHVM
5434aff145SJason Andryuk	def_bool y
5534aff145SJason Andryuk	depends on XEN && X86_LOCAL_APIC
56ca65f9fcSStefano Stabellini
57a52482d9SVitaly Kuznetsovconfig XEN_PVHVM_SMP
58a52482d9SVitaly Kuznetsov	def_bool y
59a52482d9SVitaly Kuznetsov	depends on XEN_PVHVM && SMP
60a52482d9SVitaly Kuznetsov
6134aff145SJason Andryukconfig XEN_PVHVM_GUEST
6234aff145SJason Andryuk	bool "Xen PVHVM guest support"
6334aff145SJason Andryuk	default y
6434aff145SJason Andryuk	depends on XEN_PVHVM && PCI
6534aff145SJason Andryuk	help
6634aff145SJason Andryuk	  Support running as a Xen PVHVM guest.
6734aff145SJason Andryuk
68994025caSJeremy Fitzhardingeconfig XEN_DEBUG_FS
69994025caSJeremy Fitzhardinge	bool "Enable Xen debug and tuning parameters in debugfs"
70994025caSJeremy Fitzhardinge	depends on XEN && DEBUG_FS
71994025caSJeremy Fitzhardinge	help
72994025caSJeremy Fitzhardinge	  Enable statistics output and various tuning options in debugfs.
73994025caSJeremy Fitzhardinge	  Enabling this option may incur a significant performance overhead.
7480df4649SMaxim Uvarov
75ddc416cbSMukesh Rathorconfig XEN_PVH
7634aff145SJason Andryuk	bool "Xen PVH guest support"
777243b933SBoris Ostrovsky	depends on XEN && XEN_PVHVM && ACPI
787733607fSMaran Wilson	select PVH
7934aff145SJason Andryuk	help
8034aff145SJason Andryuk	  Support for running as a Xen PVH guest.
81cae7d81aSJan Beulich
82cae7d81aSJan Beulichconfig XEN_DOM0
83cae7d81aSJan Beulich	bool "Xen Dom0 support"
84cae7d81aSJan Beulich	default XEN_PV
85cae7d81aSJan Beulich	depends on (XEN_PV && SWIOTLB_XEN) || (XEN_PVH && X86_64)
86cae7d81aSJan Beulich	depends on X86_IO_APIC && ACPI && PCI
87cae7d81aSJan Beulich	select X86_X2APIC if XEN_PVH && X86_64
88cae7d81aSJan Beulich	help
89cae7d81aSJan Beulich	  Support running as a Xen Dom0 guest.
903fac3734SJuergen Gross
913fac3734SJuergen Grossconfig XEN_PV_MSR_SAFE
923fac3734SJuergen Gross	bool "Always use safe MSR accesses in PV guests"
933fac3734SJuergen Gross	default y
943fac3734SJuergen Gross	depends on XEN_PV
953fac3734SJuergen Gross	help
963fac3734SJuergen Gross	  Use safe (not faulting) MSR access functions even if the MSR access
973fac3734SJuergen Gross	  should not fault anyway.
983fac3734SJuergen Gross	  The default can be changed by using the "xen_msr_safe" boot parameter.
99