Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux/fpc-iii.git] / arch / x86 / include / uapi / asm / ptrace.h
blobac4b9aa4d9996b413eaf71ada8bb6b458e7a83a0
1 #ifndef _UAPI_ASM_X86_PTRACE_H
2 #define _UAPI_ASM_X86_PTRACE_H
4 #include <linux/compiler.h> /* For __user */
5 #include <asm/ptrace-abi.h>
6 #include <asm/processor-flags.h>
9 #ifndef __ASSEMBLY__
11 #ifdef __i386__
12 /* this struct defines the way the registers are stored on the
13 stack during a system call. */
15 #ifndef __KERNEL__
17 struct pt_regs {
18 long ebx;
19 long ecx;
20 long edx;
21 long esi;
22 long edi;
23 long ebp;
24 long eax;
25 int xds;
26 int xes;
27 int xfs;
28 int xgs;
29 long orig_eax;
30 long eip;
31 int xcs;
32 long eflags;
33 long esp;
34 int xss;
37 #endif /* __KERNEL__ */
39 #else /* __i386__ */
41 #ifndef __KERNEL__
43 struct pt_regs {
44 unsigned long r15;
45 unsigned long r14;
46 unsigned long r13;
47 unsigned long r12;
48 unsigned long rbp;
49 unsigned long rbx;
50 /* arguments: non interrupts/non tracing syscalls only save up to here*/
51 unsigned long r11;
52 unsigned long r10;
53 unsigned long r9;
54 unsigned long r8;
55 unsigned long rax;
56 unsigned long rcx;
57 unsigned long rdx;
58 unsigned long rsi;
59 unsigned long rdi;
60 unsigned long orig_rax;
61 /* end of arguments */
62 /* cpu exception frame or undefined */
63 unsigned long rip;
64 unsigned long cs;
65 unsigned long eflags;
66 unsigned long rsp;
67 unsigned long ss;
68 /* top of stack page */
71 #endif /* __KERNEL__ */
72 #endif /* !__i386__ */
76 #endif /* !__ASSEMBLY__ */
78 #endif /* _UAPI_ASM_X86_PTRACE_H */