From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27717 invoked by alias); 21 Aug 2018 14:36:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 27707 invoked by uid 89); 21 Aug 2018 14:36:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=throughout, ess, XML, xml X-HELO: mx1.redhat.com Received: from mx3-rdu2.redhat.com (HELO mx1.redhat.com) (66.187.233.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Aug 2018 14:36:45 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CEA4B8068B0B; Tue, 21 Aug 2018 14:36:43 +0000 (UTC) Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 177A42026D64; Tue, 21 Aug 2018 14:36:42 +0000 (UTC) Subject: Re: [PATCH] Add SVE to NEWS and GDB manual To: Alan Hayward , gdb-patches@sourceware.org References: <20180821125326.19936-1-alan.hayward@arm.com> Cc: nd@arm.com From: Pedro Alves Message-ID: Date: Tue, 21 Aug 2018 14:36:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180821125326.19936-1-alan.hayward@arm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-08/txt/msg00482.txt.bz2 On 08/21/2018 01:53 PM, Alan Hayward wrote: > 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. That seems unrelated, best to apply as a separate patch, I'd think. > > 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. I assume this is the "new in 8.2" section, so is there a reason you're saying "note that in 8.2" instead of "note that" ?? It seems redundant. If it isn't redundant, and you mean to say that master (8.3) will behave differently, then such behavior should instead get its own news entry in 8.3. > + > * 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 Throughout, you should use @value{GDBN} instead of "GDB". > +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 Typo: "pseduo" -> "pseudo". > +@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. Should that be "an SVE" (as in, "an ess, vee, eee") ? Or is SVE usually read as "a ssssveeee"? > + > +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. Is the documentation for the "org.gnu.gdb.aarch64.sve" XML tdesc feature in the branch already? > + > + > @node i386 > @subsection x86 Architecture-specific Issues > > Thanks, Pedro Alves