summaryrefslogtreecommitdiff
path: root/drivers/vhost/Kconfig
blob: c4f27379359537ecc983da9611214e8547edb3bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# SPDX-License-Identifier: GPL-2.0-only
config VHOST_IOTLB
	tristate
	help
	  Generic IOTLB implementation for vhost and vringh.
	  This option is selected by any driver which needs to support
	  an IOMMU in software.

config VHOST_RING
	tristate
	select VHOST_IOTLB
	help
	  This option is selected by any driver which needs to access
	  the host side of a virtio ring.

config VHOST_DPN
	bool
	depends on !ARM || AEABI
	default y
	help
	  Anything selecting VHOST or VHOST_RING must depend on VHOST_DPN.
	  This excludes the deprecated ARM ABI since that forces a 4 byte
	  alignment on all structs - incompatible with virtio spec requirements.

config VHOST
	tristate
	select VHOST_IOTLB
	help
	  This option is selected by any driver which needs to access
	  the core of vhost.

menuconfig VHOST_MENU
	bool "VHOST drivers"
	default y

if VHOST_MENU

config VHOST_NET
	tristate "Host kernel accelerator for virtio net"
	depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP) && VHOST_DPN
	select VHOST
	---help---
	  This kernel module can be loaded in host kernel to accelerate
	  guest networking with virtio_net. Not to be confused with virtio_net
	  module itself which needs to be loaded in guest kernel.

	  To compile this driver as a module, choose M here: the module will
	  be called vhost_net.

config VHOST_SCSI
	tristate "VHOST_SCSI TCM fabric driver"
	depends on TARGET_CORE && EVENTFD && VHOST_DPN
	select VHOST
	default n
	---help---
	Say M here to enable the vhost_scsi TCM fabric module
	for use with virtio-scsi guests

config VHOST_VSOCK
	tristate "vhost virtio-vsock driver"
	depends on VSOCKETS && EVENTFD && VHOST_DPN
	select VHOST
	select VIRTIO_VSOCKETS_COMMON
	default n
	---help---
	This kernel module can be loaded in the host kernel to provide AF_VSOCK
	sockets for communicating with guests.  The guests must have the
	virtio_transport.ko driver loaded to use the virtio-vsock device.

	To compile this driver as a module, choose M here: the module will be called
	vhost_vsock.

config VHOST_VDPA
	tristate "Vhost driver for vDPA-based backend"
	depends on EVENTFD && VHOST_DPN
	select VHOST
	depends on VDPA
	help
	  This kernel module can be loaded in host kernel to accelerate
	  guest virtio devices with the vDPA-based backends.

	  To compile this driver as a module, choose M here: the module
	  will be called vhost_vdpa.

config VHOST_CROSS_ENDIAN_LEGACY
	bool "Cross-endian support for vhost"
	default n
	---help---
	  This option allows vhost to support guests with a different byte
	  ordering from host while using legacy virtio.

	  Userspace programs can control the feature using the
	  VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.

	  This is only useful on a few platforms (ppc64 and arm64). Since it
	  adds some overhead, it is disabled by default.

	  If unsure, say "N".

endif