[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 01/23] accel/tcg: Handle gdb singlestep in cpu_tb_exec
From: |
Richard Henderson |
Subject: |
[PATCH v2 01/23] accel/tcg: Handle gdb singlestep in cpu_tb_exec |
Date: |
Tue, 12 Oct 2021 09:21:37 -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
- [PATCH v2 00/23] tcg: singlestep reorg, Richard Henderson, 2021/10/12
- [PATCH v2 01/23] accel/tcg: Handle gdb singlestep in cpu_tb_exec,
Richard Henderson <=
- [PATCH v2 02/23] target/alpha: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 03/23] target/avr: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 04/23] target/cris: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 05/23] target/hexagon: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 06/23] target/arm: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 07/23] target/hppa: Drop checks for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 09/23] target/i386: Drop check for singlestep_enabled, Richard Henderson, 2021/10/12
- [PATCH v2 11/23] target/microblaze: Check CF_NO_GOTO_TB for DISAS_JUMP, Richard Henderson, 2021/10/12