qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 2/3] util/cpuinfo-riscv: Support OpenBSD signal frame


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 2/3] util/cpuinfo-riscv: Support OpenBSD signal frame
Date: Tue, 2 Jul 2024 21:58:44 +0200
User-agent: Mozilla Thunderbird

On 27/6/24 20:03, Richard Henderson wrote:
Reported-by: Brad Smith <brad@comstyle.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
  util/cpuinfo-riscv.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/util/cpuinfo-riscv.c b/util/cpuinfo-riscv.c
index 6b97100620..abf799794f 100644
--- a/util/cpuinfo-riscv.c
+++ b/util/cpuinfo-riscv.c
@@ -13,7 +13,14 @@ static void sigill_handler(int signo, siginfo_t *si, void 
*data)
  {
      /* Skip the faulty instruction */
      ucontext_t *uc = (ucontext_t *)data;
+
+#ifdef __linux__
      uc->uc_mcontext.__gregs[REG_PC] += 4;
+#elif defined(__OpenBSD__)
+    uc->sc_sepc += 4;

To the best of my non-existent OpenBSD knowledge reviewing corresponding
https://github.com/openbsd/src/blob/master/sys/arch/riscv64/riscv64/sig_machdep.c,
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

+#else
+# error Unsupported OS
+#endif
got_sigill = 1;
  }




reply via email to

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