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 */ 27extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, 28 size_t frame_size); 29/* Check and clear pending FPU exceptions in saved CSR */ 30extern int fpcsr_pending(unsigned int __user *fpcsr); 31 32/* Make sure we will not lose FPU ownership */ 33#ifdef CONFIG_PREEMPT 34#define lock_fpu_owner() preempt_disable() 35#define unlock_fpu_owner() preempt_enable() 36#else 37#define lock_fpu_owner() pagefault_disable() 38#define unlock_fpu_owner() pagefault_enable() 39#endif 40 41#endif /* __SIGNAL_COMMON_H */ 42