[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 00/10] target/arm: Fix insn exception priorities
From: |
Richard Henderson |
Subject: |
[PATCH v4 00/10] target/arm: Fix insn exception priorities |
Date: |
Wed, 3 Nov 2021 00:03:42 -0400 |
Raise pc alignment faults.
Fix single-step and pc-align priority over breakpoints.
Not yet fixing insn abort priority over breakpoints.
r~
Changes for v4:
* Rebase on master.
* Split some cleanups into new patches.
* No special cases in helper_exception_pc_alignment.
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.
Richard Henderson (10):
target/arm: Hoist pc_next to a local variable in
aarch64_tr_translate_insn
target/arm: Hoist pc_next to a local variable in arm_tr_translate_insn
target/arm: Hoist pc_next to a local variable in
thumb_tr_translate_insn
target/arm: Split arm_pre_translate_insn
target/arm: Advance pc for arch single-step exception
target/arm: Split compute_fsr_fsc out of arm_deliver_fault
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 | 46 ++++++++++++----------
target/arm/debug_helper.c | 23 +++++++++++
target/arm/gdbstub.c | 9 ++++-
target/arm/machine.c | 10 +++++
target/arm/tlb_helper.c | 63 ++++++++++++++++++++++---------
target/arm/translate-a64.c | 23 +++++++++--
target/arm/translate.c | 58 ++++++++++++++++++++--------
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 ++
13 files changed, 271 insertions(+), 58 deletions(-)
create mode 100644 tests/tcg/aarch64/pcalign-a64.c
create mode 100644 tests/tcg/arm/pcalign-a32.c
--
2.25.1
- [PATCH v4 00/10] target/arm: Fix insn exception priorities,
Richard Henderson <=
- [PATCH v4 02/10] target/arm: Hoist pc_next to a local variable in arm_tr_translate_insn, Richard Henderson, 2021/11/03
- [PATCH v4 03/10] target/arm: Hoist pc_next to a local variable in thumb_tr_translate_insn, Richard Henderson, 2021/11/03
- [PATCH v4 01/10] target/arm: Hoist pc_next to a local variable in aarch64_tr_translate_insn, Richard Henderson, 2021/11/03
- [PATCH v4 04/10] target/arm: Split arm_pre_translate_insn, Richard Henderson, 2021/11/03
- [PATCH v4 09/10] target/arm: Suppress bp for exceptions with more priority, Richard Henderson, 2021/11/03
- [PATCH v4 05/10] target/arm: Advance pc for arch single-step exception, Richard Henderson, 2021/11/03