mbox series

[v3,0/6] target/arm: Fix insn exception priorities

Message ID 20210920024504.625965-1-richard.henderson@linaro.org
Headers show
Series target/arm: Fix insn exception priorities | expand

Message

Richard Henderson Sept. 20, 2021, 2:44 a.m. UTC
Raise pc alignment faults.
Fix single-step and pc-align priority over breakpoints.
Not yet fixing insn abort priority over breakpoints.

Based-on: 20210919015718.466207-1-richard.henderson@linaro.org
("linux-user: Clean up siginfo_t handling")

Changes for v3:
  * Rebase on siginfo_t patch set -- while probably only
    force_sig_fault is required, I suspect minor conflicts
    with the other cleanups.
  * Typo fix.

Changes for v2:
  * Handle the exceptions in cpu_loop.
  * Fix how the instruction is raised for aa32 el1.
  * Add pc alignment test cases.


r~


Richard Henderson (6):
  linux-user/aarch64: Handle EC_PCALIGNMENT
  linux-user/arm: Report SIGBUS and SIGSEGV correctly
  target/arm: Take an exception if PC is misaligned
  target/arm: Assert thumb pc is aligned
  target/arm: Suppress bp for exceptions with more priority
  tests/tcg: Add arm and aarch64 pc alignment tests

 target/arm/helper.h               |  1 +
 target/arm/syndrome.h             |  5 ++++
 linux-user/aarch64/cpu_loop.c     | 44 +++++++++++++++++------------
 linux-user/arm/cpu_loop.c         | 39 ++++++++++++++++++++++----
 target/arm/debug_helper.c         | 23 ++++++++++++++++
 target/arm/gdbstub.c              |  9 ++++--
 target/arm/machine.c              |  9 ++++++
 target/arm/tlb_helper.c           | 24 ++++++++++++++++
 target/arm/translate-a64.c        | 23 ++++++++++++++--
 target/arm/translate.c            | 42 +++++++++++++++++++++++-----
 tests/tcg/aarch64/pcalign-a64.c   | 37 +++++++++++++++++++++++++
 tests/tcg/arm/pcalign-a32.c       | 46 +++++++++++++++++++++++++++++++
 tests/tcg/aarch64/Makefile.target |  4 +--
 tests/tcg/arm/Makefile.target     |  4 +++
 14 files changed, 274 insertions(+), 36 deletions(-)
 create mode 100644 tests/tcg/aarch64/pcalign-a64.c
 create mode 100644 tests/tcg/arm/pcalign-a32.c

-- 
2.25.1