21 #include <generated/compile.h>
23 #include <linux/kernel.h>
24 #include <linux/sched.h>
27 #include <linux/errno.h>
28 #include <linux/ptrace.h>
31 #include <linux/elf.h>
37 unsigned int pos,
unsigned int count,
38 void *kbuf,
void __user *ubuf)
54 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
55 ®s->
r00, 0, 32*
sizeof(
unsigned long));
57 #define ONEXT(KPT_REG, USR_REG) \
59 ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, \
60 KPT_REG, offsetof(struct user_regs_struct, USR_REG), \
61 offsetof(struct user_regs_struct, USR_REG) + \
62 sizeof(unsigned long));
82 ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
89 unsigned int pos,
unsigned int count,
90 const void *kbuf,
const void __user *ubuf)
99 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
100 ®s->
r00, 0, 32*
sizeof(
unsigned long));
102 #define INEXT(KPT_REG, USR_REG) \
104 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, \
105 KPT_REG, offsetof(struct user_regs_struct, USR_REG), \
106 offsetof(struct user_regs_struct, USR_REG) + \
107 sizeof(unsigned long));
124 INEXT(&bucket, badva);
128 ret = user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
146 static const struct user_regset hexagon_regsets[] = {
150 .size =
sizeof(
unsigned long),
151 .
align =
sizeof(
unsigned long),
161 .regsets = hexagon_regsets,
167 return &hexagon_user_view;
177 unsigned long addr,
unsigned long data)