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