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
52