aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorThanos Makatos <thanos.makatos@nutanix.com>2021-05-26 09:45:05 +0100
committerGitHub <noreply@github.com>2021-05-26 09:45:05 +0100
commitaf573e10982f8b240927674d9be72d99aa39dd81 (patch)
treeeba36998c42250260ccc3fb884eeacb61f16fc76 /include
parentbd32c19beaac4007207b682e2d9e55ddeea5a5f6 (diff)
downloadlibvfio-user-af573e10982f8b240927674d9be72d99aa39dd81.zip
libvfio-user-af573e10982f8b240927674d9be72d99aa39dd81.tar.gz
libvfio-user-af573e10982f8b240927674d9be72d99aa39dd81.tar.bz2
don't support multiple DMA regions per map/unmap (#520)
We're dropping this behavior from the spec. Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com> Reviewed-by: John Levon <john.levon@nutanix.com>
Diffstat (limited to 'include')
-rw-r--r--include/vfio-user.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/include/vfio-user.h b/include/vfio-user.h
index f6cd75a..3994abc 100644
--- a/include/vfio-user.h
+++ b/include/vfio-user.h
@@ -107,13 +107,21 @@ struct vfio_user_device_info {
uint32_t num_irqs;
} __attribute__((packed));
+/* based on struct vfio_bitmap */
+struct vfio_user_bitmap {
+ uint64_t pgsize;
+ uint64_t size;
+ char data[];
+} __attribute__((packed));
+
struct vfio_user_dma_region {
- uint64_t addr;
- uint64_t size;
- uint64_t offset;
- uint32_t prot;
- uint32_t flags;
+ uint64_t addr;
+ uint64_t size;
+ uint64_t offset;
+ uint32_t prot;
#define VFIO_USER_F_DMA_REGION_MAPPABLE (1 << 0)
+ uint32_t flags;
+ struct vfio_user_bitmap bitmap[];
} __attribute__((packed));
struct vfio_user_region_access {
@@ -133,13 +141,6 @@ struct vfio_user_irq_info {
uint32_t subindex;
} __attribute__((packed));
-/* based on struct vfio_bitmap */
-struct vfio_user_bitmap {
- uint64_t pgsize;
- uint64_t size;
- char data[];
-} __attribute__((packed));
-
/* based on struct vfio_iommu_type1_dirty_bitmap_get */
struct vfio_user_bitmap_range {
uint64_t iova;