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.
Requires linux-headers update to 6.19-rc1(patch #1). That update introduces a virtio-net build issue, which is addressed by patch #2. 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/net/virtio-net: Adapt hash handling to updated UAPI hw/net/virtio-net.c | 11 +- hw/vfio/region.c | 57 ++- hw/vfio/trace-events | 1 + 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_32.h | 446 ------------------ 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 ++ 36 files changed, 427 insertions(+), 503 deletions(-) delete mode 100644 linux-headers/asm-s390/unistd_32.h -- 2.43.0
