1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1991, 1992 Linus Torvalds
7 * Copyright (C) 1994 - 2000 Ralf Baechle
8 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9 */
10
11#ifndef __SIGNAL_COMMON_H
12#define __SIGNAL_COMMON_H
13
14/* #define DEBUG_SIG */
15
16#ifdef DEBUG_SIG
17# define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
18#else
19# define DEBUGP(fmt, args...)
20#endif
21
22/*
23 * Determine which stack to use..
24 */
25extern void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
26 size_t frame_size);
27/* Check and clear pending FPU exceptions in saved CSR */
28extern int fpcsr_pending(unsigned int __user *fpcsr);
29
30/* Make sure we will not lose FPU ownership */
31#define lock_fpu_owner() ({ preempt_disable(); pagefault_disable(); })
32#define unlock_fpu_owner() ({ pagefault_enable(); preempt_enable(); })
33
34/* Assembly functions to move context to/from the FPU */
35extern asmlinkage int
36_save_fp_context(void __user *fpregs, void __user *csr);
37extern asmlinkage int
38_restore_fp_context(void __user *fpregs, void __user *csr);
39
40extern asmlinkage int _save_msa_all_upper(void __user *buf);
41extern asmlinkage int _restore_msa_all_upper(void __user *buf);
42
43#endif /* __SIGNAL_COMMON_H */
44

source code of linux/arch/mips/kernel/signal-common.h