summaryrefslogtreecommitdiffstats
path: root/linux-user/host/ppc
diff options
context:
space:
mode:
authorRichard Henderson2021-09-17 19:01:37 +0200
committerRichard Henderson2021-11-02 12:00:41 +0100
commit8cc7b85d56b629e4ffceea85c3a0a4ad8754153a (patch)
tree802f3392d82cf40d4c7dead39ce1324cce001bf0 /linux-user/host/ppc
parentlinux-user/host/x86: Populate host_signal.h (diff)
downloadqemu-8cc7b85d56b629e4ffceea85c3a0a4ad8754153a.tar.gz
qemu-8cc7b85d56b629e4ffceea85c3a0a4ad8754153a.tar.xz
qemu-8cc7b85d56b629e4ffceea85c3a0a4ad8754153a.zip
linux-user/host/ppc: Populate host_signal.h
Split host_signal_pc and host_signal_write out of user-exec.c. Drop the *BSD code, to be re-created under bsd-user/ later. Reviewed-by: Warner Losh <imp@bsdimp.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/host/ppc')
-rw-r--r--linux-user/host/ppc/host-signal.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/linux-user/host/ppc/host-signal.h b/linux-user/host/ppc/host-signal.h
index f4b4d65031..a491c413dc 100644
--- a/linux-user/host/ppc/host-signal.h
+++ b/linux-user/host/ppc/host-signal.h
@@ -1 +1,25 @@
-#define HOST_SIGNAL_PLACEHOLDER
+/*
+ * host-signal.h: signal info dependent on the host architecture
+ *
+ * Copyright (c) 2003-2005 Fabrice Bellard
+ * Copyright (c) 2021 Linaro Limited
+ *
+ * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef PPC_HOST_SIGNAL_H
+#define PPC_HOST_SIGNAL_H
+
+static inline uintptr_t host_signal_pc(ucontext_t *uc)
+{
+ return uc->uc_mcontext.regs->nip;
+}
+
+static inline bool host_signal_write(siginfo_t *info, ucontext_t *uc)
+{
+ return uc->uc_mcontext.regs->trap != 0x400
+ && (uc->uc_mcontext.regs->dsisr & 0x02000000);
+}
+
+#endif