signal-common.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. /*
  19. * Determine which stack to use..
  20. */
  21. extern void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
  22. size_t frame_size);
  23. /* Check and clear pending FPU exceptions in saved CSR */
  24. extern int fpcsr_pending(unsigned int __user *fpcsr);
  25. /* Make sure we will not lose FPU ownership */
  26. #define lock_fpu_owner() ({ preempt_disable(); pagefault_disable(); })
  27. #define unlock_fpu_owner() ({ pagefault_enable(); preempt_enable(); })
  28. /* Assembly functions to move context to/from the FPU */
  29. extern asmlinkage int
  30. _save_fp_context(void __user *fpregs, void __user *csr);
  31. extern asmlinkage int
  32. _restore_fp_context(void __user *fpregs, void __user *csr);
  33. extern asmlinkage int _save_msa_all_upper(void __user *buf);
  34. extern asmlinkage int _restore_msa_all_upper(void __user *buf);
  35. #endif /* __SIGNAL_COMMON_H */