Lines Matching refs:target
52 * @target: The target task.
58 int tm_cgpr_active(struct task_struct *target, const struct user_regset *regset)
63 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
71 * @target: The target task.
86 int tm_cgpr_get(struct task_struct *target, const struct user_regset *regset,
97 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
100 flush_tmregs_to_thread(target);
101 flush_fp_to_thread(target);
102 flush_altivec_to_thread(target);
104 membuf_write(&to, &target->thread.ckpt_regs, sizeof(struct user_pt_regs));
106 membuf_store(&to_msr, get_user_ckpt_msr(target));
116 * @target: The target task.
134 int tm_cgpr_set(struct task_struct *target, const struct user_regset *regset,
144 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
147 flush_tmregs_to_thread(target);
148 flush_fp_to_thread(target);
149 flush_altivec_to_thread(target);
152 &target->thread.ckpt_regs,
160 ret = set_user_ckpt_msr(target, reg);
168 &target->thread.ckpt_regs.orig_gpr3,
182 ret = set_user_ckpt_trap(target, reg);
194 * @target: The target task.
200 int tm_cfpr_active(struct task_struct *target, const struct user_regset *regset)
205 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
213 * @target: The target task.
229 int tm_cfpr_get(struct task_struct *target, const struct user_regset *regset,
238 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
241 flush_tmregs_to_thread(target);
242 flush_fp_to_thread(target);
243 flush_altivec_to_thread(target);
247 buf[i] = target->thread.TS_CKFPR(i);
248 buf[32] = target->thread.ckfp_state.fpscr;
254 * @target: The target task.
273 int tm_cfpr_set(struct task_struct *target, const struct user_regset *regset,
283 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
286 flush_tmregs_to_thread(target);
287 flush_fp_to_thread(target);
288 flush_altivec_to_thread(target);
291 buf[i] = target->thread.TS_CKFPR(i);
292 buf[32] = target->thread.ckfp_state.fpscr;
299 target->thread.TS_CKFPR(i) = buf[i];
300 target->thread.ckfp_state.fpscr = buf[32];
306 * @target: The target task.
312 int tm_cvmx_active(struct task_struct *target, const struct user_regset *regset)
317 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
325 * @target: The target task.
342 int tm_cvmx_get(struct task_struct *target, const struct user_regset *regset,
354 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
358 flush_tmregs_to_thread(target);
359 flush_fp_to_thread(target);
360 flush_altivec_to_thread(target);
362 membuf_write(&to, &target->thread.ckvr_state, 33 * sizeof(vector128));
367 vrsave.word = target->thread.ckvrsave;
373 * @target: The target task.
393 int tm_cvmx_set(struct task_struct *target, const struct user_regset *regset,
404 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
407 flush_tmregs_to_thread(target);
408 flush_fp_to_thread(target);
409 flush_altivec_to_thread(target);
411 ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &target->thread.ckvr_state,
422 vrsave.word = target->thread.ckvrsave;
426 target->thread.ckvrsave = vrsave.word;
434 * @target: The target task.
440 int tm_cvsx_active(struct task_struct *target, const struct user_regset *regset)
445 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
448 flush_vsx_to_thread(target);
449 return target->thread.used_vsr ? regset->n : 0;
454 * @target: The target task.
469 int tm_cvsx_get(struct task_struct *target, const struct user_regset *regset,
478 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
482 flush_tmregs_to_thread(target);
483 flush_fp_to_thread(target);
484 flush_altivec_to_thread(target);
485 flush_vsx_to_thread(target);
488 buf[i] = target->thread.ckfp_state.fpr[i][TS_VSRLOWOFFSET];
494 * @target: The target task.
512 int tm_cvsx_set(struct task_struct *target, const struct user_regset *regset,
522 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
526 flush_tmregs_to_thread(target);
527 flush_fp_to_thread(target);
528 flush_altivec_to_thread(target);
529 flush_vsx_to_thread(target);
532 buf[i] = target->thread.ckfp_state.fpr[i][TS_VSRLOWOFFSET];
538 target->thread.ckfp_state.fpr[i][TS_VSRLOWOFFSET] = buf[i];
545 * @target: The target task.
551 int tm_spr_active(struct task_struct *target, const struct user_regset *regset)
561 * @target: The target task.
574 int tm_spr_get(struct task_struct *target, const struct user_regset *regset,
586 flush_tmregs_to_thread(target);
587 flush_fp_to_thread(target);
588 flush_altivec_to_thread(target);
591 membuf_write(&to, &target->thread.tm_tfhar, sizeof(u64));
593 membuf_write(&to, &target->thread.tm_texasr, sizeof(u64));
595 return membuf_write(&to, &target->thread.tm_tfiar, sizeof(u64));
600 * @target: The target task.
616 int tm_spr_set(struct task_struct *target, const struct user_regset *regset,
631 flush_tmregs_to_thread(target);
632 flush_fp_to_thread(target);
633 flush_altivec_to_thread(target);
637 &target->thread.tm_tfhar, 0, sizeof(u64));
642 &target->thread.tm_texasr, sizeof(u64),
648 &target->thread.tm_tfiar,
653 int tm_tar_active(struct task_struct *target, const struct user_regset *regset)
658 if (MSR_TM_ACTIVE(target->thread.regs->msr))
664 int tm_tar_get(struct task_struct *target, const struct user_regset *regset,
670 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
673 return membuf_write(&to, &target->thread.tm_tar, sizeof(u64));
676 int tm_tar_set(struct task_struct *target, const struct user_regset *regset,
685 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
689 &target->thread.tm_tar, 0, sizeof(u64));
693 int tm_ppr_active(struct task_struct *target, const struct user_regset *regset)
698 if (MSR_TM_ACTIVE(target->thread.regs->msr))
705 int tm_ppr_get(struct task_struct *target, const struct user_regset *regset,
711 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
714 return membuf_write(&to, &target->thread.tm_ppr, sizeof(u64));
717 int tm_ppr_set(struct task_struct *target, const struct user_regset *regset,
726 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
730 &target->thread.tm_ppr, 0, sizeof(u64));
734 int tm_dscr_active(struct task_struct *target, const struct user_regset *regset)
739 if (MSR_TM_ACTIVE(target->thread.regs->msr))
745 int tm_dscr_get(struct task_struct *target, const struct user_regset *regset,
751 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
754 return membuf_write(&to, &target->thread.tm_dscr, sizeof(u64));
757 int tm_dscr_set(struct task_struct *target, const struct user_regset *regset,
766 if (!MSR_TM_ACTIVE(target->thread.regs->msr))
770 &target->thread.tm_dscr, 0, sizeof(u64));
774 int tm_cgpr32_get(struct task_struct *target, const struct user_regset *regset,
777 gpr32_get_common(target, regset, to,
778 &target->thread.ckpt_regs.gpr[0]);
782 int tm_cgpr32_set(struct task_struct *target, const struct user_regset *regset,
786 return gpr32_set_common(target, regset, pos, count, kbuf, ubuf,
787 &target->thread.ckpt_regs.gpr[0]);