diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-17 20:04:40 +0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 22:16:45 +0400 |
commit | 686d8c63d530a5cfdbab2523825e37b904be56f9 (patch) | |
tree | 2e241e323eb798beeb5954c6391374d29f1e5ae7 /include/asm-x86/ptrace-abi.h | |
parent | e2f430291fe23a4f78da078142e8fe9e94e9e043 (diff) | |
download | linux-686d8c63d530a5cfdbab2523825e37b904be56f9.tar.xz |
x86: unify include/asm/ptrace-abi_32/64.h
Aside of the register defines the content can be shared.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/ptrace-abi.h')
-rw-r--r-- | include/asm-x86/ptrace-abi.h | 90 |
1 files changed, 79 insertions, 11 deletions
diff --git a/include/asm-x86/ptrace-abi.h b/include/asm-x86/ptrace-abi.h index 6824c49def1c..7524e1233833 100644 --- a/include/asm-x86/ptrace-abi.h +++ b/include/asm-x86/ptrace-abi.h @@ -1,13 +1,81 @@ -#ifdef __KERNEL__ -# ifdef CONFIG_X86_32 -# include "ptrace-abi_32.h" -# else -# include "ptrace-abi_64.h" -# endif +#ifndef _ASM_X86_PTRACE_ABI_H +#define _ASM_X86_PTRACE_ABI_H + +#ifdef __i386__ + +#define EBX 0 +#define ECX 1 +#define EDX 2 +#define ESI 3 +#define EDI 4 +#define EBP 5 +#define EAX 6 +#define DS 7 +#define ES 8 +#define FS 9 +#define GS 10 +#define ORIG_EAX 11 +#define EIP 12 +#define CS 13 +#define EFL 14 +#define UESP 15 +#define SS 16 +#define FRAME_SIZE 17 + +#else /* __i386__ */ + +#if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS) +#define R15 0 +#define R14 8 +#define R13 16 +#define R12 24 +#define RBP 32 +#define RBX 40 +/* arguments: interrupts/non tracing syscalls only save upto here*/ +#define R11 48 +#define R10 56 +#define R9 64 +#define R8 72 +#define RAX 80 +#define RCX 88 +#define RDX 96 +#define RSI 104 +#define RDI 112 +#define ORIG_RAX 120 /* = ERROR */ +/* end of arguments */ +/* cpu exception frame or undefined in case of fast syscall. */ +#define RIP 128 +#define CS 136 +#define EFLAGS 144 +#define RSP 152 +#define SS 160 +#define ARGOFFSET R11 +#endif /* __ASSEMBLY__ */ + +/* top of stack page */ +#define FRAME_SIZE 168 + +#endif /* !__i386__ */ + +/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_GETFPXREGS 18 +#define PTRACE_SETFPXREGS 19 + +#define PTRACE_OLDSETOPTIONS 21 + +/* only useful for access 32bit programs / kernels */ +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 + +#ifdef __x86_64__ +# define PTRACE_ARCH_PRCTL 30 #else -# ifdef __i386__ -# include "ptrace-abi_32.h" -# else -# include "ptrace-abi_64.h" -# endif +# define PTRACE_SYSEMU 31 +# define PTRACE_SYSEMU_SINGLESTEP 32 +#endif + #endif |