Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _ASM_X86_SIGCONTEXT_H
  2. #define _ASM_X86_SIGCONTEXT_H
  3.  
  4. #include <uapi/asm/sigcontext.h>
  5.  
  6. #ifdef __i386__
  7. struct sigcontext {
  8.         unsigned short gs, __gsh;
  9.         unsigned short fs, __fsh;
  10.         unsigned short es, __esh;
  11.         unsigned short ds, __dsh;
  12.         unsigned long di;
  13.         unsigned long si;
  14.         unsigned long bp;
  15.         unsigned long sp;
  16.         unsigned long bx;
  17.         unsigned long dx;
  18.         unsigned long cx;
  19.         unsigned long ax;
  20.         unsigned long trapno;
  21.         unsigned long err;
  22.         unsigned long ip;
  23.         unsigned short cs, __csh;
  24.         unsigned long flags;
  25.         unsigned long sp_at_signal;
  26.         unsigned short ss, __ssh;
  27.  
  28.         /*
  29.          * fpstate is really (struct _fpstate *) or (struct _xstate *)
  30.          * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved
  31.          * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end
  32.          * of extended memory layout. See comments at the definition of
  33.          * (struct _fpx_sw_bytes)
  34.          */
  35.         void __user *fpstate;           /* zero when no FPU/extended context */
  36.         unsigned long oldmask;
  37.         unsigned long cr2;
  38. };
  39. #else /* __i386__ */
  40. struct sigcontext {
  41.         unsigned long r8;
  42.         unsigned long r9;
  43.         unsigned long r10;
  44.         unsigned long r11;
  45.         unsigned long r12;
  46.         unsigned long r13;
  47.         unsigned long r14;
  48.         unsigned long r15;
  49.         unsigned long di;
  50.         unsigned long si;
  51.         unsigned long bp;
  52.         unsigned long bx;
  53.         unsigned long dx;
  54.         unsigned long ax;
  55.         unsigned long cx;
  56.         unsigned long sp;
  57.         unsigned long ip;
  58.         unsigned long flags;
  59.         unsigned short cs;
  60.         unsigned short gs;
  61.         unsigned short fs;
  62.         unsigned short __pad0;
  63.         unsigned long err;
  64.         unsigned long trapno;
  65.         unsigned long oldmask;
  66.         unsigned long cr2;
  67.  
  68.         /*
  69.          * fpstate is really (struct _fpstate *) or (struct _xstate *)
  70.          * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved
  71.          * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end
  72.          * of extended memory layout. See comments at the definition of
  73.          * (struct _fpx_sw_bytes)
  74.          */
  75.         void __user *fpstate;           /* zero when no FPU/extended context */
  76.         unsigned long reserved1[8];
  77. };
  78. #endif /* !__i386__ */
  79. #endif /* _ASM_X86_SIGCONTEXT_H */
  80.