Changes for v4:
- Use ILLTRP for TRAP1-TRAP14.
- Use is_error for print_syscall_err.
r~
v1:
https://lore.kernel.org/qemu-devel/20211130103752.72099-1-richard.henderson@linaro.org/
v2:
https://lore.kernel.org/qemu-devel/20211202204900.50973-1-richard.henderson@linaro.org/
v3:
https://lore.kernel.org/qemu-devel/20220316055840.727571-1-richard.henderson@linaro.org/
v4:
https://lore.kernel.org/qemu-devel/20220430175342.370628-1-richard.henderson@linaro.org/
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 | 190 ++++++++++++++++++++++++---------
tests/tcg/m68k/trap.c | 129 ++++++++++++++++++++++
linux-user/strace.list | 5 +
tests/tcg/m68k/Makefile.target | 3 +
10 files changed, 395 insertions(+), 143 deletions(-)
create mode 100644 tests/tcg/m68k/trap.c