Initial import from kernel v3.7
[profile/ivi/kernel-headers.git] / usr / include / asm / ptrace.h
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 */