mbox

[RFC,0/7] support vfio platform PMD

Message ID 20221222232436.643514-1-tduszynski@marvell.com (mailing list archive)
Headers

Message

Tomasz Duszynski Dec. 22, 2022, 11:24 p.m. UTC
  This series aims to add support for managing vfio platform
devices from userspace application conveniently i.e
without going through the configuration required by vfio
and opencoding everything. Instead convenience helpers
are provided.

vfio platform devices, from the kernel standpoint, are ones
that do not have built-in discovery capabilities and are
behind an IOMMU.

This PMD is backed by both vfio-platform and vfio
kernel drivers and ideally should give access to all
vfio capabilities. As of now, access to memory maps and
DMA are supported.

PMD requires platform bus support [1].

[1] https://lore.kernel.org/dpdk-dev/20221222000106.270619-1-tduszynski@marvell.com/

Tomasz Duszynski (7):
  lib: add helper to read strings from sysfs files
  raw/vfio_platform: add driver skeleton
  raw/vfio_platform: add platform probe and remove
  raw/vfio_platform: support rawdev close
  raw/vfio_platform: support rawdev configure
  raw/vfio_platform: support rawdev device info
  raw/vfio_platform: support DMA map/unmap

 app/test/test_eal_fs.c                        | 108 ++++-
 doc/guides/rawdevs/index.rst                  |   1 +
 doc/guides/rawdevs/vfio_platform.rst          |  24 +
 drivers/raw/meson.build                       |   1 +
 drivers/raw/vfio_platform/meson.build         |  16 +
 .../raw/vfio_platform/rte_pmd_vfio_platform.h | 129 +++++
 drivers/raw/vfio_platform/version.map         |  12 +
 drivers/raw/vfio_platform/vfio_platform.c     | 449 ++++++++++++++++++
 drivers/raw/vfio_platform/vfio_platform.h     |  35 ++
 lib/eal/common/eal_filesystem.h               |   6 +
 lib/eal/unix/eal_filesystem.c                 |  24 +-
 lib/eal/version.map                           |   3 +
 12 files changed, 790 insertions(+), 18 deletions(-)
 create mode 100644 doc/guides/rawdevs/vfio_platform.rst
 create mode 100644 drivers/raw/vfio_platform/meson.build
 create mode 100644 drivers/raw/vfio_platform/rte_pmd_vfio_platform.h
 create mode 100644 drivers/raw/vfio_platform/version.map
 create mode 100644 drivers/raw/vfio_platform/vfio_platform.c
 create mode 100644 drivers/raw/vfio_platform/vfio_platform.h

--
2.25.1