Lines Matching refs:thread
43 struct thread_struct *thread = &task->thread; in update_cr_regs() local
64 if (task->thread.per_flags & PER_FLAG_NO_TE) in update_cr_regs()
68 if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND) { in update_cr_regs()
69 if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND_TEND) in update_cr_regs()
78 if (task->thread.gs_cb) in update_cr_regs()
89 new.control.val = thread->per_user.control; in update_cr_regs()
90 new.start.val = thread->per_user.start; in update_cr_regs()
91 new.end.val = thread->per_user.end; in update_cr_regs()
144 memset(&task->thread.per_user, 0, sizeof(task->thread.per_user)); in ptrace_disable()
145 memset(&task->thread.per_event, 0, sizeof(task->thread.per_event)); in ptrace_disable()
148 task->thread.per_flags = 0; in ptrace_disable()
159 PER_EVENT_IFETCH : child->thread.per_user.control; in __peek_user_per()
163 0 : child->thread.per_user.start; in __peek_user_per()
167 -1UL : child->thread.per_user.end; in __peek_user_per()
174 return child->thread.per_user.start; in __peek_user_per()
177 return child->thread.per_user.end; in __peek_user_per()
181 child->thread.per_event.cause << (BITS_PER_LONG - 16); in __peek_user_per()
184 return child->thread.per_event.address; in __peek_user_per()
188 child->thread.per_event.paid << (BITS_PER_LONG - 8); in __peek_user_per()
227 tmp = ((unsigned long) child->thread.acrs[15]) << 32; in __peek_user()
229 tmp = *(addr_t *)((addr_t) &child->thread.acrs + offset); in __peek_user()
248 tmp = child->thread.ufpu.fpc; in __peek_user()
256 tmp = *(addr_t *)((addr_t)child->thread.ufpu.vxrs + 2 * offset); in __peek_user()
307 child->thread.per_user.control = in __poke_user_per()
311 child->thread.per_user.start = data; in __poke_user_per()
314 child->thread.per_user.end = data; in __poke_user_per()
367 child->thread.acrs[15] = (unsigned int) (data >> 32); in __poke_user()
369 *(addr_t *)((addr_t) &child->thread.acrs + offset) = data; in __poke_user()
390 child->thread.ufpu.fpc = data >> (BITS_PER_LONG - 32); in __poke_user()
397 *(addr_t *)((addr_t)child->thread.ufpu.vxrs + 2 * offset) = data; in __poke_user()
469 return put_user(child->thread.last_break, (unsigned long __user *)data); in arch_ptrace()
473 child->thread.per_flags &= ~PER_FLAG_NO_TE; in arch_ptrace()
478 child->thread.per_flags |= PER_FLAG_NO_TE; in arch_ptrace()
479 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
482 if (!machine_has_tx() || (child->thread.per_flags & PER_FLAG_NO_TE)) in arch_ptrace()
486 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
489 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
490 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND_TEND; in arch_ptrace()
493 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
494 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND_TEND; in arch_ptrace()
515 save_access_regs(target->thread.acrs); in s390_regs_get()
530 save_access_regs(target->thread.acrs); in s390_regs_set()
553 restore_access_regs(target->thread.acrs); in s390_regs_set()
567 fp_regs.fpc = target->thread.ufpu.fpc; in s390_fpregs_get()
568 fpregs_store(&fp_regs, &target->thread.ufpu); in s390_fpregs_get()
583 convert_vx_to_fp(fprs, target->thread.ufpu.vxrs); in s390_fpregs_set()
585 u32 ufpc[2] = { target->thread.ufpu.fpc, 0 }; in s390_fpregs_set()
592 target->thread.ufpu.fpc = ufpc[0]; in s390_fpregs_set()
600 convert_fp_to_vx(target->thread.ufpu.vxrs, fprs); in s390_fpregs_set()
608 return membuf_store(&to, target->thread.last_break); in s390_last_break_get()
628 size = sizeof(target->thread.trap_tdb.data); in s390_tdb_get()
629 return membuf_write(&to, target->thread.trap_tdb.data, size); in s390_tdb_get()
652 vxrs[i] = target->thread.ufpu.vxrs[i].low; in s390_vxrs_low_get()
670 vxrs[i] = target->thread.ufpu.vxrs[i].low; in s390_vxrs_low_set()
675 target->thread.ufpu.vxrs[i].low = vxrs[i]; in s390_vxrs_low_set()
688 return membuf_write(&to, target->thread.ufpu.vxrs + __NUM_VXRS_LOW, in s390_vxrs_high_get()
705 target->thread.ufpu.vxrs + __NUM_VXRS_LOW, 0, -1); in s390_vxrs_high_set()
713 return membuf_store(&to, target->thread.system_call); in s390_system_call_get()
721 unsigned int *data = &target->thread.system_call; in s390_system_call_set()
730 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
751 if (!target->thread.gs_cb) { in s390_gs_cb_set()
756 if (!target->thread.gs_cb) in s390_gs_cb_set()
761 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
769 if (!target->thread.gs_cb) in s390_gs_cb_set()
770 target->thread.gs_cb = data; in s390_gs_cb_set()
771 *target->thread.gs_cb = gs_cb; in s390_gs_cb_set()
774 restore_gs_cb(target->thread.gs_cb); in s390_gs_cb_set()
784 struct gs_cb *data = target->thread.gs_bc_cb; in s390_gs_bc_get()
798 struct gs_cb *data = target->thread.gs_bc_cb; in s390_gs_bc_set()
806 target->thread.gs_bc_cb = data; in s390_gs_bc_set()
842 struct runtime_instr_cb *data = target->thread.ri_cb; in s390_runtime_instr_get()
863 if (!target->thread.ri_cb) { in s390_runtime_instr_set()
869 if (target->thread.ri_cb) { in s390_runtime_instr_set()
873 ri_cb = *target->thread.ri_cb; in s390_runtime_instr_set()
893 if (!target->thread.ri_cb) in s390_runtime_instr_set()
894 target->thread.ri_cb = data; in s390_runtime_instr_set()
895 *target->thread.ri_cb = ri_cb; in s390_runtime_instr_set()
897 load_runtime_instr_cb(target->thread.ri_cb); in s390_runtime_instr_set()