linux/arch/x86/include/asm/sigcontext32.h
<<
>>
Prefs
   1#ifndef _ASM_X86_SIGCONTEXT32_H
   2#define _ASM_X86_SIGCONTEXT32_H
   3
   4#include <linux/types.h>
   5
   6/* signal context for 32bit programs. */
   7
   8#define X86_FXSR_MAGIC          0x0000
   9
  10struct _fpreg {
  11        unsigned short significand[4];
  12        unsigned short exponent;
  13};
  14
  15struct _fpxreg {
  16        unsigned short significand[4];
  17        unsigned short exponent;
  18        unsigned short padding[3];
  19};
  20
  21struct _xmmreg {
  22        __u32   element[4];
  23};
  24
  25/* FSAVE frame with extensions */
  26struct _fpstate_ia32 {
  27        /* Regular FPU environment */
  28        __u32   cw;
  29        __u32   sw;
  30        __u32   tag;    /* not compatible to 64bit twd */
  31        __u32   ipoff;
  32        __u32   cssel;
  33        __u32   dataoff;
  34        __u32   datasel;
  35        struct _fpreg   _st[8];
  36        unsigned short  status;
  37        unsigned short  magic;          /* 0xffff = regular FPU data only */
  38
  39        /* FXSR FPU environment */
  40        __u32   _fxsr_env[6];
  41        __u32   mxcsr;
  42        __u32   reserved;
  43        struct _fpxreg  _fxsr_st[8];
  44        struct _xmmreg  _xmm[8];        /* It's actually 16 */
  45        __u32   padding[44];
  46        union {
  47                __u32 padding2[12];
  48                struct _fpx_sw_bytes sw_reserved;
  49        };
  50};
  51
  52struct sigcontext_ia32 {
  53       unsigned short gs, __gsh;
  54       unsigned short fs, __fsh;
  55       unsigned short es, __esh;
  56       unsigned short ds, __dsh;
  57       unsigned int di;
  58       unsigned int si;
  59       unsigned int bp;
  60       unsigned int sp;
  61       unsigned int bx;
  62       unsigned int dx;
  63       unsigned int cx;
  64       unsigned int ax;
  65       unsigned int trapno;
  66       unsigned int err;
  67       unsigned int ip;
  68       unsigned short cs, __csh;
  69       unsigned int flags;
  70       unsigned int sp_at_signal;
  71       unsigned short ss, __ssh;
  72       unsigned int fpstate;            /* really (struct _fpstate_ia32 *) */
  73       unsigned int oldmask;
  74       unsigned int cr2;
  75};
  76
  77#endif /* _ASM_X86_SIGCONTEXT32_H */
  78