mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
target/openrisc: Use translator_use_goto_tb
Reorder the control statements to allow using the page boundary check from translator_use_goto_tb(). Reviewed-by: Stafford Horne <shorne@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
6082414e3f
commit
adf1f3dee6
1 changed files with 8 additions and 7 deletions
|
@ -1719,16 +1719,17 @@ static void openrisc_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs)
|
||||||
/* fallthru */
|
/* fallthru */
|
||||||
|
|
||||||
case DISAS_TOO_MANY:
|
case DISAS_TOO_MANY:
|
||||||
if (unlikely(dc->base.singlestep_enabled)) {
|
if (translator_use_goto_tb(&dc->base, jmp_dest)) {
|
||||||
tcg_gen_movi_tl(cpu_pc, jmp_dest);
|
|
||||||
gen_exception(dc, EXCP_DEBUG);
|
|
||||||
} else if ((dc->base.pc_first ^ jmp_dest) & TARGET_PAGE_MASK) {
|
|
||||||
tcg_gen_movi_tl(cpu_pc, jmp_dest);
|
|
||||||
tcg_gen_lookup_and_goto_ptr();
|
|
||||||
} else {
|
|
||||||
tcg_gen_goto_tb(0);
|
tcg_gen_goto_tb(0);
|
||||||
tcg_gen_movi_tl(cpu_pc, jmp_dest);
|
tcg_gen_movi_tl(cpu_pc, jmp_dest);
|
||||||
tcg_gen_exit_tb(dc->base.tb, 0);
|
tcg_gen_exit_tb(dc->base.tb, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
tcg_gen_movi_tl(cpu_pc, jmp_dest);
|
||||||
|
if (unlikely(dc->base.singlestep_enabled)) {
|
||||||
|
gen_exception(dc, EXCP_DEBUG);
|
||||||
|
} else {
|
||||||
|
tcg_gen_lookup_and_goto_ptr();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue