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
16struct 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
40struct 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