"Edgar E. Iglesias" <[email protected]> writes: > From: "Edgar E. Iglesias" <[email protected]> > > Signed-off-by: Edgar E. Iglesias <[email protected]> > --- > hw/virtio/virtio.c | 16 ++++++++++++++++ > include/hw/virtio/virtio.h | 2 ++ > 2 files changed, 18 insertions(+) > > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c > index 8a53fb5f93..fe7c635390 100644 > --- a/hw/virtio/virtio.c > +++ b/hw/virtio/virtio.c > @@ -2379,6 +2379,22 @@ void virtio_queue_set_rings(VirtIODevice *vdev, int n, > hwaddr desc, > virtio_init_region_cache(vdev, n); > } > > +void virtio_queue_get_rings(VirtIODevice *vdev, int n, hwaddr *desc, > + hwaddr *avail, hwaddr *used) > +{ > + assert(vdev->vq[n].vring.num); > + > + if (desc) { > + *desc = vdev->vq[n].vring.desc; > + } > + if (avail) { > + *avail = vdev->vq[n].vring.avail; > + } > + if (used) { > + *used = vdev->vq[n].vring.used; > + } > +} > + > void virtio_queue_set_num(VirtIODevice *vdev, int n, int num) > { > /* Don't allow guest to flip queue between existent and > diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h > index d97529c3f1..8bceb115a3 100644 > --- a/include/hw/virtio/virtio.h > +++ b/include/hw/virtio/virtio.h > @@ -361,6 +361,8 @@ int virtio_queue_get_max_num(VirtIODevice *vdev, int n); > int virtio_get_num_queues(VirtIODevice *vdev); > void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc, > hwaddr avail, hwaddr used); > +void virtio_queue_get_rings(VirtIODevice *vdev, int n, hwaddr *desc, > + hwaddr *avail, hwaddr *used);
Same as last comment, lets start documenting the API. > void virtio_queue_update_rings(VirtIODevice *vdev, int n); > void virtio_init_region_cache(VirtIODevice *vdev, int n); > void virtio_queue_set_align(VirtIODevice *vdev, int n, int align); -- Alex Bennée Virtualisation Tech Lead @ Linaro
