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>
next prev parent 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