diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-02-15 06:40:37 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-18 16:31:35 -0500 |
commit | 151fd6acd94e12ef3a7d5fa0911a2590690c493f (patch) | |
tree | 33623a4cf6c6ce7c134f3cc5624dbcac26817238 /include/asm-mips | |
parent | 38201fb23cd554f942702cd938c3215a76296c87 (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/asm-mips')
-rw-r--r-- | include/asm-mips/abi.h | 2 | ||||
-rw-r--r-- | include/asm-mips/compat-signal.h | 3 | ||||
-rw-r--r-- | include/asm-mips/signal.h | 17 |
3 files changed, 4 insertions, 18 deletions
diff --git a/include/asm-mips/abi.h b/include/asm-mips/abi.h index 1ce0518ace2e..1dd74fbdc09b 100644 --- a/include/asm-mips/abi.h +++ b/include/asm-mips/abi.h | |||
@@ -13,13 +13,13 @@ | |||
13 | #include <asm/siginfo.h> | 13 | #include <asm/siginfo.h> |
14 | 14 | ||
15 | struct mips_abi { | 15 | struct mips_abi { |
16 | void (* const do_signal)(struct pt_regs *regs); | ||
17 | int (* const setup_frame)(struct k_sigaction * ka, | 16 | int (* const setup_frame)(struct k_sigaction * ka, |
18 | struct pt_regs *regs, int signr, | 17 | struct pt_regs *regs, int signr, |
19 | sigset_t *set); | 18 | sigset_t *set); |
20 | int (* const setup_rt_frame)(struct k_sigaction * ka, | 19 | int (* const setup_rt_frame)(struct k_sigaction * ka, |
21 | struct pt_regs *regs, int signr, | 20 | struct pt_regs *regs, int signr, |
22 | sigset_t *set, siginfo_t *info); | 21 | sigset_t *set, siginfo_t *info); |
22 | const unsigned long restart; | ||
23 | }; | 23 | }; |
24 | 24 | ||
25 | #endif /* _ASM_ABI_H */ | 25 | #endif /* _ASM_ABI_H */ |
diff --git a/include/asm-mips/compat-signal.h b/include/asm-mips/compat-signal.h index 20ac29ffa7c8..6599a901b63e 100644 --- a/include/asm-mips/compat-signal.h +++ b/include/asm-mips/compat-signal.h | |||
@@ -5,6 +5,9 @@ | |||
5 | #include <linux/compat.h> | 5 | #include <linux/compat.h> |
6 | #include <linux/compiler.h> | 6 | #include <linux/compiler.h> |
7 | 7 | ||
8 | #include <asm/signal.h> | ||
9 | #include <asm/siginfo.h> | ||
10 | |||
8 | #include <asm/uaccess.h> | 11 | #include <asm/uaccess.h> |
9 | 12 | ||
10 | static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d, | 13 | 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 8b391a2f0814..7a28989f7ee3 100644 --- a/include/asm-mips/signal.h +++ b/include/asm-mips/signal.h | |||
@@ -137,23 +137,6 @@ typedef struct sigaltstack { | |||
137 | 137 | ||
138 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) | 138 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) |
139 | 139 | ||
140 | struct pt_regs; | ||
141 | extern void do_signal(struct pt_regs *regs); | ||
142 | extern void do_signal32(struct pt_regs *regs); | ||
143 | |||
144 | extern int setup_frame(struct k_sigaction * ka, struct pt_regs *regs, | ||
145 | int signr, sigset_t *set); | ||
146 | extern int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs, | ||
147 | int signr, sigset_t *set, siginfo_t *info); | ||
148 | |||
149 | extern int setup_frame_32(struct k_sigaction * ka, struct pt_regs *regs, | ||
150 | int signr, sigset_t *set); | ||
151 | extern int setup_rt_frame_32(struct k_sigaction * ka, struct pt_regs *regs, | ||
152 | int signr, sigset_t *set, siginfo_t *info); | ||
153 | |||
154 | extern int setup_rt_frame_n32(struct k_sigaction * ka, struct pt_regs *regs, | ||
155 | int signr, sigset_t *set, siginfo_t *info); | ||
156 | |||
157 | #endif /* __KERNEL__ */ | 140 | #endif /* __KERNEL__ */ |
158 | 141 | ||
159 | #endif /* _ASM_SIGNAL_H */ | 142 | #endif /* _ASM_SIGNAL_H */ |