aboutsummaryrefslogtreecommitdiff
path: root/include/sysemu
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2024-08-13 21:23:20 +0100
committerAlex Bennée <alex.bennee@linaro.org>2024-08-16 14:04:19 +0100
commit9dbab31d9eb710b433f93e9e35962fbfd29f4c3f (patch)
tree6e67a45ed855a8c8a256dbcaeffeda1ff77d5005 /include/sysemu
parent4926b6e6444ffcfcea6f60b855debca88bf9db2e (diff)
downloadqemu-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.h1
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);