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-x86_64 / sigcontext.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.2 KB  |  56 lines

  1. #ifndef _ASM_X86_64_SIGCONTEXT_H
  2. #define _ASM_X86_64_SIGCONTEXT_H
  3.  
  4. #include <asm/types.h>
  5. #include <linux/compiler.h>
  6.  
  7. /* FXSAVE frame */
  8. /* Note: reserved1/2 may someday contain valuable data. Always save/restore
  9.    them when you change signal frames. */
  10. struct _fpstate {
  11.     __u16    cwd;
  12.     __u16    swd;
  13.     __u16    twd;    /* Note this is not the same as the 32bit/x87/FSAVE twd */
  14.     __u16    fop;
  15.     __u64    rip;
  16.     __u64    rdp; 
  17.     __u32    mxcsr;
  18.     __u32    mxcsr_mask;
  19.     __u32    st_space[32];    /* 8*16 bytes for each FP-reg */
  20.     __u32    xmm_space[64];    /* 16*16 bytes for each XMM-reg  */
  21.     __u32    reserved2[24];
  22. };
  23.  
  24. struct sigcontext { 
  25.     unsigned long r8;
  26.     unsigned long r9;
  27.     unsigned long r10;
  28.     unsigned long r11;
  29.     unsigned long r12;
  30.     unsigned long r13;
  31.     unsigned long r14;
  32.     unsigned long r15;
  33.     unsigned long rdi;
  34.     unsigned long rsi;
  35.     unsigned long rbp;
  36.     unsigned long rbx;
  37.     unsigned long rdx;
  38.     unsigned long rax;
  39.     unsigned long rcx;
  40.     unsigned long rsp;
  41.     unsigned long rip;
  42.     unsigned long eflags;        /* RFLAGS */
  43.     unsigned short cs;
  44.     unsigned short gs;
  45.     unsigned short fs;
  46.     unsigned short __pad0; 
  47.     unsigned long err;
  48.     unsigned long trapno;
  49.     unsigned long oldmask;
  50.     unsigned long cr2;
  51.     struct _fpstate __user *fpstate;    /* zero when no FPU context */
  52.     unsigned long reserved1[8];
  53. };
  54.  
  55. #endif
  56.