qemu/system
Nicholas Piggin 9dbab31d9e 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>
2024-08-16 14:04:19 +01:00
..
arch_init.c
async-teardown.c qemu/osdep: Add excluded fd parameter to qemu_close_all_open_fd() 2024-08-05 08:21:59 +10:00
balloon.c balloon: Fix a misleading error message 2023-11-17 10:07:52 +01:00
bootdevice.c system/bootdevice: Don't unregister reset handler in restore_boot_order() 2024-02-27 13:01:42 +00:00
cpu-throttle.c qemu/main-loop: rename qemu_cond_wait_iothread() to qemu_cond_wait_bql() 2024-01-08 10:45:43 -05:00
cpu-timers.c system/cpu-timers: Introduce ICountMode enumerator 2024-01-19 12:28:59 +01:00
cpus.c qmp: Fix higher half vaddrs for [p]memsave 2024-08-05 09:34:34 +02:00
datadir.c
device_tree-stub.c kconfig: allow compiling out QEMU device tree code per target 2024-05-10 15:45:15 +02:00
device_tree.c kconfig: allow compiling out QEMU device tree code per target 2024-05-10 15:45:15 +02:00
dirtylimit.c migration: migration_thread_is_self 2024-03-11 16:28:59 -04:00
dma-helpers.c system/physmem: Propagate AddressSpace to MapClient helpers 2024-05-08 19:43:23 +02:00
globals.c hw/xen: detect when running inside stubdomain 2024-07-01 14:57:18 +02:00
ioport.c exec/ioport: Add portio_list_set_enabled() 2024-02-14 06:09:32 -05:00
main.c softmmu: pass the main loop status to gdb "Wxx" packet 2023-10-12 12:33:24 +10:00
memory_ldst.c.inc system: Move memory_ldst.c.inc to system 2024-02-13 10:59:25 +03:00
memory_mapping.c system/memory_mapping: make range overlap check more readable 2024-07-23 20:30:36 +02:00
memory.c memory: remove IOMMU MR iommu_set_page_size_mask() callback 2024-07-09 11:50:37 +02:00
meson.build kconfig: allow compiling out QEMU device tree code per target 2024-05-10 15:45:15 +02:00
physmem.c system/physmem: Where we assume we have a RAM MR, assert it 2024-07-29 17:03:35 +01:00
qdev-monitor.c qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition 2024-04-24 09:50:58 +02:00
qemu-seccomp.c seccomp: report EPERM instead of killing process for spawn set 2024-03-19 20:17:12 +00:00
qtest.c qtest: move qtest_{get, set}_virtual_clock to accel/qtest/qtest.c 2024-06-24 10:14:56 +01:00
rtc.c error: Drop superfluous #include "qapi/qmp/qerror.h" 2024-04-24 09:50:58 +02:00
runstate-action.c
runstate-hmp-cmds.c
runstate.c replay: allow runstate shutdown->running when replaying trace 2024-08-16 14:04:19 +01:00
tpm-hmp-cmds.c
tpm.c
trace-events tracepoints: move physmem trace points 2024-07-05 12:33:37 +01:00
trace.h
vl.c system/vl.c: Expand OpenGL related errors 2024-08-06 16:23:46 +02:00
watchpoint.c system/watchpoint: Move TCG specific code to accel/tcg/ 2024-01-19 12:28:59 +01:00