[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/26] hw/s390x/ipl: replace deprecated qdev_reset_all registratio
From: |
Peter Maydell |
Subject: |
[PULL 19/26] hw/s390x/ipl: replace deprecated qdev_reset_all registration |
Date: |
Thu, 30 Jan 2020 16:15:26 +0000 |
From: Damien Hedde <address@hidden>
Replace deprecated qdev_reset_all by resettable_cold_reset_fn for
the ipl registration in the main reset handlers.
This does not impact the behavior for the following reasons:
+ at this point resettable just call the old reset methods of devices
and buses in the same order than qdev/qbus.
+ resettable handlers registered with qemu_register_reset are
serialized; there is no interleaving.
+ eventual explicit calls to legacy reset API (device_reset or
qdev/qbus_reset) inside this reset handler will not be masked out
by resettable mechanism; they do not go through resettable api.
Signed-off-by: Damien Hedde <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
---
hw/s390x/ipl.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
index ca8e7db4672..7773499d7f7 100644
--- a/hw/s390x/ipl.c
+++ b/hw/s390x/ipl.c
@@ -237,7 +237,15 @@ static void s390_ipl_realize(DeviceState *dev, Error
**errp)
*/
ipl->compat_start_addr = ipl->start_addr;
ipl->compat_bios_start_addr = ipl->bios_start_addr;
- qemu_register_reset(qdev_reset_all_fn, dev);
+ /*
+ * Because this Device is not on any bus in the qbus tree (it is
+ * not a sysbus device and it's not on some other bus like a PCI
+ * bus) it will not be automatically reset by the 'reset the
+ * sysbus' hook registered by vl.c like most devices. So we must
+ * manually register a reset hook for it.
+ * TODO: there should be a better way to do this.
+ */
+ qemu_register_reset(resettable_cold_reset_fn, dev);
error:
error_propagate(errp, err);
}
--
2.20.1
- [PULL 05/26] ftgmac100: check RX and TX buffer alignment, (continued)
- [PULL 05/26] ftgmac100: check RX and TX buffer alignment, Peter Maydell, 2020/01/30
- [PULL 06/26] hw/arm/aspeed: add a 'execute-in-place' property to boot directly from CE0, Peter Maydell, 2020/01/30
- [PULL 07/26] misc/pca9552: Add qom set and get, Peter Maydell, 2020/01/30
- [PULL 09/26] add device_legacy_reset function to prepare for reset api change, Peter Maydell, 2020/01/30
- [PULL 08/26] hw/arm/raspi: Remove obsolete use of -smp to set the soc 'enabled-cpus', Peter Maydell, 2020/01/30
- [PULL 10/26] hw/core/qdev: add trace events to help with resettable transition, Peter Maydell, 2020/01/30
- [PULL 12/26] hw/core: add Resettable support to BusClass and DeviceClass, Peter Maydell, 2020/01/30
- [PULL 14/26] hw/core/qdev: handle parent bus change regarding resettable, Peter Maydell, 2020/01/30
- [PULL 13/26] hw/core/resettable: add support for changing parent, Peter Maydell, 2020/01/30
- [PULL 16/26] hw/core: deprecate old reset functions and introduce new ones, Peter Maydell, 2020/01/30
- [PULL 19/26] hw/s390x/ipl: replace deprecated qdev_reset_all registration,
Peter Maydell <=
- [PULL 22/26] hw/arm/virt: Add missing 5.0 options call to 4.2 options, Peter Maydell, 2020/01/30
- [PULL 11/26] hw/core: create Resettable QOM interface, Peter Maydell, 2020/01/30
- [PULL 15/26] hw/core/qdev: update hotplug reset regarding resettable, Peter Maydell, 2020/01/30
- [PULL 21/26] target/arm/kvm: trivial: Clean up header documentation, Peter Maydell, 2020/01/30
- [PULL 25/26] target/arm/kvm: Implement virtual time adjustment, Peter Maydell, 2020/01/30
- [PULL 20/26] hw/intc/arm_gicv3_kvm: Stop wrongly programming GICR_PENDBASER.PTZ bit, Peter Maydell, 2020/01/30
- [PULL 18/26] vl: replace deprecated qbus_reset_all registration, Peter Maydell, 2020/01/30
- [PULL 17/26] docs/devel/reset.rst: add doc about Resettable interface, Peter Maydell, 2020/01/30
- [PULL 23/26] target/arm/kvm64: kvm64 cpus have timer registers, Peter Maydell, 2020/01/30
- [PULL 26/26] target/arm/cpu: Add the kvm-no-adjvtime CPU property, Peter Maydell, 2020/01/30