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.mayd...@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