2007-06-04 15:15:49 +10:00
/*
2016-02-24 10:51:11 -08:00
* Copyright ( c ) 2007 Benjamin Herrenschmidt , IBM Corporation
2007-06-04 15:15:49 +10:00
* 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 16:48:32 +11:00
extern void do_notify_resume ( struct pt_regs * regs , unsigned long thread_info_flags ) ;
2008-08-18 00:12:41 -04:00
2014-03-02 14:46:11 +01:00
extern void __user * get_sigframe ( struct ksignal * ksig , unsigned long sp ,
2009-03-25 06:23:59 +00:00
size_t frame_size , int is_32 ) ;
2007-06-04 15:15:52 +10:00
2014-03-02 14:46:11 +01:00
extern int handle_signal32 ( struct ksignal * ksig , sigset_t * oldset ,
2007-06-04 17:22:48 +10:00
struct pt_regs * regs ) ;
2007-06-04 15:15:52 +10:00
2014-03-02 14:46:11 +01:00
extern int handle_rt_signal32 ( struct ksignal * ksig , sigset_t * oldset ,
2007-06-04 17:22:48 +10:00
struct pt_regs * regs ) ;
2007-06-04 15:15:52 +10:00
2008-07-02 14:06:37 +10:00
extern unsigned long copy_fpr_to_user ( void __user * to ,
struct task_struct * task ) ;
2013-02-13 16:21:41 +00:00
extern unsigned long copy_transact_fpr_to_user ( void __user * to ,
struct task_struct * task ) ;
2008-07-02 14:06:37 +10:00
extern unsigned long copy_fpr_from_user ( struct task_struct * task ,
void __user * from ) ;
2013-02-13 16:21:41 +00:00
extern unsigned long copy_transact_fpr_from_user ( struct task_struct * task ,
void __user * from ) ;
2008-07-02 14:06:37 +10:00
# ifdef CONFIG_VSX
extern unsigned long copy_vsx_to_user ( void __user * to ,
struct task_struct * task ) ;
2013-02-13 16:21:41 +00:00
extern unsigned long copy_transact_vsx_to_user ( void __user * to ,
struct task_struct * task ) ;
2008-07-02 14:06:37 +10:00
extern unsigned long copy_vsx_from_user ( struct task_struct * task ,
void __user * from ) ;
2013-02-13 16:21:41 +00:00
extern unsigned long copy_transact_vsx_from_user ( struct task_struct * task ,
void __user * from ) ;
2008-07-02 14:06:37 +10:00
# endif
2007-06-04 15:15:56 +10:00
# ifdef CONFIG_PPC64
2014-03-02 14:46:11 +01:00
extern int handle_rt_signal64 ( struct ksignal * ksig , sigset_t * set ,
2007-06-04 15:15:52 +10:00
struct pt_regs * regs ) ;
2007-06-04 15:15:49 +10:00
2007-06-04 15:15:56 +10:00
# else /* CONFIG_PPC64 */
2014-03-02 14:46:11 +01:00
static inline int handle_rt_signal64 ( struct ksignal * ksig , sigset_t * set ,
2007-06-04 15:15:56 +10:00
struct pt_regs * regs )
{
return - EFAULT ;
}
# endif /* !defined(CONFIG_PPC64) */
2007-06-04 15:15:49 +10:00
# endif /* _POWERPC_ARCH_SIGNAL_H */