Lines Matching refs:msr

270 	unsigned long msr = regs->msr;  in __unsafe_save_user_regs()  local
282 msr |= MSR_VEC; in __unsafe_save_user_regs()
301 msr &= ~MSR_VSX; in __unsafe_save_user_regs()
311 msr |= MSR_VSX; in __unsafe_save_user_regs()
321 msr |= MSR_SPE; in __unsafe_save_user_regs()
330 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in __unsafe_save_user_regs()
368 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
380 unsafe_put_user((msr >> 32), &tm_frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
386 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
398 msr |= MSR_VEC; in save_tm_user_regs_unsafe()
408 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
416 if (msr & MSR_FP) in save_tm_user_regs_unsafe()
429 if (msr & MSR_VSX) in save_tm_user_regs_unsafe()
434 msr |= MSR_VSX; in save_tm_user_regs_unsafe()
437 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
448 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
454 #define unsafe_save_tm_user_regs(regs, frame, tm_frame, msr, label) do { \ argument
455 if (save_tm_user_regs_unsafe(regs, frame, tm_frame, msr)) \
467 unsigned long msr; in restore_user_regs() local
482 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_user_regs()
488 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_user_regs()
495 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_user_regs()
496 if (msr & MSR_VEC) { in restore_user_regs()
517 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_user_regs()
518 if (msr & MSR_VSX) { in restore_user_regs()
533 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_user_regs()
542 regs_set_return_msr(regs, regs->msr & ~MSR_SPE); in restore_user_regs()
543 if (msr & MSR_SPE) { in restore_user_regs()
573 unsigned long msr, msr_hi; in restore_tm_user_regs() local
590 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_tm_user_regs()
593 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_tm_user_regs()
595 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_tm_user_regs()
596 if (msr & MSR_VEC) { in restore_tm_user_regs()
614 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_tm_user_regs()
618 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_tm_user_regs()
619 if (msr & MSR_VSX) { in restore_tm_user_regs()
640 if (msr & MSR_VEC) in restore_tm_user_regs()
650 if (msr & MSR_VSX) { in restore_tm_user_regs()
685 regs_set_return_msr(regs, (regs->msr & ~MSR_TS_MASK) | (msr_hi & MSR_TS_MASK)); in restore_tm_user_regs()
697 msr_check_and_set(msr & (MSR_FP | MSR_VEC)); in restore_tm_user_regs()
698 if (msr & MSR_FP) { in restore_tm_user_regs()
700 regs_set_return_msr(regs, regs->msr | (MSR_FP | current->thread.fpexc_mode)); in restore_tm_user_regs()
702 if (msr & MSR_VEC) { in restore_tm_user_regs()
704 regs_set_return_msr(regs, regs->msr | MSR_VEC); in restore_tm_user_regs()
743 unsigned long msr = regs->msr; in handle_rt_signal32() local
751 if (MSR_TM_ACTIVE(msr)) in handle_rt_signal32()
768 if (MSR_TM_ACTIVE(msr)) { in handle_rt_signal32()
775 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_rt_signal32()
816 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_rt_signal32()
843 unsigned long msr = regs->msr; in handle_signal32() local
851 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
873 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
874 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_signal32()
904 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_signal32()
1157 regs_set_return_msr(regs, regs->msr & ~MSR_TS_MASK); in COMPAT_SYSCALL_DEFINE0()
1196 unsigned long new_msr = regs->msr; in SYSCALL_DEFINE3()