18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenu "Xen driver support"
38c2ecf20Sopenharmony_ci	depends on XEN
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciconfig XEN_BALLOON
68c2ecf20Sopenharmony_ci	bool "Xen memory balloon driver"
78c2ecf20Sopenharmony_ci	default y
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  The balloon driver allows the Xen domain to request more memory from
108c2ecf20Sopenharmony_ci	  the system to expand the domain's memory allocation, or alternatively
118c2ecf20Sopenharmony_ci	  return unneeded memory to the system.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciconfig XEN_BALLOON_MEMORY_HOTPLUG
148c2ecf20Sopenharmony_ci	bool "Memory hotplug support for Xen balloon driver"
158c2ecf20Sopenharmony_ci	depends on XEN_BALLOON && MEMORY_HOTPLUG
168c2ecf20Sopenharmony_ci	default y
178c2ecf20Sopenharmony_ci	help
188c2ecf20Sopenharmony_ci	  Memory hotplug support for Xen balloon driver allows expanding memory
198c2ecf20Sopenharmony_ci	  available for the system above limit declared at system startup.
208c2ecf20Sopenharmony_ci	  It is very useful on critical systems which require long
218c2ecf20Sopenharmony_ci	  run without rebooting.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	  It's also very useful for non PV domains to obtain unpopulated physical
248c2ecf20Sopenharmony_ci	  memory ranges to use in order to map foreign memory or grants.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	  Memory could be hotplugged in following steps:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	    1) target domain: ensure that memory auto online policy is in
298c2ecf20Sopenharmony_ci	       effect by checking /sys/devices/system/memory/auto_online_blocks
308c2ecf20Sopenharmony_ci	       file (should be 'online').
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	    2) control domain: xl mem-max <target-domain> <maxmem>
338c2ecf20Sopenharmony_ci	       where <maxmem> is >= requested memory size,
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	    3) control domain: xl mem-set <target-domain> <memory>
368c2ecf20Sopenharmony_ci	       where <memory> is requested memory size; alternatively memory
378c2ecf20Sopenharmony_ci	       could be added by writing proper value to
388c2ecf20Sopenharmony_ci	       /sys/devices/system/xen_memory/xen_memory0/target or
398c2ecf20Sopenharmony_ci	       /sys/devices/system/xen_memory/xen_memory0/target_kb on the
408c2ecf20Sopenharmony_ci	       target domain.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	  Alternatively, if memory auto onlining was not requested at step 1
438c2ecf20Sopenharmony_ci	  the newly added memory can be manually onlined in the target domain
448c2ecf20Sopenharmony_ci	  by doing the following:
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci		for i in /sys/devices/system/memory/memory*/state; do \
478c2ecf20Sopenharmony_ci		  [ "`cat "$i"`" = offline ] && echo online > "$i"; done
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	  or by adding the following line to udev rules:
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	  SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig XEN_MEMORY_HOTPLUG_LIMIT
548c2ecf20Sopenharmony_ci	int "Hotplugged memory limit (in GiB) for a PV guest"
558c2ecf20Sopenharmony_ci	default 512
568c2ecf20Sopenharmony_ci	depends on XEN_HAVE_PVMMU
578c2ecf20Sopenharmony_ci	depends on MEMORY_HOTPLUG
588c2ecf20Sopenharmony_ci	help
598c2ecf20Sopenharmony_ci	  Maxmium amount of memory (in GiB) that a PV guest can be
608c2ecf20Sopenharmony_ci	  expanded to when using memory hotplug.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  A PV guest can have more memory than this limit if is
638c2ecf20Sopenharmony_ci	  started with a larger maximum.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci	  This value is used to allocate enough space in internal
668c2ecf20Sopenharmony_ci	  tables needed for physical memory administration.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciconfig XEN_SCRUB_PAGES_DEFAULT
698c2ecf20Sopenharmony_ci	bool "Scrub pages before returning them to system by default"
708c2ecf20Sopenharmony_ci	depends on XEN_BALLOON
718c2ecf20Sopenharmony_ci	default y
728c2ecf20Sopenharmony_ci	help
738c2ecf20Sopenharmony_ci	  Scrub pages before returning them to the system for reuse by
748c2ecf20Sopenharmony_ci	  other domains.  This makes sure that any confidential data
758c2ecf20Sopenharmony_ci	  is not accidentally visible to other domains.  It is more
768c2ecf20Sopenharmony_ci	  secure, but slightly less efficient. This can be controlled with
778c2ecf20Sopenharmony_ci	  xen_scrub_pages=0 parameter and
788c2ecf20Sopenharmony_ci	  /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
798c2ecf20Sopenharmony_ci	  This option only sets the default value.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci	  If in doubt, say yes.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig XEN_DEV_EVTCHN
848c2ecf20Sopenharmony_ci	tristate "Xen /dev/xen/evtchn device"
858c2ecf20Sopenharmony_ci	default y
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  The evtchn driver allows a userspace process to trigger event
888c2ecf20Sopenharmony_ci	  channels and to receive notification of an event channel
898c2ecf20Sopenharmony_ci	  firing.
908c2ecf20Sopenharmony_ci	  If in doubt, say yes.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig XEN_BACKEND
938c2ecf20Sopenharmony_ci	bool "Backend driver support"
948c2ecf20Sopenharmony_ci	default XEN_DOM0
958c2ecf20Sopenharmony_ci	help
968c2ecf20Sopenharmony_ci	  Support for backend device drivers that provide I/O services
978c2ecf20Sopenharmony_ci	  to other virtual machines.
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciconfig XENFS
1008c2ecf20Sopenharmony_ci	tristate "Xen filesystem"
1018c2ecf20Sopenharmony_ci	select XEN_PRIVCMD
1028c2ecf20Sopenharmony_ci	default y
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  The xen filesystem provides a way for domains to share
1058c2ecf20Sopenharmony_ci	  information with each other and with the hypervisor.
1068c2ecf20Sopenharmony_ci	  For example, by reading and writing the "xenbus" file, guests
1078c2ecf20Sopenharmony_ci	  may pass arbitrary information to the initial domain.
1088c2ecf20Sopenharmony_ci	  If in doubt, say yes.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ciconfig XEN_COMPAT_XENFS
1118c2ecf20Sopenharmony_ci	bool "Create compatibility mount point /proc/xen"
1128c2ecf20Sopenharmony_ci	depends on XENFS
1138c2ecf20Sopenharmony_ci	default y
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  The old xenstore userspace tools expect to find "xenbus"
1168c2ecf20Sopenharmony_ci	  under /proc/xen, but "xenbus" is now found at the root of the
1178c2ecf20Sopenharmony_ci	  xenfs filesystem.  Selecting this causes the kernel to create
1188c2ecf20Sopenharmony_ci	  the compatibility mount point /proc/xen if it is running on
1198c2ecf20Sopenharmony_ci	  a xen platform.
1208c2ecf20Sopenharmony_ci	  If in doubt, say yes.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig XEN_SYS_HYPERVISOR
1238c2ecf20Sopenharmony_ci	bool "Create xen entries under /sys/hypervisor"
1248c2ecf20Sopenharmony_ci	depends on SYSFS
1258c2ecf20Sopenharmony_ci	select SYS_HYPERVISOR
1268c2ecf20Sopenharmony_ci	default y
1278c2ecf20Sopenharmony_ci	help
1288c2ecf20Sopenharmony_ci	  Create entries under /sys/hypervisor describing the Xen
1298c2ecf20Sopenharmony_ci	  hypervisor environment.  When running native or in another
1308c2ecf20Sopenharmony_ci	  virtual environment, /sys/hypervisor will still be present,
1318c2ecf20Sopenharmony_ci	  but will have no xen contents.
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ciconfig XEN_XENBUS_FRONTEND
1348c2ecf20Sopenharmony_ci	tristate
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ciconfig XEN_GNTDEV
1378c2ecf20Sopenharmony_ci	tristate "userspace grant access device driver"
1388c2ecf20Sopenharmony_ci	depends on XEN
1398c2ecf20Sopenharmony_ci	default m
1408c2ecf20Sopenharmony_ci	select MMU_NOTIFIER
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  Allows userspace processes to use grants.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig XEN_GNTDEV_DMABUF
1458c2ecf20Sopenharmony_ci	bool "Add support for dma-buf grant access device driver extension"
1468c2ecf20Sopenharmony_ci	depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC
1478c2ecf20Sopenharmony_ci	select DMA_SHARED_BUFFER
1488c2ecf20Sopenharmony_ci	help
1498c2ecf20Sopenharmony_ci	  Allows userspace processes and kernel modules to use Xen backed
1508c2ecf20Sopenharmony_ci	  dma-buf implementation. With this extension grant references to
1518c2ecf20Sopenharmony_ci	  the pages of an imported dma-buf can be exported for other domain
1528c2ecf20Sopenharmony_ci	  use and grant references coming from a foreign domain can be
1538c2ecf20Sopenharmony_ci	  converted into a local dma-buf for local export.
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ciconfig XEN_GRANT_DEV_ALLOC
1568c2ecf20Sopenharmony_ci	tristate "User-space grant reference allocator driver"
1578c2ecf20Sopenharmony_ci	depends on XEN
1588c2ecf20Sopenharmony_ci	default m
1598c2ecf20Sopenharmony_ci	help
1608c2ecf20Sopenharmony_ci	  Allows userspace processes to create pages with access granted
1618c2ecf20Sopenharmony_ci	  to other domains. This can be used to implement frontend drivers
1628c2ecf20Sopenharmony_ci	  or as part of an inter-domain shared memory channel.
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ciconfig XEN_GRANT_DMA_ALLOC
1658c2ecf20Sopenharmony_ci	bool "Allow allocating DMA capable buffers with grant reference module"
1668c2ecf20Sopenharmony_ci	depends on XEN && HAS_DMA
1678c2ecf20Sopenharmony_ci	help
1688c2ecf20Sopenharmony_ci	  Extends grant table module API to allow allocating DMA capable
1698c2ecf20Sopenharmony_ci	  buffers and mapping foreign grant references on top of it.
1708c2ecf20Sopenharmony_ci	  The resulting buffer is similar to one allocated by the balloon
1718c2ecf20Sopenharmony_ci	  driver in that proper memory reservation is made by
1728c2ecf20Sopenharmony_ci	  ({increase|decrease}_reservation and VA mappings are updated if
1738c2ecf20Sopenharmony_ci	  needed).
1748c2ecf20Sopenharmony_ci	  This is useful for sharing foreign buffers with HW drivers which
1758c2ecf20Sopenharmony_ci	  cannot work with scattered buffers provided by the balloon driver,
1768c2ecf20Sopenharmony_ci	  but require DMAable memory instead.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig SWIOTLB_XEN
1798c2ecf20Sopenharmony_ci	def_bool y
1808c2ecf20Sopenharmony_ci	select DMA_OPS
1818c2ecf20Sopenharmony_ci	select SWIOTLB
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig XEN_PCIDEV_BACKEND
1848c2ecf20Sopenharmony_ci	tristate "Xen PCI-device backend driver"
1858c2ecf20Sopenharmony_ci	depends on PCI && X86 && XEN
1868c2ecf20Sopenharmony_ci	depends on XEN_BACKEND
1878c2ecf20Sopenharmony_ci	default m
1888c2ecf20Sopenharmony_ci	help
1898c2ecf20Sopenharmony_ci	  The PCI device backend driver allows the kernel to export arbitrary
1908c2ecf20Sopenharmony_ci	  PCI devices to other guests. If you select this to be a module, you
1918c2ecf20Sopenharmony_ci	  will need to make sure no other driver has bound to the device(s)
1928c2ecf20Sopenharmony_ci	  you want to make visible to other guests.
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci	  The parameter "passthrough" allows you specify how you want the PCI
1958c2ecf20Sopenharmony_ci	  devices to appear in the guest. You can choose the default (0) where
1968c2ecf20Sopenharmony_ci	  PCI topology starts at 00.00.0, or (1) for passthrough if you want
1978c2ecf20Sopenharmony_ci	  the PCI devices topology appear the same as in the host.
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ci	  The "hide" parameter (only applicable if backend driver is compiled
2008c2ecf20Sopenharmony_ci	  into the kernel) allows you to bind the PCI devices to this module
2018c2ecf20Sopenharmony_ci	  from the default device drivers. The argument is the list of PCI BDFs:
2028c2ecf20Sopenharmony_ci	  xen-pciback.hide=(03:00.0)(04:00.0)
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci	  If in doubt, say m.
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ciconfig XEN_PVCALLS_FRONTEND
2078c2ecf20Sopenharmony_ci	tristate "XEN PV Calls frontend driver"
2088c2ecf20Sopenharmony_ci	depends on INET && XEN
2098c2ecf20Sopenharmony_ci	select XEN_XENBUS_FRONTEND
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  Experimental frontend for the Xen PV Calls protocol
2128c2ecf20Sopenharmony_ci	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
2138c2ecf20Sopenharmony_ci	  sends a small set of POSIX calls to the backend, which
2148c2ecf20Sopenharmony_ci	  implements them.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig XEN_PVCALLS_BACKEND
2178c2ecf20Sopenharmony_ci	bool "XEN PV Calls backend driver"
2188c2ecf20Sopenharmony_ci	depends on INET && XEN && XEN_BACKEND
2198c2ecf20Sopenharmony_ci	help
2208c2ecf20Sopenharmony_ci	  Experimental backend for the Xen PV Calls protocol
2218c2ecf20Sopenharmony_ci	  (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It
2228c2ecf20Sopenharmony_ci	  allows PV Calls frontends to send POSIX calls to the backend,
2238c2ecf20Sopenharmony_ci	  which implements them.
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci	  If in doubt, say n.
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ciconfig XEN_SCSI_BACKEND
2288c2ecf20Sopenharmony_ci	tristate "XEN SCSI backend driver"
2298c2ecf20Sopenharmony_ci	depends on XEN && XEN_BACKEND && TARGET_CORE
2308c2ecf20Sopenharmony_ci	help
2318c2ecf20Sopenharmony_ci	  The SCSI backend driver allows the kernel to export its SCSI Devices
2328c2ecf20Sopenharmony_ci	  to other guests via a high-performance shared-memory interface.
2338c2ecf20Sopenharmony_ci	  Only needed for systems running as XEN driver domains (e.g. Dom0) and
2348c2ecf20Sopenharmony_ci	  if guests need generic access to SCSI devices.
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ciconfig XEN_PRIVCMD
2378c2ecf20Sopenharmony_ci	tristate
2388c2ecf20Sopenharmony_ci	depends on XEN
2398c2ecf20Sopenharmony_ci	default m
2408c2ecf20Sopenharmony_ci
2418c2ecf20Sopenharmony_ciconfig XEN_STUB
2428c2ecf20Sopenharmony_ci	bool "Xen stub drivers"
2438c2ecf20Sopenharmony_ci	depends on XEN && X86_64 && BROKEN
2448c2ecf20Sopenharmony_ci	help
2458c2ecf20Sopenharmony_ci	  Allow kernel to install stub drivers, to reserve space for Xen drivers,
2468c2ecf20Sopenharmony_ci	  i.e. memory hotplug and cpu hotplug, and to block native drivers loaded,
2478c2ecf20Sopenharmony_ci	  so that real Xen drivers can be modular.
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ci	  To enable Xen features like cpu and memory hotplug, select Y here.
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ciconfig XEN_ACPI_HOTPLUG_MEMORY
2528c2ecf20Sopenharmony_ci	tristate "Xen ACPI memory hotplug"
2538c2ecf20Sopenharmony_ci	depends on XEN_DOM0 && XEN_STUB && ACPI
2548c2ecf20Sopenharmony_ci	help
2558c2ecf20Sopenharmony_ci	  This is Xen ACPI memory hotplug.
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ci	  Currently Xen only support ACPI memory hot-add. If you want
2588c2ecf20Sopenharmony_ci	  to hot-add memory at runtime (the hot-added memory cannot be
2598c2ecf20Sopenharmony_ci	  removed until machine stop), select Y/M here, otherwise select N.
2608c2ecf20Sopenharmony_ci
2618c2ecf20Sopenharmony_ciconfig XEN_ACPI_HOTPLUG_CPU
2628c2ecf20Sopenharmony_ci	tristate "Xen ACPI cpu hotplug"
2638c2ecf20Sopenharmony_ci	depends on XEN_DOM0 && XEN_STUB && ACPI
2648c2ecf20Sopenharmony_ci	select ACPI_CONTAINER
2658c2ecf20Sopenharmony_ci	help
2668c2ecf20Sopenharmony_ci	  Xen ACPI cpu enumerating and hotplugging
2678c2ecf20Sopenharmony_ci
2688c2ecf20Sopenharmony_ci	  For hotplugging, currently Xen only support ACPI cpu hotadd.
2698c2ecf20Sopenharmony_ci	  If you want to hotadd cpu at runtime (the hotadded cpu cannot
2708c2ecf20Sopenharmony_ci	  be removed until machine stop), select Y/M here.
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ciconfig XEN_ACPI_PROCESSOR
2738c2ecf20Sopenharmony_ci	tristate "Xen ACPI processor"
2748c2ecf20Sopenharmony_ci	depends on XEN && XEN_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ
2758c2ecf20Sopenharmony_ci	default m
2768c2ecf20Sopenharmony_ci	help
2778c2ecf20Sopenharmony_ci	  This ACPI processor uploads Power Management information to the Xen
2788c2ecf20Sopenharmony_ci	  hypervisor.
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ci	  To do that the driver parses the Power Management data and uploads
2818c2ecf20Sopenharmony_ci	  said information to the Xen hypervisor. Then the Xen hypervisor can
2828c2ecf20Sopenharmony_ci	  select the proper Cx and Pxx states. It also registers itself as the
2838c2ecf20Sopenharmony_ci	  SMM so that other drivers (such as ACPI cpufreq scaling driver) will
2848c2ecf20Sopenharmony_ci	  not load.
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will be
2878c2ecf20Sopenharmony_ci	  called xen_acpi_processor  If you do not know what to choose, select
2888c2ecf20Sopenharmony_ci	  M here. If the CPUFREQ drivers are built in, select Y here.
2898c2ecf20Sopenharmony_ci
2908c2ecf20Sopenharmony_ciconfig XEN_MCE_LOG
2918c2ecf20Sopenharmony_ci	bool "Xen platform mcelog"
2928c2ecf20Sopenharmony_ci	depends on XEN_DOM0 && X86_MCE
2938c2ecf20Sopenharmony_ci	help
2948c2ecf20Sopenharmony_ci	  Allow kernel fetching MCE error from Xen platform and
2958c2ecf20Sopenharmony_ci	  converting it into Linux mcelog format for mcelog tools
2968c2ecf20Sopenharmony_ci
2978c2ecf20Sopenharmony_ciconfig XEN_HAVE_PVMMU
2988c2ecf20Sopenharmony_ci	bool
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ciconfig XEN_EFI
3018c2ecf20Sopenharmony_ci	def_bool y
3028c2ecf20Sopenharmony_ci	depends on (ARM || ARM64 || X86_64) && EFI
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ciconfig XEN_AUTO_XLATE
3058c2ecf20Sopenharmony_ci	def_bool y
3068c2ecf20Sopenharmony_ci	depends on ARM || ARM64 || XEN_PVHVM
3078c2ecf20Sopenharmony_ci	help
3088c2ecf20Sopenharmony_ci	  Support for auto-translated physmap guests.
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ciconfig XEN_ACPI
3118c2ecf20Sopenharmony_ci	def_bool y
3128c2ecf20Sopenharmony_ci	depends on X86 && ACPI
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ciconfig XEN_SYMS
3158c2ecf20Sopenharmony_ci	bool "Xen symbols"
3168c2ecf20Sopenharmony_ci	depends on X86 && XEN_DOM0 && XENFS
3178c2ecf20Sopenharmony_ci	default y if KALLSYMS
3188c2ecf20Sopenharmony_ci	help
3198c2ecf20Sopenharmony_ci	  Exports hypervisor symbols (along with their types and addresses) via
3208c2ecf20Sopenharmony_ci	  /proc/xen/xensyms file, similar to /proc/kallsyms
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ciconfig XEN_HAVE_VPMU
3238c2ecf20Sopenharmony_ci	bool
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ciconfig XEN_FRONT_PGDIR_SHBUF
3268c2ecf20Sopenharmony_ci	tristate
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ciconfig XEN_UNPOPULATED_ALLOC
3298c2ecf20Sopenharmony_ci	bool "Use unpopulated memory ranges for guest mappings"
3308c2ecf20Sopenharmony_ci	depends on X86 && ZONE_DEVICE
3318c2ecf20Sopenharmony_ci	default XEN_BACKEND || XEN_GNTDEV || XEN_DOM0
3328c2ecf20Sopenharmony_ci	help
3338c2ecf20Sopenharmony_ci	  Use unpopulated memory ranges in order to create mappings for guest
3348c2ecf20Sopenharmony_ci	  memory regions, including grant maps and foreign pages. This avoids
3358c2ecf20Sopenharmony_ci	  having to balloon out RAM regions in order to obtain physical memory
3368c2ecf20Sopenharmony_ci	  space to create such mappings.
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ciendmenu
339