diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2024-08-13 21:23:20 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-08-16 14:04:19 +0100 |
commit | 9dbab31d9eb710b433f93e9e35962fbfd29f4c3f (patch) | |
tree | 6e67a45ed855a8c8a256dbcaeffeda1ff77d5005 /include/sysemu | |
parent | 4926b6e6444ffcfcea6f60b855debca88bf9db2e (diff) | |
download | qemu-9dbab31d9eb710b433f93e9e35962fbfd29f4c3f.zip qemu-9dbab31d9eb710b433f93e9e35962fbfd29f4c3f.tar.gz qemu-9dbab31d9eb710b433f93e9e35962fbfd29f4c3f.tar.bz2 |
replay: allow runstate shutdown->running when replaying trace
When replaying a trace, it is possible to go from shutdown to running
with a reverse-debugging step. This can be useful if the problem being
debugged triggers a reset or shutdown.
This can be tested by making a recording of a machine that shuts down,
then using -action shutdown=pause when replaying it. Continuing to the
end of the trace then reverse-stepping in gdb crashes due to invalid
runstate transition.
Just permitting the transition seems to be all that's necessary for
reverse-debugging to work well in such a state.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240813050638.446172-5-npiggin@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240813202329.1237572-13-alex.bennee@linaro.org>
Diffstat (limited to 'include/sysemu')
-rw-r--r-- | include/sysemu/runstate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sysemu/runstate.h b/include/sysemu/runstate.h index e210a37..11c7ff3 100644 --- a/include/sysemu/runstate.h +++ b/include/sysemu/runstate.h @@ -9,6 +9,7 @@ void runstate_set(RunState new_state); RunState runstate_get(void); bool runstate_is_running(void); bool runstate_needs_reset(void); +void runstate_replay_enable(void); typedef void VMChangeStateHandler(void *opaque, bool running, RunState state); |