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 | */ |
25 | extern 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 */ |
28 | extern 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 */ |
35 | extern asmlinkage int |
36 | _save_fp_context(void __user *fpregs, void __user *csr); |
37 | extern asmlinkage int |
38 | _restore_fp_context(void __user *fpregs, void __user *csr); |
39 | |
40 | extern asmlinkage int _save_msa_all_upper(void __user *buf); |
41 | extern asmlinkage int _restore_msa_all_upper(void __user *buf); |
42 | |
43 | #endif /* __SIGNAL_COMMON_H */ |
44 | |