|  | # 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 |