summaryrefslogtreecommitdiffstats
path: root/linux-user/signal-common.h
diff options
context:
space:
mode:
authorRichard Henderson2021-09-29 15:05:28 +0200
committerLaurent Vivier2021-10-01 12:03:47 +0200
commitdb2af69d6ba836a264878dbf2cf676d3c1fc46b4 (patch)
tree0d3b0e93b1f68702bfebd68c8cc5cf7cb79ea744 /linux-user/signal-common.h
parentMerge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210930'... (diff)
downloadqemu-db2af69d6ba836a264878dbf2cf676d3c1fc46b4.tar.gz
qemu-db2af69d6ba836a264878dbf2cf676d3c1fc46b4.tar.xz
qemu-db2af69d6ba836a264878dbf2cf676d3c1fc46b4.zip
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);