mbox series

[v6,00/17] target/m68k: Conditional traps + trap cleanup

Message ID 20220602013401.303699-1-richard.henderson@linaro.org
Headers show
Series target/m68k: Conditional traps + trap cleanup | expand

Message

Richard Henderson June 2, 2022, 1:33 a.m. UTC
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

Comments

Laurent Vivier June 2, 2022, 7:35 a.m. UTC | #1
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