Handle smc as an undefined instruction instead of having it wrongly
interpreted as some other one.
Signed-off-by: Adam Lackorzynski<address@hidden>
---
target-arm/translate.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 6fcdd7e..9b5d650 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6346,7 +6346,11 @@ static void disas_arm_insn(CPUState * env, DisasContext
*s)
dead_tmp(tmp2);
store_reg(s, rd, tmp);
break;
- case 7: /* bkpt */
+ case 7:
+ /* SMC? */
+ if ((insn& 0xfffffff0) == 0xe1600070)
+ goto illegal_op;