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