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