| Message ID | 20230918212651.660141-1-luis.machado@arm.com |
|---|---|
| Headers |
Return-Path: <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org>
X-Original-To: patchwork@sourceware.org
Delivered-To: patchwork@sourceware.org
Received: from server2.sourceware.org (localhost [IPv6:::1])
by sourceware.org (Postfix) with ESMTP id E5869385B516
for <patchwork@sourceware.org>; Mon, 18 Sep 2023 21:28:34 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5869385B516
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
s=default; t=1695072514;
bh=rd6RVP5orQY824QpNty/477qTv/66USURA2/NT4FAVU=;
h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:Cc:From;
b=TJlw0UWhU3/9KmMCWAqnWR7NSZDlg+IzzY3psCXyGW7FYQDywIt3qrATYpd/bpy66
bY68+NOjYiVq5eP0NAazXV408FSh6H9jOhYoJWkNimMSslxaWKcDXCpqTK8V3xibuJ
kFPsMivCjuxJhz9yFFPNeKj5cHA1LQDGgOHraeGo=
X-Original-To: gdb-patches@sourceware.org
Delivered-To: gdb-patches@sourceware.org
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
(mail-am7eur03on2064.outbound.protection.outlook.com [40.107.105.64])
by sourceware.org (Postfix) with ESMTPS id 475E9385770D
for <gdb-patches@sourceware.org>; Mon, 18 Sep 2023 21:27:15 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 475E9385770D
Received: from AS9PR04CA0157.eurprd04.prod.outlook.com (2603:10a6:20b:530::29)
by DU0PR08MB7414.eurprd08.prod.outlook.com (2603:10a6:10:352::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.26; Mon, 18 Sep
2023 21:27:12 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
(2603:10a6:20b:530:cafe::ef) by AS9PR04CA0157.outlook.office365.com
(2603:10a6:20b:530::29) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27 via Frontend
Transport; Mon, 18 Sep 2023 21:27:12 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
smtp.mailfrom=arm.com; dkim=pass (signature was verified)
header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
63.35.35.123 as permitted sender) receiver=protection.outlook.com;
client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
pr=C
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.6813.16 via Frontend Transport; Mon, 18 Sep 2023 21:27:12 +0000
Received: ("Tessian outbound 0b7d6027328f:v175");
Mon, 18 Sep 2023 21:27:11 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: c5ec098055c83135
X-CR-MTA-TID: 64aa7808
Received: from 946837ad61e2.1
by 64aa7808-outbound-1.mta.getcheckrecipient.com id
8C815FF0-88E2-4B55-952F-F06BB98E236E.1;
Mon, 18 Sep 2023 21:27:04 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
946837ad61e2.1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
Mon, 18 Sep 2023 21:27:04 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=YLC5zAv2s/c4Khc5uWuqESPnUGf3ryhByNtiK2eDEiNiGqxrQqTTo0hH2DGyJG8H4nNT7Q89y2NLpHK8FKD4wSUXAk73aCg+LQZy7AWs0lYjPdNBnRXbvFLgiF9On8bGjVBNlzK1w7KT/yC2sgk6omHYRkQZlfjrNb4JVd2lb47r/18bRbCYR0ePVMXHjfRGLH3HNYfk7lMstkHiWagrdTK0J+/W4dOtC78GK1+/2XoHQcealRtcHzHhYv2RVvxgNLuGdARAOvENhOrjMx/xmjh2+pPe6wWDlTMW8ZrHTt4wxuZBiYOvtqsQp95h7SBGqoImta7NP5eeoAobmyajBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector9901;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=rd6RVP5orQY824QpNty/477qTv/66USURA2/NT4FAVU=;
b=dTzHJAaBsEVtsZRiQoMzv3a9yIQ/e4m9VtXcOITaaFbR3h79bjT45Jdl2ROQGaRA2r4i0VNkEYwrGp0d22X+irRBmdJprF/+Wwi+1KKekPxvOkA3j7G5lL1gu24XL3OMktUjKLBDr8dnPV8clTWZR8ZYrKi9uOxMuH2hndv3qddxlSNT3ZF+ZHbD57clKSL1OhF3M+R5XJAO38+VeP+5fM/Jr8AhavCJWONHVCtjFkMNm7HED97Wxp7E3oTuP2OWHPTJ1jN/bg+t68T6DamEtF3/tXA1llf16x7mkl/Hb/1jqPYh2HP66/0yAAhEKKP4u0kBwdMUqNYsghOOTdWJLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
40.67.248.234) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com;
dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
dkim=none (message not signed); arc=none
Received: from AS8PR07CA0017.eurprd07.prod.outlook.com (2603:10a6:20b:451::26)
by DBAPR08MB5861.eurprd08.prod.outlook.com (2603:10a6:10:1a3::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Mon, 18 Sep
2023 21:27:02 +0000
Received: from AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
(2603:10a6:20b:451:cafe::ae) by AS8PR07CA0017.outlook.office365.com
(2603:10a6:20b:451::26) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.26 via Frontend
Transport; Mon, 18 Sep 2023 21:27:02 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234)
smtp.mailfrom=arm.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
40.67.248.234 as permitted sender) receiver=protection.outlook.com;
client-ip=40.67.248.234; helo=nebula.arm.com; pr=C
Received: from nebula.arm.com (40.67.248.234) by
AM7EUR03FT058.mail.protection.outlook.com (100.127.140.247) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.20.6813.16 via Frontend Transport; Mon, 18 Sep 2023 21:27:02 +0000
Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com
(10.251.24.32) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 18 Sep
2023 21:27:01 +0000
Received: from e129171.arm.com (10.57.64.238) by mail.arm.com (10.251.24.32)
with Microsoft SMTP Server id 15.1.2507.27 via Frontend Transport; Mon, 18
Sep 2023 21:27:00 +0000
To: <gdb-patches@sourceware.org>
Subject: [PATCH v7 00/18] SME support for AArch64 gdb/gdbserver on Linux
Date: Mon, 18 Sep 2023 22:26:33 +0100
Message-ID: <20230918212651.660141-1-luis.machado@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 1
X-MS-TrafficTypeDiagnostic:
AM7EUR03FT058:EE_|DBAPR08MB5861:EE_|AM7EUR03FT036:EE_|DU0PR08MB7414:EE_
X-MS-Office365-Filtering-Correlation-Id: f6df6970-2974-4169-ac05-08dbb88e0593
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
z7d/P+e5uSVjNMmcnwGt1k7wqZtj2jx9JbFeJ4KMtrDY6cVicHFKJ5sNy01LGPvGjY+sFekDTokuWRio33K27H0AfPG88zzf5DEJvTm4Hf6q1PWQaTVqLiI3XyQWdmqqagyLCFYxxsrnxTdaEbnPU46lZzn87rqkH/9uIZvu5ESJdpX46Ukh1oM74MDd0vzFM7yZV6fxisDf3U8/1O7qqFimoztvVdvAqPCXbkDnsL0BNggfraONzSB8dSLLcFfrBe0Tk0U/nX1hTOj3k0cJZ5Dd8AFT1c5o6mErG/LDy74mZvB+TksDoinxGIuKQZ64PRA5rYkzWBwArAWEr9cHuojldODpdN2ilZhZ6B/gB6wgAZP/8BdgEQq6u51kgQ6FH1e4b1lI1p0Zjr2XsNtyvKZd75N2UztXpC+VtehQCM/s6GcLYefnwKq8LZn2Bv3/B7ov//odFGc9a5fDN2e1OdBjN6o9ryZjUDC7UGGS9lhDu2js/mhpIKGkGCbuJrMBrqXcfXsUHxIxw6JCKclEhlSW2ZtKRAOk/eKYvhE+64kEPmZgha09781y1+eMY+skK7QI8NSjov9SVZgqKDSVj0GgAcuOvdNY9ackXmoFBsfRbL4WlGePfxGwNd2ydHf9MkIVxtoRfFwTmQ6T9SqH1t1L7Lw07us8mExhKnmeqDe3YzEH9ClkbLY0gY2MAoWB4WJdR4LhT6VqFujUbqqZrlIZ4MBzqTpinoV9iQbddNk=
X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en;
SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent;
CAT:NONE;
SFS:(13230031)(4636009)(376002)(39850400004)(136003)(346002)(396003)(1800799009)(186009)(451199024)(82310400011)(46966006)(36840700001)(316002)(6916009)(54906003)(8936002)(4326008)(8676002)(41300700001)(1076003)(26005)(2616005)(83380400001)(336012)(426003)(40480700001)(478600001)(7696005)(36756003)(6666004)(356005)(82740400003)(86362001)(81166007)(36860700001)(47076005)(70586007)(70206006)(2906002)(5660300002)(44832011)(36900700001);
DIR:OUT; SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5861
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
e721f0d9-0fe8-4f06-ca1e-08dbb88dffa4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
SykCLz1ay1x14pwF3fkZHMx9OjDdHyQgoD6gVBttgH6SQ3ruTN+UUoN1H8ATORnlv6aiARr+ZZVGQ5FX2t40EPU+F2fYIPPzEXFK/TJlTExwaSVgA4Tq1DcsxNtftdaq6IdEvrmc45jRb9l6KNOIm267r50v8HM6xHjNrOWuYS+4mnnqu4dPIwReXOxwygS1vXN3wEp8EDH7rCP/UOs0o9xVJGsWNsN8mP7hMkzkY8gjqKLg/ZiMZkP1s6YQ1HBHTz5uSiS0g+t1nxFeg1ixMg2dHZyh68o8ThhlWY5eRwGcnfQpP/yOTNp3KFyURdVrUnnnKqBvaqh+SPmkjjVenLfwzAfdP40gLj0xp3DeClvu53Rijy318pyF0eVgk1eqhXp6Uvpo2u9ukxEuMMwkRGm9njb3OIr5gGDcqr74q+Yhbl6YPYAhdVwe37TqQom1AioXQJCRJDOxx971Y/k2hbL515fju2WfhQAqbdNb42mqoBEns9j5a4PWqJ1ijagOKC5b284sfQRRhwzSUcznOCjUxBEjBLqy7nxLuiM1cSW7dX+MfPQlhfu8KFDORXa2eldt2dRabNzEW5MrdZR8aohJon2t0pEu5KRLgBKnufVPwFJqDnNpqVwlD0lfEmspa0IiovRHtzqN66TZZV9EcnO70o7qCVNP5sv1UOCyWxrEFc8tpWhZp99GtcD6f/vIiU0ZwFPYd57iV5tN2gBVQKWxrldxME4rqEfcjMGv5MM=
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;
IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;
PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE;
SFS:(13230031)(4636009)(136003)(346002)(39860400002)(396003)(376002)(82310400011)(186009)(1800799009)(451199024)(36840700001)(46966006)(40470700004)(81166007)(26005)(82740400003)(2616005)(8936002)(8676002)(4326008)(1076003)(40460700003)(107886003)(83380400001)(36860700001)(2906002)(36756003)(47076005)(426003)(336012)(5660300002)(40480700001)(44832011)(86362001)(7696005)(478600001)(6666004)(6916009)(316002)(54906003)(70206006)(70586007)(41300700001);
DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2023 21:27:12.0706 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id:
f6df6970-2974-4169-ac05-08dbb88e0593
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp:
TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7414
X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, FORGED_SPF_HELO, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE,
RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP,
UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: gdb-patches@sourceware.org
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org>
List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>,
<mailto:gdb-patches-request@sourceware.org?subject=unsubscribe>
List-Archive: <https://sourceware.org/pipermail/gdb-patches/>
List-Post: <mailto:gdb-patches@sourceware.org>
List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help>
List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>,
<mailto:gdb-patches-request@sourceware.org?subject=subscribe>
From: Luis Machado via Gdb-patches <gdb-patches@sourceware.org>
Reply-To: Luis Machado <luis.machado@arm.com>
Cc: thiago.bauermann@linaro.org
Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org
Sender: "Gdb-patches"
<gdb-patches-bounces+patchwork=sourceware.org@sourceware.org>
|
| Series |
SME support for AArch64 gdb/gdbserver on Linux
|
|
Message
Luis Machado
Sept. 18, 2023, 9:26 p.m. UTC
The following series enables SME 1 (Scalable Matrix Extension) support for
AArch64 gdb and gdbserver.
SME expands on SVE by having a variable-sized matrix (ZA) of dimensions
SVL x SVL bytes.
The first few patches and some intermediate ones refactor the code and fix
issues prior to enabling SME support, and thus could go in independently.
I've kept them in the series as they are closely/logically related.
Luis Machado (18):
[gdb/aarch64] Fix register fetch/store order for native AArch64 Linux
[gdb/aarch64] refactor: Rename SVE-specific files
[gdb/gdbserver] refactor: Simplify SVE interface to read/write
registers
[gdb/aarch64] sve: Fix return command when using V registers in a
SVE-enabled target
[gdb/aarch64] sme: Enable SME registers and pseudo-registers
[gdbserver/generic] Convert tdesc's expedite_regs to a string vector
[gdbserver/aarch64] refactor: Adjust expedited registers dynamically
[gdbserver/aarch64] sme: Add support for SME
[gdb/aarch64] sve: Fix signal frame z/v register restore
[gdb/aarch64] sme: Signal frame support
[gdb/aarch64] sme: Fixup sigframe gdbarch when vg/svg changes
[gdb/aarch64] sme: Support TPIDR2 signal frame context
[gdb/generic] Get rid of linux-core-thread-data
[gdb/generic] corefile/bug: Use thread-specific gdbarch when dumping
register state to core files
[gdb/generic] corefile/bug: Add hook to control the use of target
description notes from corefiles
[gdb/aarch64] sme: Core file support for Linux
[gdb/testsuite] sme: Add SVE/SME testcases
[gdb/docs] sme: Document SME registers and features
gdb/Makefile.in | 6 +-
gdb/NEWS | 11 +
gdb/aarch64-linux-nat.c | 176 ++--
gdb/aarch64-linux-tdep.c | 992 +++++++++++++++---
gdb/aarch64-tdep.c | 724 ++++++++++++-
gdb/aarch64-tdep.h | 47 +
gdb/arch-utils.c | 10 +
gdb/arch-utils.h | 6 +
gdb/arch/aarch64-scalable-linux.c | 55 +
gdb/arch/aarch64-scalable-linux.h | 53 +
gdb/arch/aarch64.c | 5 +
gdb/arch/aarch64.h | 57 +-
gdb/configure.nat | 2 +-
gdb/configure.tgt | 1 +
gdb/corelow.c | 50 +-
gdb/doc/gdb.texinfo | 252 +++++
gdb/features/aarch64-sme.c | 63 ++
gdb/gdbarch-gen.h | 14 +
gdb/gdbarch.c | 22 +
gdb/gdbarch_components.py | 19 +
gdb/linux-tdep.c | 64 +-
gdb/nat/aarch64-scalable-linux-ptrace.c | 991 +++++++++++++++++
gdb/nat/aarch64-scalable-linux-ptrace.h | 154 +++
....h => aarch64-scalable-linux-sigcontext.h} | 73 +-
gdb/nat/aarch64-sve-linux-ptrace.c | 392 -------
gdb/nat/aarch64-sve-linux-ptrace.h | 72 --
gdb/testsuite/gdb.arch/aarch64-sme-core-0.exp | 23 +
gdb/testsuite/gdb.arch/aarch64-sme-core-1.exp | 23 +
gdb/testsuite/gdb.arch/aarch64-sme-core-2.exp | 23 +
gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp | 23 +
gdb/testsuite/gdb.arch/aarch64-sme-core-4.exp | 23 +
gdb/testsuite/gdb.arch/aarch64-sme-core.c | 372 +++++++
.../gdb.arch/aarch64-sme-core.exp.tcl | 188 ++++
.../gdb.arch/aarch64-sme-regs-available-0.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-1.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-2.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-3.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-4.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-5.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-6.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-7.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-8.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available-9.exp | 26 +
.../gdb.arch/aarch64-sme-regs-available.c | 178 ++++
.../aarch64-sme-regs-available.exp.tcl | 245 +++++
.../gdb.arch/aarch64-sme-regs-sigframe-0.exp | 23 +
.../gdb.arch/aarch64-sme-regs-sigframe-1.exp | 23 +
.../gdb.arch/aarch64-sme-regs-sigframe-2.exp | 23 +
.../gdb.arch/aarch64-sme-regs-sigframe-3.exp | 23 +
.../gdb.arch/aarch64-sme-regs-sigframe-4.exp | 23 +
.../gdb.arch/aarch64-sme-regs-sigframe.c | 366 +++++++
.../aarch64-sme-regs-sigframe.exp.tcl | 179 ++++
.../aarch64-sme-regs-unavailable-0.exp | 26 +
.../aarch64-sme-regs-unavailable-1.exp | 26 +
.../aarch64-sme-regs-unavailable-2.exp | 26 +
.../aarch64-sme-regs-unavailable-3.exp | 26 +
.../aarch64-sme-regs-unavailable-4.exp | 26 +
.../aarch64-sme-regs-unavailable-5.exp | 26 +
.../aarch64-sme-regs-unavailable-6.exp | 26 +
.../aarch64-sme-regs-unavailable-7.exp | 26 +
.../aarch64-sme-regs-unavailable-8.exp | 26 +
.../aarch64-sme-regs-unavailable-9.exp | 26 +
.../gdb.arch/aarch64-sme-regs-unavailable.c | 152 +++
.../aarch64-sme-regs-unavailable.exp.tcl | 212 ++++
gdb/testsuite/gdb.arch/aarch64-sme-sanity.c | 249 +++++
gdb/testsuite/gdb.arch/aarch64-sme-sanity.exp | 72 ++
gdb/testsuite/lib/aarch64-scalable.exp | 239 +++++
gdb/testsuite/lib/aarch64-test-sme.c | 90 ++
gdb/testsuite/lib/aarch64-test-sve.c | 90 ++
gdb/testsuite/lib/aarch64.exp | 153 +++
gdb/testsuite/lib/gdb.exp | 249 +++++
gdb/tramp-frame.c | 1 +
gdb/tramp-frame.h | 5 +
gdbserver/Makefile.in | 2 +-
gdbserver/configure.srv | 3 +-
gdbserver/linux-aarch64-low.cc | 86 +-
gdbserver/linux-aarch64-tdesc.cc | 28 +-
gdbserver/remote-utils.cc | 13 +-
gdbserver/server.h | 2 +-
gdbserver/tdesc.cc | 23 +-
gdbserver/tdesc.h | 4 +-
81 files changed, 7506 insertions(+), 756 deletions(-)
create mode 100644 gdb/arch/aarch64-scalable-linux.c
create mode 100644 gdb/arch/aarch64-scalable-linux.h
create mode 100644 gdb/features/aarch64-sme.c
create mode 100644 gdb/nat/aarch64-scalable-linux-ptrace.c
create mode 100644 gdb/nat/aarch64-scalable-linux-ptrace.h
rename gdb/nat/{aarch64-sve-linux-sigcontext.h => aarch64-scalable-linux-sigcontext.h} (78%)
delete mode 100644 gdb/nat/aarch64-sve-linux-ptrace.c
delete mode 100644 gdb/nat/aarch64-sve-linux-ptrace.h
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-0.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-1.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-2.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-4.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core.exp.tcl
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-0.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-1.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-2.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-3.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-4.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-5.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-6.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-7.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-8.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-9.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available.exp.tcl
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-0.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-1.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-2.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-3.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-4.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe.exp.tcl
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-0.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-1.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-2.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-3.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-4.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-5.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-6.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-7.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-8.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-9.exp
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable.exp.tcl
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-sanity.c
create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-sanity.exp
create mode 100644 gdb/testsuite/lib/aarch64-scalable.exp
create mode 100644 gdb/testsuite/lib/aarch64-test-sme.c
create mode 100644 gdb/testsuite/lib/aarch64-test-sve.c
create mode 100644 gdb/testsuite/lib/aarch64.exp
Comments
On 9/18/23 22:26, Luis Machado via Gdb-patches wrote: > The following series enables SME 1 (Scalable Matrix Extension) support for > AArch64 gdb and gdbserver. > > SME expands on SVE by having a variable-sized matrix (ZA) of dimensions > SVL x SVL bytes. > > The first few patches and some intermediate ones refactor the code and fix > issues prior to enabling SME support, and thus could go in independently. > > I've kept them in the series as they are closely/logically related. > > Luis Machado (18): > [gdb/aarch64] Fix register fetch/store order for native AArch64 Linux > [gdb/aarch64] refactor: Rename SVE-specific files > [gdb/gdbserver] refactor: Simplify SVE interface to read/write > registers > [gdb/aarch64] sve: Fix return command when using V registers in a > SVE-enabled target > [gdb/aarch64] sme: Enable SME registers and pseudo-registers > [gdbserver/generic] Convert tdesc's expedite_regs to a string vector > [gdbserver/aarch64] refactor: Adjust expedited registers dynamically > [gdbserver/aarch64] sme: Add support for SME > [gdb/aarch64] sve: Fix signal frame z/v register restore > [gdb/aarch64] sme: Signal frame support > [gdb/aarch64] sme: Fixup sigframe gdbarch when vg/svg changes > [gdb/aarch64] sme: Support TPIDR2 signal frame context > [gdb/generic] Get rid of linux-core-thread-data > [gdb/generic] corefile/bug: Use thread-specific gdbarch when dumping > register state to core files > [gdb/generic] corefile/bug: Add hook to control the use of target > description notes from corefiles > [gdb/aarch64] sme: Core file support for Linux > [gdb/testsuite] sme: Add SVE/SME testcases > [gdb/docs] sme: Document SME registers and features > > gdb/Makefile.in | 6 +- > gdb/NEWS | 11 + > gdb/aarch64-linux-nat.c | 176 ++-- > gdb/aarch64-linux-tdep.c | 992 +++++++++++++++--- > gdb/aarch64-tdep.c | 724 ++++++++++++- > gdb/aarch64-tdep.h | 47 + > gdb/arch-utils.c | 10 + > gdb/arch-utils.h | 6 + > gdb/arch/aarch64-scalable-linux.c | 55 + > gdb/arch/aarch64-scalable-linux.h | 53 + > gdb/arch/aarch64.c | 5 + > gdb/arch/aarch64.h | 57 +- > gdb/configure.nat | 2 +- > gdb/configure.tgt | 1 + > gdb/corelow.c | 50 +- > gdb/doc/gdb.texinfo | 252 +++++ > gdb/features/aarch64-sme.c | 63 ++ > gdb/gdbarch-gen.h | 14 + > gdb/gdbarch.c | 22 + > gdb/gdbarch_components.py | 19 + > gdb/linux-tdep.c | 64 +- > gdb/nat/aarch64-scalable-linux-ptrace.c | 991 +++++++++++++++++ > gdb/nat/aarch64-scalable-linux-ptrace.h | 154 +++ > ....h => aarch64-scalable-linux-sigcontext.h} | 73 +- > gdb/nat/aarch64-sve-linux-ptrace.c | 392 ------- > gdb/nat/aarch64-sve-linux-ptrace.h | 72 -- > gdb/testsuite/gdb.arch/aarch64-sme-core-0.exp | 23 + > gdb/testsuite/gdb.arch/aarch64-sme-core-1.exp | 23 + > gdb/testsuite/gdb.arch/aarch64-sme-core-2.exp | 23 + > gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp | 23 + > gdb/testsuite/gdb.arch/aarch64-sme-core-4.exp | 23 + > gdb/testsuite/gdb.arch/aarch64-sme-core.c | 372 +++++++ > .../gdb.arch/aarch64-sme-core.exp.tcl | 188 ++++ > .../gdb.arch/aarch64-sme-regs-available-0.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-1.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-2.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-3.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-4.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-5.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-6.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-7.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-8.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available-9.exp | 26 + > .../gdb.arch/aarch64-sme-regs-available.c | 178 ++++ > .../aarch64-sme-regs-available.exp.tcl | 245 +++++ > .../gdb.arch/aarch64-sme-regs-sigframe-0.exp | 23 + > .../gdb.arch/aarch64-sme-regs-sigframe-1.exp | 23 + > .../gdb.arch/aarch64-sme-regs-sigframe-2.exp | 23 + > .../gdb.arch/aarch64-sme-regs-sigframe-3.exp | 23 + > .../gdb.arch/aarch64-sme-regs-sigframe-4.exp | 23 + > .../gdb.arch/aarch64-sme-regs-sigframe.c | 366 +++++++ > .../aarch64-sme-regs-sigframe.exp.tcl | 179 ++++ > .../aarch64-sme-regs-unavailable-0.exp | 26 + > .../aarch64-sme-regs-unavailable-1.exp | 26 + > .../aarch64-sme-regs-unavailable-2.exp | 26 + > .../aarch64-sme-regs-unavailable-3.exp | 26 + > .../aarch64-sme-regs-unavailable-4.exp | 26 + > .../aarch64-sme-regs-unavailable-5.exp | 26 + > .../aarch64-sme-regs-unavailable-6.exp | 26 + > .../aarch64-sme-regs-unavailable-7.exp | 26 + > .../aarch64-sme-regs-unavailable-8.exp | 26 + > .../aarch64-sme-regs-unavailable-9.exp | 26 + > .../gdb.arch/aarch64-sme-regs-unavailable.c | 152 +++ > .../aarch64-sme-regs-unavailable.exp.tcl | 212 ++++ > gdb/testsuite/gdb.arch/aarch64-sme-sanity.c | 249 +++++ > gdb/testsuite/gdb.arch/aarch64-sme-sanity.exp | 72 ++ > gdb/testsuite/lib/aarch64-scalable.exp | 239 +++++ > gdb/testsuite/lib/aarch64-test-sme.c | 90 ++ > gdb/testsuite/lib/aarch64-test-sve.c | 90 ++ > gdb/testsuite/lib/aarch64.exp | 153 +++ > gdb/testsuite/lib/gdb.exp | 249 +++++ > gdb/tramp-frame.c | 1 + > gdb/tramp-frame.h | 5 + > gdbserver/Makefile.in | 2 +- > gdbserver/configure.srv | 3 +- > gdbserver/linux-aarch64-low.cc | 86 +- > gdbserver/linux-aarch64-tdesc.cc | 28 +- > gdbserver/remote-utils.cc | 13 +- > gdbserver/server.h | 2 +- > gdbserver/tdesc.cc | 23 +- > gdbserver/tdesc.h | 4 +- > 81 files changed, 7506 insertions(+), 756 deletions(-) > create mode 100644 gdb/arch/aarch64-scalable-linux.c > create mode 100644 gdb/arch/aarch64-scalable-linux.h > create mode 100644 gdb/features/aarch64-sme.c > create mode 100644 gdb/nat/aarch64-scalable-linux-ptrace.c > create mode 100644 gdb/nat/aarch64-scalable-linux-ptrace.h > rename gdb/nat/{aarch64-sve-linux-sigcontext.h => aarch64-scalable-linux-sigcontext.h} (78%) > delete mode 100644 gdb/nat/aarch64-sve-linux-ptrace.c > delete mode 100644 gdb/nat/aarch64-sve-linux-ptrace.h > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-0.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-1.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-2.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-3.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core-4.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-core.exp.tcl > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-0.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-1.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-2.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-3.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-4.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-5.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-6.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-7.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-8.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available-9.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-available.exp.tcl > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-0.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-1.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-2.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-3.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe-4.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-sigframe.exp.tcl > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-0.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-1.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-2.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-3.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-4.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-5.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-6.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-7.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-8.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable-9.exp > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-regs-unavailable.exp.tcl > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-sanity.c > create mode 100644 gdb/testsuite/gdb.arch/aarch64-sme-sanity.exp > create mode 100644 gdb/testsuite/lib/aarch64-scalable.exp > create mode 100644 gdb/testsuite/lib/aarch64-test-sme.c > create mode 100644 gdb/testsuite/lib/aarch64-test-sve.c > create mode 100644 gdb/testsuite/lib/aarch64.exp > Pushed now.