Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Luis Machado via Gdb-patches <gdb-patches@sourceware.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH,v3 17/17] [gdb/docs] sme: Document SME registers and features
Date: Wed, 26 Apr 2023 16:00:44 +0100	[thread overview]
Message-ID: <d1dc7f33-85df-fbe7-46a4-da86789a70c2@arm.com> (raw)
In-Reply-To: <83ttx81dcc.fsf@gnu.org>

On 4/22/23 10:21, Eli Zaretskii wrote:
>> From: Luis Machado <luis.machado@arm.com>
>> Date: Mon, 17 Apr 2023 18:19:45 +0100
>>
>> Provide documentation for the SME feature and other information that
>> should be useful for users that need to debug a SME-capable target.
>> ---
>>   gdb/NEWS            |  11 ++
>>   gdb/doc/gdb.texinfo | 249 ++++++++++++++++++++++++++++++++++++++++++++
>>   2 files changed, 260 insertions(+)
> 
> Thanks.
> 
>> diff --git a/gdb/NEWS b/gdb/NEWS
>> index 54b5da21245..e3ce7d7e881 100644
>> --- a/gdb/NEWS
>> +++ b/gdb/NEWS
>> @@ -3,6 +3,17 @@
>>   
>>   *** Changes since GDB 13
>>   
>> +* GDB now supports the AArch64 Scalable Matrix Extension (SME), which includes
>> +  a new matrix register named ZA, a new thread register TPIDR2 and a new vector
>> +  length register SVG (streaming vector granule).  GDB also supports tracking
>> +  ZA state across signal frames.
>> +
>> +  Some features are still under development or are dependent on ABI specs that
>> +  are still in alpha stage.  For example, manual function calls with ZA state
>> +  don't have any special handling, and tracking of SVG changes based on
>> +  DWARF information is still not implemented, but there are plans to do so in
>> +  the future.
>> +
>>   * The AArch64 'org.gnu.gdb.aarch64.pauth' Pointer Authentication feature string
>>     has been deprecated in favor of the 'org.gnu.gdb.aarch64.pauth_v2' feature
>>     string.
> 
> This part is OK.
> 
>> +For SVE, the following definitions are used throughout @value{GDBN}'s source
>> +code and in this document:
>> +
>> +@itemize
>> +
>> +@item
>> +@anchor{VL}
>> +@cindex VL
>> +@code{VL}: The vector length, in bytes.  It defines the size of each @code{Z}
>> +register.
>> +
>> +@item
>> +@anchor{VQ}
>> +@cindex VQ
>> +@code{VQ}: The number of 128 bit units in @code{VL}.  This is mostly used
>> +internally by @value{GDBN} and the Linux Kernel.
>> +
>> +@item
>> +@anchor{VG}
>> +@cindex VG
>> +@code{VG}: The number of 64 bit units in @code{VL}.  This is mostly used
>> +internally by @value{GDBN} and the Linux Kernel.
> 
> I thought we agreed to use @var{vl}, @var{vq}, etc., instead of
> @code{VL} etc.?  These are meta-syntactic parameters, they stand for
> something else, not literally for themselves, so @var is more
> appropriate.

Ok. That wasn't completely clear to me. I've made the change now.

> 
> Also, you place @cindex between @item and the text of the @item -- did
> you verify that typing "i VQ" in an Info reader goes to the beginning
> of the item's line?  I think @cindex should be before @item.

You're right. Fixed and verified now.

> 
>> +Similarly to SVE, where the size of each @code{Z} register is directly related
>> +to the vector length (@code{VL} for short), the @acronym{SME} @code{ZA} matrix
>> +register's size is directly related to the streaming vector length
> 
> Elsewhere you use @code{za}, lower-case, for the register.  Please be
> consistent in the capitalization of the register names.
> 

All the uses of za should now be lower-case.

>> +(@code{SVL} for short). @xref{VL} @xref{SVL}
>                           ^^
> Two spaces there.
> 

Fixed.

>> +@item
>> +@anchor{SVL}
>> +@cindex SVL
>> +@code{SVL}: The streaming vector length, in bytes.  It defines the size of each
>> +dimension of the 2-dimensional square @code{ZA} matrix.  The total size of
>> +@code{ZA} is therefore @code{@var{SVL}x@var{SVL}}.
>> +
>> +When streaming mode is enabled, it defines the size of the @acronym{SVE}
>> +registers as well.
>> +
>> +@item
>> +@anchor{SVQ}
>> +@cindex SVQ
>> +@code{SVQ}: The number of 128 bit units in @code{SVL}.  This is mostly used
>> +internally by @value{GDBN} and the Linux Kernel.
>> +
>> +@item
>> +@anchor{SVG}
>> +@cindex SVG
>> +@code{SVG}: The number of 64 bit units in @code{SVL}.  This is mostly used
>> +internally by @value{GDBN} and the Linux Kernel.
> 
> Likewise here: I thought we agreed on using @var{svl} etc., not
> @code{SVL}.
> 

Fixed now.

>> +The @code{za} register is a 2-dimensional square @code{@var{SVL}x@var{SVL}}
> 
> And here you actually use @var (which is correct), but with an
> upper-case argument, which is sub-optimal.  The argument of @var
> should be in lower-case.
> 

Fixed.

>> +@item
>> +@samp{za} is a register represented by a vector of @code{SVL} x @code{SVL}
>                                                        ^^^^^^^^^^^^^^^^^^^^^^^
> This should use @var, not @code.  Also, I'd remove the whitespace
> around "x".

Fixed. But I used spaces between "x" and the two @var entries because it gets rendered as a single
block of characters like svlxsvl.

Using @math{x} doesn't look too nice. Suggestions?

> 
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>


  reply	other threads:[~2023-04-26 15:01 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-11  4:26 [PATCH 00/17] SME support for AArch64 gdb/gdbserver on Linux Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 01/17] [gdb/aarch64] Fix register fetch/store order for native AArch64 Linux Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 02/17] [gdb/aarch64] refactor: Rename SVE-specific files Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 03/17] [gdb/gdbserver] refactor: Simplify SVE interface to read/write registers Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 04/17] [gdb/aarch64] sve: Fix return command when using V registers in a SVE-enabled target Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 05/17] [gdb/aarch64] sme: Enable SME registers and pseudo-registers Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 06/17] [gdbserver/aarch64] refactor: Adjust expedited registers dynamically Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 07/17] [gdbserver/aarch64] sme: Add support for SME Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 08/17] [gdb/aarch64] sve: Fix signal frame z/v register restore Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 09/17] [gdb/aarch64] sme: Signal frame support Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 10/17] [gdb/aarch64] sme: Fixup sigframe gdbarch when vg/svg changes Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 11/17] [gdb/aarch64] sme: Support TPIDR2 signal frame context Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 12/17] [binutils/aarch64] sme: Core file support Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 13/17] [gdb/generic] corefile/bug: Use thread-specific gdbarch when dumping register state to core files Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 14/17] [gdb/generic] corefile/bug: Fixup (gcore) core file target description reading order Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 15/17] [gdb/aarch64] sme: Core file support for Linux Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 16/17] [gdb/testsuite] sme: Add SVE/SME testcases Luis Machado via Gdb-patches
2023-04-11  4:26 ` [PATCH 17/17] [gdb/docs] sme: Document SME registers and features Luis Machado via Gdb-patches
2023-04-11  7:09   ` Eli Zaretskii via Gdb-patches
2023-04-11  7:22     ` Luis Machado via Gdb-patches
2023-04-12 12:04   ` [PATCH,v2 " Luis Machado via Gdb-patches
2023-04-13  7:57     ` [PATCH, v2 " Eli Zaretskii via Gdb-patches
2023-04-13 12:17       ` [PATCH,v2 " Luis Machado via Gdb-patches
     [not found]         ` <83leiv4xsc.fsf@gnu.org>
2023-04-13 16:34           ` Luis Machado via Gdb-patches
2023-04-13 17:45             ` Eli Zaretskii via Gdb-patches
2023-04-17 17:19   ` [PATCH,v3 " Luis Machado via Gdb-patches
2023-04-22  9:21     ` [PATCH, v3 " Eli Zaretskii via Gdb-patches
2023-04-26 15:00       ` Luis Machado via Gdb-patches [this message]
2023-04-26 16:11         ` [PATCH,v3 " Eli Zaretskii via Gdb-patches
     [not found]           ` <11f9bfb1-78cb-80db-fbc6-3262f0f9fdae@arm.com>
2023-04-27  9:10             ` Eli Zaretskii via Gdb-patches
2023-04-27  9:12               ` Luis Machado via Gdb-patches
2023-04-11 15:50 ` [PATCH 00/17] SME support for AArch64 gdb/gdbserver on Linux John Baldwin
2023-04-12  8:47   ` Willgerodt, Felix via Gdb-patches
2023-04-12  9:12   ` Luis Machado via Gdb-patches
2023-05-19 10:24 [PATCH v2 " Luis Machado via Gdb-patches
2023-05-19 10:25 ` [PATCH v3 17/17] [gdb/docs] sme: Document SME registers and features Luis Machado via Gdb-patches
2023-05-19 11:20   ` Eli Zaretskii via Gdb-patches
2023-06-30 12:10     ` Luis Machado via Gdb-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d1dc7f33-85df-fbe7-46a4-da86789a70c2@arm.com \
    --to=gdb-patches@sourceware.org \
    --cc=eliz@gnu.org \
    --cc=luis.machado@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox