summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/virtio_ids.h
diff options
context:
space:
mode:
authorJean-Philippe Brucker2019-01-15 13:19:57 +0100
committerMichael S. Tsirkin2019-06-06 23:32:13 +0200
commitedcd69ab9a323b7ac7a86e1c44b6c9c46598391f (patch)
treeb19a8c6d94e984d9f4d926d39a141052520df236 /include/uapi/linux/virtio_ids.h
parentPCI: OF: Initialize dev->fwnode appropriately (diff)
downloadkernel-qcow2-linux-edcd69ab9a323b7ac7a86e1c44b6c9c46598391f.tar.gz
kernel-qcow2-linux-edcd69ab9a323b7ac7a86e1c44b6c9c46598391f.tar.xz
kernel-qcow2-linux-edcd69ab9a323b7ac7a86e1c44b6c9c46598391f.zip
iommu: Add virtio-iommu driver
The virtio IOMMU is a para-virtualized device, allowing to send IOMMU requests such as map/unmap over virtio transport without emulating page tables. This implementation handles ATTACH, DETACH, MAP and UNMAP requests. The bulk of the code transforms calls coming from the IOMMU API into corresponding virtio requests. Mappings are kept in an interval tree instead of page tables. A little more work is required for modular and x86 support, so for the moment the driver depends on CONFIG_VIRTIO=y and CONFIG_ARM64. Tested-by: Bharat Bhushan <bharat.bhushan@nxp.com> Tested-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/uapi/linux/virtio_ids.h')
-rw-r--r--include/uapi/linux/virtio_ids.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h
index 6d5c3b2d4f4d..cfe47c5d9a56 100644
--- a/include/uapi/linux/virtio_ids.h
+++ b/include/uapi/linux/virtio_ids.h
@@ -43,5 +43,6 @@
#define VIRTIO_ID_INPUT 18 /* virtio input */
#define VIRTIO_ID_VSOCK 19 /* virtio vsock transport */
#define VIRTIO_ID_CRYPTO 20 /* virtio crypto */
+#define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */
#endif /* _LINUX_VIRTIO_IDS_H */