On 29/05/2020 16:06, Cindy Lu wrote: > From: Jason Wang <jasow...@redhat.com> > > With version 1, we can detect whether a queue is enabled via > queue_enabled. > > Signed-off-by: Jason Wang <jasow...@redhat.com>
Add your S-o-b. > --- > hw/virtio/virtio-pci.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c > index 4cb784389c..2c82ed5246 100644 > --- a/hw/virtio/virtio-pci.c > +++ b/hw/virtio/virtio-pci.c > @@ -1107,6 +1107,18 @@ static AddressSpace *virtio_pci_get_dma_as(DeviceState > *d) > return pci_get_address_space(dev); > } > > +static bool virtio_pci_queue_enabled(DeviceState *d, int n) > +{ > + VirtIOPCIProxy *proxy = VIRTIO_PCI(d); > + VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus); > + > + if (virtio_vdev_has_feature(vdev, VIRTIO_F_VERSION_1)) { > + return proxy->vqs[vdev->queue_sel].enabled; > + } > + > + return virtio_queue_get_desc_addr(vdev, n) != 0; I think it would be clearer/cleaner to use here: return virtio_queue_enabled(vdev, n); Thanks, Laurent