qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 0/9] Add MTE stubs for aarch64 user mode


From: Gustavo Romero
Subject: Re: [PATCH v2 0/9] Add MTE stubs for aarch64 user mode
Date: Mon, 17 Jun 2024 04:02:13 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

Hi Alex,

On 6/14/24 12:49 PM, Alex Bennée wrote:
Gustavo Romero <gustavo.romero@linaro.org> writes:

This patchset adds the stubs necessary to support GDB memory tagging
commands on QEMU aarch64 user mode.

These new stubs handle the qIsAddressTagged, qMemTag, and QMemTag
packets, which allow GDB memory tagging subcommands 'check',
'print-allocation-tag', and 'set-allocation-tag' to work. The remaining
memory tagging commands ('print-logical-tag' and 'with-logical-tag')
will also work, but they don't rely on any stub because they perform
local operations.

Since the memory tagging stubs are not common to all architectures, this
patchset also introduces three functions: gdb_extend_qsupported_features,
gdb_extend_query_table, and gdb_extend_set_table. These functions can be
used to extend the target-specific 'qSupported' feature string and the
handlers for the 'q' (query) and 'Q' (set) packets. These new functions
are used to add the MTE stubs for the aarch64 gdbstub.
Note that this patchset requires a GDB that supports the
qIsAddressTagged packet (recently added to GDB), so the gdbstub MTE
tests introduced by it must be run using GDB's master branch, since the
GDB in the distros hasn't picked up the change yet.

Once GDB is built and installed locally, the tests can be exercised, for
example, this way:

make GDB=~/.local/bin/gdb run-tcg-tests-aarch64-linux-user -j 32

It looks like there might be some BSD build failures as well:

   https://gitlab.com/stsquad/qemu/-/pipelines/1332635371/failures

I fixed the build for the BSD target in v3, however I think that the GDB in
the test containers need to be bumped to GDB 15 so the MTE tests can pass,
because support for IsAddressTagged packet is necessary. GDB 15 branch
is created by it's not released yet, so I don't know to proceed..


Cheers,
Gustavo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]