From: Luis Machado via Gdb-patches <gdb-patches@sourceware.org>
To: Simon Marchi <simark@simark.ca>, gdb-patches@sourceware.org
Cc: david.spickett@linaro.org
Subject: Re: [PATCH v2 01/24] New target methods for memory tagging support
Date: Tue, 27 Oct 2020 10:43:35 -0300 [thread overview]
Message-ID: <d63127d9-559b-682f-2301-b527ae34f13b@linaro.org> (raw)
In-Reply-To: <89a1dc1c-75c0-5098-acf0-5f647df5a766@simark.ca>
On 10/27/20 10:22 AM, Simon Marchi wrote:
> On 2020-10-22 3:59 p.m., Luis Machado via Gdb-patches wrote:
>> diff --git a/gdb/target.h b/gdb/target.h
>> index 039194c239..80f9b1ee92 100644
>> --- a/gdb/target.h
>> +++ b/gdb/target.h
>> @@ -1260,6 +1260,22 @@ struct target_ops
>> /* Cleanup after generating a core file. */
>> virtual void done_generating_core ()
>> TARGET_DEFAULT_IGNORE ();
>> +
>> + /* Returns true if the target supports memory tagging. */
>> + virtual bool supports_memory_tagging ()
>> + TARGET_DEFAULT_RETURN (false);
>> +
>> + /* Return the allocated memory tags of type TYPE associated with
>> + [ADDRESS, ADDRESS + LEN) in TAGS. */
>> + virtual int fetch_memtags (CORE_ADDR address, size_t len,
>> + gdb::byte_vector &tags, int type)
>> + TARGET_DEFAULT_IGNORE ();
>> +
>> + /* Write the allocation tags of type TYPE contained in TAGS to the memory
>> + range [ADDRESS, ADDRESS + LEN). */
>> + virtual int store_memtags (CORE_ADDR address, size_t len,
>> + const gdb::byte_vector &tags, int type)
>> + TARGET_DEFAULT_IGNORE ();
>
> Could you precise the comment for fetch_memtags and store_memtags? It's
> not clear to me what the tags vector contains. Will it be of length
> LEN, with each element containing the tag of the matching memory
> location in [ADDRESS, ADDRESS + LEN)?
The TAGS vector contains bytes. The interpretation of those bytes is
target/arch-specific. AArch64 interprets those as 1 tag per byte. Some
other target or arch may interpret those differently.
Length is the number of bytes in the memory range, which doesn't
necessarily match the length of the TAGS vector. AArch64 has 1 tag for
every 16 bytes, for example. So in a 32 bytes memory range, we'd have 2
bytes in the TAGS vector.
Should I enhance the documentation of those methods to make it a bit
more clear? I realize some of this is tied to details and terminology of
the technology.
>
> Also, what does the return values mean?
My idea was to provide meaningful error codes, as opposed to a bool that
tells us the it succeeded/failed. Maybe I should make those a bool for
now given I don't have a standardized list of possible error codes?
>
> Simon
>
next prev parent reply other threads:[~2020-10-27 13:43 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 19:59 [PATCH v2 00/24] Memory Tagging Support + AArch64 Linux implementation Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 01/24] New target methods for memory tagging support Luis Machado via Gdb-patches
2020-10-27 13:22 ` Simon Marchi
2020-10-27 13:43 ` Luis Machado via Gdb-patches [this message]
2020-10-27 13:50 ` Simon Marchi
2020-10-22 19:59 ` [PATCH v2 02/24] New gdbarch memory tagging hooks Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 03/24] Add GDB-side remote target support for memory tagging Luis Machado via Gdb-patches
2020-10-29 14:22 ` Alan Hayward via Gdb-patches
2020-10-29 14:41 ` Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 04/24] Unit testing for GDB-side remote memory tagging handling Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 05/24] GDBserver remote packet support for memory tagging Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 06/24] Unit tests for gdbserver memory tagging remote packets Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 07/24] Documentation for " Luis Machado via Gdb-patches
2020-10-23 6:25 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:07 ` Luis Machado via Gdb-patches
2020-10-23 14:33 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:39 ` Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 08/24] AArch64: Add MTE CPU feature check support Luis Machado via Gdb-patches
2020-10-22 19:59 ` [PATCH v2 09/24] AArch64: Add target description/feature for MTE registers Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 10/24] AArch64: Add MTE register set support for GDB and gdbserver Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 11/24] AArch64: Add MTE ptrace requests Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 12/24] AArch64: Implement memory tagging target methods for AArch64 Luis Machado via Gdb-patches
2020-10-29 14:21 ` Alan Hayward via Gdb-patches
2020-10-29 14:39 ` Luis Machado via Gdb-patches
2020-10-29 14:45 ` Luis Machado via Gdb-patches
2020-10-29 17:32 ` Alan Hayward via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 13/24] Refactor parsing of /proc/<pid>/smaps Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 14/24] AArch64: Implement the memory tagging gdbarch hooks Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 15/24] AArch64: Add unit testing for logical tag set/get operations Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 16/24] AArch64: Report tag violation error information Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 17/24] AArch64: Add gdbserver MTE support Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 18/24] AArch64: Add MTE register set support for core files Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 19/24] New mtag commands Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 20/24] Documentation for the new " Luis Machado via Gdb-patches
2020-10-23 6:35 ` Eli Zaretskii via Gdb-patches
2020-10-23 14:33 ` Luis Machado via Gdb-patches
2020-10-23 17:52 ` Eli Zaretskii via Gdb-patches
2020-10-23 19:04 ` Luis Machado via Gdb-patches
2020-10-23 19:34 ` Eli Zaretskii via Gdb-patches
2020-10-26 14:59 ` Luis Machado via Gdb-patches
2020-10-26 15:35 ` Eli Zaretskii via Gdb-patches
2020-10-26 16:57 ` Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 21/24] Extend "x" and "print" commands to support memory tagging Luis Machado via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 22/24] Document new "x" and "print" memory tagging extensions Luis Machado via Gdb-patches
2020-10-23 6:37 ` Eli Zaretskii via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 23/24] Add NEWS entry Luis Machado via Gdb-patches
2020-10-23 6:38 ` Eli Zaretskii via Gdb-patches
2020-10-22 20:00 ` [PATCH v2 24/24] Add memory tagging testcases 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=d63127d9-559b-682f-2301-b527ae34f13b@linaro.org \
--to=gdb-patches@sourceware.org \
--cc=david.spickett@linaro.org \
--cc=luis.machado@linaro.org \
--cc=simark@simark.ca \
/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