[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 11/11] hw/s390x/ipl: replace deprecated qdev_reset_all registr
From: |
Damien Hedde |
Subject: |
[PATCH v7 11/11] hw/s390x/ipl: replace deprecated qdev_reset_all registration |
Date: |
Wed, 15 Jan 2020 13:36:20 +0100 |
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>
---
Cc: address@hidden
Cc: Christian Borntraeger <address@hidden>
Cc: Thomas Huth <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 ca544d64c5..2689f7a017 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.24.1
- Re: [PATCH v7 03/11] hw/core: create Resettable QOM interface, (continued)
- [PATCH v7 05/11] hw/core/resettable: add support for changing parent, Damien Hedde, 2020/01/15
- [PATCH v7 10/11] vl: replace deprecated qbus_reset_all registration, Damien Hedde, 2020/01/15
- [PATCH v7 07/11] hw/core/qdev: update hotplug reset regarding resettable, Damien Hedde, 2020/01/15
- [PATCH v7 06/11] hw/core/qdev: handle parent bus change regarding resettable, Damien Hedde, 2020/01/15
- [PATCH v7 08/11] hw/core: deprecate old reset functions and introduce new ones, Damien Hedde, 2020/01/15
- [PATCH v7 09/11] docs/devel/reset.rst: add doc about Resettable interface, Damien Hedde, 2020/01/15
- [PATCH v7 11/11] hw/s390x/ipl: replace deprecated qdev_reset_all registration,
Damien Hedde <=