diff options
author | Jean-Philippe Brucker <jean-philippe.brucker@arm.com> | 2019-01-15 15:19:57 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2019-06-07 00:32:13 +0300 |
commit | edcd69ab9a323b7ac7a86e1c44b6c9c46598391f (patch) | |
tree | b19a8c6d94e984d9f4d926d39a141052520df236 /include/uapi/linux/virtio_ids.h | |
parent | 59b099a6c75e4ddceeaf9676422d8d91d0049755 (diff) | |
download | linux-edcd69ab9a323b7ac7a86e1c44b6c9c46598391f.tar.xz |
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.h | 1 |
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 */ |