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/* 30 * install trampoline code to get back from the sig handler 31 */ 32extern int install_sigtramp(unsigned int __user *tramp, unsigned int syscall); 33 34/* Check and clear pending FPU exceptions in saved CSR */ 35extern 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