1 #ifndef _ASM_X86_PTRACE_H
2 #define _ASM_X86_PTRACE_H
3 
4 	/* For */
5 #include <asm/ptrace-abi.h>
6 #include <asm/processor-flags.h>
7 
8 
9 #ifndef __ASSEMBLY__
10 
11 #ifdef __i386__
12 /* this struct defines the way the registers are stored on the
13    stack during a system call. */
14 
15 
16 struct pt_regs {
17 	long ebx;
18 	long ecx;
19 	long edx;
20 	long esi;
21 	long edi;
22 	long ebp;
23 	long eax;
24 	int  xds;
25 	int  xes;
26 	int  xfs;
27 	int  xgs;
28 	long orig_eax;
29 	long eip;
30 	int  xcs;
31 	long eflags;
32 	long esp;
33 	int  xss;
34 };
35 
36 
37 #else /* __i386__ */
38 
39 
40 struct pt_regs {
41 	unsigned long r15;
42 	unsigned long r14;
43 	unsigned long r13;
44 	unsigned long r12;
45 	unsigned long rbp;
46 	unsigned long rbx;
47 /* arguments: non interrupts/non tracing syscalls only save up to here*/
48 	unsigned long r11;
49 	unsigned long r10;
50 	unsigned long r9;
51 	unsigned long r8;
52 	unsigned long rax;
53 	unsigned long rcx;
54 	unsigned long rdx;
55 	unsigned long rsi;
56 	unsigned long rdi;
57 	unsigned long orig_rax;
58 /* end of arguments */
59 /* cpu exception frame or undefined */
60 	unsigned long rip;
61 	unsigned long cs;
62 	unsigned long eflags;
63 	unsigned long rsp;
64 	unsigned long ss;
65 /* top of stack page */
66 };
67 
68 #endif /* !__i386__ */
69 
70 
71 
72 #endif /* !__ASSEMBLY__ */
73 
74 #endif /* _ASM_X86_PTRACE_H */
75