? 2022/1/22 ??4:27, Eugenio P?rez ??:> This reports the guest's visible SVQ effective length, not the
device's
> one.
I think we need to explain if there could be a case that the SVQ size is
not equal to the device queue size.
Thanks
>
> Signed-off-by: Eugenio P?rez <eperezma at redhat.com>
> ---
> hw/virtio/vhost-shadow-virtqueue.h | 1 +
> hw/virtio/vhost-shadow-virtqueue.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/hw/virtio/vhost-shadow-virtqueue.h
b/hw/virtio/vhost-shadow-virtqueue.h
> index 3521e8094d..035207a469 100644
> --- a/hw/virtio/vhost-shadow-virtqueue.h
> +++ b/hw/virtio/vhost-shadow-virtqueue.h
> @@ -29,6 +29,7 @@ const EventNotifier *vhost_svq_get_svq_call_notifier(
> const VhostShadowVirtqueue
*svq);
> void vhost_svq_get_vring_addr(const VhostShadowVirtqueue *svq,
> struct vhost_vring_addr *addr);
> +uint16_t vhost_svq_get_num(const VhostShadowVirtqueue *svq);
> size_t vhost_svq_driver_area_size(const VhostShadowVirtqueue *svq);
> size_t vhost_svq_device_area_size(const VhostShadowVirtqueue *svq);
>
> diff --git a/hw/virtio/vhost-shadow-virtqueue.c
b/hw/virtio/vhost-shadow-virtqueue.c
> index 0f2c2403ff..f129ec8395 100644
> --- a/hw/virtio/vhost-shadow-virtqueue.c
> +++ b/hw/virtio/vhost-shadow-virtqueue.c
> @@ -212,6 +212,11 @@ void vhost_svq_get_vring_addr(const
VhostShadowVirtqueue *svq,
> addr->used_user_addr = (uint64_t)svq->vring.used;
> }
>
> +uint16_t vhost_svq_get_num(const VhostShadowVirtqueue *svq)
> +{
> + return svq->vring.num;
> +}
> +
> size_t vhost_svq_driver_area_size(const VhostShadowVirtqueue *svq)
> {
> size_t desc_size = sizeof(vring_desc_t) * svq->vring.num;