Linux-libre 3.5.4-gnu1
[librecmc/linux-libre.git] / arch / x86 / um / asm / ptrace_64.h
1 /*
2  * Copyright 2003 PathScale, Inc.
3  *
4  * Licensed under the GPL
5  */
6
7 #ifndef __UM_PTRACE_X86_64_H
8 #define __UM_PTRACE_X86_64_H
9
10 #include "linux/compiler.h"
11 #include "asm/errno.h"
12
13 #define __FRAME_OFFSETS /* Needed to get the R* macros */
14 #include "asm/ptrace-generic.h"
15
16 #define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
17
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)
26
27 /* XXX */
28 #define user_mode(r) UPT_IS_USER(&(r)->regs)
29
30 struct user_desc;
31
32 static inline int ptrace_get_thread_area(struct task_struct *child, int idx,
33                                          struct user_desc __user *user_desc)
34 {
35         return -ENOSYS;
36 }
37
38 static inline int ptrace_set_thread_area(struct task_struct *child, int idx,
39                                          struct user_desc __user *user_desc)
40 {
41         return -ENOSYS;
42 }
43
44 extern long arch_prctl(struct task_struct *task, int code,
45                        unsigned long __user *addr);
46 #endif