2007-06-04 09:15:49 +04:00
/*
* Copyright ( c ) 2007 Benjamin Herrenschmidt , IBM Coproration
* Extracted from signal_32 . c and signal_64 . c
*
* This file is subject to the terms and conditions of the GNU General
* Public License . See the file README . legal in the main directory of
* this archive for more details .
*/
# ifndef _POWERPC_ARCH_SIGNAL_H
# define _POWERPC_ARCH_SIGNAL_H
2012-02-22 09:48:32 +04:00
extern void do_notify_resume ( struct pt_regs * regs , unsigned long thread_info_flags ) ;
2008-08-18 08:12:41 +04:00
2013-05-26 22:09:41 +04:00
extern void __user * get_sigframe ( struct k_sigaction * ka , unsigned long sp ,
2009-03-25 09:23:59 +03:00
size_t frame_size , int is_32 ) ;
2007-06-04 09:15:52 +04:00
extern int handle_signal32 ( unsigned long sig , struct k_sigaction * ka ,
siginfo_t * info , sigset_t * oldset ,
2007-06-04 11:22:48 +04:00
struct pt_regs * regs ) ;
2007-06-04 09:15:52 +04:00
extern int handle_rt_signal32 ( unsigned long sig , struct k_sigaction * ka ,
siginfo_t * info , sigset_t * oldset ,
2007-06-04 11:22:48 +04:00
struct pt_regs * regs ) ;
2007-06-04 09:15:52 +04:00
2008-07-02 08:06:37 +04:00
extern unsigned long copy_fpr_to_user ( void __user * to ,
struct task_struct * task ) ;
2013-02-13 20:21:41 +04:00
extern unsigned long copy_transact_fpr_to_user ( void __user * to ,
struct task_struct * task ) ;
2008-07-02 08:06:37 +04:00
extern unsigned long copy_fpr_from_user ( struct task_struct * task ,
void __user * from ) ;
2013-02-13 20:21:41 +04:00
extern unsigned long copy_transact_fpr_from_user ( struct task_struct * task ,
void __user * from ) ;
2008-07-02 08:06:37 +04:00
# ifdef CONFIG_VSX
extern unsigned long copy_vsx_to_user ( void __user * to ,
struct task_struct * task ) ;
2013-02-13 20:21:41 +04:00
extern unsigned long copy_transact_vsx_to_user ( void __user * to ,
struct task_struct * task ) ;
2008-07-02 08:06:37 +04:00
extern unsigned long copy_vsx_from_user ( struct task_struct * task ,
void __user * from ) ;
2013-02-13 20:21:41 +04:00
extern unsigned long copy_transact_vsx_from_user ( struct task_struct * task ,
void __user * from ) ;
2008-07-02 08:06:37 +04:00
# endif
2007-06-04 09:15:56 +04:00
# ifdef CONFIG_PPC64
2007-06-04 09:15:52 +04:00
extern int handle_rt_signal64 ( int signr , struct k_sigaction * ka ,
siginfo_t * info , sigset_t * set ,
struct pt_regs * regs ) ;
2007-06-04 09:15:49 +04:00
2007-06-04 09:15:56 +04:00
# else /* CONFIG_PPC64 */
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) */
2007-06-04 09:15:49 +04:00
# endif /* _POWERPC_ARCH_SIGNAL_H */