blob: 10263b405981f0eb4604f1d38bd3887e10f1c129 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
Franck Bui-Huuc3fc4ab2007-02-05 15:24:20 +010011#ifndef __SIGNAL_COMMON_H
12#define __SIGNAL_COMMON_H
Ralf Baechlee50c0a82005-05-31 11:49:19 +000013
Franck Bui-Huu722bb632007-02-05 15:24:24 +010014/* #define DEBUG_SIG */
15
16#ifdef DEBUG_SIG
Harvey Harrisonbb09a952008-03-28 14:34:39 -070017# define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
Franck Bui-Huu722bb632007-02-05 15:24:24 +010018#else
19# define DEBUGP(fmt, args...)
20#endif
21
Franck Bui-Huu24c556e2007-02-09 16:07:37 +010022#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
23
Franck Bui-Huuc3fc4ab2007-02-05 15:24:20 +010024/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 * Determine which stack to use..
26 */
Franck Bui-Huuc3fc4ab2007-02-05 15:24:20 +010027extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
28 size_t frame_size);
Atsushi Nemotoc6a2f462007-03-10 01:03:48 +090029/* Check and clear pending FPU exceptions in saved CSR */
30extern int fpcsr_pending(unsigned int __user *fpcsr);
31
Atsushi Nemotofaea6232007-04-16 23:19:44 +090032/* 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
Franck Bui-Huuc3fc4ab2007-02-05 15:24:20 +010041#endif /* __SIGNAL_COMMON_H */