1c9b9f5f8SMichael S. Tsirkin# SPDX-License-Identifier: GPL-2.0-only 258ad1372SMichael S. Tsirkinmenuconfig VDPA 358ad1372SMichael S. Tsirkin tristate "vDPA drivers" 433b34750SParav Pandit depends on NET 5c9b9f5f8SMichael S. Tsirkin help 6c9b9f5f8SMichael S. Tsirkin Enable this module to support vDPA device that uses a 7c9b9f5f8SMichael S. Tsirkin datapath which complies with virtio specifications with 8c9b9f5f8SMichael S. Tsirkin vendor specific control path. 9c9b9f5f8SMichael S. Tsirkin 1058ad1372SMichael S. Tsirkinif VDPA 11c9b9f5f8SMichael S. Tsirkin 12c9b9f5f8SMichael S. Tsirkinconfig VDPA_SIM 13db1e8bb6SMax Gurtovoy tristate "vDPA device simulator core" 14213e7721SMichael S. Tsirkin depends on RUNTIME_TESTING_MENU && HAS_DMA 152f9237d4SChristoph Hellwig select DMA_OPS 16c9b9f5f8SMichael S. Tsirkin select VHOST_RING 174080fc10SStefano Garzarella select IOMMU_IOVA 18db1e8bb6SMax Gurtovoy help 19db1e8bb6SMax Gurtovoy Enable this module to support vDPA device simulators. These devices 20db1e8bb6SMax Gurtovoy are used for testing, prototyping and development of vDPA. 21db1e8bb6SMax Gurtovoy 22db1e8bb6SMax Gurtovoyconfig VDPA_SIM_NET 23db1e8bb6SMax Gurtovoy tristate "vDPA simulator for networking device" 24db1e8bb6SMax Gurtovoy depends on VDPA_SIM 25a312db69SLaurent Vivier select GENERIC_NET_UTILS 26c9b9f5f8SMichael S. Tsirkin help 27db1e8bb6SMax Gurtovoy vDPA networking device simulator which loops TX traffic back to RX. 28c9b9f5f8SMichael S. Tsirkin 290c853c2cSMax Gurtovoyconfig VDPA_SIM_BLOCK 300c853c2cSMax Gurtovoy tristate "vDPA simulator for block device" 310c853c2cSMax Gurtovoy depends on VDPA_SIM 320c853c2cSMax Gurtovoy help 330c853c2cSMax Gurtovoy vDPA block device simulator which terminates IO request in a 340c853c2cSMax Gurtovoy memory buffer. 350c853c2cSMax Gurtovoy 36c8a6153bSXie Yongjiconfig VDPA_USER 37c8a6153bSXie Yongji tristate "VDUSE (vDPA Device in Userspace) support" 38c8a6153bSXie Yongji depends on EVENTFD && MMU && HAS_DMA 39c8a6153bSXie Yongji select DMA_OPS 40c8a6153bSXie Yongji select VHOST_IOTLB 41c8a6153bSXie Yongji select IOMMU_IOVA 42c8a6153bSXie Yongji help 43c8a6153bSXie Yongji With VDUSE it is possible to emulate a vDPA Device 44c8a6153bSXie Yongji in a userspace program. 45c8a6153bSXie Yongji 46c9b9f5f8SMichael S. Tsirkinconfig IFCVF 4758ad1372SMichael S. Tsirkin tristate "Intel IFC VF vDPA driver" 48c9b9f5f8SMichael S. Tsirkin depends on PCI_MSI 49c9b9f5f8SMichael S. Tsirkin help 50c9b9f5f8SMichael S. Tsirkin This kernel module can drive Intel IFC VF NIC to offload 51c9b9f5f8SMichael S. Tsirkin virtio dataplane traffic to hardware. 52c9b9f5f8SMichael S. Tsirkin To compile this driver as a module, choose M here: the module will 53c9b9f5f8SMichael S. Tsirkin be called ifcvf. 54c9b9f5f8SMichael S. Tsirkin 5529064bfdSEli Cohenconfig MLX5_VDPA 56aff90770SEli Cohen bool 5798701a2aSRandy Dunlap select VHOST_IOTLB 5829064bfdSEli Cohen help 5929064bfdSEli Cohen Support library for Mellanox VDPA drivers. Provides code that is 6029064bfdSEli Cohen common for all types of VDPA drivers. The following drivers are planned: 6129064bfdSEli Cohen net, block. 6229064bfdSEli Cohen 631a86b377SEli Cohenconfig MLX5_VDPA_NET 641a86b377SEli Cohen tristate "vDPA driver for ConnectX devices" 65aff90770SEli Cohen select MLX5_VDPA 665262912eSEli Cohen select VHOST_RING 67aff90770SEli Cohen depends on MLX5_CORE 681a86b377SEli Cohen help 691a86b377SEli Cohen VDPA network driver for ConnectX6 and newer. Provides offloading 701a86b377SEli Cohen of virtio net datapath such that descriptors put on the ring will 711a86b377SEli Cohen be executed by the hardware. It also supports a variety of stateless 721a86b377SEli Cohen offloads depending on the actual device used and firmware version. 731a86b377SEli Cohen 740a599750SEli Cohenconfig MLX5_VDPA_STEERING_DEBUG 750a599750SEli Cohen bool "expose steering counters on debugfs" 760a599750SEli Cohen select MLX5_VDPA 770a599750SEli Cohen help 780a599750SEli Cohen Expose RX steering counters in debugfs to aid in debugging. For each VLAN 790a599750SEli Cohen or non VLAN interface, two hardware counters are added to the RX flow 800a599750SEli Cohen table: one for unicast and one for multicast. 810a599750SEli Cohen The counters counts the number of packets and bytes and exposes them in 820a599750SEli Cohen debugfs. Once can read the counters using, e.g.: 830a599750SEli Cohen cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets 840a599750SEli Cohen cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes 850a599750SEli Cohen 8664b9f64fSJason Wangconfig VP_VDPA 8764b9f64fSJason Wang tristate "Virtio PCI bridge vDPA driver" 8864b9f64fSJason Wang select VIRTIO_PCI_LIB 8964b9f64fSJason Wang depends on PCI_MSI 9064b9f64fSJason Wang help 9164b9f64fSJason Wang This kernel module bridges virtio PCI device to vDPA bus. 9264b9f64fSJason Wang 93e85087beSWu Zongyongconfig ALIBABA_ENI_VDPA 94e85087beSWu Zongyong tristate "vDPA driver for Alibaba ENI" 95e85087beSWu Zongyong select VIRTIO_PCI_LIB_LEGACY 96e85087beSWu Zongyong depends on PCI_MSI && X86 97e85087beSWu Zongyong help 98e85087beSWu Zongyong VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon 99e85087beSWu Zongyong virtio 0.9.5 specification. 100e85087beSWu Zongyong 10151a8f9d7SAlvaro Karsz config SNET_VDPA 10251a8f9d7SAlvaro Karsz tristate "SolidRun's vDPA driver for SolidNET" 10351a8f9d7SAlvaro Karsz depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n) 10451a8f9d7SAlvaro Karsz 10551a8f9d7SAlvaro Karsz # This driver MAY create a HWMON device. 10651a8f9d7SAlvaro Karsz # Depending on (HWMON || HWMON=n) ensures that: 10751a8f9d7SAlvaro Karsz # If HWMON=n the driver can be compiled either as a module or built-in. 10851a8f9d7SAlvaro Karsz # If HWMON=y the driver can be compiled either as a module or built-in. 10951a8f9d7SAlvaro Karsz # If HWMON=m the driver is forced to be compiled as a module. 11051a8f9d7SAlvaro Karsz # By doing so, IS_ENABLED can be used instead of IS_REACHABLE 11151a8f9d7SAlvaro Karsz 11251a8f9d7SAlvaro Karsz help 11351a8f9d7SAlvaro Karsz vDPA driver for SolidNET DPU. 11451a8f9d7SAlvaro Karsz With this driver, the VirtIO dataplane can be 11551a8f9d7SAlvaro Karsz offloaded to a SolidNET DPU. 11651a8f9d7SAlvaro Karsz This driver includes a HW monitor device that 11751a8f9d7SAlvaro Karsz reads health values from the DPU. 11851a8f9d7SAlvaro Karsz 119*9a8864d2SShannon Nelsonconfig PDS_VDPA 120*9a8864d2SShannon Nelson tristate "vDPA driver for AMD/Pensando DSC devices" 121*9a8864d2SShannon Nelson select VIRTIO_PCI_LIB 122*9a8864d2SShannon Nelson depends on PCI_MSI 123*9a8864d2SShannon Nelson depends on PDS_CORE 124*9a8864d2SShannon Nelson help 125*9a8864d2SShannon Nelson vDPA network driver for AMD/Pensando's PDS Core devices. 126*9a8864d2SShannon Nelson With this driver, the VirtIO dataplane can be 127*9a8864d2SShannon Nelson offloaded to an AMD/Pensando DSC device. 128*9a8864d2SShannon Nelson 12958ad1372SMichael S. Tsirkinendif # VDPA 130