Lines Matching refs:msr
94 MSR_TM_ACTIVE(tsk->thread.regs->msr) && in check_if_tm_restore_required()
97 tsk->thread.regs->msr); in check_if_tm_restore_required()
155 unsigned long msr; in __giveup_fpu() local
158 msr = tsk->thread.regs->msr; in __giveup_fpu()
159 msr &= ~(MSR_FP|MSR_FE0|MSR_FE1); in __giveup_fpu()
161 msr &= ~MSR_VSX; in __giveup_fpu()
162 regs_set_return_msr(tsk->thread.regs, msr); in __giveup_fpu()
191 if (tsk->thread.regs->msr & MSR_FP) { in flush_fp_to_thread()
215 if (current->thread.regs && (current->thread.regs->msr & MSR_FP)) { in enable_kernel_fp()
225 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_fp()
238 unsigned long msr; in __giveup_altivec() local
241 msr = tsk->thread.regs->msr; in __giveup_altivec()
242 msr &= ~MSR_VEC; in __giveup_altivec()
244 msr &= ~MSR_VSX; in __giveup_altivec()
245 regs_set_return_msr(tsk->thread.regs, msr); in __giveup_altivec()
266 if (current->thread.regs && (current->thread.regs->msr & MSR_VEC)) { in enable_kernel_altivec()
276 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_altivec()
291 if (tsk->thread.regs->msr & MSR_VEC) { in flush_altivec_to_thread()
304 unsigned long msr = tsk->thread.regs->msr; in __giveup_vsx() local
310 WARN_ON((msr & MSR_VSX) && !((msr & MSR_FP) && (msr & MSR_VEC))); in __giveup_vsx()
313 if (msr & MSR_FP) in __giveup_vsx()
315 if (msr & MSR_VEC) in __giveup_vsx()
337 (current->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP))) { in enable_kernel_vsx()
347 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_vsx()
358 if (tsk->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP)) { in flush_vsx_to_thread()
385 if (current->thread.regs && (current->thread.regs->msr & MSR_SPE)) { in enable_kernel_spe()
396 if (tsk->thread.regs->msr & MSR_SPE) { in flush_spe_to_thread()
432 usermsr = tsk->thread.regs->msr; in giveup_all()
519 unsigned long msr; in restore_math() local
522 msr = regs->msr; in restore_math()
529 if ((!(msr & MSR_FP)) && should_restore_fp()) in restore_math()
532 if ((!(msr & MSR_VEC)) && should_restore_altivec()) in restore_math()
535 if ((!(msr & MSR_VSX)) && should_restore_vsx()) { in restore_math()
536 if (((msr | new_msr) & (MSR_FP | MSR_VEC)) == (MSR_FP | MSR_VEC)) in restore_math()
560 regs_set_return_msr(regs, regs->msr | new_msr | fpexc_mode); in restore_math()
572 usermsr = tsk->thread.regs->msr; in save_all()
599 if (tsk->thread.regs->msr & MSR_SPE) in flush_all_to_thread()
898 return tsk && tsk->thread.regs && (tsk->thread.regs->msr & MSR_TM); in tm_enabled()
937 if ((thr->ckpt_regs.msr & MSR_FP) == 0) in tm_reclaim_thread()
940 if ((thr->ckpt_regs.msr & MSR_VEC) == 0) in tm_reclaim_thread()
968 if (!MSR_TM_ACTIVE(thr->regs->msr)) in tm_reclaim_task()
976 thr->regs->ccr, thr->regs->msr, in tm_reclaim_task()
999 if (!(thread->regs->msr & MSR_TM)) in tm_recheckpoint()
1035 if (!MSR_TM_ACTIVE(new->thread.regs->msr)){ in tm_recheckpoint_new_task()
1041 new->pid, new->thread.regs->msr); in tm_recheckpoint_new_task()
1050 new->thread.regs->msr &= ~(MSR_FP | MSR_VEC | MSR_VSX); in tm_recheckpoint_new_task()
1067 if (!MSR_TM_ACTIVE(prev->thread.regs->msr) && prev->thread.load_tm == 0) in __switch_to_tm()
1068 prev->thread.regs->msr &= ~MSR_TM; in __switch_to_tm()
1100 if (!MSR_TM_ACTIVE(regs->msr)) in restore_tm_state()
1103 msr_diff = current->thread.ckpt_regs.msr & ~regs->msr; in restore_tm_state()
1115 regs_set_return_msr(regs, regs->msr | msr_diff); in restore_tm_state()
1164 usermsr = current->thread.regs->msr; in kvmppc_save_user_regs()
1177 current->thread.regs->msr &= ~MSR_TM; in kvmppc_save_user_regs()
1368 if (!IS_ENABLED(CONFIG_BOOKE) && !(regs->msr & MSR_IR)) { in show_instructions()
1525 printk("MSR: "REG" ", regs->msr); in __show_regs()
1526 print_msr_bits(regs->msr); in __show_regs()
1544 if (MSR_TM_ACTIVE(regs->msr)) in __show_regs()
1769 childregs->msr &= ~(MSR_FP|MSR_VEC|MSR_VSX); in copy_thread()
1863 regs->msr = MSR_USER; in start_thread()
1989 if (regs != NULL && (regs->msr & MSR_FP) != 0) { in set_fpexc_mode()
1990 regs_set_return_msr(regs, (regs->msr & ~(MSR_FE0|MSR_FE1)) in set_fpexc_mode()
2038 regs_set_return_msr(regs, regs->msr & ~MSR_LE); in set_endian()
2040 regs_set_return_msr(regs, regs->msr | MSR_LE); in set_endian()
2059 if (regs->msr & MSR_LE) { in get_endian()