Jason Wang | 961e9c8 | 2020-03-26 22:01:21 +0800 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Michael S. Tsirkin | 58ad137 | 2020-04-12 04:36:55 -0400 | [diff] [blame] | 2 | menuconfig VDPA |
| 3 | tristate "vDPA drivers" |
Parav Pandit | 33b3475 | 2021-01-05 12:32:00 +0200 | [diff] [blame] | 4 | depends on NET |
Jason Wang | 961e9c8 | 2020-03-26 22:01:21 +0800 | [diff] [blame] | 5 | 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 Wang | 2c53d0f | 2020-03-26 22:01:24 +0800 | [diff] [blame] | 9 | |
Michael S. Tsirkin | 58ad137 | 2020-04-12 04:36:55 -0400 | [diff] [blame] | 10 | if VDPA |
Jason Wang | 2c53d0f | 2020-03-26 22:01:24 +0800 | [diff] [blame] | 11 | |
| 12 | config VDPA_SIM |
Max Gurtovoy | db1e8bb | 2020-12-15 15:42:56 +0100 | [diff] [blame] | 13 | tristate "vDPA device simulator core" |
Michael S. Tsirkin | 213e772 | 2020-04-23 08:36:57 -0400 | [diff] [blame] | 14 | depends on RUNTIME_TESTING_MENU && HAS_DMA |
Christoph Hellwig | 2f9237d | 2020-07-08 09:30:00 +0200 | [diff] [blame] | 15 | select DMA_OPS |
Jason Wang | 2c53d0f | 2020-03-26 22:01:24 +0800 | [diff] [blame] | 16 | select VHOST_RING |
Stefano Garzarella | 4080fc1 | 2021-03-15 17:34:37 +0100 | [diff] [blame] | 17 | select IOMMU_IOVA |
Max Gurtovoy | db1e8bb | 2020-12-15 15:42:56 +0100 | [diff] [blame] | 18 | help |
| 19 | Enable this module to support vDPA device simulators. These devices |
| 20 | are used for testing, prototyping and development of vDPA. |
| 21 | |
| 22 | config VDPA_SIM_NET |
| 23 | tristate "vDPA simulator for networking device" |
| 24 | depends on VDPA_SIM |
Laurent Vivier | a312db6 | 2020-11-13 16:57:06 +0100 | [diff] [blame] | 25 | select GENERIC_NET_UTILS |
Jason Wang | 2c53d0f | 2020-03-26 22:01:24 +0800 | [diff] [blame] | 26 | help |
Max Gurtovoy | db1e8bb | 2020-12-15 15:42:56 +0100 | [diff] [blame] | 27 | vDPA networking device simulator which loops TX traffic back to RX. |
Jason Wang | 2c53d0f | 2020-03-26 22:01:24 +0800 | [diff] [blame] | 28 | |
Max Gurtovoy | 0c853c2c2 | 2021-03-15 17:34:47 +0100 | [diff] [blame] | 29 | config 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 Yongji | c8a6153 | 2021-08-31 18:36:33 +0800 | [diff] [blame] | 36 | config 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 Lingshan | 5a2414b | 2020-03-26 22:01:25 +0800 | [diff] [blame] | 46 | config IFCVF |
Michael S. Tsirkin | 58ad137 | 2020-04-12 04:36:55 -0400 | [diff] [blame] | 47 | tristate "Intel IFC VF vDPA driver" |
Zhu Lingshan | 5a2414b | 2020-03-26 22:01:25 +0800 | [diff] [blame] | 48 | depends on PCI_MSI |
Zhu Lingshan | 5a2414b | 2020-03-26 22:01:25 +0800 | [diff] [blame] | 49 | 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 Cohen | 29064bf | 2020-08-04 19:20:46 +0300 | [diff] [blame] | 55 | config MLX5_VDPA |
Eli Cohen | aff9077 | 2020-10-07 09:40:11 +0300 | [diff] [blame] | 56 | bool |
Randy Dunlap | 98701a2 | 2020-11-28 13:39:05 -0800 | [diff] [blame] | 57 | select VHOST_IOTLB |
Eli Cohen | 29064bf | 2020-08-04 19:20:46 +0300 | [diff] [blame] | 58 | 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 Cohen | 1a86b37 | 2020-08-04 19:20:48 +0300 | [diff] [blame] | 63 | config MLX5_VDPA_NET |
| 64 | tristate "vDPA driver for ConnectX devices" |
Eli Cohen | aff9077 | 2020-10-07 09:40:11 +0300 | [diff] [blame] | 65 | select MLX5_VDPA |
Eli Cohen | 5262912 | 2021-08-23 08:21:22 +0300 | [diff] [blame] | 66 | select VHOST_RING |
Eli Cohen | aff9077 | 2020-10-07 09:40:11 +0300 | [diff] [blame] | 67 | depends on MLX5_CORE |
Eli Cohen | 1a86b37 | 2020-08-04 19:20:48 +0300 | [diff] [blame] | 68 | 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 Wang | 64b9f64 | 2021-02-23 14:19:05 +0800 | [diff] [blame] | 74 | config 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 Zongyong | e85087b | 2021-10-29 17:14:49 +0800 | [diff] [blame] | 81 | config 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. Tsirkin | 58ad137 | 2020-04-12 04:36:55 -0400 | [diff] [blame] | 89 | endif # VDPA |