xref: /kernel/linux/linux-5.10/drivers/vhost/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig VHOST_IOTLB
38c2ecf20Sopenharmony_ci	tristate
48c2ecf20Sopenharmony_ci	help
58c2ecf20Sopenharmony_ci	  Generic IOTLB implementation for vhost and vringh.
68c2ecf20Sopenharmony_ci	  This option is selected by any driver which needs to support
78c2ecf20Sopenharmony_ci	  an IOMMU in software.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciconfig VHOST_RING
108c2ecf20Sopenharmony_ci	tristate
118c2ecf20Sopenharmony_ci	select VHOST_IOTLB
128c2ecf20Sopenharmony_ci	help
138c2ecf20Sopenharmony_ci	  This option is selected by any driver which needs to access
148c2ecf20Sopenharmony_ci	  the host side of a virtio ring.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciconfig VHOST
178c2ecf20Sopenharmony_ci	tristate
188c2ecf20Sopenharmony_ci	select VHOST_IOTLB
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  This option is selected by any driver which needs to access
218c2ecf20Sopenharmony_ci	  the core of vhost.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_cimenuconfig VHOST_MENU
248c2ecf20Sopenharmony_ci	bool "VHOST drivers"
258c2ecf20Sopenharmony_ci	default y
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciif VHOST_MENU
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig VHOST_NET
308c2ecf20Sopenharmony_ci	tristate "Host kernel accelerator for virtio net"
318c2ecf20Sopenharmony_ci	depends on NET && EVENTFD && (TUN || !TUN) && (TAP || !TAP)
328c2ecf20Sopenharmony_ci	select VHOST
338c2ecf20Sopenharmony_ci	help
348c2ecf20Sopenharmony_ci	  This kernel module can be loaded in host kernel to accelerate
358c2ecf20Sopenharmony_ci	  guest networking with virtio_net. Not to be confused with virtio_net
368c2ecf20Sopenharmony_ci	  module itself which needs to be loaded in guest kernel.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
398c2ecf20Sopenharmony_ci	  be called vhost_net.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciconfig VHOST_SCSI
428c2ecf20Sopenharmony_ci	tristate "VHOST_SCSI TCM fabric driver"
438c2ecf20Sopenharmony_ci	depends on TARGET_CORE && EVENTFD
448c2ecf20Sopenharmony_ci	select VHOST
458c2ecf20Sopenharmony_ci	default n
468c2ecf20Sopenharmony_ci	help
478c2ecf20Sopenharmony_ci	Say M here to enable the vhost_scsi TCM fabric module
488c2ecf20Sopenharmony_ci	for use with virtio-scsi guests
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig VHOST_VSOCK
518c2ecf20Sopenharmony_ci	tristate "vhost virtio-vsock driver"
528c2ecf20Sopenharmony_ci	depends on VSOCKETS && EVENTFD
538c2ecf20Sopenharmony_ci	select VHOST
548c2ecf20Sopenharmony_ci	select VIRTIO_VSOCKETS_COMMON
558c2ecf20Sopenharmony_ci	default n
568c2ecf20Sopenharmony_ci	help
578c2ecf20Sopenharmony_ci	This kernel module can be loaded in the host kernel to provide AF_VSOCK
588c2ecf20Sopenharmony_ci	sockets for communicating with guests.  The guests must have the
598c2ecf20Sopenharmony_ci	virtio_transport.ko driver loaded to use the virtio-vsock device.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	To compile this driver as a module, choose M here: the module will be called
628c2ecf20Sopenharmony_ci	vhost_vsock.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig VHOST_VDPA
658c2ecf20Sopenharmony_ci	tristate "Vhost driver for vDPA-based backend"
668c2ecf20Sopenharmony_ci	depends on EVENTFD
678c2ecf20Sopenharmony_ci	select VHOST
688c2ecf20Sopenharmony_ci	select IRQ_BYPASS_MANAGER
698c2ecf20Sopenharmony_ci	depends on VDPA
708c2ecf20Sopenharmony_ci	help
718c2ecf20Sopenharmony_ci	  This kernel module can be loaded in host kernel to accelerate
728c2ecf20Sopenharmony_ci	  guest virtio devices with the vDPA-based backends.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module
758c2ecf20Sopenharmony_ci	  will be called vhost_vdpa.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciconfig VHOST_CROSS_ENDIAN_LEGACY
788c2ecf20Sopenharmony_ci	bool "Cross-endian support for vhost"
798c2ecf20Sopenharmony_ci	default n
808c2ecf20Sopenharmony_ci	help
818c2ecf20Sopenharmony_ci	  This option allows vhost to support guests with a different byte
828c2ecf20Sopenharmony_ci	  ordering from host while using legacy virtio.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci	  Userspace programs can control the feature using the
858c2ecf20Sopenharmony_ci	  VHOST_SET_VRING_ENDIAN and VHOST_GET_VRING_ENDIAN ioctls.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	  This is only useful on a few platforms (ppc64 and arm64). Since it
888c2ecf20Sopenharmony_ci	  adds some overhead, it is disabled by default.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci	  If unsure, say "N".
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciendif
93