Le 02/06/2022 à 03:33, Richard Henderson a écrit :
Changes for v6:
* Use exact masks for registering trapcc and ftrapcc.
These insn overlap illegal scc and fscc operands,
so we need to be exact about the registration.
r~
Richard Henderson (17):
target/m68k: Raise the TRAPn exception with the correct pc
target/m68k: Switch over exception type in m68k_interrupt_all
target/m68k: Fix coding style in m68k_interrupt_all
linux-user/m68k: Handle EXCP_TRAP1 through EXCP_TRAP15
target/m68k: Remove retaddr in m68k_interrupt_all
target/m68k: Fix address argument for EXCP_CHK
target/m68k: Fix pc, c flag, and address argument for EXCP_DIV0
target/m68k: Fix address argument for EXCP_TRACE
target/m68k: Fix stack frame for EXCP_ILLEGAL
target/m68k: Implement TRAPcc
target/m68k: Implement TPF in terms of TRAPcc
target/m68k: Implement TRAPV
target/m68k: Implement FTRAPcc
tests/tcg/m68k: Add trap.c
linux-user/strace: Use is_error in print_syscall_err
linux-user/strace: Adjust get_thread_area for m68k
target/m68k: Mark helper_raise_exception as noreturn
target/m68k/cpu.h | 8 ++
target/m68k/helper.h | 14 +--
linux-user/m68k/cpu_loop.c | 13 ++-
linux-user/strace.c | 2 +-
target/m68k/cpu.c | 1 +
target/m68k/op_helper.c | 173 +++++++++++++++--------------
target/m68k/translate.c | 191 ++++++++++++++++++++++++---------
tests/tcg/m68k/trap.c | 129 ++++++++++++++++++++++
linux-user/strace.list | 5 +
tests/tcg/m68k/Makefile.target | 3 +
10 files changed, 396 insertions(+), 143 deletions(-)
create mode 100644 tests/tcg/m68k/trap.c
Applied to my m68k-for-7.1 branch
Thanks,
Laurent