[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/19] target/m68k: Fix stack frame for EXCP_ILLEGAL
From: |
Laurent Vivier |
Subject: |
[PULL 11/19] target/m68k: Fix stack frame for EXCP_ILLEGAL |
Date: |
Thu, 2 Jun 2022 13:58:29 +0200 |
From: Richard Henderson <richard.henderson@linaro.org>
According to the M68040 Users Manual, section 8.4.1, Four word
stack frame (format 0), includes Illegal Instruction. Use the
correct frame format, which does not use the ADDR argument.
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220602013401.303699-10-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
target/m68k/op_helper.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c
index 3cb71c914003..aa62158eb97b 100644
--- a/target/m68k/op_helper.c
+++ b/target/m68k/op_helper.c
@@ -391,11 +391,14 @@ static void m68k_interrupt_all(CPUM68KState *env, int
is_hw)
}
break;
+ case EXCP_ILLEGAL:
+ do_stack_frame(env, &sp, 0, oldsr, 0, env->pc);
+ break;
+
case EXCP_ADDRESS:
do_stack_frame(env, &sp, 2, oldsr, 0, env->pc);
break;
- case EXCP_ILLEGAL:
case EXCP_TRAPCC:
/* FIXME: addr is not only env->pc */
do_stack_frame(env, &sp, 2, oldsr, env->pc, env->pc);
--
2.36.1
- [PULL 04/19] target/m68k: Switch over exception type in m68k_interrupt_all, (continued)
- [PULL 04/19] target/m68k: Switch over exception type in m68k_interrupt_all, Laurent Vivier, 2022/06/02
- [PULL 03/19] target/m68k: Raise the TRAPn exception with the correct pc, Laurent Vivier, 2022/06/02
- [PULL 07/19] target/m68k: Remove retaddr in m68k_interrupt_all, Laurent Vivier, 2022/06/02
- [PULL 08/19] target/m68k: Fix address argument for EXCP_CHK, Laurent Vivier, 2022/06/02
- [PULL 18/19] linux-user/strace: Adjust get_thread_area for m68k, Laurent Vivier, 2022/06/02
- [PULL 12/19] target/m68k: Implement TRAPcc, Laurent Vivier, 2022/06/02
- [PULL 14/19] target/m68k: Implement TRAPV, Laurent Vivier, 2022/06/02
- [PULL 15/19] target/m68k: Implement FTRAPcc, Laurent Vivier, 2022/06/02
- [PULL 16/19] tests/tcg/m68k: Add trap.c, Laurent Vivier, 2022/06/02
- [PULL 09/19] target/m68k: Fix pc, c flag, and address argument for EXCP_DIV0, Laurent Vivier, 2022/06/02
- [PULL 11/19] target/m68k: Fix stack frame for EXCP_ILLEGAL,
Laurent Vivier <=
- [PULL 05/19] target/m68k: Fix coding style in m68k_interrupt_all, Laurent Vivier, 2022/06/02
- [PULL 10/19] target/m68k: Fix address argument for EXCP_TRACE, Laurent Vivier, 2022/06/02
- [PULL 13/19] target/m68k: Implement TPF in terms of TRAPcc, Laurent Vivier, 2022/06/02
- [PULL 17/19] linux-user/strace: Use is_error in print_syscall_err, Laurent Vivier, 2022/06/02
- [PULL 19/19] target/m68k: Mark helper_raise_exception as noreturn, Laurent Vivier, 2022/06/02
- Re: [PULL 00/19] M68k for 7.1 patches, Richard Henderson, 2022/06/02