summaryrefslogtreecommitdiff
path: root/target-arm/translate.c
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2012-07-12 10:58:35 +0000
committerPeter Maydell <peter.maydell@linaro.org>2012-07-12 10:58:35 +0000
commit2bee5105481637f9603bc71ef7cbb81e8da9cd68 (patch)
tree685ec85c51f630fe48a823c6356b0a95d1b359ca /target-arm/translate.c
parent92336855975805d88c7979f53bc05c2d47abab04 (diff)
downloadqemu-2bee5105481637f9603bc71ef7cbb81e8da9cd68.tar.gz
qemu-2bee5105481637f9603bc71ef7cbb81e8da9cd68.tar.bz2
qemu-2bee5105481637f9603bc71ef7cbb81e8da9cd68.zip
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 <paul@codesourcery.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/translate.c')
-rw-r--r--target-arm/translate.c2
1 files changed, 1 insertions, 1 deletions
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;
}