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-tduszyn...@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