2005-04-16 15:20:36 -07:00
/*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*
* Copyright ( C ) 1991 , 1992 Linus Torvalds
* Copyright ( C ) 1994 - 2000 Ralf Baechle
* Copyright ( C ) 1999 , 2000 Silicon Graphics , Inc .
*/
2007-02-05 15:24:20 +01:00
# ifndef __SIGNAL_COMMON_H
# define __SIGNAL_COMMON_H
2005-05-31 11:49:19 +00:00
2007-02-05 15:24:24 +01:00
/* #define DEBUG_SIG */
# ifdef DEBUG_SIG
2008-03-28 14:34:39 -07:00
# define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
2007-02-05 15:24:24 +01:00
# else
# define DEBUGP(fmt, args...)
# endif
2005-04-16 15:20:36 -07:00
/*
* Determine which stack to use . .
*/
2013-10-06 22:25:42 +02:00
extern void __user * get_sigframe ( struct ksignal * ksig , struct pt_regs * regs ,
2007-02-05 15:24:20 +01:00
size_t frame_size ) ;
2007-03-10 01:03:48 +09:00
/* Check and clear pending FPU exceptions in saved CSR */
extern int fpcsr_pending ( unsigned int __user * fpcsr ) ;
2007-04-16 23:19:44 +09:00
/* Make sure we will not lose FPU ownership */
2015-05-11 17:52:19 +02:00
# define lock_fpu_owner() ({ preempt_disable(); pagefault_disable(); })
# define unlock_fpu_owner() ({ pagefault_enable(); preempt_enable(); })
2007-04-16 23:19:44 +09:00
2015-07-27 12:58:15 -07:00
/* Assembly functions to move context to/from the FPU */
extern asmlinkage int
_save_fp_context ( void __user * fpregs , void __user * csr ) ;
extern asmlinkage int
_restore_fp_context ( void __user * fpregs , void __user * csr ) ;
2015-07-27 12:58:22 -07:00
extern asmlinkage int _save_msa_all_upper ( void __user * buf ) ;
extern asmlinkage int _restore_msa_all_upper ( void __user * buf ) ;
2007-02-05 15:24:20 +01:00
# endif /* __SIGNAL_COMMON_H */