]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
util/cpuinfo-riscv: Support OpenBSD signal frame
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 27 Jun 2024 15:13:31 +0000 (15:13 +0000)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 3 Jul 2024 17:24:12 +0000 (10:24 -0700)
Reported-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
util/cpuinfo-riscv.c

index 1236ee5fa42668ec44f8b381fd5de44f0257a12d..7dcfbee2ab7041e159dca4e630a8a16004e3431b 100644 (file)
@@ -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;
+#else
+# error Unsupported OS
+#endif
 
     got_sigill = 1;
 }