linux-imx/drivers/vhost/Kconfig
Peng Fan 47126913de LF-11837-1 vhost_xen: Implement Xen grant/foreign mappings module for vhost
A specific module for accessing descriptors in virtio rings which contain
guest grant based addresses instead of pseudo-physical addresses.
Please see Xen grant DMA-mapping layer at drivers/xen/grant-dma-ops.c
which is the origin of such mapping scheme.
The descriptors are mapped in core vhost's translate_desc(), the target
vhost device is responsible for unmapping them as soon as they are
not used anymore. Wire it to vsock device for now.

Setup watch to specific Xenstore entry "drivers/dom0-qemu-command-monitor/..."
which represents Qemu command line. Hopefully it contains "-xen-domid"
property which is used to configure pass guest domid for Qemu, parse it
to get the required info.

The Xenstore entry "drivers/dom0-qemu-command-monitor/..." which
represents Qemu command line is not present anymore since we
changed a way to configure and spawn Qemu. So get the guest domid
from "device-model" directory once it gets state "running".

The proper solution would be to pass guest domid from Qemu directly
by extending some of VHOST ioctls (for example, VHOST_SET_MEM_TABLE).

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-07 10:24:50 +08:00

104 lines
2.7 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
config VHOST_IOTLB
tristate
help
Generic IOTLB implementation for vhost and vringh.
This option is selected by any driver which needs to support
an IOMMU in software.
config VHOST_RING
tristate
select VHOST_IOTLB
help
This option is selected by any driver which needs to access
the host side of a virtio ring.
config VHOST_XEN
tristate
help
Support of Xen specific mappings for accessing descriptors in virtio rings.
config VHOST_TASK
bool
default n
config VHOST
tristate
select VHOST_IOTLB
select VHOST_TASK
select VHOST_XEN if XEN
help
This option is selected by any driver which needs to access
the core of vhost.
menuconfig VHOST_MENU
bool "VHOST drivers"
default y
if VHOST_MENU
config VHOST_NET
tristate "Host kernel accelerator for virtio net"
depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
select VHOST
help
This kernel module can be loaded in host kernel to accelerate
guest networking with virtio_net. Not to be confused with virtio_net
module itself which needs to be loaded in guest kernel.
To compile this driver as a module, choose M here: the module will
be called vhost_net.
config VHOST_SCSI
tristate "VHOST_SCSI TCM fabric driver"
depends on TARGET_CORE && EVENTFD
select VHOST
default n
help
Say M here to enable the vhost_scsi TCM fabric module
for use with virtio-scsi guests
config VHOST_VSOCK
tristate "vhost virtio-vsock driver"
depends on VSOCKETS && EVENTFD
select VHOST
select VIRTIO_VSOCKETS_COMMON
default n
help
This kernel module can be loaded in the host kernel to provide AF_VSOCK
sockets for communicating with guests. The guests must have the
virtio_transport.ko driver loaded to use the virtio-vsock device.
To compile this driver as a module, choose M here: the module will be called
vhost_vsock.
config VHOST_VDPA
tristate "Vhost driver for vDPA-based backend"
depends on EVENTFD
select VHOST
select IRQ_BYPASS_MANAGER
depends on VDPA
help
This kernel module can be loaded in host kernel to accelerate
guest virtio devices with the vDPA-based backends.
To compile this driver as a module, choose M here: the module
will be called vhost_vdpa.
config VHOST_CROSS_ENDIAN_LEGACY
bool "Cross-endian support for vhost"
default n
help
This option allows vhost to support guests with a different byte
ordering from host while using legacy virtio.
Userspace programs can control the feature using the
VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
This is only useful on a few platforms (ppc64 and arm64). Since it
adds some overhead, it is disabled by default.
If unsure, say "N".
endif