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

Richard Henderson posted 17 patches 1 year, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220602013401.303699-1-richard.henderson@linaro.org
Maintainers: Laurent Vivier <laurent@vivier.eu>
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
[PATCH v6 00/17] target/m68k: Conditional traps + trap cleanup
Posted by Richard Henderson 1 year, 11 months ago
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

-- 
2.34.1
Re: [PATCH v6 00/17] target/m68k: Conditional traps + trap cleanup
Posted by Laurent Vivier 1 year, 11 months ago
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