This is my pauth enhancements from last year, the corresponding gdb patches for which are nearing merge. If lore and patchew are to be believed, I never posted this to the list, only pushed a branch so that issue #1105 could see it.
Since the cleanups there conflict with the recent m-profile gdbstub patch set, I set about to resolve those. In the process, I merged the secure extension code with the sysregs, since they're simply presenting different views of the same registers. Changes for v3: * Drop write paths; there's quite a lot to reorg in v7m_msr, and it's not clear what should even happen on the exception paths. Changes for v2: * Incorporate feedback for pauth. * Rewrite m-profile systemreg and secext xml. - Since these are Known to gdb, do not merge the two xml. - Upstream gdb only knows about {M,P}SP, but David's extension to include the other registers makes sense and Luis confirms that it's ok to have extra registers in the two features. - Continue to share code between the two xml, but separate out the mapping from gdbstub regno to internal enumeration. r~ David Reiss (2): target/arm: Export arm_v7m_mrs_control target/arm: Export arm_v7m_get_sp_ptr Richard Henderson (12): target/arm: Normalize aarch64 gdbstub get/set function names target/arm: Unexport arm_gen_dynamic_sysreg_xml target/arm: Move arm_gen_dynamic_svereg_xml to gdbstub64.c target/arm: Split out output_vector_union_type target/arm: Simplify register counting in arm_gen_dynamic_svereg_xml target/arm: Hoist pred_width in arm_gen_dynamic_svereg_xml target/arm: Fix svep width in arm_gen_dynamic_svereg_xml target/arm: Add name argument to output_vector_union_type target/arm: Simplify iteration over bit widths target/arm: Create pauth_ptr_mask target/arm: Implement gdbstub pauth extension target/arm: Implement gdbstub m-profile systemreg and secext configs/targets/aarch64-linux-user.mak | 2 +- configs/targets/aarch64-softmmu.mak | 2 +- configs/targets/aarch64_be-linux-user.mak | 2 +- target/arm/cpu.h | 9 +- target/arm/internals.h | 34 ++- target/arm/gdbstub.c | 278 +++++++++++++--------- target/arm/gdbstub64.c | 175 +++++++++++++- target/arm/tcg/m_helper.c | 90 ++++--- target/arm/tcg/pauth_helper.c | 26 +- gdb-xml/aarch64-pauth.xml | 15 ++ 10 files changed, 458 insertions(+), 175 deletions(-) create mode 100644 gdb-xml/aarch64-pauth.xml -- 2.34.1