Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
[linux-2.6-microblaze.git] / drivers / vhost / Kconfig
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
17         tristate
18         select VHOST_IOTLB
19         help
20           This option is selected by any driver which needs to access
21           the core of vhost.
22
23 menuconfig VHOST_MENU
24         bool "VHOST drivers"
25         default y
26
27 if VHOST_MENU
28
29 config VHOST_NET
30         tristate "Host kernel accelerator for virtio net"
31         depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
32         select VHOST
33         help
34           This kernel module can be loaded in host kernel to accelerate
35           guest networking with virtio_net. Not to be confused with virtio_net
36           module itself which needs to be loaded in guest kernel.
37
38           To compile this driver as a module, choose M here: the module will
39           be called vhost_net.
40
41 config VHOST_SCSI
42         tristate "VHOST_SCSI TCM fabric driver"
43         depends on TARGET_CORE && EVENTFD
44         select VHOST
45         default n
46         help
47         Say M here to enable the vhost_scsi TCM fabric module
48         for use with virtio-scsi guests
49
50 config VHOST_VSOCK
51         tristate "vhost virtio-vsock driver"
52         depends on VSOCKETS && EVENTFD
53         select VHOST
54         select VIRTIO_VSOCKETS_COMMON
55         default n
56         help
57         This kernel module can be loaded in the host kernel to provide AF_VSOCK
58         sockets for communicating with guests.  The guests must have the
59         virtio_transport.ko driver loaded to use the virtio-vsock device.
60
61         To compile this driver as a module, choose M here: the module will be called
62         vhost_vsock.
63
64 config VHOST_VDPA
65         tristate "Vhost driver for vDPA-based backend"
66         depends on EVENTFD
67         select VHOST
68         select IRQ_BYPASS_MANAGER
69         depends on VDPA
70         help
71           This kernel module can be loaded in host kernel to accelerate
72           guest virtio devices with the vDPA-based backends.
73
74           To compile this driver as a module, choose M here: the module
75           will be called vhost_vdpa.
76
77 config VHOST_CROSS_ENDIAN_LEGACY
78         bool "Cross-endian support for vhost"
79         default n
80         help
81           This option allows vhost to support guests with a different byte
82           ordering from host while using legacy virtio.
83
84           Userspace programs can control the feature using the
85           VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
86
87           This is only useful on a few platforms (ppc64 and arm64). Since it
88           adds some overhead, it is disabled by default.
89
90           If unsure, say "N".
91
92 endif