Lines Matching defs:target

50 static void init_fp_ctx(struct task_struct *target)
52 /* The target already has context */
53 if (tsk_used_math(target))
57 memset(&target->thread.fpu.fpr, ~0, sizeof(target->thread.fpu.fpr));
58 set_stopped_child_used_math(target);
75 static int gpr_get(struct task_struct *target,
80 struct pt_regs *regs = task_pt_regs(target);
90 static int gpr_set(struct task_struct *target,
99 struct pt_regs *regs = task_pt_regs(target);
121 static int gfpr_get(struct task_struct *target, struct membuf *to)
123 return membuf_write(to, &target->thread.fpu.fpr,
127 static int gfpr_get_simd(struct task_struct *target, struct membuf *to)
134 fpr_val = get_fpr64(&target->thread.fpu.fpr[i], 0);
145 static int fpr_get(struct task_struct *target,
151 save_fpu_regs(target);
153 if (sizeof(target->thread.fpu.fpr[0]) == sizeof(elf_fpreg_t))
154 r = gfpr_get(target, &to);
156 r = gfpr_get_simd(target, &to);
158 r = membuf_write(&to, &target->thread.fpu.fcc, sizeof(target->thread.fpu.fcc));
159 r = membuf_write(&to, &target->thread.fpu.fcsr, sizeof(target->thread.fpu.fcsr));
164 static int gfpr_set(struct task_struct *target,
169 &target->thread.fpu.fpr,
173 static int gfpr_set_simd(struct task_struct *target,
187 set_fpr64(&target->thread.fpu.fpr[i], 0, fpr_val);
197 static int fpr_set(struct task_struct *target,
210 init_fp_ctx(target);
212 if (sizeof(target->thread.fpu.fpr[0]) == sizeof(elf_fpreg_t))
213 err = gfpr_set(target, &pos, &count, &kbuf, &ubuf);
215 err = gfpr_set_simd(target, &pos, &count, &kbuf, &ubuf);
220 &target->thread.fpu.fcc, fcc_start,
223 &target->thread.fpu.fcsr, fcsr_start,
229 static int cfg_get(struct task_struct *target,
248 static int cfg_set(struct task_struct *target,
258 static void copy_pad_fprs(struct task_struct *target,
271 membuf_write(to, &target->thread.fpu.fpr[i], cp_sz);
278 static int simd_get(struct task_struct *target,
284 save_fpu_regs(target);
286 if (!tsk_used_math(target)) {
288 copy_pad_fprs(target, regset, &to, 0);
289 } else if (!test_tsk_thread_flag(target, TIF_LSX_CTX_LIVE)) {
291 copy_pad_fprs(target, regset, &to, 8);
293 } else if (!test_tsk_thread_flag(target, TIF_LASX_CTX_LIVE)) {
295 copy_pad_fprs(target, regset, &to, 16);
297 } else if (sizeof(target->thread.fpu.fpr[0]) == regset->size) {
299 membuf_write(&to, &target->thread.fpu.fpr, wr_size);
302 copy_pad_fprs(target, regset, &to, sizeof(target->thread.fpu.fpr[0]));
308 static int simd_set(struct task_struct *target,
317 init_fp_ctx(target);
319 if (sizeof(target->thread.fpu.fpr[0]) == regset->size) {
322 &target->thread.fpu.fpr,
327 sizeof(target->thread.fpu.fpr[0]));
332 &target->thread.fpu.fpr[i],
343 static int lbt_get(struct task_struct *target,
349 r = membuf_write(&to, &target->thread.lbt.scr0, sizeof(target->thread.lbt.scr0));
350 r = membuf_write(&to, &target->thread.lbt.scr1, sizeof(target->thread.lbt.scr1));
351 r = membuf_write(&to, &target->thread.lbt.scr2, sizeof(target->thread.lbt.scr2));
352 r = membuf_write(&to, &target->thread.lbt.scr3, sizeof(target->thread.lbt.scr3));
353 r = membuf_write(&to, &target->thread.lbt.eflags, sizeof(u32));
354 r = membuf_write(&to, &target->thread.fpu.ftop, sizeof(u32));
359 static int lbt_set(struct task_struct *target,
365 const int eflags_start = 4 * sizeof(target->thread.lbt.scr0);
369 &target->thread.lbt.scr0,
370 0, 4 * sizeof(target->thread.lbt.scr0));
372 &target->thread.lbt.eflags,
375 &target->thread.fpu.ftop,
661 static int hw_break_get(struct task_struct *target,
680 ret = ptrace_hbp_get_addr(note_type, target, idx, &addr);
684 ret = ptrace_hbp_get_mask(note_type, target, idx, &mask);
688 ret = ptrace_hbp_get_ctrl(note_type, target, idx, &ctrl);
702 static int hw_break_set(struct task_struct *target,
727 ret = ptrace_hbp_set_addr(note_type, target, idx, addr);
740 ret = ptrace_hbp_set_mask(note_type, target, idx, mask);
750 ret = ptrace_hbp_set_ctrl(note_type, target, idx, ctrl);
943 static inline int read_user(struct task_struct *target, unsigned long addr,
950 tmp = task_pt_regs(target)->regs[addr];
953 tmp = task_pt_regs(target)->orig_a0;
956 tmp = task_pt_regs(target)->csr_era;
959 tmp = task_pt_regs(target)->csr_badvaddr;
968 static inline int write_user(struct task_struct *target, unsigned long addr,
973 task_pt_regs(target)->regs[addr] = data;
976 task_pt_regs(target)->orig_a0 = data;
979 task_pt_regs(target)->csr_era = data;
982 task_pt_regs(target)->csr_badvaddr = data;