linux/arch/x86/include/asm/sigcontext.h
<<
>>
Prefs
   1#ifndef _ASM_X86_SIGCONTEXT_H
   2#define _ASM_X86_SIGCONTEXT_H
   3
   4#include <uapi/asm/sigcontext.h>
   5
   6#ifdef __i386__
   7struct 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__ */
  40struct 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