145 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2menuconfig VDPA3 tristate "vDPA drivers"4 depends on NET5 help6 Enable this module to support vDPA device that uses a7 datapath which complies with virtio specifications with8 vendor specific control path.9 10if VDPA11 12config VDPA_SIM13 tristate "vDPA device simulator core"14 depends on RUNTIME_TESTING_MENU15 select VHOST_RING16 select IOMMU_IOVA17 help18 Enable this module to support vDPA device simulators. These devices19 are used for testing, prototyping and development of vDPA.20 21config VDPA_SIM_NET22 tristate "vDPA simulator for networking device"23 depends on VDPA_SIM24 select GENERIC_NET_UTILS25 help26 vDPA networking device simulator which loops TX traffic back to RX.27 28config VDPA_SIM_BLOCK29 tristate "vDPA simulator for block device"30 depends on VDPA_SIM31 help32 vDPA block device simulator which terminates IO request in a33 memory buffer.34 35config VDPA_USER36 tristate "VDUSE (vDPA Device in Userspace) support"37 depends on EVENTFD && MMU && HAS_DMA38 #39 # This driver incorrectly tries to override the dma_ops. It should40 # never have done that, but for now keep it working on architectures41 # that use dma ops42 #43 depends on ARCH_HAS_DMA_OPS44 select VHOST_IOTLB45 select IOMMU_IOVA46 help47 With VDUSE it is possible to emulate a vDPA Device48 in a userspace program.49 50config IFCVF51 tristate "Intel IFC VF vDPA driver"52 depends on PCI_MSI53 help54 This kernel module can drive Intel IFC VF NIC to offload55 virtio dataplane traffic to hardware.56 To compile this driver as a module, choose M here: the module will57 be called ifcvf.58 59config MLX5_VDPA60 bool61 select VHOST_IOTLB62 help63 Support library for Mellanox VDPA drivers. Provides code that is64 common for all types of VDPA drivers. The following drivers are planned:65 net, block.66 67config MLX5_VDPA_NET68 tristate "vDPA driver for ConnectX devices"69 select MLX5_VDPA70 select VHOST_RING71 depends on MLX5_CORE72 help73 VDPA network driver for ConnectX6 and newer. Provides offloading74 of virtio net datapath such that descriptors put on the ring will75 be executed by the hardware. It also supports a variety of stateless76 offloads depending on the actual device used and firmware version.77 78config MLX5_VDPA_STEERING_DEBUG79 bool "expose steering counters on debugfs"80 select MLX5_VDPA81 help82 Expose RX steering counters in debugfs to aid in debugging. For each VLAN83 or non VLAN interface, two hardware counters are added to the RX flow84 table: one for unicast and one for multicast.85 The counters counts the number of packets and bytes and exposes them in86 debugfs. Once can read the counters using, e.g.:87 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets88 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes89 90config VP_VDPA91 tristate "Virtio PCI bridge vDPA driver"92 select VIRTIO_PCI_LIB93 depends on PCI_MSI94 help95 This kernel module bridges virtio PCI device to vDPA bus.96 97config ALIBABA_ENI_VDPA98 tristate "vDPA driver for Alibaba ENI"99 select VIRTIO_PCI_LIB_LEGACY100 depends on PCI_MSI && X86101 help102 VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon103 virtio 0.9.5 specification.104 105 config SNET_VDPA106 tristate "SolidRun's vDPA driver for SolidNET"107 depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)108 109 # This driver MAY create a HWMON device.110 # Depending on (HWMON || HWMON=n) ensures that:111 # If HWMON=n the driver can be compiled either as a module or built-in.112 # If HWMON=y the driver can be compiled either as a module or built-in.113 # If HWMON=m the driver is forced to be compiled as a module.114 # By doing so, IS_ENABLED can be used instead of IS_REACHABLE115 116 help117 vDPA driver for SolidNET DPU.118 With this driver, the VirtIO dataplane can be119 offloaded to a SolidNET DPU.120 This driver includes a HW monitor device that121 reads health values from the DPU.122 123config PDS_VDPA124 tristate "vDPA driver for AMD/Pensando DSC devices"125 select VIRTIO_PCI_LIB126 depends on PCI_MSI127 depends on PDS_CORE128 help129 vDPA network driver for AMD/Pensando's PDS Core devices.130 With this driver, the VirtIO dataplane can be131 offloaded to an AMD/Pensando DSC device.132 133config OCTEONEP_VDPA134 tristate "vDPA driver for Octeon DPU devices"135 depends on m136 depends on PCI_MSI137 help138 This is a vDPA driver designed for Marvell's Octeon DPU devices.139 This driver enables the offloading of the VirtIO dataplane to an140 Octeon DPU device.141 Please note that this driver must be built as a module and it142 cannot be loaded until the Octeon emulation software is running.143 144endif # VDPA145