mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-09-03 02:16:09 +02:00

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>
104 lines
2.7 KiB
Plaintext
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
|