aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-11-02 11:27:46 +0000
committerPeter Maydell <peter.maydell@linaro.org>2018-11-02 11:27:46 +0000
commitfbdd2b2b03cb42d6a1e54ae23199b7c2b401f898 (patch)
tree878565f3edc8a144a9b47f823dddf04a3d3443f4
parent2959fb7fe50c3c22aabaaabf198a1b87d10e51f6 (diff)
parentb9f8e55bf7e994e192ab7360830731580384b813 (diff)
downloadqemu-fbdd2b2b03cb42d6a1e54ae23199b7c2b401f898.zip
qemu-fbdd2b2b03cb42d6a1e54ae23199b7c2b401f898.tar.gz
qemu-fbdd2b2b03cb42d6a1e54ae23199b7c2b401f898.tar.bz2
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>
-rw-r--r--linux-user/m68k/cpu_loop.c1
-rw-r--r--target/m68k/cpu.h1
-rw-r--r--target/m68k/translate.c6
3 files changed, 3 insertions, 5 deletions
diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c
index b4d3d8a..30c3332 100644
--- a/linux-user/m68k/cpu_loop.c
+++ b/linux-user/m68k/cpu_loop.c
@@ -55,7 +55,6 @@ void cpu_loop(CPUM68KState *env)
break;
case EXCP_LINEA:
case EXCP_LINEF:
- case EXCP_UNSUPPORTED:
do_sigill:
info.si_signo = TARGET_SIGILL;
info.si_errno = 0;
diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h
index c63adf7..b288a38 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 ae3651b..752e46e 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);