mbox series

[v3,00/14] target/arm: gdbstub cleanups and additions

Message ID 20230227213329.793795-1-richard.henderson@linaro.org
Headers show
Series target/arm: gdbstub cleanups and additions | expand

Message

Richard Henderson Feb. 27, 2023, 9:33 p.m. UTC
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

Comments

Peter Maydell March 3, 2023, 2:03 p.m. UTC | #1
On Mon, 27 Feb 2023 at 21:33, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> 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.



Applied to target-arm.next, thanks.

-- PMM