From 7ffdd856b771281e4b96b8710b6e0179b4f63d55 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Sun, 9 Sep 2012 15:06:19 -0500 Subject: [PATCH] arm: make smc calls behave as nops Signed-off-by: Rob Herring --- target-arm/translate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target-arm/translate.c b/target-arm/translate.c index 280bfca..49eab1a 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -7052,6 +7052,8 @@ static void disas_arm_insn(CPUState * env, DisasContext *s) /* SMC instruction (op1 == 3) and undefined instructions (op1 == 0 || op1 == 2) will trap */ + if (op1 == 3) + break; if (op1 != 1) { goto illegal_op; } @@ -8713,7 +8715,7 @@ static int disas_thumb2_insn(CPUState *env, DisasContext *s, uint16_t insn_hw1) if (insn & (1 << 26)) { /* Secure monitor call (v6Z) */ - goto illegal_op; /* not implemented. */ + break; /* not implemented, handle as nop */ } else { op = (insn >> 20) & 7; switch (op) { -- 1.7.9.5