qemu-e2k/include/sysemu
Pavel Dovgalyuk fda8458bd3 gdbstub: add reverse step support in replay mode
GDB remote protocol supports two reverse debugging commands:
reverse step and reverse continue.
This patch adds support of the first one to the gdbstub.
Reverse step is intended to step one instruction in the backwards
direction. This is not possible in regular execution.
But replayed execution is deterministic, therefore we can load one of
the prior snapshots and proceed to the desired step. It is equivalent
to stepping one instruction back.
There should be at least one snapshot preceding the debugged part of
the replay log.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

--

v4 changes:
 - inverted condition in cpu_handle_guest_debug (suggested by Alex Bennée)
Message-Id: <160174522341.12451.1498758422543765253.stgit@pasha-ThinkPad-X280>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-06 08:34:49 +02:00
..
accel.h sysemu/accel: Restrict machine methods to system-mode 2020-06-12 11:12:44 -04:00
arch_init.h target/avr: Register AVR support with the rest of QEMU 2020-07-11 11:02:05 +02:00
balloon.h qapi: Restrict balloon-related commands to machine code 2020-09-29 15:41:35 +02:00
block-backend.h block: Add blk_make_empty() 2020-05-18 19:05:25 +02:00
blockdev.h blockdev: Deprecate -drive with bogus interface type 2020-06-23 16:07:07 +02:00
cpu-throttle.h cpu-throttle: new module, extracted from cpus.c 2020-07-10 18:04:49 -04:00
cpu-timers.h cpus: prepare new CpusAccel cpu accelerator interface 2020-10-05 16:41:22 +02:00
cpus.h cpus: add handle_interrupt to the CpusAccel interface 2020-10-05 16:41:22 +02:00
cryptodev-vhost-user.h
cryptodev-vhost.h
cryptodev.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
device_tree.h
dma.h
dump-arch.h
dump.h
hax.h hax: remove hax specific functions from global includes 2020-10-05 16:41:22 +02:00
hostmem.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
hvf.h hvf: remove hvf specific functions from global includes 2020-10-05 16:41:22 +02:00
hw_accel.h cpus: prepare new CpusAccel cpu accelerator interface 2020-10-05 16:41:22 +02:00
iothread.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
kvm_int.h kvm: Move QOM macros to kvm.h 2020-08-27 14:04:55 -04:00
kvm.h kvm: remove kvm specific functions from global includes 2020-10-05 16:41:22 +02:00
memory_mapping.h
numa.h numa: drop support for '-numa node' (without memory specified) 2020-09-30 19:09:20 +02:00
os-posix.h
os-win32.h
qtest.h cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
replay.h gdbstub: add reverse step support in replay mode 2020-10-06 08:34:49 +02:00
reset.h
rng-random.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
rng.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
runstate.h
seccomp.h
sev.h
sysemu.h vl: relocate paths to data directories 2020-09-30 19:11:36 +02:00
tcg.h sysemu/tcg: Only declare tcg_allowed when TCG is available 2020-06-12 11:12:44 -04:00
tpm_backend.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
tpm_util.h hw/tpm: Make 'tpm_util.h' publicly accessible as "sysemu/tpm_util.h" 2020-06-19 07:25:48 -04:00
tpm.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
vhost-user-backend.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
watchdog.h
whpx.h whpx: remove whpx specific functions from global includes 2020-10-05 16:41:22 +02:00
xen-mapcache.h
xen.h sysemu/xen: Add missing 'exec/cpu-common.h' header for ram_addr_t type 2020-09-30 19:11:36 +02:00