diff options
author | Jason A. Donenfeld | 2022-10-25 02:43:17 +0200 |
---|---|---|
committer | Peter Maydell | 2022-10-27 12:34:31 +0200 |
commit | 7966d70f6f6b188475e67c2c363f19eec3d28c96 (patch) | |
tree | bbd0a95d1d8b8c64bb8dbaf37d38e8f85af5ada6 /include | |
parent | target/arm: Use the max page size in a 2-stage ptw (diff) | |
download | qemu-7966d70f6f6b188475e67c2c363f19eec3d28c96.tar.gz qemu-7966d70f6f6b188475e67c2c363f19eec3d28c96.tar.xz qemu-7966d70f6f6b188475e67c2c363f19eec3d28c96.zip |
reset: allow registering handlers that aren't called by snapshot loading
Snapshot loading only expects to call deterministic handlers, not
non-deterministic ones. So introduce a way of registering handlers that
won't be called when reseting for snapshots.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Message-id: 20221025004327.568476-2-Jason@zx2c4.com
[PMM: updated json doc comment with Markus' text; fixed
checkpatch style nit]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/boards.h | 2 | ||||
-rw-r--r-- | include/sysemu/reset.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/hw/boards.h b/include/hw/boards.h index 311ed17e18..90f1dd3aeb 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -231,7 +231,7 @@ struct MachineClass { const char *deprecation_reason; void (*init)(MachineState *state); - void (*reset)(MachineState *state); + void (*reset)(MachineState *state, ShutdownCause reason); void (*wakeup)(MachineState *state); int (*kvm_type)(MachineState *machine, const char *arg); diff --git a/include/sysemu/reset.h b/include/sysemu/reset.h index 0b0d6d7598..609e4d50c2 100644 --- a/include/sysemu/reset.h +++ b/include/sysemu/reset.h @@ -1,10 +1,13 @@ #ifndef QEMU_SYSEMU_RESET_H #define QEMU_SYSEMU_RESET_H +#include "qapi/qapi-events-run-state.h" + typedef void QEMUResetHandler(void *opaque); void qemu_register_reset(QEMUResetHandler *func, void *opaque); +void qemu_register_reset_nosnapshotload(QEMUResetHandler *func, void *opaque); void qemu_unregister_reset(QEMUResetHandler *func, void *opaque); -void qemu_devices_reset(void); +void qemu_devices_reset(ShutdownCause reason); #endif |