2005-04-17 06:20:36 +08: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 22:24:20 +08:00
|
|
|
#ifndef __SIGNAL_COMMON_H
|
|
|
|
#define __SIGNAL_COMMON_H
|
2005-05-31 19:49:19 +08:00
|
|
|
|
2007-02-05 22:24:24 +08:00
|
|
|
/* #define DEBUG_SIG */
|
|
|
|
|
|
|
|
#ifdef DEBUG_SIG
|
2008-03-29 05:34:39 +08:00
|
|
|
# define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
|
2007-02-05 22:24:24 +08:00
|
|
|
#else
|
|
|
|
# define DEBUGP(fmt, args...)
|
|
|
|
#endif
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
/*
|
|
|
|
* Determine which stack to use..
|
|
|
|
*/
|
2013-10-07 04:25:42 +08:00
|
|
|
extern void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
|
2007-02-05 22:24:20 +08:00
|
|
|
size_t frame_size);
|
2007-03-10 00:03:48 +08:00
|
|
|
/* Check and clear pending FPU exceptions in saved CSR */
|
|
|
|
extern int fpcsr_pending(unsigned int __user *fpcsr);
|
|
|
|
|
2007-04-16 22:19:44 +08:00
|
|
|
/* Make sure we will not lose FPU ownership */
|
2015-05-11 23:52:19 +08:00
|
|
|
#define lock_fpu_owner() ({ preempt_disable(); pagefault_disable(); })
|
|
|
|
#define unlock_fpu_owner() ({ pagefault_enable(); preempt_enable(); })
|
2007-04-16 22:19:44 +08:00
|
|
|
|
2015-07-28 03:58:15 +08: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-28 03:58:22 +08:00
|
|
|
extern asmlinkage int _save_msa_all_upper(void __user *buf);
|
|
|
|
extern asmlinkage int _restore_msa_all_upper(void __user *buf);
|
|
|
|
|
2007-02-05 22:24:20 +08:00
|
|
|
#endif /* __SIGNAL_COMMON_H */
|