[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/24] accel/tcg: Handle gdb singlestep in cpu_tb_exec
From: |
Richard Henderson |
Subject: |
[PULL 01/24] accel/tcg: Handle gdb singlestep in cpu_tb_exec |
Date: |
Sat, 16 Oct 2021 11:14:51 -0700 |
Currently the change in cpu_tb_exec is masked by the debug exception
being raised by the translators. But this allows us to remove that code.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/cpu-exec.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 5fd1ed3422..c9764c1325 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -383,6 +383,17 @@ cpu_tb_exec(CPUState *cpu, TranslationBlock *itb, int
*tb_exit)
cc->set_pc(cpu, last_tb->pc);
}
}
+
+ /*
+ * If gdb single-step, and we haven't raised another exception,
+ * raise a debug exception. Single-step with another exception
+ * is handled in cpu_handle_exception.
+ */
+ if (unlikely(cpu->singlestep_enabled) && cpu->exception_index == -1) {
+ cpu->exception_index = EXCP_DEBUG;
+ cpu_loop_exit(cpu);
+ }
+
return last_tb;
}
--
2.25.1
- [PULL 00/24] tcg patch queue, Richard Henderson, 2021/10/16
- [PULL 01/24] accel/tcg: Handle gdb singlestep in cpu_tb_exec,
Richard Henderson <=
- [PULL 04/24] target/cris: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 05/24] target/hexagon: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 10/24] target/m68k: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 14/24] target/mips: Drop exit checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 07/24] target/hppa: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 12/24] target/microblaze: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 09/24] target/i386: Drop check for singlestep_enabled, Richard Henderson, 2021/10/16
- [PULL 11/24] target/microblaze: Check CF_NO_GOTO_TB for DISAS_JUMP, Richard Henderson, 2021/10/16
- [PULL 18/24] target/riscv: Remove exit_tb and lookup_and_goto_ptr, Richard Henderson, 2021/10/16
- [PULL 17/24] target/riscv: Remove dead code after exception, Richard Henderson, 2021/10/16