qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v2 6/9] virtio-bus: introduce queue_enabled method


From: Jason Wang
Subject: Re: [RFC v2 6/9] virtio-bus: introduce queue_enabled method
Date: Sat, 9 May 2020 11:01:39 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0


On 2020/5/9 上午12:32, Cindy Lu wrote:
From: Jason Wang <address@hidden>

This patch introduces queue_enabled() method which allows the
transport to implement its own way to report whether or not a queue is
enabled.

Signed-off-by: Jason Wang <address@hidden>


This patch should come before any of the vhost-vpda patch.

Thanks


---
  hw/virtio/virtio.c             | 6 ++++++
  include/hw/virtio/virtio-bus.h | 4 ++++
  2 files changed, 10 insertions(+)

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 04716b5f6c..09732a8836 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -3169,6 +3169,12 @@ hwaddr virtio_queue_get_desc_addr(VirtIODevice *vdev, 
int n)
bool virtio_queue_enabled(VirtIODevice *vdev, int n)
  {
+    BusState *qbus = qdev_get_parent_bus(DEVICE(vdev));
+    VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
+
+    if (k->queue_enabled)
+        return k->queue_enabled(qbus->parent, n);
+
      return virtio_queue_get_desc_addr(vdev, n) != 0;
  }
diff --git a/include/hw/virtio/virtio-bus.h b/include/hw/virtio/virtio-bus.h
index 38c9399cd4..0f6f215925 100644
--- a/include/hw/virtio/virtio-bus.h
+++ b/include/hw/virtio/virtio-bus.h
@@ -83,6 +83,10 @@ typedef struct VirtioBusClass {
       */
      int (*ioeventfd_assign)(DeviceState *d, EventNotifier *notifier,
                              int n, bool assign);
+    /*
+     * Whether queue number n is enabled.
+     */
+    bool (*queue_enabled)(DeviceState *d, int n);
      /*
       * Does the transport have variable vring alignment?
       * (ie can it ever call virtio_queue_set_align()?)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]