From: Ildar Isaev <i...@inbox.ru> pc wasn't modified in tcg code for load/store multiple, causing translation block to be executed in infinite loop forever
Signed-off-by: Ildar Isaev <i...@inbox.ru> --- target-arm/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index 36868ed..622aa03 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -8973,7 +8973,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) tmp = load_cpu_field(spsr); gen_set_cpsr(tmp, CPSR_ERET_MASK); tcg_temp_free_i32(tmp); - s->is_jmp = DISAS_UPDATE; + gen_lookup_tb(s); } } break; -- 1.9.3