Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
signal-common.h
Go to the documentation of this file.
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 k_sigaction *ka, 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 #ifdef CONFIG_PREEMPT
32 #define lock_fpu_owner() preempt_disable()
33 #define unlock_fpu_owner() preempt_enable()
34 #else
35 #define lock_fpu_owner() pagefault_disable()
36 #define unlock_fpu_owner() pagefault_enable()
37 #endif
38 
39 #endif /* __SIGNAL_COMMON_H */