aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/vfio-user.rst4
-rw-r--r--include/vfio-user.h2
-rw-r--r--lib/libvfio-user.c4
3 files changed, 5 insertions, 5 deletions
diff --git a/docs/vfio-user.rst b/docs/vfio-user.rst
index f956893..104a31d 100644
--- a/docs/vfio-user.rst
+++ b/docs/vfio-user.rst
@@ -1533,9 +1533,9 @@ DMA Read/Write Data
+=========+========+==========+
| Address | 16 | 8 |
+---------+--------+----------+
-| Count | 24 | 4 |
+| Count | 24 | 8 |
+---------+--------+----------+
-| Data | 28 | variable |
+| Data | 32 | variable |
+---------+--------+----------+
* *Address* is the area of client memory being accessed. This address must have
diff --git a/include/vfio-user.h b/include/vfio-user.h
index 053ead2..9d820c9 100644
--- a/include/vfio-user.h
+++ b/include/vfio-user.h
@@ -125,7 +125,7 @@ struct vfio_user_region_access {
struct vfio_user_dma_region_access {
uint64_t addr;
- uint32_t count;
+ uint64_t count;
uint8_t data[];
} __attribute__((packed));
diff --git a/lib/libvfio-user.c b/lib/libvfio-user.c
index 9c32c73..4a03995 100644
--- a/lib/libvfio-user.c
+++ b/lib/libvfio-user.c
@@ -1502,7 +1502,7 @@ vfu_dma_read(vfu_ctx_t *vfu_ctx, dma_sg_t *sg, void *data)
{
struct vfio_user_dma_region_access *dma_recv;
struct vfio_user_dma_region_access dma_send;
- int recv_size;
+ uint64_t recv_size;
int msg_id = 1, ret;
assert(vfu_ctx != NULL);
@@ -1543,7 +1543,7 @@ int
vfu_dma_write(vfu_ctx_t *vfu_ctx, dma_sg_t *sg, void *data)
{
struct vfio_user_dma_region_access *dma_send, dma_recv;
- int send_size = sizeof(*dma_send) + sg->length;
+ uint64_t send_size = sizeof(*dma_send) + sg->length;
int msg_id = 1, ret;
assert(vfu_ctx != NULL);