The VirtIO IOMMU device spec is to be merged upstream soon and this page is to be updated. The best info regarding the current state can be found on the developer's web page: http://jpbrucker.net.



AvailabilityAcceptance in the VIRTIO standardProposal for the standardDe facto standardImplementation statusIn QEMU / Linux kernelFOSSS in a GitHub RepoCommercial / closed-source implementationOther implementationsComplexity estimationPerformanceCode maturity
virtio-iommuYesExpected to land in 1.2

Final proposal v0.4 [1].

No

The device can handle attach/detach and map/unmap requests from a guest.

YesYes: kernel (upstream since 5.3) [2], QEMU [3]
ARM SMMUv3 Emulation [4]Low/Medium

Low, see [5] page 21, needs testing

Medium


[1] https://github.com/oasis-tcs/virtio-spec/issues/37

[2] https://github.com/torvalds/linux/blob/v5.3/drivers/iommu/virtio-iommu.c

[3] https://github.com/eauger/qemu/tree/v4.0-virtio-iommu-v0.12

[4] https://patchwork.ozlabs.org/cover/904249/

[5] http://events17.linuxfoundation.org/sites/events/files/slides/viommu_arm.pdf

  • No labels

1 Comment

  1. The draft specification has been updated to 0.8. Diffs between 0.7 and 0.8 can be found here: http://jpbrucker.net/virtio-iommu/spec/diffs/virtio-iommu-pdf-diff-v0.7-v0.8.pdf.