summaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2016-11-04 09:39:15 +0100
committerMichael S. Tsirkin <mst@redhat.com>2016-11-15 17:20:38 +0200
commitf1f9e6c5961ffb36fd4a81cd7edcded7bfad2ab2 (patch)
tree5342f6199008f1a422769739bc9237629d6d6439 /include/hw
parentcb88ebd7542458c22f3051646f268dcea6109abc (diff)
downloadqemu-f1f9e6c5961ffb36fd4a81cd7edcded7bfad2ab2.tar.gz
qemu-f1f9e6c5961ffb36fd4a81cd7edcded7bfad2ab2.tar.bz2
qemu-f1f9e6c5961ffb36fd4a81cd7edcded7bfad2ab2.zip
vhost: adapt vhost_verify_ring_mappings() to virtio 1 ring layout
With virtio 1, the vring layout is split in 3 separate regions of contiguous memory for the descriptor table, the available ring and the used ring, as opposed with legacy virtio which uses a single region. In case of memory re-mapping, the code ensures it doesn't affect the vring mapping. This is done in vhost_verify_ring_mappings() which assumes the device is legacy. This patch changes vhost_verify_ring_mappings() to check the mappings of each part of the vring separately. This works for legacy mappings as well. Cc: qemu-stable@nongnu.org Signed-off-by: Greg Kurz <groug@kaod.org> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/virtio/vhost.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h
index e433089ea9..56b567f199 100644
--- a/include/hw/virtio/vhost.h
+++ b/include/hw/virtio/vhost.h
@@ -14,6 +14,10 @@ struct vhost_virtqueue {
void *avail;
void *used;
int num;
+ unsigned long long desc_phys;
+ unsigned desc_size;
+ unsigned long long avail_phys;
+ unsigned avail_size;
unsigned long long used_phys;
unsigned used_size;
void *ring;