qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH 13/14] bsd-user: Make compile for non-linux user-mode stuff


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 13/14] bsd-user: Make compile for non-linux user-mode stuff
Date: Tue, 23 Jul 2024 00:01:13 +0200
User-agent: Mozilla Thunderbird

Hi Warner,

On 22/7/24 23:43, Warner Losh wrote:
We include the files that define PR_MTE_TCF_SHIFT only on Linux, but use
them unconditionally. Restrict its use to Linux-only.

We should check that in meson, i.e.:

config_host_data.set('CONFIG_PRCTL_PR_MTE_TCF_SHIFT',
cc.has_header_symbol('sys/prctl.h', 'PR_MTE_TCF_SHIFT'))

(like we do for CONFIG_PRCTL_PR_SET_TIMERSLACK), then rework
linux-user/aarch64/mte_user_helper.h (and possibly
tests/tcg/aarch64/mte.h), moving in a common directory.

That said, your patch matches this file header:

  #if defined(CONFIG_USER_ONLY) && defined(CONFIG_LINUX)
  #include <sys/prctl.h>
  #include "mte_user_helper.h"
  #endif

Even if this #ifdef'ry is ugly, it isn't wrong, so:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

¯\_(ツ)_/¯

Signed-off-by: Warner Losh <imp@bsdimp.com>
---
  target/arm/gdbstub64.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c
index 2e2bc2700b8..6dc81aecb2a 100644
--- a/target/arm/gdbstub64.c
+++ b/target/arm/gdbstub64.c
@@ -404,6 +404,7 @@ int aarch64_gdb_get_tag_ctl_reg(CPUState *cs, GByteArray 
*buf, int reg)
int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg)
  {
+#if defined(CONFIG_LINUX)
      ARMCPU *cpu = ARM_CPU(cs);
      CPUARMState *env = &cpu->env;
@@ -425,6 +426,9 @@ int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg)
      arm_set_mte_tcf0(env, tcf);
return 1;
+#else
+    return 0;
+#endif
  }
static void handle_q_memtag(GArray *params, void *user_ctx)




reply via email to

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