Lines Matching refs:msr

271 	unsigned long msr = regs->msr;
283 msr |= MSR_VEC;
285 /* else assert((regs->msr & MSR_VEC) == 0) */
302 msr &= ~MSR_VSX;
312 msr |= MSR_VSX;
322 msr |= MSR_SPE;
324 /* else assert((regs->msr & MSR_SPE) == 0) */
331 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed);
370 struct mcontext __user *tm_frame, unsigned long msr)
382 unsafe_put_user((msr >> 32), &tm_frame->mc_gregs[PT_MSR], failed);
388 if (msr & MSR_VEC)
400 msr |= MSR_VEC;
410 if (msr & MSR_VEC)
418 if (msr & MSR_FP)
431 if (msr & MSR_VSX)
436 msr |= MSR_VSX;
439 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed);
451 struct mcontext __user *tm_frame, unsigned long msr)
457 #define unsafe_save_tm_user_regs(regs, frame, tm_frame, msr, label) do { \
458 if (save_tm_user_regs_unsafe(regs, frame, tm_frame, msr)) \
470 unsigned long msr;
485 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed);
491 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE));
498 regs_set_return_msr(regs, regs->msr & ~MSR_VEC);
499 if (msr & MSR_VEC) {
520 regs_set_return_msr(regs, regs->msr & ~MSR_VSX);
521 if (msr & MSR_VSX) {
536 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1));
545 regs_set_return_msr(regs, regs->msr & ~MSR_SPE);
546 if (msr & MSR_SPE) {
576 unsigned long msr, msr_hi;
593 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed);
596 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE));
598 regs_set_return_msr(regs, regs->msr & ~MSR_VEC);
599 if (msr & MSR_VEC) {
617 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1));
621 regs_set_return_msr(regs, regs->msr & ~MSR_VSX);
622 if (msr & MSR_VSX) {
643 if (msr & MSR_VEC)
653 if (msr & MSR_VSX) {
688 regs_set_return_msr(regs, (regs->msr & ~MSR_TS_MASK) | (msr_hi & MSR_TS_MASK));
700 msr_check_and_set(msr & (MSR_FP | MSR_VEC));
701 if (msr & MSR_FP) {
703 regs_set_return_msr(regs, regs->msr | (MSR_FP | current->thread.fpexc_mode));
705 if (msr & MSR_VEC) {
707 regs_set_return_msr(regs, regs->msr | MSR_VEC);
745 /* Save the thread's msr before get_tm_stackpointer() changes it */
746 unsigned long msr = regs->msr;
754 if (MSR_TM_ACTIVE(msr))
771 if (MSR_TM_ACTIVE(msr)) {
778 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed);
819 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE));
845 /* Save the thread's msr before get_tm_stackpointer() changes it */
846 unsigned long msr = regs->msr;
854 if (MSR_TM_ACTIVE(msr))
876 if (MSR_TM_ACTIVE(msr))
877 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed);
907 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE));
1156 * Unset regs->msr because ucontext MSR TS is not
1160 regs_set_return_msr(regs, regs->msr & ~MSR_TS_MASK);
1199 unsigned long new_msr = regs->msr;