]>
Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_PTRACE_ABI_H |
2 | #define _ASM_X86_PTRACE_ABI_H | |
686d8c63 TG |
3 | |
4 | #ifdef __i386__ | |
5 | ||
6 | #define EBX 0 | |
7 | #define ECX 1 | |
8 | #define EDX 2 | |
9 | #define ESI 3 | |
10 | #define EDI 4 | |
11 | #define EBP 5 | |
12 | #define EAX 6 | |
13 | #define DS 7 | |
14 | #define ES 8 | |
15 | #define FS 9 | |
16 | #define GS 10 | |
17 | #define ORIG_EAX 11 | |
18 | #define EIP 12 | |
19 | #define CS 13 | |
20 | #define EFL 14 | |
21 | #define UESP 15 | |
22 | #define SS 16 | |
23 | #define FRAME_SIZE 17 | |
24 | ||
25 | #else /* __i386__ */ | |
26 | ||
27 | #if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS) | |
28 | #define R15 0 | |
29 | #define R14 8 | |
30 | #define R13 16 | |
31 | #define R12 24 | |
32 | #define RBP 32 | |
33 | #define RBX 40 | |
0d2eb44f | 34 | /* arguments: interrupts/non tracing syscalls only save up to here*/ |
686d8c63 TG |
35 | #define R11 48 |
36 | #define R10 56 | |
37 | #define R9 64 | |
38 | #define R8 72 | |
39 | #define RAX 80 | |
40 | #define RCX 88 | |
41 | #define RDX 96 | |
42 | #define RSI 104 | |
43 | #define RDI 112 | |
44 | #define ORIG_RAX 120 /* = ERROR */ | |
45 | /* end of arguments */ | |
46 | /* cpu exception frame or undefined in case of fast syscall. */ | |
47 | #define RIP 128 | |
48 | #define CS 136 | |
49 | #define EFLAGS 144 | |
50 | #define RSP 152 | |
51 | #define SS 160 | |
52 | #define ARGOFFSET R11 | |
53 | #endif /* __ASSEMBLY__ */ | |
54 | ||
55 | /* top of stack page */ | |
56 | #define FRAME_SIZE 168 | |
57 | ||
58 | #endif /* !__i386__ */ | |
59 | ||
60 | /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ | |
61 | #define PTRACE_GETREGS 12 | |
62 | #define PTRACE_SETREGS 13 | |
63 | #define PTRACE_GETFPREGS 14 | |
64 | #define PTRACE_SETFPREGS 15 | |
65 | #define PTRACE_GETFPXREGS 18 | |
66 | #define PTRACE_SETFPXREGS 19 | |
67 | ||
68 | #define PTRACE_OLDSETOPTIONS 21 | |
69 | ||
70 | /* only useful for access 32bit programs / kernels */ | |
71 | #define PTRACE_GET_THREAD_AREA 25 | |
72 | #define PTRACE_SET_THREAD_AREA 26 | |
73 | ||
74 | #ifdef __x86_64__ | |
75 | # define PTRACE_ARCH_PRCTL 30 | |
686d8c63 TG |
76 | #endif |
77 | ||
d4d67150 RM |
78 | #define PTRACE_SYSEMU 31 |
79 | #define PTRACE_SYSEMU_SINGLESTEP 32 | |
80 | ||
0fa376e0 RM |
81 | #define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */ |
82 | ||
93fa7636 | 83 | #ifndef __ASSEMBLY__ |
420ab35e | 84 | #include <linux/types.h> |
faa4602e | 85 | #endif |
eee3af4a | 86 | |
1965aae3 | 87 | #endif /* _ASM_X86_PTRACE_ABI_H */ |