Merge tag 'for-6.4-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[platform/kernel/linux-rpi.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_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         default n
51         help
52         Say M here to enable the vhost_scsi TCM fabric module
53         for use with virtio-scsi guests
54
55 config VHOST_VSOCK
56         tristate "vhost virtio-vsock driver"
57         depends on VSOCKETS && EVENTFD
58         select VHOST
59         select VIRTIO_VSOCKETS_COMMON
60         default n
61         help
62         This kernel module can be loaded in the host kernel to provide AF_VSOCK
63         sockets for communicating with guests.  The guests must have the
64         virtio_transport.ko driver loaded to use the virtio-vsock device.
65
66         To compile this driver as a module, choose M here: the module will be called
67         vhost_vsock.
68
69 config VHOST_VDPA
70         tristate "Vhost driver for vDPA-based backend"
71         depends on EVENTFD
72         select VHOST
73         select IRQ_BYPASS_MANAGER
74         depends on VDPA
75         help
76           This kernel module can be loaded in host kernel to accelerate
77           guest virtio devices with the vDPA-based backends.
78
79           To compile this driver as a module, choose M here: the module
80           will be called vhost_vdpa.
81
82 config VHOST_CROSS_ENDIAN_LEGACY
83         bool "Cross-endian support for vhost"
84         default n
85         help
86           This option allows vhost to support guests with a different byte
87           ordering from host while using legacy virtio.
88
89           Userspace programs can control the feature using the
90           VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
91
92           This is only useful on a few platforms (ppc64 and arm64). Since it
93           adds some overhead, it is disabled by default.
94
95           If unsure, say "N".
96
97 endif