On Fri, Dec 28, 2012 at 06:31:59PM +0800, Jason Wang wrote:
> Some device (such as virtio-net) needs the ability to destroy or re-order the
> virtqueues, this patch adds a helper to do this.
>
> Signed-off-by: Jason Wang <jasowang>
Actually del_queue unlike what the subject says :)
> ---
> hw/virtio.c | 9 +++++++++
> hw/virtio.h | 2 ++
> 2 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/hw/virtio.c b/hw/virtio.c
> index f40a8c5..bc3c9c3 100644
> --- a/hw/virtio.c
> +++ b/hw/virtio.c
> @@ -700,6 +700,15 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
> queue_size,
> return &vdev->vq[i];
> }
>
> +void virtio_del_queue(VirtIODevice *vdev, int n)
> +{
> + if (n < 0 || n >= VIRTIO_PCI_QUEUE_MAX) {
> + abort();
> + }
> +
> + vdev->vq[n].vring.num = 0;
> +}
> +
> void virtio_irq(VirtQueue *vq)
> {
> trace_virtio_irq(vq);
> diff --git a/hw/virtio.h b/hw/virtio.h
> index 7c17f7b..f6cb0f9 100644
> --- a/hw/virtio.h
> +++ b/hw/virtio.h
> @@ -138,6 +138,8 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
> queue_size,
> void (*handle_output)(VirtIODevice *,
> VirtQueue *));
>
> +void virtio_del_queue(VirtIODevice *vdev, int n);
> +
> void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
> unsigned int len);
> void virtqueue_flush(VirtQueue *vq, unsigned int count);
> --
> 1.7.1
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html