[v5,0/6] SME2 support for AArch64 gdb/gdbserver on Linux

Message ID 20230918212708.660213-1-luis.machado@arm.com
Headers
Series SME2 support for AArch64 gdb/gdbserver on Linux |

Message

Luis Machado Sept. 18, 2023, 9:27 p.m. UTC
  The following series enables SME 2 (Scalable Matrix Extension 2) support for
AArch64 gdb and gdbserver.

SME2 expands on SME by adding a predicate register of 512 bits named ZT0.

At a high level, this series does the following:

- Adds support for the ZT0 register and adds a new target description feature
  for it.
- Core file support.
- Signal frame context support.
- Native Linux handling of the new NT_ARM_ZT register set.

This series depends on the SME series, and should be applied on top of that
one.

Luis Machado (6):
  [gdb/aarch64] sme2: Enable SME2 for AArch64 gdb on Linux
  [gdbserver/aarch64] sme2: Enable SME2 support in gdbserver
  [gdb/aarch64] sme2: signal frame support
  [gdb/aarch64] sme2: Core file support for ZT register set
  [gdb/testsuite] sme2: Extend SME tests to include SME2
  [gdb/docs] sme2: Document SME2 registers and features

 gdb/NEWS                                      |   3 +
 gdb/aarch64-linux-nat.c                       |  49 ++++++
 gdb/aarch64-linux-tdep.c                      | 152 ++++++++++++++++++
 gdb/aarch64-tdep.c                            |  21 +++
 gdb/aarch64-tdep.h                            |  10 ++
 gdb/arch/aarch64-scalable-linux.h             |   6 +
 gdb/arch/aarch64.c                            |   4 +
 gdb/arch/aarch64.h                            |  12 +-
 gdb/doc/gdb.texinfo                           |  65 ++++++++
 gdb/features/aarch64-sme2.c                   |  43 +++++
 gdb/nat/aarch64-scalable-linux-ptrace.c       | 134 +++++++++++++++
 gdb/nat/aarch64-scalable-linux-ptrace.h       |  26 +++
 gdb/testsuite/gdb.arch/aarch64-sme-core.c     |  32 +++-
 .../gdb.arch/aarch64-sme-core.exp.tcl         |   2 +-
 .../aarch64-sme-regs-available.exp.tcl        |  17 ++
 .../gdb.arch/aarch64-sme-regs-sigframe.c      |  32 +++-
 .../aarch64-sme-regs-sigframe.exp.tcl         |  13 +-
 .../aarch64-sme-regs-unavailable.exp.tcl      |  12 ++
 gdb/testsuite/gdb.arch/aarch64-sme-sanity.c   |  32 +++-
 gdb/testsuite/lib/aarch64-scalable.exp        |  44 +++++
 gdbserver/linux-aarch64-low.cc                |  57 +++++++
 21 files changed, 757 insertions(+), 9 deletions(-)
 create mode 100644 gdb/features/aarch64-sme2.c
  

Comments

Luis Machado Oct. 4, 2023, 3:28 p.m. UTC | #1
On 9/18/23 22:27, Luis Machado via Gdb-patches wrote:
> The following series enables SME 2 (Scalable Matrix Extension 2) support for
> AArch64 gdb and gdbserver.
> 
> SME2 expands on SME by adding a predicate register of 512 bits named ZT0.
> 
> At a high level, this series does the following:
> 
> - Adds support for the ZT0 register and adds a new target description feature
>   for it.
> - Core file support.
> - Signal frame context support.
> - Native Linux handling of the new NT_ARM_ZT register set.
> 
> This series depends on the SME series, and should be applied on top of that
> one.
> 
> Luis Machado (6):
>   [gdb/aarch64] sme2: Enable SME2 for AArch64 gdb on Linux
>   [gdbserver/aarch64] sme2: Enable SME2 support in gdbserver
>   [gdb/aarch64] sme2: signal frame support
>   [gdb/aarch64] sme2: Core file support for ZT register set
>   [gdb/testsuite] sme2: Extend SME tests to include SME2
>   [gdb/docs] sme2: Document SME2 registers and features
> 
>  gdb/NEWS                                      |   3 +
>  gdb/aarch64-linux-nat.c                       |  49 ++++++
>  gdb/aarch64-linux-tdep.c                      | 152 ++++++++++++++++++
>  gdb/aarch64-tdep.c                            |  21 +++
>  gdb/aarch64-tdep.h                            |  10 ++
>  gdb/arch/aarch64-scalable-linux.h             |   6 +
>  gdb/arch/aarch64.c                            |   4 +
>  gdb/arch/aarch64.h                            |  12 +-
>  gdb/doc/gdb.texinfo                           |  65 ++++++++
>  gdb/features/aarch64-sme2.c                   |  43 +++++
>  gdb/nat/aarch64-scalable-linux-ptrace.c       | 134 +++++++++++++++
>  gdb/nat/aarch64-scalable-linux-ptrace.h       |  26 +++
>  gdb/testsuite/gdb.arch/aarch64-sme-core.c     |  32 +++-
>  .../gdb.arch/aarch64-sme-core.exp.tcl         |   2 +-
>  .../aarch64-sme-regs-available.exp.tcl        |  17 ++
>  .../gdb.arch/aarch64-sme-regs-sigframe.c      |  32 +++-
>  .../aarch64-sme-regs-sigframe.exp.tcl         |  13 +-
>  .../aarch64-sme-regs-unavailable.exp.tcl      |  12 ++
>  gdb/testsuite/gdb.arch/aarch64-sme-sanity.c   |  32 +++-
>  gdb/testsuite/lib/aarch64-scalable.exp        |  44 +++++
>  gdbserver/linux-aarch64-low.cc                |  57 +++++++
>  21 files changed, 757 insertions(+), 9 deletions(-)
>  create mode 100644 gdb/features/aarch64-sme2.c
> 

Pushed now.