"Edgar E. Iglesias" <edgar.iglesias@gmail.com> writes:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
> 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