2 * Copyright 2003 PathScale, Inc.
4 * Licensed under the GPL
7 #ifndef __UM_PTRACE_X86_64_H
8 #define __UM_PTRACE_X86_64_H
10 #include "linux/compiler.h"
11 #include "asm/errno.h"
13 #define __FRAME_OFFSETS /* Needed to get the R* macros */
14 #include "asm/ptrace-generic.h"
16 #define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
18 #define PT_REGS_R8(r) UPT_R8(&(r)->regs)
19 #define PT_REGS_R9(r) UPT_R9(&(r)->regs)
20 #define PT_REGS_R10(r) UPT_R10(&(r)->regs)
21 #define PT_REGS_R11(r) UPT_R11(&(r)->regs)
22 #define PT_REGS_R12(r) UPT_R12(&(r)->regs)
23 #define PT_REGS_R13(r) UPT_R13(&(r)->regs)
24 #define PT_REGS_R14(r) UPT_R14(&(r)->regs)
25 #define PT_REGS_R15(r) UPT_R15(&(r)->regs)
28 #define user_mode(r) UPT_IS_USER(&(r)->regs)
32 static inline int ptrace_get_thread_area(struct task_struct *child, int idx,
33 struct user_desc __user *user_desc)
38 static inline int ptrace_set_thread_area(struct task_struct *child, int idx,
39 struct user_desc __user *user_desc)
44 extern long arch_prctl(struct task_struct *task, int code,
45 unsigned long __user *addr);