From patchwork Tue Aug 21 12:53:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 28995 Received: (qmail 128370 invoked by alias); 21 Aug 2018 12:53:42 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 128071 invoked by uid 89); 21 Aug 2018 12:53:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=vg, corrected, z0, cindex X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com Received: from mail-eopbgr80057.outbound.protection.outlook.com (HELO EUR04-VI1-obe.outbound.protection.outlook.com) (40.107.8.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Aug 2018 12:53:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z5fm+CvbPmpFeKaNTfSosMEfUQY72o1lEbNQOn4L7tU=; b=QUB6HaSmy5Gnv9PdjkMKbCT4gdoU0PoSVIS/ecUMCIX6/2qNVC/anE2ZUulwUupYVC7cebdvFgXl25scdDp6CYUrQy7IP87Zjckz5az0KBvGLxV4WvFrl85ld301oW2CClcaU2DpxIJ48moqmQOXXFv+73Et/kJA0daaqMk9jg8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Received: from C02TF0U7HF1T.manchester.arm.com (217.140.106.32) by HE1PR0802MB2137.eurprd08.prod.outlook.com (2603:10a6:3:c2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1059.19; Tue, 21 Aug 2018 12:53:34 +0000 From: Alan Hayward To: gdb-patches@sourceware.org Cc: nd@arm.com, Alan Hayward Subject: [PATCH] Add SVE to NEWS and GDB manual Date: Tue, 21 Aug 2018 13:53:26 +0100 Message-Id: <20180821125326.19936-1-alan.hayward@arm.com> MIME-Version: 1.0 Return-Path: alan.hayward@arm.com Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-IsSubscribed: yes I wasn't sure whether the vector length limitation should get added to these files - I couldn't find any other limitations stated in these files. Happy to remove those parts / move elsewhere. Also corrected vector gradient to vector granule, as per DWARF spec. Ok for 8.2 branch too? 2018-08-21 Alan Hayward gdb/ * NEWS: Add SVE to 8.2 section. * doc/gdb.texinfo: Add SVE to AArch64 section. * arch/aarch64.h (aarch64_regnum): Update comment. --- gdb/NEWS | 3 +++ gdb/arch/aarch64.h | 4 ++-- gdb/doc/gdb.texinfo | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 16d3d72589..3119d97d98 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -90,6 +90,9 @@ GNU/Linux/RISC-V riscv*-*-linux* * C expressions can now use _Alignof, and C++ expressions can now use alignof. +* Support for SVE on AArch64 Linux. Note that in 8.2, GDB does not detect + changes to the vector length while the process is running. + * New commands set debug fbsd-nat diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h index e344a36770..d6b88e6d56 100644 --- a/gdb/arch/aarch64.h +++ b/gdb/arch/aarch64.h @@ -49,7 +49,7 @@ enum aarch64_regnum AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15, /* Last SVE predicate register. */ AARCH64_SVE_FFR_REGNUM, /* SVE First Fault Register. */ - AARCH64_SVE_VG_REGNUM, /* SVE Vector Gradient. */ + AARCH64_SVE_VG_REGNUM, /* SVE Vector Granule. */ /* Other useful registers. */ AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7, @@ -71,7 +71,7 @@ enum aarch64_regnum The number of bytes in an SVE Z register. VQ : Vector Quotient. The number of 128bit chunks in an SVE Z register. - VG : Vector Gradient. + VG : Vector Granule. The number of 64bit chunks in an SVE Z register. */ #define sve_vg_from_vl(vl) ((vl) / 8) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 433a2698a9..4526a385d0 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -23451,6 +23451,22 @@ Show whether AArch64 debugging messages are displayed. @end table +@subsubsection AArch64 SVE. +@cindex AArch64 SVE. + +When GDB is debugging the AArch64 architecture, if the Scalable Vector +Extension (SVE) is present then GDB will provide the vector registers +@code{$z0} through @code{$z31}, vector predicate registers @code{$p0} through +@code{$p15}, and the @code{$ffr} register. In addition the pseduo register +@code{$vg} will be provided. This is the vector granule for the current thread +and represents the number of 64-bit chunks in a SVE Z register. + +If the vector length changes, then the @code{$vg} register will be updated, +but the lengths of the @code{z} and @code{p} registers will not change. This +is a known limitation of GDB and does not affect the execution of the target +process. + + @node i386 @subsection x86 Architecture-specific Issues