Signed-off-by: Richard Henderson <r...@twiddle.net> --- target-s390x/insn-data.def | 7 +++++++ target-s390x/translate.c | 6 ------ 2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/target-s390x/insn-data.def b/target-s390x/insn-data.def index 845d22c..267050f 100644 --- a/target-s390x/insn-data.def +++ b/target-s390x/insn-data.def @@ -344,3 +344,10 @@ D(0xa703, TMHL, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 32) D(0xa700, TMLH, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 16) D(0xa701, TMLL, RI_a, Z, r1_o, i2_16u_shl, 0, 0, 0, tm64, 0) + +#ifndef CONFIG_USER_ONLY +/* SET ADDRESSING MODE */ + /* We only do 64-bit, so accept this as a no-op. + Let SAM24 and SAM31 signal illegal instruction. */ + C(0x010e, SAM64, E, Z, 0, 0, 0, 0, 0, 0) +#endif /* CONFIG_USER_ONLY */ diff --git a/target-s390x/translate.c b/target-s390x/translate.c index 34513d5..ccba739 100644 --- a/target-s390x/translate.c +++ b/target-s390x/translate.c @@ -2364,12 +2364,6 @@ static void disas_s390_insn(DisasContext *s) LOG_DISAS("opc 0x%x\n", opc); switch (opc) { -#ifndef CONFIG_USER_ONLY - case 0x01: /* SAM */ - insn = ld_code2(s->pc); - /* set addressing mode, but we only do 64bit anyways */ - break; -#endif case 0xa: /* SVC I [RR] */ insn = ld_code2(s->pc); debug_insn(insn); -- 1.7.11.4