gdb XML type for SME ZA storage
Luis
luis.machado.foss@gmail.com
Sat Sep 13 19:02:41 GMT 2025
The documentation is probably off here, as the intention was to have a
2-dimensional array of bytes.
Let me confirm that and then I can fix the documentation.
On Thu, Sep 11, 2025, 18:28 Peter Maydell <peter.maydell@linaro.org> wrote:
> Hi; in implementing the QEMU gdbstub handling for SME registers,
> we're not sure about the right type for the ZA storage. The docs say
>
>
> https://sourceware.org/gdb/current/onlinedocs/gdb.html/AArch64-Features.html#AArch64-SME-registers-feature
>
> "- ZA is a register represented by a vector of svlxsvl bytes."
>
> but the code does this:
>
> /* Byte type. */
> element_type = tdesc_named_type (feature, "uint8");
> /* Vector of bytes. */
> element_type = tdesc_create_vector (feature, "sme_bv", element_type,
> svl);
> /* Vector of vector of bytes (Matrix). */
> element_type = tdesc_create_vector (feature, "sme_bvv", element_type,
> svl);
>
> /* The following is the ZA register set. */
> tdesc_create_reg (feature, "za", regnum++, 1, nullptr,
> std::pow (svl, 2) * 8, "sme_bvv");
>
> which looks like it sets up the XML as a vector of a vector of bytes,
> rather than a simple vector of bytes. (I did want to try to run
> gdbserver to dump the actual XML it outputs, but wasn't able to
> get a working setup for that.)
>
> Are the docs wrong, or the code, or are "vector of N*N bytes" and
> "vector of N vectors of N bytes" the same type as far as GDB is
> concerned, such that it doesn't matter which one the stub reports
> in the XML ?
>
> thanks
> -- PMM
>
More information about the Gdb
mailing list