aboutsummaryrefslogtreecommitdiff
path: root/linux-user/signal-common.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-09-29 09:05:28 -0400
committerLaurent Vivier <laurent@vivier.eu>2021-10-01 12:03:47 +0200
commitdb2af69d6ba836a264878dbf2cf676d3c1fc46b4 (patch)
tree0d3b0e93b1f68702bfebd68c8cc5cf7cb79ea744 /linux-user/signal-common.h
parentbb4aa8f59e18412cff0d69f14aee7abba153161a (diff)
linux-user: Add infrastructure for a signal trampoline page
Allocate a page to hold the signal trampoline(s). Invoke a guest-specific hook to fill in the contents of the page before marking it read-execute again. Reviewed-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210929130553.121567-2-richard.henderson@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/signal-common.h')
-rw-r--r--linux-user/signal-common.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h
index 79511becb4..7457f8025c 100644
--- a/linux-user/signal-common.h
+++ b/linux-user/signal-common.h
@@ -20,6 +20,12 @@
#ifndef SIGNAL_COMMON_H
#define SIGNAL_COMMON_H
+/* Fallback addresses into sigtramp page. */
+extern abi_ulong default_sigreturn;
+extern abi_ulong default_rt_sigreturn;
+
+void setup_sigtramp(abi_ulong tramp_page);
+
int on_sig_stack(unsigned long sp);
int sas_ss_flags(unsigned long sp);
abi_ulong target_sigsp(abi_ulong sp, struct target_sigaction *ka);