diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2018-11-02 11:27:46 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-11-02 11:27:46 +0000 |
commit | fbdd2b2b03cb42d6a1e54ae23199b7c2b401f898 (patch) | |
tree | 878565f3edc8a144a9b47f823dddf04a3d3443f4 /target | |
parent | 2959fb7fe50c3c22aabaaabf198a1b87d10e51f6 (diff) | |
parent | b9f8e55bf7e994e192ab7360830731580384b813 (diff) |
Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-3.1-pull-request' into staging
Fix illegal instruction exception number
# gpg: Signature made Thu 01 Nov 2018 11:34:49 GMT
# gpg: using RSA key F30C38BD3F2FBE3C
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>"
# gpg: aka "Laurent Vivier <laurent@vivier.eu>"
# gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>"
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier/tags/m68k-for-3.1-pull-request:
target/m68k: use EXCP_ILLEGAL instead of EXCP_UNSUPPORTED
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target')
-rw-r--r-- | target/m68k/cpu.h | 1 | ||||
-rw-r--r-- | target/m68k/translate.c | 6 |
2 files changed, 3 insertions, 4 deletions
diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h index c63adf772f..b288a3864e 100644 --- a/target/m68k/cpu.h +++ b/target/m68k/cpu.h @@ -70,7 +70,6 @@ #define EXCP_MMU_CONF 56 /* MMU Configuration Error */ #define EXCP_MMU_ILLEGAL 57 /* MMU Illegal Operation Error */ #define EXCP_MMU_ACCESS 58 /* MMU Access Level Violation Error */ -#define EXCP_UNSUPPORTED 61 #define EXCP_RTE 0x100 #define EXCP_HALT_INSN 0x101 diff --git a/target/m68k/translate.c b/target/m68k/translate.c index ae3651b867..752e46ef63 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -1553,7 +1553,7 @@ DISAS_INSN(undef) but actually illegal for CPU32 or pre-68020. */ qemu_log_mask(LOG_UNIMP, "Illegal instruction: %04x @ %08x\n", insn, s->base.pc_next); - gen_exception(s, s->base.pc_next, EXCP_UNSUPPORTED); + gen_exception(s, s->base.pc_next, EXCP_ILLEGAL); } DISAS_INSN(mulw) @@ -2800,7 +2800,7 @@ DISAS_INSN(mull) if (ext & 0x400) { if (!m68k_feature(s->env, M68K_FEATURE_QUAD_MULDIV)) { - gen_exception(s, s->base.pc_next, EXCP_UNSUPPORTED); + gen_exception(s, s->base.pc_next, EXCP_ILLEGAL); return; } @@ -4510,7 +4510,7 @@ DISAS_INSN(strldsr) addr = s->pc - 2; ext = read_im16(env, s); if (ext != 0x46FC) { - gen_exception(s, addr, EXCP_UNSUPPORTED); + gen_exception(s, addr, EXCP_ILLEGAL); return; } ext = read_im16(env, s); |