target/xtensa: Drop check for singlestep_enabled

GDB single-stepping is now handled generically.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2021-07-19 15:02:11 -10:00
parent 1b55c52d60
commit 02bf7fa022

View File

@ -382,18 +382,14 @@ static void gen_jump_slot(DisasContext *dc, TCGv dest, int slot)
if (dc->icount) { if (dc->icount) {
tcg_gen_mov_i32(cpu_SR[ICOUNT], dc->next_icount); tcg_gen_mov_i32(cpu_SR[ICOUNT], dc->next_icount);
} }
if (dc->base.singlestep_enabled) { if (dc->op_flags & XTENSA_OP_POSTPROCESS) {
gen_exception(dc, EXCP_DEBUG); slot = gen_postprocess(dc, slot);
}
if (slot >= 0) {
tcg_gen_goto_tb(slot);
tcg_gen_exit_tb(dc->base.tb, slot);
} else { } else {
if (dc->op_flags & XTENSA_OP_POSTPROCESS) { tcg_gen_exit_tb(NULL, 0);
slot = gen_postprocess(dc, slot);
}
if (slot >= 0) {
tcg_gen_goto_tb(slot);
tcg_gen_exit_tb(dc->base.tb, slot);
} else {
tcg_gen_exit_tb(NULL, 0);
}
} }
dc->base.is_jmp = DISAS_NORETURN; dc->base.is_jmp = DISAS_NORETURN;
} }
@ -1293,12 +1289,7 @@ static void xtensa_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
case DISAS_NORETURN: case DISAS_NORETURN:
break; break;
case DISAS_TOO_MANY: case DISAS_TOO_MANY:
if (dc->base.singlestep_enabled) { gen_jumpi(dc, dc->pc, 0);
tcg_gen_movi_i32(cpu_pc, dc->pc);
gen_exception(dc, EXCP_DEBUG);
} else {
gen_jumpi(dc, dc->pc, 0);
}
break; break;
default: default:
g_assert_not_reached(); g_assert_not_reached();