Blame view

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