xref: /linux/drivers/xen/Kconfig (revision 8804d970fab45726b3c7cd7f240b31122aa94219)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
227fb7f00SRandy Dunlapmenu "Xen driver support"
327fb7f00SRandy Dunlap	depends on XEN
427fb7f00SRandy Dunlap
51775826cSJeremy Fitzhardingeconfig XEN_BALLOON
61775826cSJeremy Fitzhardinge	bool "Xen memory balloon driver"
71775826cSJeremy Fitzhardinge	default y
81775826cSJeremy Fitzhardinge	help
91775826cSJeremy Fitzhardinge	  The balloon driver allows the Xen domain to request more memory from
101775826cSJeremy Fitzhardinge	  the system to expand the domain's memory allocation, or alternatively
111775826cSJeremy Fitzhardinge	  return unneeded memory to the system.
121775826cSJeremy Fitzhardinge
13080e2be7SDaniel Kiperconfig XEN_BALLOON_MEMORY_HOTPLUG
14080e2be7SDaniel Kiper	bool "Memory hotplug support for Xen balloon driver"
15080e2be7SDaniel Kiper	depends on XEN_BALLOON && MEMORY_HOTPLUG
162abb65a3SRoger Pau Monne	default y
17080e2be7SDaniel Kiper	help
18080e2be7SDaniel Kiper	  Memory hotplug support for Xen balloon driver allows expanding memory
19080e2be7SDaniel Kiper	  available for the system above limit declared at system startup.
20080e2be7SDaniel Kiper	  It is very useful on critical systems which require long
21080e2be7SDaniel Kiper	  run without rebooting.
22080e2be7SDaniel Kiper
230df683ffSRoger Pau Monne	  It's also very useful for non PV domains to obtain unpopulated physical
240df683ffSRoger Pau Monne	  memory ranges to use in order to map foreign memory or grants.
250df683ffSRoger Pau Monne
26080e2be7SDaniel Kiper	  Memory could be hotplugged in following steps:
27080e2be7SDaniel Kiper
28703fc13aSVitaly Kuznetsov	    1) target domain: ensure that memory auto online policy is in
29703fc13aSVitaly Kuznetsov	       effect by checking /sys/devices/system/memory/auto_online_blocks
30703fc13aSVitaly Kuznetsov	       file (should be 'online').
31703fc13aSVitaly Kuznetsov
32703fc13aSVitaly Kuznetsov	    2) control domain: xl mem-max <target-domain> <maxmem>
33080e2be7SDaniel Kiper	       where <maxmem> is >= requested memory size,
34080e2be7SDaniel Kiper
35703fc13aSVitaly Kuznetsov	    3) control domain: xl mem-set <target-domain> <memory>
36080e2be7SDaniel Kiper	       where <memory> is requested memory size; alternatively memory
37080e2be7SDaniel Kiper	       could be added by writing proper value to
38080e2be7SDaniel Kiper	       /sys/devices/system/xen_memory/xen_memory0/target or
39703fc13aSVitaly Kuznetsov	       /sys/devices/system/xen_memory/xen_memory0/target_kb on the
40703fc13aSVitaly Kuznetsov	       target domain.
41080e2be7SDaniel Kiper
42703fc13aSVitaly Kuznetsov	  Alternatively, if memory auto onlining was not requested at step 1
43703fc13aSVitaly Kuznetsov	  the newly added memory can be manually onlined in the target domain
44703fc13aSVitaly Kuznetsov	  by doing the following:
45703fc13aSVitaly Kuznetsov
46703fc13aSVitaly Kuznetsov		for i in /sys/devices/system/memory/memory*/state; do \
47080e2be7SDaniel Kiper		  [ "`cat "$i"`" = offline ] && echo online > "$i"; done
48080e2be7SDaniel Kiper
49703fc13aSVitaly Kuznetsov	  or by adding the following line to udev rules:
50080e2be7SDaniel Kiper
51080e2be7SDaniel Kiper	  SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
52080e2be7SDaniel Kiper
532b514ec7SRoger Pau Monneconfig XEN_MEMORY_HOTPLUG_LIMIT
54633d6f17SJuergen Gross	int "Hotplugged memory limit (in GiB) for a PV guest"
55a13f2ef1SJuergen Gross	default 512
56633d6f17SJuergen Gross	depends on XEN_HAVE_PVMMU
572b514ec7SRoger Pau Monne	depends on MEMORY_HOTPLUG
58633d6f17SJuergen Gross	help
597880672bSColin Ian King	  Maximum amount of memory (in GiB) that a PV guest can be
60633d6f17SJuergen Gross	  expanded to when using memory hotplug.
61633d6f17SJuergen Gross
62633d6f17SJuergen Gross	  A PV guest can have more memory than this limit if is
63633d6f17SJuergen Gross	  started with a larger maximum.
64633d6f17SJuergen Gross
65633d6f17SJuergen Gross	  This value is used to allocate enough space in internal
66633d6f17SJuergen Gross	  tables needed for physical memory administration.
67633d6f17SJuergen Gross
68197ecb38SMarek Marczykowski-Góreckiconfig XEN_SCRUB_PAGES_DEFAULT
69197ecb38SMarek Marczykowski-Górecki	bool "Scrub pages before returning them to system by default"
701775826cSJeremy Fitzhardinge	depends on XEN_BALLOON
711775826cSJeremy Fitzhardinge	default y
721775826cSJeremy Fitzhardinge	help
731775826cSJeremy Fitzhardinge	  Scrub pages before returning them to the system for reuse by
741775826cSJeremy Fitzhardinge	  other domains.  This makes sure that any confidential data
75af320de9SGeert Uytterhoeven	  is not accidentally visible to other domains.  It is more
76197ecb38SMarek Marczykowski-Górecki	  secure, but slightly less efficient. This can be controlled with
77197ecb38SMarek Marczykowski-Górecki	  xen_scrub_pages=0 parameter and
78197ecb38SMarek Marczykowski-Górecki	  /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
79197ecb38SMarek Marczykowski-Górecki	  This option only sets the default value.
80197ecb38SMarek Marczykowski-Górecki
811775826cSJeremy Fitzhardinge	  If in doubt, say yes.
821107ba88SAlex Zeffertt
83f7116284SIan Campbellconfig XEN_DEV_EVTCHN
84f7116284SIan Campbell	tristate "Xen /dev/xen/evtchn device"
85f7116284SIan Campbell	default y
86f7116284SIan Campbell	help
876b2aac42SMasanari Iida	  The evtchn driver allows a userspace process to trigger event
88f7116284SIan Campbell	  channels and to receive notification of an event channel
89f7116284SIan Campbell	  firing.
90f7116284SIan Campbell	  If in doubt, say yes.
91f7116284SIan Campbell
92df660251SIan Campbellconfig XEN_BACKEND
93329620a8SJeremy Fitzhardinge	bool "Backend driver support"
94ea9e57d0SJason Andryuk	default XEN_DOM0
95df660251SIan Campbell	help
96df660251SIan Campbell	  Support for backend device drivers that provide I/O services
97df660251SIan Campbell	  to other virtual machines.
98df660251SIan Campbell
991107ba88SAlex Zefferttconfig XENFS
1001107ba88SAlex Zeffertt	tristate "Xen filesystem"
101d8414d3cSBastian Blank	select XEN_PRIVCMD
1021107ba88SAlex Zeffertt	default y
1031107ba88SAlex Zeffertt	help
1041107ba88SAlex Zeffertt	  The xen filesystem provides a way for domains to share
1051107ba88SAlex Zeffertt	  information with each other and with the hypervisor.
1061107ba88SAlex Zeffertt	  For example, by reading and writing the "xenbus" file, guests
1071107ba88SAlex Zeffertt	  may pass arbitrary information to the initial domain.
1081107ba88SAlex Zeffertt	  If in doubt, say yes.
1091107ba88SAlex Zeffertt
1101107ba88SAlex Zefferttconfig XEN_COMPAT_XENFS
1111107ba88SAlex Zeffertt	bool "Create compatibility mount point /proc/xen"
1121107ba88SAlex Zeffertt	depends on XENFS
1131107ba88SAlex Zeffertt	default y
1141107ba88SAlex Zeffertt	help
1151107ba88SAlex Zeffertt	  The old xenstore userspace tools expect to find "xenbus"
1161107ba88SAlex Zeffertt	  under /proc/xen, but "xenbus" is now found at the root of the
1171107ba88SAlex Zeffertt	  xenfs filesystem.  Selecting this causes the kernel to create
118692105b8SMatt LaPlante	  the compatibility mount point /proc/xen if it is running on
1191107ba88SAlex Zeffertt	  a xen platform.
1201107ba88SAlex Zeffertt	  If in doubt, say yes.
1211107ba88SAlex Zeffertt
122cff7e81bSJeremy Fitzhardingeconfig XEN_SYS_HYPERVISOR
123cff7e81bSJeremy Fitzhardinge	bool "Create xen entries under /sys/hypervisor"
12427fb7f00SRandy Dunlap	depends on SYSFS
125cff7e81bSJeremy Fitzhardinge	select SYS_HYPERVISOR
126cff7e81bSJeremy Fitzhardinge	default y
127cff7e81bSJeremy Fitzhardinge	help
128cff7e81bSJeremy Fitzhardinge	  Create entries under /sys/hypervisor describing the Xen
129cff7e81bSJeremy Fitzhardinge	  hypervisor environment.  When running native or in another
130cff7e81bSJeremy Fitzhardinge	  virtual environment, /sys/hypervisor will still be present,
131cff7e81bSJeremy Fitzhardinge	  but will have no xen contents.
13227fb7f00SRandy Dunlap
1332de06cc1SIan Campbellconfig XEN_XENBUS_FRONTEND
1342de06cc1SIan Campbell	tristate
1359c4bc1c2SLinus Torvalds
136ab31523cSGerd Hoffmannconfig XEN_GNTDEV
137ab31523cSGerd Hoffmann	tristate "userspace grant access device driver"
138ab31523cSGerd Hoffmann	depends on XEN
1391f169f66SStefano Stabellini	default m
140ab31523cSGerd Hoffmann	select MMU_NOTIFIER
141*4c89792eSDavid Hildenbrand	select FIND_NORMAL_PAGE
142ab31523cSGerd Hoffmann	help
143ab31523cSGerd Hoffmann	  Allows userspace processes to use grants.
1442de06cc1SIan Campbell
145932d6562SOleksandr Andrushchenkoconfig XEN_GNTDEV_DMABUF
146932d6562SOleksandr Andrushchenko	bool "Add support for dma-buf grant access device driver extension"
147fa6614d8SJason Gunthorpe	depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC
148fa6614d8SJason Gunthorpe	select DMA_SHARED_BUFFER
149932d6562SOleksandr Andrushchenko	help
150932d6562SOleksandr Andrushchenko	  Allows userspace processes and kernel modules to use Xen backed
151932d6562SOleksandr Andrushchenko	  dma-buf implementation. With this extension grant references to
152932d6562SOleksandr Andrushchenko	  the pages of an imported dma-buf can be exported for other domain
153932d6562SOleksandr Andrushchenko	  use and grant references coming from a foreign domain can be
154932d6562SOleksandr Andrushchenko	  converted into a local dma-buf for local export.
155932d6562SOleksandr Andrushchenko
156dd314058SDaniel De Graafconfig XEN_GRANT_DEV_ALLOC
157dd314058SDaniel De Graaf	tristate "User-space grant reference allocator driver"
158dd314058SDaniel De Graaf	depends on XEN
1591f169f66SStefano Stabellini	default m
160dd314058SDaniel De Graaf	help
161dd314058SDaniel De Graaf	  Allows userspace processes to create pages with access granted
162dd314058SDaniel De Graaf	  to other domains. This can be used to implement frontend drivers
163dd314058SDaniel De Graaf	  or as part of an inter-domain shared memory channel.
164dd314058SDaniel De Graaf
1659bdc7304SOleksandr Andrushchenkoconfig XEN_GRANT_DMA_ALLOC
1669bdc7304SOleksandr Andrushchenko	bool "Allow allocating DMA capable buffers with grant reference module"
1679bdc7304SOleksandr Andrushchenko	depends on XEN && HAS_DMA
1689bdc7304SOleksandr Andrushchenko	help
1699bdc7304SOleksandr Andrushchenko	  Extends grant table module API to allow allocating DMA capable
1709bdc7304SOleksandr Andrushchenko	  buffers and mapping foreign grant references on top of it.
1719bdc7304SOleksandr Andrushchenko	  The resulting buffer is similar to one allocated by the balloon
1729bdc7304SOleksandr Andrushchenko	  driver in that proper memory reservation is made by
1739bdc7304SOleksandr Andrushchenko	  ({increase|decrease}_reservation and VA mappings are updated if
1749bdc7304SOleksandr Andrushchenko	  needed).
1759bdc7304SOleksandr Andrushchenko	  This is useful for sharing foreign buffers with HW drivers which
1769bdc7304SOleksandr Andrushchenko	  cannot work with scattered buffers provided by the balloon driver,
1779bdc7304SOleksandr Andrushchenko	  but require DMAable memory instead.
1789bdc7304SOleksandr Andrushchenko
179b097186fSKonrad Rzeszutek Wilkconfig SWIOTLB_XEN
180b097186fSKonrad Rzeszutek Wilk	def_bool y
181de6c85bfSChristoph Hellwig	depends on ARCH_HAS_DMA_OPS
182794d5b8aSJan Beulich	depends on XEN_PV || ARM || ARM64
1832775609cSKonrad Rzeszutek Wilk	select SWIOTLB
184b097186fSKonrad Rzeszutek Wilk
185a67efff2SOleksandr Andrushchenkoconfig XEN_PCI_STUB
186a67efff2SOleksandr Andrushchenko	bool
187a67efff2SOleksandr Andrushchenko
188a67efff2SOleksandr Andrushchenkoconfig XEN_PCIDEV_STUB
189a67efff2SOleksandr Andrushchenko	tristate "Xen PCI-device stub driver"
190a67efff2SOleksandr Andrushchenko	depends on PCI && !X86 && XEN
191a67efff2SOleksandr Andrushchenko	depends on XEN_BACKEND
192a67efff2SOleksandr Andrushchenko	select XEN_PCI_STUB
193a67efff2SOleksandr Andrushchenko	default m
194a67efff2SOleksandr Andrushchenko	help
195a67efff2SOleksandr Andrushchenko	  The PCI device stub driver provides limited version of the PCI
196a67efff2SOleksandr Andrushchenko	  device backend driver without para-virtualized support for guests.
197a67efff2SOleksandr Andrushchenko	  If you select this to be a module, you will need to make sure no
198a67efff2SOleksandr Andrushchenko	  other driver has bound to the device(s) you want to make visible to
199a67efff2SOleksandr Andrushchenko	  other guests.
200a67efff2SOleksandr Andrushchenko
201a67efff2SOleksandr Andrushchenko	  The "hide" parameter (only applicable if backend driver is compiled
202a67efff2SOleksandr Andrushchenko	  into the kernel) allows you to bind the PCI devices to this module
203a67efff2SOleksandr Andrushchenko	  from the default device drivers. The argument is the list of PCI BDFs:
204a67efff2SOleksandr Andrushchenko	  xen-pciback.hide=(03:00.0)(04:00.0)
205a67efff2SOleksandr Andrushchenko
206a67efff2SOleksandr Andrushchenko	  If in doubt, say m.
207a67efff2SOleksandr Andrushchenko
20830edc14bSKonrad Rzeszutek Wilkconfig XEN_PCIDEV_BACKEND
20930edc14bSKonrad Rzeszutek Wilk	tristate "Xen PCI-device backend driver"
21030edc14bSKonrad Rzeszutek Wilk	depends on PCI && X86 && XEN
21130edc14bSKonrad Rzeszutek Wilk	depends on XEN_BACKEND
212a67efff2SOleksandr Andrushchenko	select XEN_PCI_STUB
2132ebdc426SKonrad Rzeszutek Wilk	default m
21430edc14bSKonrad Rzeszutek Wilk	help
21530edc14bSKonrad Rzeszutek Wilk	  The PCI device backend driver allows the kernel to export arbitrary
21630edc14bSKonrad Rzeszutek Wilk	  PCI devices to other guests. If you select this to be a module, you
21730edc14bSKonrad Rzeszutek Wilk	  will need to make sure no other driver has bound to the device(s)
21830edc14bSKonrad Rzeszutek Wilk	  you want to make visible to other guests.
21930edc14bSKonrad Rzeszutek Wilk
2202ebdc426SKonrad Rzeszutek Wilk	  The parameter "passthrough" allows you specify how you want the PCI
2212ebdc426SKonrad Rzeszutek Wilk	  devices to appear in the guest. You can choose the default (0) where
2222ebdc426SKonrad Rzeszutek Wilk	  PCI topology starts at 00.00.0, or (1) for passthrough if you want
2232ebdc426SKonrad Rzeszutek Wilk	  the PCI devices topology appear the same as in the host.
22430edc14bSKonrad Rzeszutek Wilk
2252ebdc426SKonrad Rzeszutek Wilk	  The "hide" parameter (only applicable if backend driver is compiled
2262ebdc426SKonrad Rzeszutek Wilk	  into the kernel) allows you to bind the PCI devices to this module
2272ebdc426SKonrad Rzeszutek Wilk	  from the default device drivers. The argument is the list of PCI BDFs:
2282ebdc426SKonrad Rzeszutek Wilk	  xen-pciback.hide=(03:00.0)(04:00.0)
22930edc14bSKonrad Rzeszutek Wilk
2302ebdc426SKonrad Rzeszutek Wilk	  If in doubt, say m.
231d8414d3cSBastian Blank
2325eee149aSStefano Stabelliniconfig XEN_PVCALLS_FRONTEND
2335eee149aSStefano Stabellini	tristate "XEN PV Calls frontend driver"
2345eee149aSStefano Stabellini	depends on INET && XEN
2355eee149aSStefano Stabellini	select XEN_XENBUS_FRONTEND
2365eee149aSStefano Stabellini	help
2375eee149aSStefano Stabellini	  Experimental frontend for the Xen PV Calls protocol
2385eee149aSStefano Stabellini	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
2395eee149aSStefano Stabellini	  sends a small set of POSIX calls to the backend, which
2405eee149aSStefano Stabellini	  implements them.
2415eee149aSStefano Stabellini
24242d3078aSStefano Stabelliniconfig XEN_PVCALLS_BACKEND
24345da2344SJan Beulich	tristate "XEN PV Calls backend driver"
24442d3078aSStefano Stabellini	depends on INET && XEN && XEN_BACKEND
24542d3078aSStefano Stabellini	help
24642d3078aSStefano Stabellini	  Experimental backend for the Xen PV Calls protocol
24742d3078aSStefano Stabellini	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
24842d3078aSStefano Stabellini	  allows PV Calls frontends to send POSIX calls to the backend,
24942d3078aSStefano Stabellini	  which implements them.
25042d3078aSStefano Stabellini
25142d3078aSStefano Stabellini	  If in doubt, say n.
25242d3078aSStefano Stabellini
253d9d660f6SJuergen Grossconfig XEN_SCSI_BACKEND
254d9d660f6SJuergen Gross	tristate "XEN SCSI backend driver"
255d9d660f6SJuergen Gross	depends on XEN && XEN_BACKEND && TARGET_CORE
256d9d660f6SJuergen Gross	help
257d9d660f6SJuergen Gross	  The SCSI backend driver allows the kernel to export its SCSI Devices
258d9d660f6SJuergen Gross	  to other guests via a high-performance shared-memory interface.
259d9d660f6SJuergen Gross	  Only needed for systems running as XEN driver domains (e.g. Dom0) and
260d9d660f6SJuergen Gross	  if guests need generic access to SCSI devices.
261d9d660f6SJuergen Gross
262d8414d3cSBastian Blankconfig XEN_PRIVCMD
263897919adSJuergen Gross	tristate "Xen hypercall passthrough driver"
264d8414d3cSBastian Blank	depends on XEN
265d8414d3cSBastian Blank	default m
266897919adSJuergen Gross	help
267897919adSJuergen Gross	  The hypercall passthrough driver allows privileged user programs to
268897919adSJuergen Gross	  perform Xen hypercalls. This driver is normally required for systems
269897919adSJuergen Gross	  running as Dom0 to perform privileged operations, but in some
270897919adSJuergen Gross	  disaggregated Xen setups this driver might be needed for other
271897919adSJuergen Gross	  domains, too.
272d8414d3cSBastian Blank
273f0d7db7bSViresh Kumarconfig XEN_PRIVCMD_EVENTFD
274f0d7db7bSViresh Kumar	bool "Xen Ioeventfd and irqfd support"
275f8941e6cSViresh Kumar	depends on XEN_PRIVCMD && XEN_VIRTIO && EVENTFD
276f8941e6cSViresh Kumar	help
277f0d7db7bSViresh Kumar	  Using the ioeventfd / irqfd mechanism a virtio backend running in a
278f0d7db7bSViresh Kumar	  daemon can speed up interrupt delivery from / to a guest.
279f8941e6cSViresh Kumar
28059a56802SKonrad Rzeszutek Wilkconfig XEN_ACPI_PROCESSOR
28159a56802SKonrad Rzeszutek Wilk	tristate "Xen ACPI processor"
2820f2946bbSJason Andryuk	depends on XEN && XEN_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
283102b208eSKonrad Rzeszutek Wilk	default m
28459a56802SKonrad Rzeszutek Wilk	help
2851fd14432SAndrew Morton	  This ACPI processor uploads Power Management information to the Xen
2861fd14432SAndrew Morton	  hypervisor.
28759a56802SKonrad Rzeszutek Wilk
2881fd14432SAndrew Morton	  To do that the driver parses the Power Management data and uploads
2891fd14432SAndrew Morton	  said information to the Xen hypervisor. Then the Xen hypervisor can
2905065a706SMasanari Iida	  select the proper Cx and Pxx states. It also registers itself as the
2911fd14432SAndrew Morton	  SMM so that other drivers (such as ACPI cpufreq scaling driver) will
2921fd14432SAndrew Morton	  not load.
29359a56802SKonrad Rzeszutek Wilk
2941fd14432SAndrew Morton	  To compile this driver as a module, choose M here: the module will be
2951fd14432SAndrew Morton	  called xen_acpi_processor  If you do not know what to choose, select
2961fd14432SAndrew Morton	  M here. If the CPUFREQ drivers are built in, select Y here.
29759a56802SKonrad Rzeszutek Wilk
298cef12ee5SLiu, Jinsongconfig XEN_MCE_LOG
299cef12ee5SLiu, Jinsong	bool "Xen platform mcelog"
300cae7d81aSJan Beulich	depends on XEN_PV_DOM0 && X86_MCE
301cef12ee5SLiu, Jinsong	help
302cef12ee5SLiu, Jinsong	  Allow kernel fetching MCE error from Xen platform and
303cef12ee5SLiu, Jinsong	  converting it into Linux mcelog format for mcelog tools
304cef12ee5SLiu, Jinsong
305c2374bf5SIan Campbellconfig XEN_HAVE_PVMMU
306c2374bf5SIan Campbell	bool
307c2374bf5SIan Campbell
308be81c8a1SDaniel Kiperconfig XEN_EFI
309be81c8a1SDaniel Kiper	def_bool y
310be1aaf4eSShannon Zhao	depends on (ARM || ARM64 || X86_64) && EFI
311be81c8a1SDaniel Kiper
312628c28eeSDavid Vrabelconfig XEN_AUTO_XLATE
313628c28eeSDavid Vrabel	def_bool y
314628c28eeSDavid Vrabel	depends on ARM || ARM64 || XEN_PVHVM
315628c28eeSDavid Vrabel	help
316628c28eeSDavid Vrabel	  Support for auto-translated physmap guests.
317628c28eeSDavid Vrabel
31842068cfdSHanjun Guoconfig XEN_ACPI
31942068cfdSHanjun Guo	def_bool y
32042068cfdSHanjun Guo	depends on X86 && ACPI
32142068cfdSHanjun Guo
322a11f4f0aSBoris Ostrovskyconfig XEN_SYMS
323a11f4f0aSBoris Ostrovsky	bool "Xen symbols"
324a11f4f0aSBoris Ostrovsky	depends on X86 && XEN_DOM0 && XENFS
325a11f4f0aSBoris Ostrovsky	default y if KALLSYMS
326a11f4f0aSBoris Ostrovsky	help
327a11f4f0aSBoris Ostrovsky	  Exports hypervisor symbols (along with their types and addresses) via
328a11f4f0aSBoris Ostrovsky	  /proc/xen/xensyms file, similar to /proc/kallsyms
329a11f4f0aSBoris Ostrovsky
3305f141548SBoris Ostrovskyconfig XEN_HAVE_VPMU
3315f141548SBoris Ostrovsky	bool
3325f141548SBoris Ostrovsky
333b3383974SOleksandr Andrushchenkoconfig XEN_FRONT_PGDIR_SHBUF
334b3383974SOleksandr Andrushchenko	tristate
335b3383974SOleksandr Andrushchenko
3369e2369c0SRoger Pau Monneconfig XEN_UNPOPULATED_ALLOC
3379e2369c0SRoger Pau Monne	bool "Use unpopulated memory ranges for guest mappings"
338b2371587SOleksandr Tyshchenko	depends on ZONE_DEVICE
3399e2369c0SRoger Pau Monne	default XEN_BACKEND || XEN_GNTDEV || XEN_DOM0
3409e2369c0SRoger Pau Monne	help
3419e2369c0SRoger Pau Monne	  Use unpopulated memory ranges in order to create mappings for guest
3429e2369c0SRoger Pau Monne	  memory regions, including grant maps and foreign pages. This avoids
3439e2369c0SRoger Pau Monne	  having to balloon out RAM regions in order to obtain physical memory
3449e2369c0SRoger Pau Monne	  space to create such mappings.
3459e2369c0SRoger Pau Monne
3461ca55d50SOleksandr Tyshchenkoconfig XEN_GRANT_DMA_IOMMU
3471ca55d50SOleksandr Tyshchenko	bool
3481ca55d50SOleksandr Tyshchenko	select IOMMU_API
3491ca55d50SOleksandr Tyshchenko
350d6aca350SJuergen Grossconfig XEN_GRANT_DMA_OPS
351d6aca350SJuergen Gross	bool
352d6aca350SJuergen Gross
353fa1f5742SJuergen Grossconfig XEN_VIRTIO
354fa1f5742SJuergen Gross	bool "Xen virtio support"
355de6c85bfSChristoph Hellwig	depends on ARCH_HAS_DMA_OPS
356fa1f5742SJuergen Gross	depends on VIRTIO
357fa1f5742SJuergen Gross	select XEN_GRANT_DMA_OPS
358625ab90eSOleksandr Tyshchenko	select XEN_GRANT_DMA_IOMMU if OF
359fa1f5742SJuergen Gross	help
360fa1f5742SJuergen Gross	  Enable virtio support for running as Xen guest. Depending on the
361fa1f5742SJuergen Gross	  guest type this will require special support on the backend side
362fa1f5742SJuergen Gross	  (qemu or kernel, depending on the virtio device types used).
363fa1f5742SJuergen Gross
364fa1f5742SJuergen Gross	  If in doubt, say n.
365fa1f5742SJuergen Gross
366251e90e7SJuergen Grossconfig XEN_VIRTIO_FORCE_GRANT
367251e90e7SJuergen Gross	bool "Require Xen virtio support to use grants"
368251e90e7SJuergen Gross	depends on XEN_VIRTIO
369251e90e7SJuergen Gross	help
370251e90e7SJuergen Gross	  Require virtio for Xen guests to use grant mappings.
371251e90e7SJuergen Gross	  This will avoid the need to give the backend the right to map all
372251e90e7SJuergen Gross	  of the guest memory. This will need support on the backend side
373251e90e7SJuergen Gross	  (e.g. qemu or kernel, depending on the virtio device types used).
374251e90e7SJuergen Gross
37527fb7f00SRandy Dunlapendmenu
376