Message ID | 20100704091723.GB14248@os.inf.tu-dresden.de |
---|---|
State | New |
Headers | show |
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; + /* bkpt */ gen_set_condexec(s); gen_set_pc_im(s->pc - 4); gen_exception(EXCP_BKPT);
Handle smc as an undefined instruction instead of having it wrongly interpreted as some other one. Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> --- target-arm/translate.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)