xref: /linux/drivers/vhost/Kconfig (revision 7d9896e9f6d02d8aa85e63f736871f96c59a5263)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
20bbe3066SJason Wangconfig VHOST_IOTLB
30bbe3066SJason Wang	tristate
40bbe3066SJason Wang	help
50bbe3066SJason Wang	  Generic IOTLB implementation for vhost and vringh.
63302363aSMichael S. Tsirkin	  This option is selected by any driver which needs to support
73302363aSMichael S. Tsirkin	  an IOMMU in software.
80bbe3066SJason Wang
920c384f1SJason Wangconfig VHOST_RING
1020c384f1SJason Wang	tristate
119ad9c49cSJason Wang	select VHOST_IOTLB
1220c384f1SJason Wang	help
1320c384f1SJason Wang	  This option is selected by any driver which needs to access
1420c384f1SJason Wang	  the host side of a virtio ring.
1520c384f1SJason Wang
16e297cd54SMike Christieconfig VHOST_TASK
17e297cd54SMike Christie	bool
18e297cd54SMike Christie	default n
19e297cd54SMike Christie
2020c384f1SJason Wangconfig VHOST
2120c384f1SJason Wang	tristate
2220c384f1SJason Wang	select VHOST_IOTLB
23e297cd54SMike Christie	select VHOST_TASK
2420c384f1SJason Wang	help
2520c384f1SJason Wang	  This option is selected by any driver which needs to access
2620c384f1SJason Wang	  the core of vhost.
2720c384f1SJason Wang
2820c384f1SJason Wangmenuconfig VHOST_MENU
2920c384f1SJason Wang	bool "VHOST drivers"
3020c384f1SJason Wang	default y
3120c384f1SJason Wang
3220c384f1SJason Wangif VHOST_MENU
3320c384f1SJason Wang
343a4d5c94SMichael S. Tsirkinconfig VHOST_NET
3543893cbeSKees Cook	tristate "Host kernel accelerator for virtio net"
36213e7721SMichael S. Tsirkin	depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
376ac1afbfSAsias He	select VHOST
38a7f7f624SMasahiro Yamada	help
393a4d5c94SMichael S. Tsirkin	  This kernel module can be loaded in host kernel to accelerate
403a4d5c94SMichael S. Tsirkin	  guest networking with virtio_net. Not to be confused with virtio_net
413a4d5c94SMichael S. Tsirkin	  module itself which needs to be loaded in guest kernel.
423a4d5c94SMichael S. Tsirkin
433a4d5c94SMichael S. Tsirkin	  To compile this driver as a module, choose M here: the module will
443a4d5c94SMichael S. Tsirkin	  be called vhost_net.
453a4d5c94SMichael S. Tsirkin
46181c04a3SMichael S. Tsirkinconfig VHOST_SCSI
47181c04a3SMichael S. Tsirkin	tristate "VHOST_SCSI TCM fabric driver"
48213e7721SMichael S. Tsirkin	depends on TARGET_CORE && EVENTFD
496ac1afbfSAsias He	select VHOST
50bca939d5SMike Christie	select SG_POOL
51181c04a3SMichael S. Tsirkin	default n
52a7f7f624SMasahiro Yamada	help
53181c04a3SMichael S. Tsirkin	Say M here to enable the vhost_scsi TCM fabric module
54181c04a3SMichael S. Tsirkin	for use with virtio-scsi guests
55f87d0fbbSRusty Russell
56304ba62fSAsias Heconfig VHOST_VSOCK
57304ba62fSAsias He	tristate "vhost virtio-vsock driver"
58213e7721SMichael S. Tsirkin	depends on VSOCKETS && EVENTFD
59304ba62fSAsias He	select VHOST
6020c384f1SJason Wang	select VIRTIO_VSOCKETS_COMMON
61304ba62fSAsias He	default n
62a7f7f624SMasahiro Yamada	help
63304ba62fSAsias He	This kernel module can be loaded in the host kernel to provide AF_VSOCK
64304ba62fSAsias He	sockets for communicating with guests.  The guests must have the
65304ba62fSAsias He	virtio_transport.ko driver loaded to use the virtio-vsock device.
66304ba62fSAsias He
67304ba62fSAsias He	To compile this driver as a module, choose M here: the module will be called
68304ba62fSAsias He	vhost_vsock.
69304ba62fSAsias He
704c8cf318STiwei Bieconfig VHOST_VDPA
714c8cf318STiwei Bie	tristate "Vhost driver for vDPA-based backend"
72213e7721SMichael S. Tsirkin	depends on EVENTFD
734c8cf318STiwei Bie	select VHOST
742cf1ba9aSZhu Lingshan	select IRQ_BYPASS_MANAGER
7558ad1372SMichael S. Tsirkin	depends on VDPA
764c8cf318STiwei Bie	help
774c8cf318STiwei Bie	  This kernel module can be loaded in host kernel to accelerate
784c8cf318STiwei Bie	  guest virtio devices with the vDPA-based backends.
794c8cf318STiwei Bie
804c8cf318STiwei Bie	  To compile this driver as a module, choose M here: the module
814c8cf318STiwei Bie	  will be called vhost_vdpa.
824c8cf318STiwei Bie
832751c988SGreg Kurzconfig VHOST_CROSS_ENDIAN_LEGACY
842751c988SGreg Kurz	bool "Cross-endian support for vhost"
852751c988SGreg Kurz	default n
86a7f7f624SMasahiro Yamada	help
872751c988SGreg Kurz	  This option allows vhost to support guests with a different byte
882751c988SGreg Kurz	  ordering from host while using legacy virtio.
892751c988SGreg Kurz
902751c988SGreg Kurz	  Userspace programs can control the feature using the
912751c988SGreg Kurz	  VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
922751c988SGreg Kurz
932751c988SGreg Kurz	  This is only useful on a few platforms (ppc64 and arm64). Since it
942751c988SGreg Kurz	  adds some overhead, it is disabled by default.
952751c988SGreg Kurz
962751c988SGreg Kurz	  If unsure, say "N".
970bbe3066SJason Wang
98*7d9896e9SCindy Luconfig VHOST_ENABLE_FORK_OWNER_CONTROL
99*7d9896e9SCindy Lu	bool "Enable VHOST_ENABLE_FORK_OWNER_CONTROL"
100*7d9896e9SCindy Lu	default y
101*7d9896e9SCindy Lu	help
102*7d9896e9SCindy Lu	  This option enables two IOCTLs: VHOST_SET_FORK_FROM_OWNER and
103*7d9896e9SCindy Lu	  VHOST_GET_FORK_FROM_OWNER. These allow userspace applications
104*7d9896e9SCindy Lu	  to modify the vhost worker mode for vhost devices.
105*7d9896e9SCindy Lu
106*7d9896e9SCindy Lu	  Also expose module parameter 'fork_from_owner_default' to allow users
107*7d9896e9SCindy Lu	  to configure the default mode for vhost workers.
108*7d9896e9SCindy Lu
109*7d9896e9SCindy Lu	  By default, `VHOST_ENABLE_FORK_OWNER_CONTROL` is set to `y`,
110*7d9896e9SCindy Lu	  users can change the worker thread mode as needed.
111*7d9896e9SCindy Lu	  If this config is disabled (n),the related IOCTLs and parameters will
112*7d9896e9SCindy Lu	  be unavailable.
113*7d9896e9SCindy Lu
114*7d9896e9SCindy Lu	  If unsure, say "Y".
115*7d9896e9SCindy Lu
11620c384f1SJason Wangendif
117