blob: 50f45d037611d0f3306a76367a245ea0da7a5291 [file] [log] [blame]
Jason Wang961e9c82020-03-26 22:01:21 +08001# SPDX-License-Identifier: GPL-2.0-only
Michael S. Tsirkin58ad1372020-04-12 04:36:55 -04002menuconfig VDPA
3 tristate "vDPA drivers"
Parav Pandit33b34752021-01-05 12:32:00 +02004 depends on NET
Jason Wang961e9c82020-03-26 22:01:21 +08005 help
6 Enable this module to support vDPA device that uses a
7 datapath which complies with virtio specifications with
8 vendor specific control path.
Jason Wang2c53d0f2020-03-26 22:01:24 +08009
Michael S. Tsirkin58ad1372020-04-12 04:36:55 -040010if VDPA
Jason Wang2c53d0f2020-03-26 22:01:24 +080011
12config VDPA_SIM
Max Gurtovoydb1e8bb2020-12-15 15:42:56 +010013 tristate "vDPA device simulator core"
Michael S. Tsirkin213e7722020-04-23 08:36:57 -040014 depends on RUNTIME_TESTING_MENU && HAS_DMA
Christoph Hellwig2f9237d2020-07-08 09:30:00 +020015 select DMA_OPS
Jason Wang2c53d0f2020-03-26 22:01:24 +080016 select VHOST_RING
Stefano Garzarella4080fc12021-03-15 17:34:37 +010017 select IOMMU_IOVA
Max Gurtovoydb1e8bb2020-12-15 15:42:56 +010018 help
19 Enable this module to support vDPA device simulators. These devices
20 are used for testing, prototyping and development of vDPA.
21
22config VDPA_SIM_NET
23 tristate "vDPA simulator for networking device"
24 depends on VDPA_SIM
Laurent Viviera312db62020-11-13 16:57:06 +010025 select GENERIC_NET_UTILS
Jason Wang2c53d0f2020-03-26 22:01:24 +080026 help
Max Gurtovoydb1e8bb2020-12-15 15:42:56 +010027 vDPA networking device simulator which loops TX traffic back to RX.
Jason Wang2c53d0f2020-03-26 22:01:24 +080028
Max Gurtovoy0c853c2c22021-03-15 17:34:47 +010029config VDPA_SIM_BLOCK
30 tristate "vDPA simulator for block device"
31 depends on VDPA_SIM
32 help
33 vDPA block device simulator which terminates IO request in a
34 memory buffer.
35
Xie Yongjic8a61532021-08-31 18:36:33 +080036config VDPA_USER
37 tristate "VDUSE (vDPA Device in Userspace) support"
38 depends on EVENTFD && MMU && HAS_DMA
39 select DMA_OPS
40 select VHOST_IOTLB
41 select IOMMU_IOVA
42 help
43 With VDUSE it is possible to emulate a vDPA Device
44 in a userspace program.
45
Zhu Lingshan5a2414b2020-03-26 22:01:25 +080046config IFCVF
Michael S. Tsirkin58ad1372020-04-12 04:36:55 -040047 tristate "Intel IFC VF vDPA driver"
Zhu Lingshan5a2414b2020-03-26 22:01:25 +080048 depends on PCI_MSI
Zhu Lingshan5a2414b2020-03-26 22:01:25 +080049 help
50 This kernel module can drive Intel IFC VF NIC to offload
51 virtio dataplane traffic to hardware.
52 To compile this driver as a module, choose M here: the module will
53 be called ifcvf.
54
Eli Cohen29064bf2020-08-04 19:20:46 +030055config MLX5_VDPA
Eli Cohenaff90772020-10-07 09:40:11 +030056 bool
Randy Dunlap98701a22020-11-28 13:39:05 -080057 select VHOST_IOTLB
Eli Cohen29064bf2020-08-04 19:20:46 +030058 help
59 Support library for Mellanox VDPA drivers. Provides code that is
60 common for all types of VDPA drivers. The following drivers are planned:
61 net, block.
62
Eli Cohen1a86b372020-08-04 19:20:48 +030063config MLX5_VDPA_NET
64 tristate "vDPA driver for ConnectX devices"
Eli Cohenaff90772020-10-07 09:40:11 +030065 select MLX5_VDPA
Eli Cohen52629122021-08-23 08:21:22 +030066 select VHOST_RING
Eli Cohenaff90772020-10-07 09:40:11 +030067 depends on MLX5_CORE
Eli Cohen1a86b372020-08-04 19:20:48 +030068 help
69 VDPA network driver for ConnectX6 and newer. Provides offloading
70 of virtio net datapath such that descriptors put on the ring will
71 be executed by the hardware. It also supports a variety of stateless
72 offloads depending on the actual device used and firmware version.
73
Jason Wang64b9f642021-02-23 14:19:05 +080074config VP_VDPA
75 tristate "Virtio PCI bridge vDPA driver"
76 select VIRTIO_PCI_LIB
77 depends on PCI_MSI
78 help
79 This kernel module bridges virtio PCI device to vDPA bus.
80
Wu Zongyonge85087b2021-10-29 17:14:49 +080081config ALIBABA_ENI_VDPA
82 tristate "vDPA driver for Alibaba ENI"
83 select VIRTIO_PCI_LIB_LEGACY
84 depends on PCI_MSI && X86
85 help
86 VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
87 virtio 0.9.5 specification.
88
Michael S. Tsirkin58ad1372020-04-12 04:36:55 -040089endif # VDPA