Use the ID of the breakpoint instead of a loop over all.
Signed-off-by: Richard Henderson <[email protected]>
---
target/xtensa/dbg_helper.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/target/xtensa/dbg_helper.c b/target/xtensa/dbg_helper.c
index 557a7852c8..b08bd03435 100644
--- a/target/xtensa/dbg_helper.c
+++ b/target/xtensa/dbg_helper.c
@@ -67,18 +67,11 @@ void HELPER(wsr_ibreaka)(CPUXtensaState *env, uint32_t i,
uint32_t v)
bool xtensa_debug_check_breakpoint(CPUState *cs, CPUBreakpoint *bp)
{
CPUXtensaState *env = cpu_env(cs);
- unsigned int i;
if (xtensa_get_cintlevel(env) >= env->config->debug_level) {
return false;
}
- for (i = 0; i < env->config->nibreak; ++i) {
- if (env->sregs[IBREAKENABLE] & (1 << i) &&
- env->sregs[IBREAKA + i] == env->pc) {
- return true;
- }
- }
- return false;
+ return (env->sregs[IBREAKENABLE] >> bp->id) & 1;
}
static void set_dbreak(CPUXtensaState *env, unsigned i, uint32_t dbreaka,
--
2.43.0