Revision b8b45b68
b/target-arm/translate.c | ||
---|---|---|
8001 | 8001 |
gen_bx(s, tmp); |
8002 | 8002 |
break; |
8003 | 8003 |
case 5: /* Exception return. */ |
8004 |
/* Unpredictable in user mode. */ |
|
8005 |
goto illegal_op; |
|
8004 |
if (IS_USER(s)) { |
|
8005 |
goto illegal_op; |
|
8006 |
} |
|
8007 |
if (rn != 14 || rd != 15) { |
|
8008 |
goto illegal_op; |
|
8009 |
} |
|
8010 |
tmp = load_reg(s, rn); |
|
8011 |
tcg_gen_subi_i32(tmp, tmp, insn & 0xff); |
|
8012 |
gen_exception_return(s, tmp); |
|
8013 |
break; |
|
8006 | 8014 |
case 6: /* mrs cpsr. */ |
8007 | 8015 |
tmp = new_tmp(); |
8008 | 8016 |
if (IS_M(env)) { |
Also available in: Unified diff