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.
Availability | Acceptance in the VIRTIO standard | Proposal for the standard | De facto standard | Implementation status | In QEMU / Linux kernel | FOSSS in a GitHub Repo | Commercial / closed-source implementation | Other implementations | Complexity estimation | Performance | Code maturity | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
virtio-iommu | Yes | Expected to land in 1.2 | Final proposal v0.4 [1]. | No | The device can handle attach/detach and map/unmap requests from a guest. | Yes | Yes: 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
1 Comment
Dmitry Morozov
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.