aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/signal.c15
-rw-r--r--arch/powerpc/kernel/signal.h24
2 files changed, 24 insertions, 15 deletions
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index 88d8977731ed..c434d6c4e4e6 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -16,19 +16,6 @@
16 16
17#include "signal.h" 17#include "signal.h"
18 18
19
20#ifdef CONFIG_PPC64
21static inline int is_32bit_task(void)
22{
23 return test_thread_flag(TIF_32BIT);
24}
25#else
26static inline int is_32bit_task(void)
27{
28 return 1;
29}
30#endif
31
32/* 19/*
33 * Allocate space for the signal frame 20 * Allocate space for the signal frame
34 */ 21 */
@@ -161,10 +148,8 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs)
161 else 148 else
162 ret = handle_signal32(signr, &ka, &info, oldset, 149 ret = handle_signal32(signr, &ka, &info, oldset,
163 regs); 150 regs);
164#ifdef CONFIG_PPC64
165 } else { 151 } else {
166 ret = handle_rt_signal64(signr, &ka, &info, oldset, regs); 152 ret = handle_rt_signal64(signr, &ka, &info, oldset, regs);
167#endif
168 } 153 }
169 154
170 if (ret) { 155 if (ret) {
diff --git a/arch/powerpc/kernel/signal.h b/arch/powerpc/kernel/signal.h
index c284f75afe77..77efb3d5465a 100644
--- a/arch/powerpc/kernel/signal.h
+++ b/arch/powerpc/kernel/signal.h
@@ -24,8 +24,32 @@ extern int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
24 siginfo_t *info, sigset_t *oldset, 24 siginfo_t *info, sigset_t *oldset,
25 struct pt_regs *regs); 25 struct pt_regs *regs);
26 26
27
28#ifdef CONFIG_PPC64
29
30static inline int is_32bit_task(void)
31{
32 return test_thread_flag(TIF_32BIT);
33}
34
27extern int handle_rt_signal64(int signr, struct k_sigaction *ka, 35extern int handle_rt_signal64(int signr, struct k_sigaction *ka,
28 siginfo_t *info, sigset_t *set, 36 siginfo_t *info, sigset_t *set,
29 struct pt_regs *regs); 37 struct pt_regs *regs);
30 38
39#else /* CONFIG_PPC64 */
40
41static inline int is_32bit_task(void)
42{
43 return 1;
44}
45
46static inline int handle_rt_signal64(int signr, struct k_sigaction *ka,
47 siginfo_t *info, sigset_t *set,
48 struct pt_regs *regs)
49{
50 return -EFAULT;
51}
52
53#endif /* !defined(CONFIG_PPC64) */
54
31#endif /* _POWERPC_ARCH_SIGNAL_H */ 55#endif /* _POWERPC_ARCH_SIGNAL_H */