Hi, Linux now provides a VFIO dmabuf exporter to expose PCI BAR memory for P2P use cases. This adds support for vfio devices to create a dmabuf for each mapped BAR region.
Changes from v3: https://lore.kernel.org/qemu-devel/[email protected]/ - Folded in patch #2 to linux-headers update to avoid bisect failure due to build error. The dmabuf support was sanity tested on an NVIDIA grace paltform. Please take a look and let me know. Thanks, Shameer Nicolin Chen (1): hw/vfio/region: Create dmabuf for PCI BAR per region Shameer Kolothum (2): linux-headers: Update to Linux v6.19-rc1 hw/vfio: Add helper to retrieve device feature hw/net/virtio-net.c | 11 +- hw/vfio/container.c | 2 +- hw/vfio/device.c | 9 ++ hw/vfio/listener.c | 4 +- hw/vfio/region.c | 65 +++++++++- hw/vfio/trace-events | 1 + include/hw/vfio/vfio-device.h | 3 + include/standard-headers/drm/drm_fourcc.h | 25 ++-- include/standard-headers/linux/ethtool.h | 5 + .../linux/input-event-codes.h | 14 ++- include/standard-headers/linux/pci_regs.h | 89 ++++++++++++++ include/standard-headers/linux/virtio_net.h | 3 +- include/standard-headers/linux/virtio_pci.h | 2 +- linux-headers/asm-arm64/kvm.h | 2 +- linux-headers/asm-arm64/unistd_64.h | 1 + linux-headers/asm-generic/unistd.h | 4 +- linux-headers/asm-loongarch/kvm.h | 1 + linux-headers/asm-loongarch/unistd.h | 6 + linux-headers/asm-loongarch/unistd_64.h | 1 + linux-headers/asm-mips/unistd_n32.h | 1 + linux-headers/asm-mips/unistd_n64.h | 1 + linux-headers/asm-mips/unistd_o32.h | 1 + linux-headers/asm-powerpc/unistd_32.h | 1 + linux-headers/asm-powerpc/unistd_64.h | 1 + linux-headers/asm-riscv/kvm.h | 3 + linux-headers/asm-riscv/unistd_32.h | 1 + linux-headers/asm-riscv/unistd_64.h | 1 + linux-headers/asm-s390/bitsperlong.h | 4 - linux-headers/asm-s390/unistd.h | 4 - linux-headers/asm-s390/unistd_64.h | 9 +- linux-headers/asm-x86/kvm.h | 1 + linux-headers/asm-x86/unistd_32.h | 1 + linux-headers/asm-x86/unistd_64.h | 1 + linux-headers/asm-x86/unistd_x32.h | 1 + linux-headers/linux/iommufd.h | 10 ++ linux-headers/linux/kvm.h | 11 ++ linux-headers/linux/mshv.h | 116 +++++++++++++++++- linux-headers/linux/psp-sev.h | 66 ++++++---- linux-headers/linux/vfio.h | 28 +++++ 39 files changed, 450 insertions(+), 60 deletions(-) -- 2.43.0
