mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-11 14:25:37 +00:00
target-arm: Update condexec before arch BP check in AA32 translation
Architectural breakpoint check could raise an exceptions, thus condexec bits should be updated before calling gen_helper_check_breakpoints(). Backports commit ce8a1b5449cd8c4c2831abb581d3208c3a3745a0 from qemu
This commit is contained in:
parent
b42bfc59f1
commit
5df03a909c
|
@ -11568,6 +11568,8 @@ void gen_intermediate_code(CPUARMState *env, TranslationBlock *tb)
|
||||||
QTAILQ_FOREACH(bp, &cs->breakpoints, entry) {
|
QTAILQ_FOREACH(bp, &cs->breakpoints, entry) {
|
||||||
if (bp->pc == dc->pc) {
|
if (bp->pc == dc->pc) {
|
||||||
if (bp->flags & BP_CPU) {
|
if (bp->flags & BP_CPU) {
|
||||||
|
gen_set_condexec(dc);
|
||||||
|
gen_set_pc_im(dc, dc->pc);
|
||||||
gen_helper_check_breakpoints(tcg_ctx, tcg_ctx->cpu_env);
|
gen_helper_check_breakpoints(tcg_ctx, tcg_ctx->cpu_env);
|
||||||
/* End the TB early; it's likely not going to be executed */
|
/* End the TB early; it's likely not going to be executed */
|
||||||
dc->is_jmp = DISAS_UPDATE;
|
dc->is_jmp = DISAS_UPDATE;
|
||||||
|
|
Loading…
Reference in a new issue