virtio-mmio: update queue size on guest write
Some guests read back queue size after writing it. Always update the on size write otherwise they might be confused. Cc: qemu-stable@nongnu.org Signed-off-by: Denis Plotnikov <dplotnikov@virtuozzo.com> Message-Id: <20191224081446.17003-1-dplotnikov@virtuozzo.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
cec0242ab4
commit
1049f4c62c
@ -308,8 +308,9 @@ static void virtio_mmio_write(void *opaque, hwaddr offset, uint64_t value,
|
|||||||
break;
|
break;
|
||||||
case VIRTIO_MMIO_QUEUE_NUM:
|
case VIRTIO_MMIO_QUEUE_NUM:
|
||||||
trace_virtio_mmio_queue_write(value, VIRTQUEUE_MAX_SIZE);
|
trace_virtio_mmio_queue_write(value, VIRTQUEUE_MAX_SIZE);
|
||||||
|
virtio_queue_set_num(vdev, vdev->queue_sel, value);
|
||||||
|
|
||||||
if (proxy->legacy) {
|
if (proxy->legacy) {
|
||||||
virtio_queue_set_num(vdev, vdev->queue_sel, value);
|
|
||||||
virtio_queue_update_rings(vdev, vdev->queue_sel);
|
virtio_queue_update_rings(vdev, vdev->queue_sel);
|
||||||
} else {
|
} else {
|
||||||
proxy->vqs[vdev->queue_sel].num = value;
|
proxy->vqs[vdev->queue_sel].num = value;
|
||||||
|
Loading…
Reference in New Issue
Block a user