From 2bee5105481637f9603bc71ef7cbb81e8da9cd68 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 12 Jul 2012 10:58:35 +0000 Subject: [PATCH] target-arm: Fix CP15 based WFI The coprocessor register rework broke cp15 based WFI instructions. We incorrectly fall through the normal register write case, which incorrectly adds a forced block termination. We've already done a special version of this (DISAS_WFI), so return immediately. Signed-off-by: Paul Brook Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- 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 a2a0ecddad..f39b9caa28 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -6236,7 +6236,7 @@ static int disas_coproc_insn(CPUARMState * env, DisasContext *s, uint32_t insn) } gen_set_pc_im(s->pc); s->is_jmp = DISAS_WFI; - break; + return 0; default: break; } -- GitLab