From: "Alex Bennée" <alex.bennee@linaro.org>
To: Gustavo Romero <gustavo.romero@linaro.org>
Cc: qemu-devel@nongnu.org, philmd@linaro.org,
richard.henderson@linaro.org, peter.maydell@linaro.org
Subject: Re: [PATCH v6 06/11] target/arm: Factor out code for setting MTE TCF0 field
Date: Fri, 28 Jun 2024 16:15:52 +0100 [thread overview]
Message-ID: <87a5j5nlnb.fsf@draig.linaro.org> (raw)
In-Reply-To: <be8b6f51-300e-3ae8-b2c3-f85f70b0ad46@linaro.org> (Gustavo Romero's message of "Fri, 28 Jun 2024 11:55:44 -0300")
Gustavo Romero <gustavo.romero@linaro.org> writes:
> Hi Alex,
>
> On 6/28/24 9:14 AM, Alex Bennée wrote:
>> Gustavo Romero <gustavo.romero@linaro.org> writes:
>>
>>> Factor out the code used for setting the MTE TCF0 field from the prctl
>>> code into a convenient function. Other subsystems, like gdbstub, need to
>>> set this field as well, so keep it as a separate function to avoid
>>> duplication and ensure consistency in how this field is set across the
>>> board.
>>>
>>> Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
>>> ---
>>> linux-user/aarch64/meson.build | 2 ++
>>> linux-user/aarch64/mte_user_helper.c | 34 ++++++++++++++++++++++++++++
>>> linux-user/aarch64/mte_user_helper.h | 25 ++++++++++++++++++++
>>> linux-user/aarch64/target_prctl.h | 22 ++----------------
>>> 4 files changed, 63 insertions(+), 20 deletions(-)
>>> create mode 100644 linux-user/aarch64/mte_user_helper.c
>>> create mode 100644 linux-user/aarch64/mte_user_helper.h
>>>
>>> diff --git a/linux-user/aarch64/meson.build b/linux-user/aarch64/meson.build
>>> index 248c578d15..f75bb3cd75 100644
>>> --- a/linux-user/aarch64/meson.build
>>> +++ b/linux-user/aarch64/meson.build
>>> @@ -9,3 +9,5 @@ vdso_le_inc = gen_vdso.process('vdso-le.so',
>>> extra_args: ['-r', '__kernel_rt_sigreturn'])
>>> linux_user_ss.add(when: 'TARGET_AARCH64', if_true:
>>> [vdso_be_inc, vdso_le_inc])
>>> +
>>> +linux_user_ss.add(when: 'TARGET_AARCH64', if_true: [files('mte_user_helper.c')])
>>> diff --git a/linux-user/aarch64/mte_user_helper.c b/linux-user/aarch64/mte_user_helper.c
>>> new file mode 100644
>>> index 0000000000..8be6deaf03
>>> --- /dev/null
>>> +++ b/linux-user/aarch64/mte_user_helper.c
>>> @@ -0,0 +1,34 @@
>>> +/*
>>> + * ARM MemTag convenience functions.
>>> + *
>>> + * This code is licensed under the GNU GPL v2 or later.
>>> + *
>>> + * SPDX-License-Identifier: LGPL-2.1-or-later
>>> + */
>>> +
>>> +#include <sys/prctl.h>
>> Aside from missing the osdep Phillipe pointed out including prctl.h
>> here
>> is very suspect as its a system header. I assume if we need
>> PR_MTE_TCF_SYNC we should hoist the definition that linux-user uses into
>> a common header.
> Other .c files include <sys/prctl.h> for other PR_ definitions. For example,
> syscall.c and elfload.c. Is this really a problem?
If your building on an arch that doesn't natively have MTE but you'll
run an aarch64 linux-user guest.
> I see that would be a
> problem when trying to build, for instance, aarch64-linux-user target on a
> BSD host, but we don't support it. Building *-linux-user target is only
> supported on Linux host, no?
True, but multiple libcs. Anyway I've fixed up and posted the maintainer
tree.
>
>
> Cheers,
> Gustavo
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2024-06-28 15:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-28 5:08 [PATCH v6 00/11] Add MTE stubs for aarch64 user mode Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 01/11] gdbstub: Clean up process_string_cmd Gustavo Romero
2024-06-28 7:05 ` Philippe Mathieu-Daudé
2024-06-28 5:08 ` [PATCH v6 02/11] gdbstub: Move GdbCmdParseEntry into a new header file Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 03/11] gdbstub: Add support for target-specific stubs Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 04/11] target/arm: Fix exception case in allocation_tag_mem_probe Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 05/11] target/arm: Make some MTE helpers widely available Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 06/11] target/arm: Factor out code for setting MTE TCF0 field Gustavo Romero
2024-06-28 7:08 ` Philippe Mathieu-Daudé
2024-06-28 15:49 ` Gustavo Romero
2024-06-28 16:18 ` Philippe Mathieu-Daudé
2024-06-28 17:00 ` Richard Henderson
2024-06-28 18:13 ` Gustavo Romero
2024-06-29 18:38 ` Peter Maydell
2024-06-28 12:14 ` Alex Bennée
2024-06-28 14:55 ` Gustavo Romero
2024-06-28 15:15 ` Alex Bennée [this message]
2024-06-28 5:08 ` [PATCH v6 07/11] gdbstub: Make hex conversion function non-internal Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 08/11] gdbstub: Pass CPU context to command handler Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 09/11] gdbstub: Use true to set cmd_startswith Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 10/11] gdbstub: Add support for MTE in user mode Gustavo Romero
2024-06-28 5:08 ` [PATCH v6 11/11] tests/tcg/aarch64: Add MTE gdbstub tests Gustavo Romero
2024-06-28 12:34 ` [PATCH v6 00/11] Add MTE stubs for aarch64 user mode Alex Bennée
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=87a5j5nlnb.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=gustavo.romero@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.