Lines Matching refs:thread
48 struct thread_struct *thread = &task->thread; in update_cr_regs() local
69 if (task->thread.per_flags & PER_FLAG_NO_TE) in update_cr_regs()
73 if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND) { in update_cr_regs()
74 if (task->thread.per_flags & PER_FLAG_TE_ABORT_RAND_TEND) in update_cr_regs()
83 if (task->thread.gs_cb) in update_cr_regs()
94 new.control.val = thread->per_user.control; in update_cr_regs()
95 new.start.val = thread->per_user.start; in update_cr_regs()
96 new.end.val = thread->per_user.end; in update_cr_regs()
149 memset(&task->thread.per_user, 0, sizeof(task->thread.per_user)); in ptrace_disable()
150 memset(&task->thread.per_event, 0, sizeof(task->thread.per_event)); in ptrace_disable()
153 task->thread.per_flags = 0; in ptrace_disable()
164 PER_EVENT_IFETCH : child->thread.per_user.control; in __peek_user_per()
168 0 : child->thread.per_user.start; in __peek_user_per()
172 -1UL : child->thread.per_user.end; in __peek_user_per()
179 return child->thread.per_user.start; in __peek_user_per()
182 return child->thread.per_user.end; in __peek_user_per()
186 child->thread.per_event.cause << (BITS_PER_LONG - 16); in __peek_user_per()
189 return child->thread.per_event.address; in __peek_user_per()
193 child->thread.per_event.paid << (BITS_PER_LONG - 8); in __peek_user_per()
232 tmp = ((unsigned long) child->thread.acrs[15]) << 32; in __peek_user()
234 tmp = *(addr_t *)((addr_t) &child->thread.acrs + offset); in __peek_user()
253 tmp = child->thread.ufpu.fpc; in __peek_user()
261 tmp = *(addr_t *)((addr_t)child->thread.ufpu.vxrs + 2 * offset); in __peek_user()
312 child->thread.per_user.control = in __poke_user_per()
316 child->thread.per_user.start = data; in __poke_user_per()
319 child->thread.per_user.end = data; in __poke_user_per()
372 child->thread.acrs[15] = (unsigned int) (data >> 32); in __poke_user()
374 *(addr_t *)((addr_t) &child->thread.acrs + offset) = data; in __poke_user()
395 child->thread.ufpu.fpc = data >> (BITS_PER_LONG - 32); in __poke_user()
402 *(addr_t *)((addr_t)child->thread.ufpu.vxrs + 2 * offset) = data; in __poke_user()
474 return put_user(child->thread.last_break, (unsigned long __user *)data); in arch_ptrace()
478 child->thread.per_flags &= ~PER_FLAG_NO_TE; in arch_ptrace()
483 child->thread.per_flags |= PER_FLAG_NO_TE; in arch_ptrace()
484 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
487 if (!machine_has_tx() || (child->thread.per_flags & PER_FLAG_NO_TE)) in arch_ptrace()
491 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
494 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
495 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND_TEND; in arch_ptrace()
498 child->thread.per_flags |= PER_FLAG_TE_ABORT_RAND; in arch_ptrace()
499 child->thread.per_flags &= ~PER_FLAG_TE_ABORT_RAND_TEND; in arch_ptrace()
534 PER_EVENT_IFETCH : child->thread.per_user.control; in __peek_user_per_compat()
538 0 : child->thread.per_user.start; in __peek_user_per_compat()
542 PSW32_ADDR_INSN : child->thread.per_user.end; in __peek_user_per_compat()
549 return (__u32) child->thread.per_user.start; in __peek_user_per_compat()
552 return (__u32) child->thread.per_user.end; in __peek_user_per_compat()
555 return (__u32) child->thread.per_event.cause << 16; in __peek_user_per_compat()
558 return (__u32) child->thread.per_event.address; in __peek_user_per_compat()
561 return (__u32) child->thread.per_event.paid << 24; in __peek_user_per_compat()
596 tmp = *(__u32*)((addr_t) &child->thread.acrs + offset); in __peek_user_compat()
615 tmp = child->thread.ufpu.fpc; in __peek_user_compat()
622 tmp = *(__u32 *)((addr_t)child->thread.ufpu.vxrs + 2 * offset); in __peek_user_compat()
656 child->thread.per_user.control = in __poke_user_per_compat()
660 child->thread.per_user.start = data; in __poke_user_per_compat()
663 child->thread.per_user.end = data; in __poke_user_per_compat()
715 *(__u32*)((addr_t) &child->thread.acrs + offset) = tmp; in __poke_user_compat()
734 child->thread.ufpu.fpc = data; in __poke_user_compat()
741 *(__u32 *)((addr_t)child->thread.ufpu.vxrs + 2 * offset) = tmp; in __poke_user_compat()
806 return put_user(child->thread.last_break, (unsigned int __user *)data); in compat_arch_ptrace()
822 save_access_regs(target->thread.acrs); in s390_regs_get()
837 save_access_regs(target->thread.acrs); in s390_regs_set()
860 restore_access_regs(target->thread.acrs); in s390_regs_set()
874 fp_regs.fpc = target->thread.ufpu.fpc; in s390_fpregs_get()
875 fpregs_store(&fp_regs, &target->thread.ufpu); in s390_fpregs_get()
890 convert_vx_to_fp(fprs, target->thread.ufpu.vxrs); in s390_fpregs_set()
892 u32 ufpc[2] = { target->thread.ufpu.fpc, 0 }; in s390_fpregs_set()
899 target->thread.ufpu.fpc = ufpc[0]; in s390_fpregs_set()
907 convert_fp_to_vx(target->thread.ufpu.vxrs, fprs); in s390_fpregs_set()
915 return membuf_store(&to, target->thread.last_break); in s390_last_break_get()
935 size = sizeof(target->thread.trap_tdb.data); in s390_tdb_get()
936 return membuf_write(&to, target->thread.trap_tdb.data, size); in s390_tdb_get()
959 vxrs[i] = target->thread.ufpu.vxrs[i].low; in s390_vxrs_low_get()
977 vxrs[i] = target->thread.ufpu.vxrs[i].low; in s390_vxrs_low_set()
982 target->thread.ufpu.vxrs[i].low = vxrs[i]; in s390_vxrs_low_set()
995 return membuf_write(&to, target->thread.ufpu.vxrs + __NUM_VXRS_LOW, in s390_vxrs_high_get()
1012 target->thread.ufpu.vxrs + __NUM_VXRS_LOW, 0, -1); in s390_vxrs_high_set()
1020 return membuf_store(&to, target->thread.system_call); in s390_system_call_get()
1028 unsigned int *data = &target->thread.system_call; in s390_system_call_set()
1037 struct gs_cb *data = target->thread.gs_cb; in s390_gs_cb_get()
1058 if (!target->thread.gs_cb) { in s390_gs_cb_set()
1063 if (!target->thread.gs_cb) in s390_gs_cb_set()
1068 gs_cb = *target->thread.gs_cb; in s390_gs_cb_set()
1076 if (!target->thread.gs_cb) in s390_gs_cb_set()
1077 target->thread.gs_cb = data; in s390_gs_cb_set()
1078 *target->thread.gs_cb = gs_cb; in s390_gs_cb_set()
1081 restore_gs_cb(target->thread.gs_cb); in s390_gs_cb_set()
1091 struct gs_cb *data = target->thread.gs_bc_cb; in s390_gs_bc_get()
1105 struct gs_cb *data = target->thread.gs_bc_cb; in s390_gs_bc_set()
1113 target->thread.gs_bc_cb = data; in s390_gs_bc_set()
1149 struct runtime_instr_cb *data = target->thread.ri_cb; in s390_runtime_instr_get()
1170 if (!target->thread.ri_cb) { in s390_runtime_instr_set()
1176 if (target->thread.ri_cb) { in s390_runtime_instr_set()
1180 ri_cb = *target->thread.ri_cb; in s390_runtime_instr_set()
1200 if (!target->thread.ri_cb) in s390_runtime_instr_set()
1201 target->thread.ri_cb = data; in s390_runtime_instr_set()
1202 *target->thread.ri_cb = ri_cb; in s390_runtime_instr_set()
1204 load_runtime_instr_cb(target->thread.ri_cb); in s390_runtime_instr_set()
1308 save_access_regs(target->thread.acrs); in s390_compat_regs_get()
1323 save_access_regs(target->thread.acrs); in s390_compat_regs_set()
1346 restore_access_regs(target->thread.acrs); in s390_compat_regs_set()
1401 compat_ulong_t last_break = target->thread.last_break; in s390_compat_last_break_get()