Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[wrt350n-kernel.git] / arch / mips / kernel / signal-common.h
blobc0faabd520103dec45ddce73aefaf8e27f775d35
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.
6 * Copyright (C) 1991, 1992 Linus Torvalds
7 * Copyright (C) 1994 - 2000 Ralf Baechle
8 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9 */
11 #ifndef __SIGNAL_COMMON_H
12 #define __SIGNAL_COMMON_H
14 /* #define DEBUG_SIG */
16 #ifdef DEBUG_SIG
17 # define DEBUGP(fmt, args...) printk("%s: " fmt, __FUNCTION__ , ##args)
18 #else
19 # define DEBUGP(fmt, args...)
20 #endif
22 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
25 * Determine which stack to use..
27 extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
28 size_t frame_size);
30 * install trampoline code to get back from the sig handler
32 extern int install_sigtramp(unsigned int __user *tramp, unsigned int syscall);
34 /* Check and clear pending FPU exceptions in saved CSR */
35 extern int fpcsr_pending(unsigned int __user *fpcsr);
37 /* Make sure we will not lose FPU ownership */
38 #ifdef CONFIG_PREEMPT
39 #define lock_fpu_owner() preempt_disable()
40 #define unlock_fpu_owner() preempt_enable()
41 #else
42 #define lock_fpu_owner() pagefault_disable()
43 #define unlock_fpu_owner() pagefault_enable()
44 #endif
46 #endif /* __SIGNAL_COMMON_H */