diff options
-rw-r--r-- | docs/vfio-user.rst | 4 | ||||
-rw-r--r-- | include/vfio-user.h | 2 | ||||
-rw-r--r-- | lib/libvfio-user.c | 4 |
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); |