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
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
23menuconfig VHOST_MENU
24	bool "VHOST drivers"
25	default y
26
27if VHOST_MENU
28
29config 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
41config 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
50config 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
64config 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
77config 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
92endif
93