From: Wei Xu <w...@redhat.com> Always enable notify and bypass set notification before supporting driver and device area.
Signed-off-by: Wei Xu <w...@redhat.com> --- hw/virtio/virtio.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index fdee40f..95a4681 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -425,6 +425,10 @@ void virtio_queue_set_notification(VirtQueue *vq, int enable) { vq->notification = enable; + if (virtio_vdev_has_feature(vq->vdev, VIRTIO_F_RING_PACKED)) { + return; + } + if (!vq->vring.desc) { return; } @@ -1801,6 +1805,11 @@ static bool virtio_should_notify(VirtIODevice *vdev, VirtQueue *vq) { uint16_t old, new; bool v; + + if (virtio_vdev_has_feature(vdev, VIRTIO_F_RING_PACKED)) { + return true; + } + /* We need to expose used array entries before checking used event. */ smp_mb(); /* Always notify when queue is empty (when feature acknowledge) */ -- 2.7.4