Lines Matching refs:msr

92 	    MSR_TM_ACTIVE(tsk->thread.regs->msr) &&  in check_if_tm_restore_required()
95 tsk->thread.regs->msr); in check_if_tm_restore_required()
153 unsigned long msr; in __giveup_fpu() local
156 msr = tsk->thread.regs->msr; in __giveup_fpu()
157 msr &= ~(MSR_FP|MSR_FE0|MSR_FE1); in __giveup_fpu()
159 msr &= ~MSR_VSX; in __giveup_fpu()
160 regs_set_return_msr(tsk->thread.regs, msr); in __giveup_fpu()
189 if (tsk->thread.regs->msr & MSR_FP) { in flush_fp_to_thread()
213 if (current->thread.regs && (current->thread.regs->msr & MSR_FP)) { in enable_kernel_fp()
223 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_fp()
236 unsigned long msr; in __giveup_altivec() local
239 msr = tsk->thread.regs->msr; in __giveup_altivec()
240 msr &= ~MSR_VEC; in __giveup_altivec()
242 msr &= ~MSR_VSX; in __giveup_altivec()
243 regs_set_return_msr(tsk->thread.regs, msr); in __giveup_altivec()
264 if (current->thread.regs && (current->thread.regs->msr & MSR_VEC)) { in enable_kernel_altivec()
274 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_altivec()
289 if (tsk->thread.regs->msr & MSR_VEC) { in flush_altivec_to_thread()
302 unsigned long msr = tsk->thread.regs->msr; in __giveup_vsx() local
308 WARN_ON((msr & MSR_VSX) && !((msr & MSR_FP) && (msr & MSR_VEC))); in __giveup_vsx()
311 if (msr & MSR_FP) in __giveup_vsx()
313 if (msr & MSR_VEC) in __giveup_vsx()
335 (current->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP))) { in enable_kernel_vsx()
345 MSR_TM_ACTIVE(current->thread.regs->msr)) in enable_kernel_vsx()
356 if (tsk->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP)) { in flush_vsx_to_thread()
383 if (current->thread.regs && (current->thread.regs->msr & MSR_SPE)) { in enable_kernel_spe()
394 if (tsk->thread.regs->msr & MSR_SPE) { in flush_spe_to_thread()
430 usermsr = tsk->thread.regs->msr; in giveup_all()
517 unsigned long msr; in restore_math() local
520 msr = regs->msr; in restore_math()
527 if ((!(msr & MSR_FP)) && should_restore_fp()) in restore_math()
530 if ((!(msr & MSR_VEC)) && should_restore_altivec()) in restore_math()
533 if ((!(msr & MSR_VSX)) && should_restore_vsx()) { in restore_math()
534 if (((msr | new_msr) & (MSR_FP | MSR_VEC)) == (MSR_FP | MSR_VEC)) in restore_math()
558 regs_set_return_msr(regs, regs->msr | new_msr | fpexc_mode); in restore_math()
570 usermsr = tsk->thread.regs->msr; in save_all()
597 if (tsk->thread.regs->msr & MSR_SPE) in flush_all_to_thread()
928 return tsk && tsk->thread.regs && (tsk->thread.regs->msr & MSR_TM); in tm_enabled()
967 if ((thr->ckpt_regs.msr & MSR_FP) == 0) in tm_reclaim_thread()
970 if ((thr->ckpt_regs.msr & MSR_VEC) == 0) in tm_reclaim_thread()
998 if (!MSR_TM_ACTIVE(thr->regs->msr)) in tm_reclaim_task()
1006 thr->regs->ccr, thr->regs->msr, in tm_reclaim_task()
1029 if (!(thread->regs->msr & MSR_TM)) in tm_recheckpoint()
1065 if (!MSR_TM_ACTIVE(new->thread.regs->msr)){ in tm_recheckpoint_new_task()
1071 new->pid, new->thread.regs->msr); in tm_recheckpoint_new_task()
1080 new->thread.regs->msr &= ~(MSR_FP | MSR_VEC | MSR_VSX); in tm_recheckpoint_new_task()
1097 if (!MSR_TM_ACTIVE(prev->thread.regs->msr) && prev->thread.load_tm == 0) in __switch_to_tm()
1098 prev->thread.regs->msr &= ~MSR_TM; in __switch_to_tm()
1130 if (!MSR_TM_ACTIVE(regs->msr)) in restore_tm_state()
1133 msr_diff = current->thread.ckpt_regs.msr & ~regs->msr; in restore_tm_state()
1145 regs_set_return_msr(regs, regs->msr | msr_diff); in restore_tm_state()
1200 usermsr = current->thread.regs->msr; in kvmppc_save_user_regs()
1213 current->thread.regs->msr &= ~MSR_TM; in kvmppc_save_user_regs()
1412 if (!IS_ENABLED(CONFIG_BOOKE) && !(regs->msr & MSR_IR)) { in show_instructions()
1565 printk("MSR: "REG" ", regs->msr); in __show_regs()
1566 print_msr_bits(regs->msr); in __show_regs()
1584 if (MSR_TM_ACTIVE(regs->msr)) in __show_regs()
1834 childregs->msr &= ~(MSR_FP|MSR_VEC|MSR_VSX); in copy_thread()
1934 regs->msr = MSR_USER; in start_thread()
2066 if (regs != NULL && (regs->msr & MSR_FP) != 0) { in set_fpexc_mode()
2067 regs_set_return_msr(regs, (regs->msr & ~(MSR_FE0|MSR_FE1)) in set_fpexc_mode()
2115 regs_set_return_msr(regs, regs->msr & ~MSR_LE); in set_endian()
2117 regs_set_return_msr(regs, regs->msr | MSR_LE); in set_endian()
2136 if (regs->msr & MSR_LE) { in get_endian()
2297 if (regs->msr || regs->trap) in empty_user_regs()