This patch introduce a set of functions for setup/unsetup and update irq offloading respectively by register/unregister and re-register the irq_bypass_producer. With these functions, this commit can setup/unsetup irq offloading through setting DRIVER_OK/!DRIVER_OK, and update irq offloading through SET_VRING_CALL. Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com> Suggested-by: Jason Wang <jasowang@redhat.com> Link: https://lore.kernel.org/r/20200731065533.4144-5-lingshan.zhu@intel.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2.5 KiB
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 tristate select VHOST_IOTLB 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