e41f32fe82
Currently the qemu_register_reset() API permits the reset handler functions registered with it to remove themselves from within the callback function. This is fine with our current implementation, but is a bit odd, because generally reset is supposed to be idempotent, and doesn't fit well in a three-phase-reset world where a resettable object will get multiple callbacks as the system is reset. We now have only one user of qemu_register_reset() which makes use of the ability to unregister itself within the callback: restore_boot_order(). We want to change our implementation of qemu_register_reset() to something where it would be awkward to maintain the "can self-unregister" feature. Rather than making that reimplementation complicated, change restore_boot_order() so that it doesn't unregister itself but instead returns doing nothing for any calls after it has done the "restore the boot order" work. 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> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20240220160622.114437-4-peter.maydell@linaro.org Reviewed-by: Zhao Liu <zhao1.liu@intel.com> |
||
---|---|---|
.. | ||
arch_init.c | ||
async-teardown.c | ||
balloon.c | ||
bootdevice.c | ||
cpu-throttle.c | ||
cpu-timers.c | ||
cpus.c | ||
datadir.c | ||
device_tree.c | ||
dirtylimit.c | ||
dma-helpers.c | ||
globals.c | ||
ioport.c | ||
main.c | ||
memory_ldst.c.inc | ||
memory_mapping.c | ||
memory.c | ||
meson.build | ||
physmem.c | ||
qdev-monitor.c | ||
qemu-seccomp.c | ||
qtest.c | ||
rtc.c | ||
runstate-action.c | ||
runstate-hmp-cmds.c | ||
runstate.c | ||
tpm-hmp-cmds.c | ||
tpm.c | ||
trace-events | ||
trace.h | ||
vl.c | ||
watchpoint.c |