[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/8] target/arm: Fix insn exception priorities
From: |
Richard Henderson |
Subject: |
[PATCH v2 0/8] target/arm: Fix insn exception priorities |
Date: |
Sat, 21 Aug 2021 12:59:50 -0700 |
Raise pc alignment faults.
Fix single-step and pc-align priority over breakpoints.
Not yet fixing insn abort priority over breakpoints.
Based-on: 20210813131809.28655-1-peter.maydell@linaro.org
("linux-user: Clean up siginfo_t handling for arm, aarch64")
Changes for v2:
* Handle the exceptions in cpu_loop.
* Fix how the instruction is raised for aa32 el1.
* Add pc alignment test cases.
r~
Peter Maydell (1):
target/arm: Take an exception if PSTATE.IL is set
Richard Henderson (7):
target/arm: Merge disas_a64_insn into aarch64_tr_translate_insn
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/cpu.h | 1 +
target/arm/helper.h | 1 +
target/arm/syndrome.h | 10 ++
target/arm/translate.h | 2 +
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/helper-a64.c | 1 +
target/arm/helper.c | 8 +
target/arm/machine.c | 9 +
target/arm/tlb_helper.c | 24 +++
target/arm/translate-a64.c | 276 ++++++++++++++++--------------
target/arm/translate.c | 63 ++++++-
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 +
18 files changed, 441 insertions(+), 160 deletions(-)
create mode 100644 tests/tcg/aarch64/pcalign-a64.c
create mode 100644 tests/tcg/arm/pcalign-a32.c
--
2.25.1
- [PATCH v2 0/8] target/arm: Fix insn exception priorities,
Richard Henderson <=
- [PATCH v2 1/8] target/arm: Take an exception if PSTATE.IL is set, Richard Henderson, 2021/08/21
- [PATCH v2 2/8] target/arm: Merge disas_a64_insn into aarch64_tr_translate_insn, Richard Henderson, 2021/08/21
- [PATCH v2 4/8] linux-user/arm: Report SIGBUS and SIGSEGV correctly, Richard Henderson, 2021/08/21
- [PATCH v2 3/8] linux-user/aarch64: Handle EC_PCALIGNMENT, Richard Henderson, 2021/08/21
- [PATCH v2 5/8] target/arm: Take an exception if PC is misaligned, Richard Henderson, 2021/08/21
- [PATCH v2 7/8] target/arm: Suppress bp for exceptions with more priority, Richard Henderson, 2021/08/21
- [PATCH v2 6/8] target/arm: Assert thumb pc is aligned, Richard Henderson, 2021/08/21