From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [PATCH 07/12] virtio: introduce virtio_queue_del() Date: Tue, 08 Jan 2013 17:28:21 +0800 Message-ID: <50EBE6B5.6000504@redhat.com> References: <1356690724-37891-1-git-send-email-jasowang@redhat.com> <1356690724-37891-8-git-send-email-jasowang@redhat.com> <20130108071439.GJ11305@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: aliguori@us.ibm.com, stefanha@redhat.com, qemu-devel@nongnu.org, rusty@rustcorp.com.au, kvm@vger.kernel.org, mprivozn@redhat.com, shiyer@redhat.com, krkumar2@in.ibm.com, jwhan@filewood.snu.ac.kr To: "Michael S. Tsirkin" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:61135 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751429Ab3AHJ2k (ORCPT ); Tue, 8 Jan 2013 04:28:40 -0500 In-Reply-To: <20130108071439.GJ11305@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 01/08/2013 03:14 PM, Michael S. Tsirkin wrote: > 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 > Actually del_queue unlike what the subject says :) Oh, yes, will correct this. > >> --- >> 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