Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6] / include / asm-x86 / ptrace-abi_64.h
1 #ifndef _X86_64_PTRACE_ABI_H
2 #define _X86_64_PTRACE_ABI_H
3
4 #if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS)
5 #define R15 0
6 #define R14 8
7 #define R13 16
8 #define R12 24
9 #define RBP 32
10 #define RBX 40
11 /* arguments: interrupts/non tracing syscalls only save upto here*/
12 #define R11 48
13 #define R10 56
14 #define R9 64
15 #define R8 72
16 #define RAX 80
17 #define RCX 88
18 #define RDX 96
19 #define RSI 104
20 #define RDI 112
21 #define ORIG_RAX 120       /* = ERROR */
22 /* end of arguments */
23 /* cpu exception frame or undefined in case of fast syscall. */
24 #define RIP 128
25 #define CS 136
26 #define EFLAGS 144
27 #define RSP 152
28 #define SS 160
29 #define ARGOFFSET R11
30 #endif /* __ASSEMBLY__ */
31
32 /* top of stack page */
33 #define FRAME_SIZE 168
34
35 #define PTRACE_OLDSETOPTIONS         21
36
37 /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
38 #define PTRACE_GETREGS            12
39 #define PTRACE_SETREGS            13
40 #define PTRACE_GETFPREGS          14
41 #define PTRACE_SETFPREGS          15
42 #define PTRACE_GETFPXREGS         18
43 #define PTRACE_SETFPXREGS         19
44
45 /* only useful for access 32bit programs */
46 #define PTRACE_GET_THREAD_AREA    25
47 #define PTRACE_SET_THREAD_AREA    26
48
49 #define PTRACE_ARCH_PRCTL         30    /* arch_prctl for child */
50
51 #endif