20 #include <linux/kernel.h>
21 #include <linux/sched.h>
22 #include <linux/string.h>
25 #include <linux/errno.h>
26 #include <linux/ptrace.h>
27 #include <linux/audit.h>
30 #include <linux/elf.h>
32 #include <asm/thread_info.h>
33 #include <asm/segment.h>
35 #include <asm/pgtable.h>
53 unsigned int pos,
unsigned int count,
54 void *kbuf,
void __user * ubuf)
60 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf, 0, 4);
63 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
64 regs->
gpr+1, 4, 4*32);
66 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
67 ®s->
pc, 4*32, 4*33);
69 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
70 ®s->
sr, 4*33, 4*34);
72 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
83 unsigned int pos,
unsigned int count,
84 const void *kbuf,
const void __user * ubuf)
90 ret = user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf, 0, 4);
93 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
94 regs->
gpr+1, 4, 4*32);
97 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
98 ®s->
pc, 4*32, 4*33);
104 ret = user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
121 .size =
sizeof(
long),
122 .
align =
sizeof(
long),
131 .regsets = or1k_regsets,
137 return &user_or1k_native_view;
153 pr_debug(
"ptrace_disable(): TODO\n");
182 tracehook_report_syscall_entry(regs))
191 regs->
gpr[3], regs->
gpr[4],
192 regs->
gpr[5], regs->
gpr[6]);
194 return ret ? : regs->
gpr[11];
201 audit_syscall_exit(regs);
205 tracehook_report_syscall_exit(regs, step);