0441e35f95
Move the reset of the sysbus (and thus all devices and buses anywhere on the qbus tree) from qemu_register_reset() to qemu_register_resettable(). This is a behaviour change: because qemu_register_resettable() is aware of three-phase reset, this now means that: * 'enter' phase reset methods of devices and buses are called before any legacy reset callbacks registered with qemu_register_reset() * 'exit' phase reset methods of devices and buses are called after any legacy qemu_register_reset() callbacks Put another way, a qemu_register_reset() callback is now correctly ordered in the 'hold' phase along with any other 'hold' phase methods. The motivation for doing this is that we will now be able to resolve some reset-ordering issues using the three-phase mechanism, because the 'exit' phase is always after the 'hold' phase, even when the 'hold' phase function was registered with qemu_register_reset(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-id: 20240220160622.114437-10-peter.maydell@linaro.org Reviewed-by: Zhao Liu <zhao1.liu@intel.com> |
||
---|---|---|
.. | ||
bus.c | ||
clock-vmstate.c | ||
clock.c | ||
cpu-common.c | ||
cpu-sysemu.c | ||
fw-path-provider.c | ||
generic-loader.c | ||
gpio.c | ||
guest-loader.c | ||
guest-loader.h | ||
hotplug-stubs.c | ||
hotplug.c | ||
irq.c | ||
Kconfig | ||
loader-fit.c | ||
loader.c | ||
machine-hmp-cmds.c | ||
machine-qmp-cmds.c | ||
machine-smp.c | ||
machine.c | ||
meson.build | ||
nmi.c | ||
null-machine.c | ||
numa.c | ||
or-irq.c | ||
platform-bus.c | ||
ptimer.c | ||
qdev-clock.c | ||
qdev-fw.c | ||
qdev-hotplug.c | ||
qdev-prop-internal.h | ||
qdev-properties-system.c | ||
qdev-properties.c | ||
qdev.c | ||
register.c | ||
reset.c | ||
resetcontainer.c | ||
resettable.c | ||
split-irq.c | ||
stream.c | ||
sysbus-fdt.c | ||
sysbus.c | ||
trace-events | ||
trace.h | ||
uboot_image.h | ||
vm-change-state-handler.c | ||
vmstate-if.c |