home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / include / asm / sigcontext32.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-09-09  |  1.6 KB  |  76 lines

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