These patches will use bounce buffers when VIRTIO_F_IOMMU_PLATFORM feature is in a virtio device.
This feature can be tested with qemu with -device virtio-iommu-pci. So that when a -device virtio-blk-pci with iommu_platform=true, it will uses the bounce buffer instead. Will Deacon (6): virtio: Expose VIRTIO_F_IOMMU_PLATFORM in device features virtio: pci: Tear down VQs in virtio_pci_reset() virtio: Allocate virtqueue in page-size units virtio: Add helper functions to attach/detach vring descriptors virtio: Allocate bounce buffers for devices with VIRTIO_F_IOMMU_PLATFORM virtio: Use bounce buffers when VIRTIO_F_IOMMU_PLATFORM is set drivers/virtio/virtio-uclass.c | 2 +- drivers/virtio/virtio_pci_modern.c | 38 +++++------ drivers/virtio/virtio_ring.c | 101 ++++++++++++++++++++++++++--- include/virtio_ring.h | 21 +++--- 4 files changed, 125 insertions(+), 37 deletions(-) -- 2.39.2