Lines Matching refs:msr
130 unsigned long msr = regs->msr; in __unsafe_setup_sigcontext() local
147 msr |= MSR_VEC; in __unsafe_setup_sigcontext()
163 msr &= ~MSR_VSX; in __unsafe_setup_sigcontext()
176 msr |= MSR_VSX; in __unsafe_setup_sigcontext()
181 unsafe_put_user(msr, &sc->gp_regs[PT_MSR], efault_out); in __unsafe_setup_sigcontext()
210 unsigned long msr) in setup_tm_sigcontexts() argument
229 BUG_ON(!MSR_TM_ACTIVE(msr)); in setup_tm_sigcontexts()
237 msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX); in setup_tm_sigcontexts()
251 if (msr & MSR_VEC) in setup_tm_sigcontexts()
263 msr |= MSR_VEC; in setup_tm_sigcontexts()
271 if (msr & MSR_VEC) in setup_tm_sigcontexts()
285 if (msr & MSR_FP) in setup_tm_sigcontexts()
302 if (msr & MSR_VSX) in setup_tm_sigcontexts()
310 msr |= MSR_VSX; in setup_tm_sigcontexts()
319 err |= __put_user(msr, &tm_sc->gp_regs[PT_MSR]); in setup_tm_sigcontexts()
320 err |= __put_user(msr, &sc->gp_regs[PT_MSR]); in setup_tm_sigcontexts()
344 unsigned long msr; in __unsafe_restore_sigcontext() local
360 unsafe_get_user(msr, &sc->gp_regs[PT_MSR], efault_out); in __unsafe_restore_sigcontext()
362 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in __unsafe_restore_sigcontext()
387 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC | MSR_VSX)); in __unsafe_restore_sigcontext()
394 if (v_regs != NULL && (msr & MSR_VEC) != 0) { in __unsafe_restore_sigcontext()
418 if ((msr & MSR_VSX) != 0) { in __unsafe_restore_sigcontext()
445 unsigned long msr; in restore_tm_sigcontexts() local
473 err |= __get_user(msr, &sc->gp_regs[PT_MSR]); in restore_tm_sigcontexts()
475 if (MSR_TM_RESV(msr)) in restore_tm_sigcontexts()
479 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_tm_sigcontexts()
506 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC | MSR_VSX)); in restore_tm_sigcontexts()
518 if (v_regs != NULL && tm_v_regs != NULL && (msr & MSR_VEC) != 0) { in restore_tm_sigcontexts()
552 if (v_regs && ((msr & MSR_VSX) != 0)) { in restore_tm_sigcontexts()
576 regs_set_return_msr(regs, regs->msr | (msr & MSR_TS_MASK)); in restore_tm_sigcontexts()
594 regs_set_return_msr(regs, regs->msr | MSR_TM); in restore_tm_sigcontexts()
599 msr_check_and_set(msr & (MSR_FP | MSR_VEC)); in restore_tm_sigcontexts()
600 if (msr & MSR_FP) { in restore_tm_sigcontexts()
602 regs_set_return_msr(regs, regs->msr | (MSR_FP | tsk->thread.fpexc_mode)); in restore_tm_sigcontexts()
604 if (msr & MSR_VEC) { in restore_tm_sigcontexts()
606 regs_set_return_msr(regs, regs->msr | MSR_VEC); in restore_tm_sigcontexts()
749 unsigned long msr; in SYSCALL_DEFINE0() local
798 regs_set_return_msr(regs, regs->msr & ~MSR_TS_MASK); in SYSCALL_DEFINE0()
800 if (__get_user(msr, &uc->uc_mcontext.gp_regs[PT_MSR])) in SYSCALL_DEFINE0()
804 if (IS_ENABLED(CONFIG_PPC_TRANSACTIONAL_MEM) && MSR_TM_ACTIVE(msr)) { in SYSCALL_DEFINE0()
831 current->thread.regs->msr & ~MSR_TS_MASK); in SYSCALL_DEFINE0()
865 unsigned long msr = regs->msr; in handle_rt_signal64() local
873 if (!MSR_TM_ACTIVE(msr)) in handle_rt_signal64()
886 if (MSR_TM_ACTIVE(msr)) { in handle_rt_signal64()
899 msr); in handle_rt_signal64()
955 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_rt_signal64()