qemu-e2k/accel/tcg
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
..
atomic_common.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
atomic_template.h qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
cpu-exec-common.c qemu-common: Move tcg_enabled() etc. to sysemu/tcg.h 2019-06-11 20:22:09 +02:00
cpu-exec.c replay: don't record interrupt poll 2020-10-06 08:34:49 +02:00
cputlb.c exec: Remove MemoryRegion::global_locking field 2020-09-30 19:11:36 +02:00
meson.build cpus: extract out TCG-specific code to accel/tcg 2020-10-05 16:41:22 +02:00
plugin-gen.c plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
plugin-helpers.h plugin-gen: add module for TCG-related code 2019-10-28 15:12:38 +00:00
tcg-all.c cpus: add handle_interrupt to the CpusAccel interface 2020-10-05 16:41:22 +02:00
tcg-cpus.c accel/tcg: use current_machine as it is always set for softmmu 2020-10-05 16:41:22 +02:00
tcg-cpus.h cpus: extract out TCG-specific code to accel/tcg 2020-10-05 16:41:22 +02:00
tcg-runtime-gvec.c tcg: Implement gvec support for rotate by vector 2020-06-02 08:42:37 -07:00
tcg-runtime.c tcg: Search includes from the project root source directory 2020-01-15 15:13:10 -10:00
tcg-runtime.h tcg: Implement gvec support for rotate by vector 2020-06-02 08:42:37 -07:00
trace-events accel/tcg: don't disable exec_tb trace events 2020-05-15 15:25:16 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate-all.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
translate-all.h cputlb: Pass retaddr to tb_check_watchpoint 2019-09-25 10:56:28 -07:00
translator.c gdbstub: add reverse step support in replay mode 2020-10-06 08:34:49 +02:00
user-exec-stub.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
user-exec.c qemu/: fix some comment spelling errors 2020-09-17 20:35:43 +02:00