| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | config 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 | |
| 9 | config 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 | |
| 16 | config VHOST_TASK |
| 17 | bool |
| 18 | default n |
| 19 | |
| 20 | config VHOST |
| 21 | tristate |
| 22 | select VHOST_IOTLB |
| 23 | select VHOST_TASK |
| 24 | help |
| 25 | This option is selected by any driver which needs to access |
| 26 | the core of vhost. |
| 27 | |
| 28 | menuconfig VHOST_MENU |
| 29 | bool "VHOST drivers" |
| 30 | default y |
| 31 | |
| 32 | if VHOST_MENU |
| 33 | |
| 34 | config VHOST_NET |
| 35 | tristate "Host kernel accelerator for virtio net" |
| 36 | depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP) |
| 37 | select VHOST |
| 38 | help |
| 39 | This kernel module can be loaded in host kernel to accelerate |
| 40 | guest networking with virtio_net. Not to be confused with virtio_net |
| 41 | module itself which needs to be loaded in guest kernel. |
| 42 | |
| 43 | To compile this driver as a module, choose M here: the module will |
| 44 | be called vhost_net. |
| 45 | |
| 46 | config VHOST_SCSI |
| 47 | tristate "VHOST_SCSI TCM fabric driver" |
| 48 | depends on TARGET_CORE && EVENTFD |
| 49 | select VHOST |
| 50 | select SG_POOL |
| 51 | default n |
| 52 | help |
| 53 | Say M here to enable the vhost_scsi TCM fabric module |
| 54 | for use with virtio-scsi guests |
| 55 | |
| 56 | config VHOST_VSOCK |
| 57 | tristate "vhost virtio-vsock driver" |
| 58 | depends on VSOCKETS && EVENTFD |
| 59 | select VHOST |
| 60 | select VIRTIO_VSOCKETS_COMMON |
| 61 | default n |
| 62 | help |
| 63 | This kernel module can be loaded in the host kernel to provide AF_VSOCK |
| 64 | sockets for communicating with guests. The guests must have the |
| 65 | virtio_transport.ko driver loaded to use the virtio-vsock device. |
| 66 | |
| 67 | To compile this driver as a module, choose M here: the module will be called |
| 68 | vhost_vsock. |
| 69 | |
| 70 | config VHOST_VDPA |
| 71 | tristate "Vhost driver for vDPA-based backend" |
| 72 | depends on EVENTFD |
| 73 | select VHOST |
| 74 | select IRQ_BYPASS_MANAGER |
| 75 | depends on VDPA |
| 76 | help |
| 77 | This kernel module can be loaded in host kernel to accelerate |
| 78 | guest virtio devices with the vDPA-based backends. |
| 79 | |
| 80 | To compile this driver as a module, choose M here: the module |
| 81 | will be called vhost_vdpa. |
| 82 | |
| 83 | config VHOST_CROSS_ENDIAN_LEGACY |
| 84 | bool "Cross-endian support for vhost" |
| 85 | default n |
| 86 | help |
| 87 | This option allows vhost to support guests with a different byte |
| 88 | ordering from host while using legacy virtio. |
| 89 | |
| 90 | Userspace programs can control the feature using the |
| 91 | VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls. |
| 92 | |
| 93 | This is only useful on a few platforms (ppc64 and arm64). Since it |
| 94 | adds some overhead, it is disabled by default. |
| 95 | |
| 96 | If unsure, say "N". |
| 97 | |
| 98 | config VHOST_ENABLE_FORK_OWNER_CONTROL |
| 99 | bool "Enable VHOST_ENABLE_FORK_OWNER_CONTROL" |
| 100 | default y |
| 101 | help |
| 102 | This option enables two IOCTLs: VHOST_SET_FORK_FROM_OWNER and |
| 103 | VHOST_GET_FORK_FROM_OWNER. These allow userspace applications |
| 104 | to modify the vhost worker mode for vhost devices. |
| 105 | |
| 106 | Also expose module parameter 'fork_from_owner_default' to allow users |
| 107 | to configure the default mode for vhost workers. |
| 108 | |
| 109 | By default, `VHOST_ENABLE_FORK_OWNER_CONTROL` is set to `y`, |
| 110 | users can change the worker thread mode as needed. |
| 111 | If this config is disabled (n),the related IOCTLs and parameters will |
| 112 | be unavailable. |
| 113 | |
| 114 | If unsure, say "Y". |
| 115 | |
| 116 | endif |