qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 3/7] [s390] reboot: reset device pages on reboot


From: Christian Borntraeger
Subject: [Qemu-devel] [PATCH 3/7] [s390] reboot: reset device pages on reboot
Date: Mon, 23 Apr 2012 11:52:21 +0200

From: Jens Freimann <address@hidden>

This patch fixes reboot on s390 by resetting the device
page on reboot.

Signed-off-by: Jens Freimann <address@hidden>
Signed-off-by: Christian Borntraeger <address@hidden>
---
 hw/s390-virtio-bus.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index be1f5f1..74419b3 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -57,6 +57,12 @@ static ram_addr_t s390_virtio_device_num_vq(VirtIOS390Device 
*dev);
 /* length of VirtIO device pages */
 const target_phys_addr_t virtio_size = S390_DEVICE_PAGES * TARGET_PAGE_SIZE;
 
+static void s390_virtio_bus_reset(void *opaque)
+{
+    VirtIOS390Bus *bus = opaque;
+    bus->next_ring = bus->dev_page + TARGET_PAGE_SIZE;
+}
+
 VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size)
 {
     VirtIOS390Bus *bus;
@@ -82,6 +88,7 @@ VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size)
     /* Allocate RAM for VirtIO device pages (descriptors, queues, rings) */
     *ram_size += S390_DEVICE_PAGES * TARGET_PAGE_SIZE;
 
+    qemu_register_reset(s390_virtio_bus_reset, bus);
     return bus;
 }
 
-- 
1.7.9.6




reply via email to

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