162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_cimenu "Xen driver support" 362306a36Sopenharmony_ci depends on XEN 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciconfig XEN_BALLOON 662306a36Sopenharmony_ci bool "Xen memory balloon driver" 762306a36Sopenharmony_ci default y 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci The balloon driver allows the Xen domain to request more memory from 1062306a36Sopenharmony_ci the system to expand the domain's memory allocation, or alternatively 1162306a36Sopenharmony_ci return unneeded memory to the system. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciconfig XEN_BALLOON_MEMORY_HOTPLUG 1462306a36Sopenharmony_ci bool "Memory hotplug support for Xen balloon driver" 1562306a36Sopenharmony_ci depends on XEN_BALLOON && MEMORY_HOTPLUG 1662306a36Sopenharmony_ci default y 1762306a36Sopenharmony_ci help 1862306a36Sopenharmony_ci Memory hotplug support for Xen balloon driver allows expanding memory 1962306a36Sopenharmony_ci available for the system above limit declared at system startup. 2062306a36Sopenharmony_ci It is very useful on critical systems which require long 2162306a36Sopenharmony_ci run without rebooting. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci It's also very useful for non PV domains to obtain unpopulated physical 2462306a36Sopenharmony_ci memory ranges to use in order to map foreign memory or grants. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci Memory could be hotplugged in following steps: 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci 1) target domain: ensure that memory auto online policy is in 2962306a36Sopenharmony_ci effect by checking /sys/devices/system/memory/auto_online_blocks 3062306a36Sopenharmony_ci file (should be 'online'). 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci 2) control domain: xl mem-max <target-domain> <maxmem> 3362306a36Sopenharmony_ci where <maxmem> is >= requested memory size, 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci 3) control domain: xl mem-set <target-domain> <memory> 3662306a36Sopenharmony_ci where <memory> is requested memory size; alternatively memory 3762306a36Sopenharmony_ci could be added by writing proper value to 3862306a36Sopenharmony_ci /sys/devices/system/xen_memory/xen_memory0/target or 3962306a36Sopenharmony_ci /sys/devices/system/xen_memory/xen_memory0/target_kb on the 4062306a36Sopenharmony_ci target domain. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci Alternatively, if memory auto onlining was not requested at step 1 4362306a36Sopenharmony_ci the newly added memory can be manually onlined in the target domain 4462306a36Sopenharmony_ci by doing the following: 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci for i in /sys/devices/system/memory/memory*/state; do \ 4762306a36Sopenharmony_ci [ "`cat "$i"`" = offline ] && echo online > "$i"; done 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci or by adding the following line to udev rules: 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'" 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig XEN_MEMORY_HOTPLUG_LIMIT 5462306a36Sopenharmony_ci int "Hotplugged memory limit (in GiB) for a PV guest" 5562306a36Sopenharmony_ci default 512 5662306a36Sopenharmony_ci depends on XEN_HAVE_PVMMU 5762306a36Sopenharmony_ci depends on MEMORY_HOTPLUG 5862306a36Sopenharmony_ci help 5962306a36Sopenharmony_ci Maximum amount of memory (in GiB) that a PV guest can be 6062306a36Sopenharmony_ci expanded to when using memory hotplug. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci A PV guest can have more memory than this limit if is 6362306a36Sopenharmony_ci started with a larger maximum. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci This value is used to allocate enough space in internal 6662306a36Sopenharmony_ci tables needed for physical memory administration. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciconfig XEN_SCRUB_PAGES_DEFAULT 6962306a36Sopenharmony_ci bool "Scrub pages before returning them to system by default" 7062306a36Sopenharmony_ci depends on XEN_BALLOON 7162306a36Sopenharmony_ci default y 7262306a36Sopenharmony_ci help 7362306a36Sopenharmony_ci Scrub pages before returning them to the system for reuse by 7462306a36Sopenharmony_ci other domains. This makes sure that any confidential data 7562306a36Sopenharmony_ci is not accidentally visible to other domains. It is more 7662306a36Sopenharmony_ci secure, but slightly less efficient. This can be controlled with 7762306a36Sopenharmony_ci xen_scrub_pages=0 parameter and 7862306a36Sopenharmony_ci /sys/devices/system/xen_memory/xen_memory0/scrub_pages. 7962306a36Sopenharmony_ci This option only sets the default value. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci If in doubt, say yes. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig XEN_DEV_EVTCHN 8462306a36Sopenharmony_ci tristate "Xen /dev/xen/evtchn device" 8562306a36Sopenharmony_ci default y 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci The evtchn driver allows a userspace process to trigger event 8862306a36Sopenharmony_ci channels and to receive notification of an event channel 8962306a36Sopenharmony_ci firing. 9062306a36Sopenharmony_ci If in doubt, say yes. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciconfig XEN_BACKEND 9362306a36Sopenharmony_ci bool "Backend driver support" 9462306a36Sopenharmony_ci default XEN_DOM0 9562306a36Sopenharmony_ci help 9662306a36Sopenharmony_ci Support for backend device drivers that provide I/O services 9762306a36Sopenharmony_ci to other virtual machines. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciconfig XENFS 10062306a36Sopenharmony_ci tristate "Xen filesystem" 10162306a36Sopenharmony_ci select XEN_PRIVCMD 10262306a36Sopenharmony_ci default y 10362306a36Sopenharmony_ci help 10462306a36Sopenharmony_ci The xen filesystem provides a way for domains to share 10562306a36Sopenharmony_ci information with each other and with the hypervisor. 10662306a36Sopenharmony_ci For example, by reading and writing the "xenbus" file, guests 10762306a36Sopenharmony_ci may pass arbitrary information to the initial domain. 10862306a36Sopenharmony_ci If in doubt, say yes. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig XEN_COMPAT_XENFS 11162306a36Sopenharmony_ci bool "Create compatibility mount point /proc/xen" 11262306a36Sopenharmony_ci depends on XENFS 11362306a36Sopenharmony_ci default y 11462306a36Sopenharmony_ci help 11562306a36Sopenharmony_ci The old xenstore userspace tools expect to find "xenbus" 11662306a36Sopenharmony_ci under /proc/xen, but "xenbus" is now found at the root of the 11762306a36Sopenharmony_ci xenfs filesystem. Selecting this causes the kernel to create 11862306a36Sopenharmony_ci the compatibility mount point /proc/xen if it is running on 11962306a36Sopenharmony_ci a xen platform. 12062306a36Sopenharmony_ci If in doubt, say yes. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig XEN_SYS_HYPERVISOR 12362306a36Sopenharmony_ci bool "Create xen entries under /sys/hypervisor" 12462306a36Sopenharmony_ci depends on SYSFS 12562306a36Sopenharmony_ci select SYS_HYPERVISOR 12662306a36Sopenharmony_ci default y 12762306a36Sopenharmony_ci help 12862306a36Sopenharmony_ci Create entries under /sys/hypervisor describing the Xen 12962306a36Sopenharmony_ci hypervisor environment. When running native or in another 13062306a36Sopenharmony_ci virtual environment, /sys/hypervisor will still be present, 13162306a36Sopenharmony_ci but will have no xen contents. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciconfig XEN_XENBUS_FRONTEND 13462306a36Sopenharmony_ci tristate 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciconfig XEN_GNTDEV 13762306a36Sopenharmony_ci tristate "userspace grant access device driver" 13862306a36Sopenharmony_ci depends on XEN 13962306a36Sopenharmony_ci default m 14062306a36Sopenharmony_ci select MMU_NOTIFIER 14162306a36Sopenharmony_ci help 14262306a36Sopenharmony_ci Allows userspace processes to use grants. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciconfig XEN_GNTDEV_DMABUF 14562306a36Sopenharmony_ci bool "Add support for dma-buf grant access device driver extension" 14662306a36Sopenharmony_ci depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC 14762306a36Sopenharmony_ci select DMA_SHARED_BUFFER 14862306a36Sopenharmony_ci help 14962306a36Sopenharmony_ci Allows userspace processes and kernel modules to use Xen backed 15062306a36Sopenharmony_ci dma-buf implementation. With this extension grant references to 15162306a36Sopenharmony_ci the pages of an imported dma-buf can be exported for other domain 15262306a36Sopenharmony_ci use and grant references coming from a foreign domain can be 15362306a36Sopenharmony_ci converted into a local dma-buf for local export. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciconfig XEN_GRANT_DEV_ALLOC 15662306a36Sopenharmony_ci tristate "User-space grant reference allocator driver" 15762306a36Sopenharmony_ci depends on XEN 15862306a36Sopenharmony_ci default m 15962306a36Sopenharmony_ci help 16062306a36Sopenharmony_ci Allows userspace processes to create pages with access granted 16162306a36Sopenharmony_ci to other domains. This can be used to implement frontend drivers 16262306a36Sopenharmony_ci or as part of an inter-domain shared memory channel. 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciconfig XEN_GRANT_DMA_ALLOC 16562306a36Sopenharmony_ci bool "Allow allocating DMA capable buffers with grant reference module" 16662306a36Sopenharmony_ci depends on XEN && HAS_DMA 16762306a36Sopenharmony_ci help 16862306a36Sopenharmony_ci Extends grant table module API to allow allocating DMA capable 16962306a36Sopenharmony_ci buffers and mapping foreign grant references on top of it. 17062306a36Sopenharmony_ci The resulting buffer is similar to one allocated by the balloon 17162306a36Sopenharmony_ci driver in that proper memory reservation is made by 17262306a36Sopenharmony_ci ({increase|decrease}_reservation and VA mappings are updated if 17362306a36Sopenharmony_ci needed). 17462306a36Sopenharmony_ci This is useful for sharing foreign buffers with HW drivers which 17562306a36Sopenharmony_ci cannot work with scattered buffers provided by the balloon driver, 17662306a36Sopenharmony_ci but require DMAable memory instead. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig SWIOTLB_XEN 17962306a36Sopenharmony_ci def_bool y 18062306a36Sopenharmony_ci depends on XEN_PV || ARM || ARM64 18162306a36Sopenharmony_ci select DMA_OPS 18262306a36Sopenharmony_ci select SWIOTLB 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ciconfig XEN_PCI_STUB 18562306a36Sopenharmony_ci bool 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciconfig XEN_PCIDEV_STUB 18862306a36Sopenharmony_ci tristate "Xen PCI-device stub driver" 18962306a36Sopenharmony_ci depends on PCI && !X86 && XEN 19062306a36Sopenharmony_ci depends on XEN_BACKEND 19162306a36Sopenharmony_ci select XEN_PCI_STUB 19262306a36Sopenharmony_ci default m 19362306a36Sopenharmony_ci help 19462306a36Sopenharmony_ci The PCI device stub driver provides limited version of the PCI 19562306a36Sopenharmony_ci device backend driver without para-virtualized support for guests. 19662306a36Sopenharmony_ci If you select this to be a module, you will need to make sure no 19762306a36Sopenharmony_ci other driver has bound to the device(s) you want to make visible to 19862306a36Sopenharmony_ci other guests. 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci The "hide" parameter (only applicable if backend driver is compiled 20162306a36Sopenharmony_ci into the kernel) allows you to bind the PCI devices to this module 20262306a36Sopenharmony_ci from the default device drivers. The argument is the list of PCI BDFs: 20362306a36Sopenharmony_ci xen-pciback.hide=(03:00.0)(04:00.0) 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci If in doubt, say m. 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ciconfig XEN_PCIDEV_BACKEND 20862306a36Sopenharmony_ci tristate "Xen PCI-device backend driver" 20962306a36Sopenharmony_ci depends on PCI && X86 && XEN 21062306a36Sopenharmony_ci depends on XEN_BACKEND 21162306a36Sopenharmony_ci select XEN_PCI_STUB 21262306a36Sopenharmony_ci default m 21362306a36Sopenharmony_ci help 21462306a36Sopenharmony_ci The PCI device backend driver allows the kernel to export arbitrary 21562306a36Sopenharmony_ci PCI devices to other guests. If you select this to be a module, you 21662306a36Sopenharmony_ci will need to make sure no other driver has bound to the device(s) 21762306a36Sopenharmony_ci you want to make visible to other guests. 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci The parameter "passthrough" allows you specify how you want the PCI 22062306a36Sopenharmony_ci devices to appear in the guest. You can choose the default (0) where 22162306a36Sopenharmony_ci PCI topology starts at 00.00.0, or (1) for passthrough if you want 22262306a36Sopenharmony_ci the PCI devices topology appear the same as in the host. 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci The "hide" parameter (only applicable if backend driver is compiled 22562306a36Sopenharmony_ci into the kernel) allows you to bind the PCI devices to this module 22662306a36Sopenharmony_ci from the default device drivers. The argument is the list of PCI BDFs: 22762306a36Sopenharmony_ci xen-pciback.hide=(03:00.0)(04:00.0) 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci If in doubt, say m. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig XEN_PVCALLS_FRONTEND 23262306a36Sopenharmony_ci tristate "XEN PV Calls frontend driver" 23362306a36Sopenharmony_ci depends on INET && XEN 23462306a36Sopenharmony_ci select XEN_XENBUS_FRONTEND 23562306a36Sopenharmony_ci help 23662306a36Sopenharmony_ci Experimental frontend for the Xen PV Calls protocol 23762306a36Sopenharmony_ci (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It 23862306a36Sopenharmony_ci sends a small set of POSIX calls to the backend, which 23962306a36Sopenharmony_ci implements them. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ciconfig XEN_PVCALLS_BACKEND 24262306a36Sopenharmony_ci tristate "XEN PV Calls backend driver" 24362306a36Sopenharmony_ci depends on INET && XEN && XEN_BACKEND 24462306a36Sopenharmony_ci help 24562306a36Sopenharmony_ci Experimental backend for the Xen PV Calls protocol 24662306a36Sopenharmony_ci (https://xenbits.xen.org/docs/unstable/misc/pvcalls.html). It 24762306a36Sopenharmony_ci allows PV Calls frontends to send POSIX calls to the backend, 24862306a36Sopenharmony_ci which implements them. 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci If in doubt, say n. 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ciconfig XEN_SCSI_BACKEND 25362306a36Sopenharmony_ci tristate "XEN SCSI backend driver" 25462306a36Sopenharmony_ci depends on XEN && XEN_BACKEND && TARGET_CORE 25562306a36Sopenharmony_ci help 25662306a36Sopenharmony_ci The SCSI backend driver allows the kernel to export its SCSI Devices 25762306a36Sopenharmony_ci to other guests via a high-performance shared-memory interface. 25862306a36Sopenharmony_ci Only needed for systems running as XEN driver domains (e.g. Dom0) and 25962306a36Sopenharmony_ci if guests need generic access to SCSI devices. 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ciconfig XEN_PRIVCMD 26262306a36Sopenharmony_ci tristate "Xen hypercall passthrough driver" 26362306a36Sopenharmony_ci depends on XEN 26462306a36Sopenharmony_ci default m 26562306a36Sopenharmony_ci help 26662306a36Sopenharmony_ci The hypercall passthrough driver allows privileged user programs to 26762306a36Sopenharmony_ci perform Xen hypercalls. This driver is normally required for systems 26862306a36Sopenharmony_ci running as Dom0 to perform privileged operations, but in some 26962306a36Sopenharmony_ci disaggregated Xen setups this driver might be needed for other 27062306a36Sopenharmony_ci domains, too. 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ciconfig XEN_PRIVCMD_IRQFD 27362306a36Sopenharmony_ci bool "Xen irqfd support" 27462306a36Sopenharmony_ci depends on XEN_PRIVCMD && XEN_VIRTIO && EVENTFD 27562306a36Sopenharmony_ci help 27662306a36Sopenharmony_ci Using the irqfd mechanism a virtio backend running in a daemon can 27762306a36Sopenharmony_ci speed up interrupt injection into a guest. 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciconfig XEN_ACPI_PROCESSOR 28062306a36Sopenharmony_ci tristate "Xen ACPI processor" 28162306a36Sopenharmony_ci depends on XEN && XEN_PV_DOM0 && X86 && ACPI_PROCESSOR && CPU_FREQ 28262306a36Sopenharmony_ci default m 28362306a36Sopenharmony_ci help 28462306a36Sopenharmony_ci This ACPI processor uploads Power Management information to the Xen 28562306a36Sopenharmony_ci hypervisor. 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci To do that the driver parses the Power Management data and uploads 28862306a36Sopenharmony_ci said information to the Xen hypervisor. Then the Xen hypervisor can 28962306a36Sopenharmony_ci select the proper Cx and Pxx states. It also registers itself as the 29062306a36Sopenharmony_ci SMM so that other drivers (such as ACPI cpufreq scaling driver) will 29162306a36Sopenharmony_ci not load. 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will be 29462306a36Sopenharmony_ci called xen_acpi_processor If you do not know what to choose, select 29562306a36Sopenharmony_ci M here. If the CPUFREQ drivers are built in, select Y here. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ciconfig XEN_MCE_LOG 29862306a36Sopenharmony_ci bool "Xen platform mcelog" 29962306a36Sopenharmony_ci depends on XEN_PV_DOM0 && X86_MCE 30062306a36Sopenharmony_ci help 30162306a36Sopenharmony_ci Allow kernel fetching MCE error from Xen platform and 30262306a36Sopenharmony_ci converting it into Linux mcelog format for mcelog tools 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ciconfig XEN_HAVE_PVMMU 30562306a36Sopenharmony_ci bool 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciconfig XEN_EFI 30862306a36Sopenharmony_ci def_bool y 30962306a36Sopenharmony_ci depends on (ARM || ARM64 || X86_64) && EFI 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ciconfig XEN_AUTO_XLATE 31262306a36Sopenharmony_ci def_bool y 31362306a36Sopenharmony_ci depends on ARM || ARM64 || XEN_PVHVM 31462306a36Sopenharmony_ci help 31562306a36Sopenharmony_ci Support for auto-translated physmap guests. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ciconfig XEN_ACPI 31862306a36Sopenharmony_ci def_bool y 31962306a36Sopenharmony_ci depends on X86 && ACPI 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ciconfig XEN_SYMS 32262306a36Sopenharmony_ci bool "Xen symbols" 32362306a36Sopenharmony_ci depends on X86 && XEN_DOM0 && XENFS 32462306a36Sopenharmony_ci default y if KALLSYMS 32562306a36Sopenharmony_ci help 32662306a36Sopenharmony_ci Exports hypervisor symbols (along with their types and addresses) via 32762306a36Sopenharmony_ci /proc/xen/xensyms file, similar to /proc/kallsyms 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ciconfig XEN_HAVE_VPMU 33062306a36Sopenharmony_ci bool 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ciconfig XEN_FRONT_PGDIR_SHBUF 33362306a36Sopenharmony_ci tristate 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ciconfig XEN_UNPOPULATED_ALLOC 33662306a36Sopenharmony_ci bool "Use unpopulated memory ranges for guest mappings" 33762306a36Sopenharmony_ci depends on ZONE_DEVICE 33862306a36Sopenharmony_ci default XEN_BACKEND || XEN_GNTDEV || XEN_DOM0 33962306a36Sopenharmony_ci help 34062306a36Sopenharmony_ci Use unpopulated memory ranges in order to create mappings for guest 34162306a36Sopenharmony_ci memory regions, including grant maps and foreign pages. This avoids 34262306a36Sopenharmony_ci having to balloon out RAM regions in order to obtain physical memory 34362306a36Sopenharmony_ci space to create such mappings. 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ciconfig XEN_GRANT_DMA_IOMMU 34662306a36Sopenharmony_ci bool 34762306a36Sopenharmony_ci select IOMMU_API 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ciconfig XEN_GRANT_DMA_OPS 35062306a36Sopenharmony_ci bool 35162306a36Sopenharmony_ci select DMA_OPS 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ciconfig XEN_VIRTIO 35462306a36Sopenharmony_ci bool "Xen virtio support" 35562306a36Sopenharmony_ci depends on VIRTIO 35662306a36Sopenharmony_ci select XEN_GRANT_DMA_OPS 35762306a36Sopenharmony_ci select XEN_GRANT_DMA_IOMMU if OF 35862306a36Sopenharmony_ci help 35962306a36Sopenharmony_ci Enable virtio support for running as Xen guest. Depending on the 36062306a36Sopenharmony_ci guest type this will require special support on the backend side 36162306a36Sopenharmony_ci (qemu or kernel, depending on the virtio device types used). 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci If in doubt, say n. 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ciconfig XEN_VIRTIO_FORCE_GRANT 36662306a36Sopenharmony_ci bool "Require Xen virtio support to use grants" 36762306a36Sopenharmony_ci depends on XEN_VIRTIO 36862306a36Sopenharmony_ci help 36962306a36Sopenharmony_ci Require virtio for Xen guests to use grant mappings. 37062306a36Sopenharmony_ci This will avoid the need to give the backend the right to map all 37162306a36Sopenharmony_ci of the guest memory. This will need support on the backend side 37262306a36Sopenharmony_ci (e.g. qemu or kernel, depending on the virtio device types used). 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ciendmenu 375