All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: mst@redhat.com, qemu-devel@nongnu.org, aliguori@us.ibm.com,
	shajnocz@redhat.com
Cc: krkumar2@in.ibm.com, kvm@vger.kernel.org, mprivozn@redhat.com,
	rusty@rustcorp.com.au, jwhan@filewood.snu.ac.kr,
	shiyer@redhat.com, gaowanlong@cn.fujitsu.com,
	Jason Wang <jasowang@redhat.com>
Subject: [PATCH V3 16/20] virtio: add a queue_index to VirtQueue
Date: Tue, 29 Jan 2013 21:51:28 +0800	[thread overview]
Message-ID: <1359467492-31704-17-git-send-email-jasowang@redhat.com> (raw)
In-Reply-To: <1359467492-31704-1-git-send-email-jasowang@redhat.com>

Add a queue_index to VirtQueue and a helper to fetch it, this could be used by
multiqueue supported device.

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/virtio.c |    8 ++++++++
 hw/virtio.h |    1 +
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/hw/virtio.c b/hw/virtio.c
index d8c77b0..e259348 100644
--- a/hw/virtio.c
+++ b/hw/virtio.c
@@ -73,6 +73,8 @@ struct VirtQueue
     /* Notification enabled? */
     bool notification;
 
+    uint16_t queue_index;
+
     int inuse;
 
     uint16_t vector;
@@ -931,6 +933,7 @@ void virtio_init(VirtIODevice *vdev, const char *name,
     for (i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++) {
         vdev->vq[i].vector = VIRTIO_NO_VECTOR;
         vdev->vq[i].vdev = vdev;
+        vdev->vq[i].queue_index = i;
     }
 
     vdev->name = name;
@@ -1018,6 +1021,11 @@ VirtQueue *virtio_get_queue(VirtIODevice *vdev, int n)
     return vdev->vq + n;
 }
 
+uint16_t virtio_get_queue_index(VirtQueue *vq)
+{
+    return vq->queue_index;
+}
+
 static void virtio_queue_guest_notifier_read(EventNotifier *n)
 {
     VirtQueue *vq = container_of(n, VirtQueue, guest_notifier);
diff --git a/hw/virtio.h b/hw/virtio.h
index d3da1d2..a29a54d 100644
--- a/hw/virtio.h
+++ b/hw/virtio.h
@@ -280,6 +280,7 @@ hwaddr virtio_queue_get_ring_size(VirtIODevice *vdev, int n);
 uint16_t virtio_queue_get_last_avail_idx(VirtIODevice *vdev, int n);
 void virtio_queue_set_last_avail_idx(VirtIODevice *vdev, int n, uint16_t idx);
 VirtQueue *virtio_get_queue(VirtIODevice *vdev, int n);
+uint16_t virtio_get_queue_index(VirtQueue *vq);
 int virtio_queue_get_id(VirtQueue *vq);
 EventNotifier *virtio_queue_get_guest_notifier(VirtQueue *vq);
 void virtio_queue_set_guest_notifier_fd_handler(VirtQueue *vq, bool assign,
-- 
1.7.1


  parent reply	other threads:[~2013-01-29 14:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-29 13:51 [PATCH V3 00/20] Multiqueue virtio-net Jason Wang
2013-01-29 13:51 ` [PATCH V3 01/20] net: introduce qemu_get_queue() Jason Wang
2013-01-29 13:51 ` [PATCH V3 02/20] net: introduce qemu_get_nic() Jason Wang
2013-01-29 13:51 ` [PATCH V3 03/20] net: intorduce qemu_del_nic() Jason Wang
2013-01-29 13:51 ` [PATCH V3 04/20] net: introduce qemu_find_net_clients_except() Jason Wang
2013-01-29 13:51 ` [PATCH V3 05/20] net: introduce qemu_net_client_setup() Jason Wang
2013-01-29 13:51 ` [PATCH V3 06/20] net: introduce NetClientState destructor Jason Wang
2013-01-29 13:51 ` [PATCH V3 07/20] net: multiqueue support Jason Wang
2013-01-29 13:51 ` [PATCH V3 08/20] tap: import linux multiqueue constants Jason Wang
2013-01-29 13:51 ` [PATCH V3 09/20] tap: factor out common tap initialization Jason Wang
2013-01-29 13:51 ` [PATCH V3 10/20] tap: add Linux multiqueue support Jason Wang
2013-01-29 13:51 ` [PATCH V3 11/20] tap: support enabling or disabling a queue Jason Wang
2013-01-29 13:51 ` [PATCH V3 12/20] tap: introduce a helper to get the name of an interface Jason Wang
2013-01-29 13:51 ` [PATCH V3 13/20] tap: multiqueue support Jason Wang
2013-01-29 13:51 ` [PATCH V3 14/20] vhost: " Jason Wang
2013-01-29 13:51 ` [PATCH V3 15/20] virtio: introduce virtio_del_queue() Jason Wang
2013-01-29 13:51 ` Jason Wang [this message]
2013-01-29 13:51 ` [PATCH V3 17/20] virtio-net: separate virtqueue from VirtIONet Jason Wang
2013-01-29 13:51 ` [PATCH V3 18/20] virtio-net: multiqueue support Jason Wang
2013-01-29 13:51 ` [PATCH V3 19/20] virtio-net: migration support for multiqueue Jason Wang
2013-01-29 13:51 ` [PATCH V3 20/20] virtio-net: compat multiqueue support Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1359467492-31704-17-git-send-email-jasowang@redhat.com \
    --to=jasowang@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=gaowanlong@cn.fujitsu.com \
    --cc=jwhan@filewood.snu.ac.kr \
    --cc=krkumar2@in.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=mprivozn@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=shajnocz@redhat.com \
    --cc=shiyer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.