mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user