aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-02-15 11:40:37 +0000
committerRalf Baechle <ralf@linux-mips.org>2007-02-18 21:31:35 +0000
commit151fd6acd94e12ef3a7d5fa0911a2590690c493f (patch)
tree33623a4cf6c6ce7c134f3cc5624dbcac26817238 /include
parent38201fb23cd554f942702cd938c3215a76296c87 (diff)
[MIPS] signals: Share even more code.
native and compat do_signal and handle_signal are identical and can easily be unified. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/abi.h2
-rw-r--r--include/asm-mips/compat-signal.h3
-rw-r--r--include/asm-mips/signal.h17
3 files changed, 4 insertions, 18 deletions
diff --git a/include/asm-mips/abi.h b/include/asm-mips/abi.h
index 1ce0518ace2..1dd74fbdc09 100644
--- a/include/asm-mips/abi.h
+++ b/include/asm-mips/abi.h
@@ -13,13 +13,13 @@
#include <asm/siginfo.h>
struct mips_abi {
- void (* const do_signal)(struct pt_regs *regs);
int (* const setup_frame)(struct k_sigaction * ka,
struct pt_regs *regs, int signr,
sigset_t *set);
int (* const setup_rt_frame)(struct k_sigaction * ka,
struct pt_regs *regs, int signr,
sigset_t *set, siginfo_t *info);
+ const unsigned long restart;
};
#endif /* _ASM_ABI_H */
diff --git a/include/asm-mips/compat-signal.h b/include/asm-mips/compat-signal.h
index 20ac29ffa7c..6599a901b63 100644
--- a/include/asm-mips/compat-signal.h
+++ b/include/asm-mips/compat-signal.h
@@ -5,6 +5,9 @@
#include <linux/compat.h>
#include <linux/compiler.h>
+#include <asm/signal.h>
+#include <asm/siginfo.h>
+
#include <asm/uaccess.h>
static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d,
diff --git a/include/asm-mips/signal.h b/include/asm-mips/signal.h
index 8b391a2f081..7a28989f7ee 100644
--- a/include/asm-mips/signal.h
+++ b/include/asm-mips/signal.h
@@ -137,23 +137,6 @@ typedef struct sigaltstack {
#define ptrace_signal_deliver(regs, cookie) do { } while (0)
-struct pt_regs;
-extern void do_signal(struct pt_regs *regs);
-extern void do_signal32(struct pt_regs *regs);
-
-extern int setup_frame(struct k_sigaction * ka, struct pt_regs *regs,
- int signr, sigset_t *set);
-extern int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs,
- int signr, sigset_t *set, siginfo_t *info);
-
-extern int setup_frame_32(struct k_sigaction * ka, struct pt_regs *regs,
- int signr, sigset_t *set);
-extern int setup_rt_frame_32(struct k_sigaction * ka, struct pt_regs *regs,
- int signr, sigset_t *set, siginfo_t *info);
-
-extern int setup_rt_frame_n32(struct k_sigaction * ka, struct pt_regs *regs,
- int signr, sigset_t *set, siginfo_t *info);
-
#endif /* __KERNEL__ */
#endif /* _ASM_SIGNAL_H */