@@ -76,17 +76,14 @@ enum csky_regset {
76
76
77
77
static int gpr_get (struct task_struct * target ,
78
78
const struct user_regset * regset ,
79
- unsigned int pos , unsigned int count ,
80
- void * kbuf , void __user * ubuf )
79
+ struct membuf to )
81
80
{
82
- struct pt_regs * regs ;
83
-
84
- regs = task_pt_regs (target );
81
+ struct pt_regs * regs = task_pt_regs (target );
85
82
86
83
/* Abiv1 regs->tls is fake and we need sync here. */
87
84
regs -> tls = task_thread_info (target )-> tp_value ;
88
85
89
- return user_regset_copyout ( & pos , & count , & kbuf , & ubuf , regs , 0 , -1 );
86
+ return membuf_write ( & to , regs , sizeof ( regs ) );
90
87
}
91
88
92
89
static int gpr_set (struct task_struct * target ,
@@ -114,8 +111,7 @@ static int gpr_set(struct task_struct *target,
114
111
115
112
static int fpr_get (struct task_struct * target ,
116
113
const struct user_regset * regset ,
117
- unsigned int pos , unsigned int count ,
118
- void * kbuf , void __user * ubuf )
114
+ struct membuf to )
119
115
{
120
116
struct user_fp * regs = (struct user_fp * )& target -> thread .user_fp ;
121
117
@@ -131,9 +127,9 @@ static int fpr_get(struct task_struct *target,
131
127
for (i = 0 ; i < 32 ; i ++ )
132
128
tmp .vr [64 + i ] = regs -> vr [32 + i ];
133
129
134
- return user_regset_copyout ( & pos , & count , & kbuf , & ubuf , & tmp , 0 , -1 );
130
+ return membuf_write ( & to , & tmp , sizeof ( tmp ) );
135
131
#else
136
- return user_regset_copyout ( & pos , & count , & kbuf , & ubuf , regs , 0 , -1 );
132
+ return membuf_write ( & to , regs , sizeof ( * regs ) );
137
133
#endif
138
134
}
139
135
@@ -173,16 +169,16 @@ static const struct user_regset csky_regsets[] = {
173
169
.n = sizeof (struct pt_regs ) / sizeof (u32 ),
174
170
.size = sizeof (u32 ),
175
171
.align = sizeof (u32 ),
176
- .get = & gpr_get ,
177
- .set = & gpr_set ,
172
+ .regset_get = gpr_get ,
173
+ .set = gpr_set ,
178
174
},
179
175
[REGSET_FPR ] = {
180
176
.core_note_type = NT_PRFPREG ,
181
177
.n = sizeof (struct user_fp ) / sizeof (u32 ),
182
178
.size = sizeof (u32 ),
183
179
.align = sizeof (u32 ),
184
- .get = & fpr_get ,
185
- .set = & fpr_set ,
180
+ .regset_get = fpr_get ,
181
+ .set = fpr_set ,
186
182
},
187
183
};
188
184
0 commit comments