Message ID | 20100604085910.GA21351@os.inf.tu-dresden.de |
---|---|
State | New |
Headers | show |
diff --git a/target-arm/translate.c b/target-arm/translate.c index 0eccca5..afd6716 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -6344,7 +6344,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 undefined instruction instead of having it wrongly interpreted as some other instruction. Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> --- target-arm/translate.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)