[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/8] s390-virtio: clear {used, avail}_event_idx on re
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 3/8] s390-virtio: clear {used, avail}_event_idx on reset as well |
Date: |
Fri, 8 May 2015 11:08:30 +0200 |
From: Christian Borntraeger <address@hidden>
The old s390-virtio transport clears the vring used/avail indices in
the shared area on reset. When we enabled event_idx for virtio-blk, we
noticed that this is not enough: We also need to clear the published
used/avail event indices, or reboot will fail.
Signed-off-by: Christian Borntraeger <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/s390-virtio-bus.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 4a33c6a..4f69cbb 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -77,10 +77,18 @@ void s390_virtio_reset_idx(VirtIOS390Device *dev)
VIRTIO_VRING_AVAIL_IDX_OFFS;
address_space_stw(&address_space_memory, idx_addr, 0,
MEMTXATTRS_UNSPECIFIED, NULL);
+ idx_addr = virtio_queue_get_avail_addr(dev->vdev, i) +
+ virtio_queue_get_avail_size(dev->vdev, i);
+ address_space_stw(&address_space_memory, idx_addr, 0,
+ MEMTXATTRS_UNSPECIFIED, NULL);
idx_addr = virtio_queue_get_used_addr(dev->vdev, i) +
VIRTIO_VRING_USED_IDX_OFFS;
address_space_stw(&address_space_memory, idx_addr, 0,
MEMTXATTRS_UNSPECIFIED, NULL);
+ idx_addr = virtio_queue_get_used_addr(dev->vdev, i) +
+ virtio_queue_get_used_size(dev->vdev, i);
+ address_space_stw(&address_space_memory, idx_addr, 0,
+ MEMTXATTRS_UNSPECIFIED, NULL);
}
}
--
2.4.0
- [Qemu-devel] [PULL 0/8] s390x: various patches, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 1/8] s390-virtio: Accommodate guests using virtqueues too early, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 2/8] s390-virtio: use common features, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 3/8] s390-virtio: clear {used, avail}_event_idx on reset as well,
Cornelia Huck <=
- [Qemu-devel] [PULL 4/8] virtio-ccw: change realization sequence, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 5/8] virtio-ccw: implement ->device_plugged, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 6/8] s390x/kvm: use ioctl KVM_S390_IRQ for vcpu interrupts, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 7/8] s390x: move fpu regs into a subsection of the vmstate, Cornelia Huck, 2015/05/08
- [Qemu-devel] [PULL 8/8] s390x/kvm: migrate vcpu interrupt state, Cornelia Huck, 2015/05/08
- Re: [Qemu-devel] [PULL 0/8] s390x: various patches, Peter Maydell, 2015/05/11