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 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 23 24 /* 25 * Determine which stack to use.. 26 */ 27 extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, 28 size_t frame_size); 29 /* 30 * install trampoline code to get back from the sig handler 31 */ 32 extern int install_sigtramp(unsigned int __user *tramp, unsigned int syscall); 33 34 /* Check and clear pending FPU exceptions in saved CSR */ 35 extern int fpcsr_pending(unsigned int __user *fpcsr); 36 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 45 46 #endif /* __SIGNAL_COMMON_H */ 47