^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config VHOST_IOTLB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Generic IOTLB implementation for vhost and vringh.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) This option is selected by any driver which needs to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) an IOMMU in software.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) config VHOST_RING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) select VHOST_IOTLB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) This option is selected by any driver which needs to access
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) the host side of a virtio ring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) config VHOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) select VHOST_IOTLB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) This option is selected by any driver which needs to access
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) the core of vhost.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) menuconfig VHOST_MENU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) bool "VHOST drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) if VHOST_MENU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config VHOST_NET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) tristate "Host kernel accelerator for virtio net"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) select VHOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) This kernel module can be loaded in host kernel to accelerate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) guest networking with virtio_net. Not to be confused with virtio_net
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) module itself which needs to be loaded in guest kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) To compile this driver as a module, choose M here: the module will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) be called vhost_net.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) config VHOST_SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) tristate "VHOST_SCSI TCM fabric driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) depends on TARGET_CORE && EVENTFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) select VHOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Say M here to enable the vhost_scsi TCM fabric module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) for use with virtio-scsi guests
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) config VHOST_VSOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) tristate "vhost virtio-vsock driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) depends on VSOCKETS && EVENTFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) select VHOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) select VIRTIO_VSOCKETS_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) This kernel module can be loaded in the host kernel to provide AF_VSOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) sockets for communicating with guests. The guests must have the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) virtio_transport.ko driver loaded to use the virtio-vsock device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) To compile this driver as a module, choose M here: the module will be called
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) vhost_vsock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) config VHOST_VDPA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) tristate "Vhost driver for vDPA-based backend"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) depends on EVENTFD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select VHOST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) select IRQ_BYPASS_MANAGER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) depends on VDPA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) This kernel module can be loaded in host kernel to accelerate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) guest virtio devices with the vDPA-based backends.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) To compile this driver as a module, choose M here: the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) will be called vhost_vdpa.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) config VHOST_CROSS_ENDIAN_LEGACY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) bool "Cross-endian support for vhost"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) This option allows vhost to support guests with a different byte
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ordering from host while using legacy virtio.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Userspace programs can control the feature using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) This is only useful on a few platforms (ppc64 and arm64). Since it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) adds some overhead, it is disabled by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) If unsure, say "N".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) endif