[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-6.2 03/23] target/avr: Drop checks for singlestep_enabled
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH for-6.2 03/23] target/avr: Drop checks for singlestep_enabled |
Date: |
Wed, 21 Jul 2021 20:00:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
+Michael/Alex/Pavel
On 7/21/21 8:41 AM, Richard Henderson wrote:
> GDB single-stepping is now handled generically.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> target/avr/translate.c | 19 ++++---------------
> 1 file changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/target/avr/translate.c b/target/avr/translate.c
> index 1111e08b83..0403470dd8 100644
> --- a/target/avr/translate.c
> +++ b/target/avr/translate.c
> @@ -1089,11 +1089,7 @@ static void gen_goto_tb(DisasContext *ctx, int n,
> target_ulong dest)
> tcg_gen_exit_tb(tb, n);
> } else {
> tcg_gen_movi_i32(cpu_pc, dest);
> - if (ctx->base.singlestep_enabled) {
> - gen_helper_debug(cpu_env);
> - } else {
> - tcg_gen_lookup_and_goto_ptr();
> - }
> + tcg_gen_lookup_and_goto_ptr();
> }
> ctx->base.is_jmp = DISAS_NORETURN;
> }
> @@ -3011,17 +3007,10 @@ static void avr_tr_tb_stop(DisasContextBase *dcbase,
> CPUState *cs)
> tcg_gen_movi_tl(cpu_pc, ctx->npc);
> /* fall through */
> case DISAS_LOOKUP:
> - if (!ctx->base.singlestep_enabled) {
> - tcg_gen_lookup_and_goto_ptr();
> - break;
> - }
> - /* fall through */
> + tcg_gen_lookup_and_goto_ptr();
> + break;
> case DISAS_EXIT:
> - if (ctx->base.singlestep_enabled) {
> - gen_helper_debug(cpu_env);
> - } else {
> - tcg_gen_exit_tb(NULL, 0);
> - }
> + tcg_gen_exit_tb(NULL, 0);
> break;
> default:
> g_assert_not_reached();
>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Not related to this patch, but looking at the last
gen_helper_debug() use:
/*
* The BREAK instruction is used by the On-chip Debug system, and is
* normally not used in the application software. When the BREAK
instruction is
* executed, the AVR CPU is set in the Stopped Mode. This gives the On-chip
* Debugger access to internal resources. If any Lock bits are set, or
either
* the JTAGEN or OCDEN Fuses are unprogrammed, the CPU will treat the BREAK
* instruction as a NOP and will not enter the Stopped mode. This
instruction
* is not available in all devices. Refer to the device specific
instruction
* set summary.
*/
static bool trans_BREAK(DisasContext *ctx, arg_BREAK *a)
{
if (!avr_have_feature(ctx, AVR_FEATURE_BREAK)) {
return true;
}
#ifdef BREAKPOINT_ON_BREAK
tcg_gen_movi_tl(cpu_pc, ctx->npc - 1);
gen_helper_debug(cpu_env);
ctx->base.is_jmp = DISAS_EXIT;
#else
/* NOP */
#endif
return true;
}
Shouldn't we have a generic 'bool gdbstub_is_attached()' in
"exec/gdbstub.h", then use it in replay_gdb_attached() and
trans_BREAK() instead of this BREAKPOINT_ON_BREAK build-time
definitions?
- [PATCH for-6.2 00/23] tcg: gdb singlestep reorg, Richard Henderson, 2021/07/21
- [PATCH for-6.2 01/23] accel/tcg: Handle gdb singlestep in cpu_tb_exec, Richard Henderson, 2021/07/21
- [PATCH for-6.2 02/23] target/alpha: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21
- [PATCH for-6.2 03/23] target/avr: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21
- Re: [PATCH for-6.2 03/23] target/avr: Drop checks for singlestep_enabled,
Philippe Mathieu-Daudé <=
- [PATCH for-6.2 04/23] target/cris: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21
- [PATCH for-6.2 06/23] target/arm: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21
- [PATCH for-6.2 07/23] target/hppa: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21
- [PATCH for-6.2 08/23] target/i386: Check CF_NO_GOTO_TB for dc->jmp_opt, Richard Henderson, 2021/07/21
- [PATCH for-6.2 13/23] target/mips: Fix single stepping, Richard Henderson, 2021/07/21
- [PATCH for-6.2 14/23] target/mips: Drop exit checks for singlestep_enabled, Richard Henderson, 2021/07/21
- [PATCH for-6.2 15/23] target/openrisc: Drop checks for singlestep_enabled, Richard Henderson, 2021/07/21