]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/signal.h
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / signal.h
index 1e8dfb8620adb2a3894802793f8eb61e3c475d5c..b427bf8e1d8fa440b714f730240ceca78ef7b850 100644 (file)
 #ifndef _POWERPC_ARCH_SIGNAL_H
 #define _POWERPC_ARCH_SIGNAL_H
 
-extern void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
-                                 int has_handler);
+#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
+
+extern void do_signal(struct pt_regs *regs, unsigned long thread_info_flags);
+
+extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
+                                 size_t frame_size);
+extern void restore_sigmask(sigset_t *set);
+
+extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
+                          siginfo_t *info, sigset_t *oldset,
+                          struct pt_regs *regs);
+
+extern int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
+                             siginfo_t *info, sigset_t *oldset,
+                             struct pt_regs *regs);
+
+extern unsigned long copy_fpr_to_user(void __user *to,
+                                     struct task_struct *task);
+extern unsigned long copy_fpr_from_user(struct task_struct *task,
+                                       void __user *from);
+#ifdef CONFIG_VSX
+extern unsigned long copy_vsx_to_user(void __user *to,
+                                     struct task_struct *task);
+extern unsigned long copy_vsx_from_user(struct task_struct *task,
+                                       void __user *from);
+#endif
+
+#ifdef CONFIG_PPC64
+
+static inline int is_32bit_task(void)
+{
+       return test_thread_flag(TIF_32BIT);
+}
+
+extern int handle_rt_signal64(int signr, struct k_sigaction *ka,
+                             siginfo_t *info, sigset_t *set,
+                             struct pt_regs *regs);
+
+#else /* CONFIG_PPC64 */
+
+static inline int is_32bit_task(void)
+{
+       return 1;
+}
+
+static inline int handle_rt_signal64(int signr, struct k_sigaction *ka,
+                                    siginfo_t *info, sigset_t *set,
+                                    struct pt_regs *regs)
+{
+       return -EFAULT;
+}
+
+#endif /* !defined(CONFIG_PPC64) */
 
 #endif  /* _POWERPC_ARCH_SIGNAL_H */