home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-s390 / sigcontext.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.4 KB  |  72 lines

  1. /*
  2.  *  include/asm-s390/sigcontext.h
  3.  *
  4.  *  S390 version
  5.  *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
  6.  */
  7.  
  8. #ifndef _ASM_S390_SIGCONTEXT_H
  9. #define _ASM_S390_SIGCONTEXT_H
  10.  
  11. #include <linux/compiler.h>
  12.  
  13. #define __NUM_GPRS 16
  14. #define __NUM_FPRS 16
  15. #define __NUM_ACRS 16
  16.  
  17. #ifndef __s390x__
  18.  
  19. /* Has to be at least _NSIG_WORDS from asm/signal.h */
  20. #define _SIGCONTEXT_NSIG    64
  21. #define _SIGCONTEXT_NSIG_BPW    32
  22. /* Size of stack frame allocated when calling signal handler. */
  23. #define __SIGNAL_FRAMESIZE    96
  24.  
  25. #else /* __s390x__ */
  26.  
  27. /* Has to be at least _NSIG_WORDS from asm/signal.h */
  28. #define _SIGCONTEXT_NSIG    64
  29. #define _SIGCONTEXT_NSIG_BPW    64 
  30. /* Size of stack frame allocated when calling signal handler. */
  31. #define __SIGNAL_FRAMESIZE    160
  32.  
  33. #endif /* __s390x__ */
  34.  
  35. #define _SIGCONTEXT_NSIG_WORDS    (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
  36. #define _SIGMASK_COPY_SIZE    (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
  37.  
  38. typedef struct 
  39. {
  40.         unsigned long mask;
  41.         unsigned long addr;
  42. } __attribute__ ((aligned(8))) _psw_t;
  43.  
  44. typedef struct
  45. {
  46.     _psw_t psw;
  47.     unsigned long gprs[__NUM_GPRS];
  48.     unsigned int  acrs[__NUM_ACRS];
  49. } _s390_regs_common;
  50.  
  51. typedef struct
  52. {
  53.     unsigned int fpc;
  54.     double   fprs[__NUM_FPRS];
  55. } _s390_fp_regs;
  56.  
  57. typedef struct
  58. {
  59.     _s390_regs_common regs;
  60.     _s390_fp_regs     fpregs;
  61. } _sigregs;
  62.  
  63. struct sigcontext
  64. {
  65.     unsigned long    oldmask[_SIGCONTEXT_NSIG_WORDS];
  66.     _sigregs        __user *sregs;
  67. };
  68.  
  69.  
  70. #endif
  71.  
  72.