Lines Matching refs:msr

271 	unsigned long msr = regs->msr;  in __unsafe_save_user_regs()  local
283 msr |= MSR_VEC; in __unsafe_save_user_regs()
302 msr &= ~MSR_VSX; in __unsafe_save_user_regs()
312 msr |= MSR_VSX; in __unsafe_save_user_regs()
322 msr |= MSR_SPE; in __unsafe_save_user_regs()
331 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in __unsafe_save_user_regs()
370 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
382 unsafe_put_user((msr >> 32), &tm_frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
388 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
400 msr |= MSR_VEC; in save_tm_user_regs_unsafe()
410 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
418 if (msr & MSR_FP) in save_tm_user_regs_unsafe()
431 if (msr & MSR_VSX) in save_tm_user_regs_unsafe()
436 msr |= MSR_VSX; in save_tm_user_regs_unsafe()
439 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
451 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
457 #define unsafe_save_tm_user_regs(regs, frame, tm_frame, msr, label) do { \ argument
458 if (save_tm_user_regs_unsafe(regs, frame, tm_frame, msr)) \
470 unsigned long msr; in restore_user_regs() local
485 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_user_regs()
491 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_user_regs()
498 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_user_regs()
499 if (msr & MSR_VEC) { in restore_user_regs()
520 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_user_regs()
521 if (msr & MSR_VSX) { in restore_user_regs()
536 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_user_regs()
545 regs_set_return_msr(regs, regs->msr & ~MSR_SPE); in restore_user_regs()
546 if (msr & MSR_SPE) { in restore_user_regs()
576 unsigned long msr, msr_hi; in restore_tm_user_regs() local
593 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_tm_user_regs()
596 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_tm_user_regs()
598 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_tm_user_regs()
599 if (msr & MSR_VEC) { in restore_tm_user_regs()
617 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_tm_user_regs()
621 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_tm_user_regs()
622 if (msr & MSR_VSX) { in restore_tm_user_regs()
643 if (msr & MSR_VEC) in restore_tm_user_regs()
653 if (msr & MSR_VSX) { in restore_tm_user_regs()
688 regs_set_return_msr(regs, (regs->msr & ~MSR_TS_MASK) | (msr_hi & MSR_TS_MASK)); in restore_tm_user_regs()
700 msr_check_and_set(msr & (MSR_FP | MSR_VEC)); in restore_tm_user_regs()
701 if (msr & MSR_FP) { in restore_tm_user_regs()
703 regs_set_return_msr(regs, regs->msr | (MSR_FP | current->thread.fpexc_mode)); in restore_tm_user_regs()
705 if (msr & MSR_VEC) { in restore_tm_user_regs()
707 regs_set_return_msr(regs, regs->msr | MSR_VEC); in restore_tm_user_regs()
746 unsigned long msr = regs->msr; in handle_rt_signal32() local
754 if (MSR_TM_ACTIVE(msr)) in handle_rt_signal32()
771 if (MSR_TM_ACTIVE(msr)) { in handle_rt_signal32()
778 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_rt_signal32()
819 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_rt_signal32()
846 unsigned long msr = regs->msr; in handle_signal32() local
854 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
876 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
877 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_signal32()
907 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_signal32()
1160 regs_set_return_msr(regs, regs->msr & ~MSR_TS_MASK); in COMPAT_SYSCALL_DEFINE0()
1199 unsigned long new_msr = regs->msr; in SYSCALL_DEFINE3()