signal-common.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #ifndef __SIGNAL_COMMON_H
  11. #define __SIGNAL_COMMON_H
  12. /* #define DEBUG_SIG */
  13. #ifdef DEBUG_SIG
  14. # define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
  15. #else
  16. # define DEBUGP(fmt, args...)
  17. #endif
  18. #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
  19. /*
  20. * Determine which stack to use..
  21. */
  22. extern void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
  23. size_t frame_size);
  24. /* Check and clear pending FPU exceptions in saved CSR */
  25. extern int fpcsr_pending(unsigned int __user *fpcsr);
  26. /* Make sure we will not lose FPU ownership */
  27. #ifdef CONFIG_PREEMPT
  28. #define lock_fpu_owner() preempt_disable()
  29. #define unlock_fpu_owner() preempt_enable()
  30. #else
  31. #define lock_fpu_owner() pagefault_disable()
  32. #define unlock_fpu_owner() pagefault_enable()
  33. #endif
  34. #endif /* __SIGNAL_COMMON_H */