Lines Matching refs:msr

264 	unsigned long msr = regs->msr;  in __unsafe_save_user_regs()  local
276 msr |= MSR_VEC; in __unsafe_save_user_regs()
295 msr &= ~MSR_VSX; in __unsafe_save_user_regs()
305 msr |= MSR_VSX; in __unsafe_save_user_regs()
315 msr |= MSR_SPE; in __unsafe_save_user_regs()
324 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in __unsafe_save_user_regs()
362 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
374 unsafe_put_user((msr >> 32), &tm_frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
380 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
392 msr |= MSR_VEC; in save_tm_user_regs_unsafe()
402 if (msr & MSR_VEC) in save_tm_user_regs_unsafe()
410 if (msr & MSR_FP) in save_tm_user_regs_unsafe()
423 if (msr & MSR_VSX) in save_tm_user_regs_unsafe()
428 msr |= MSR_VSX; in save_tm_user_regs_unsafe()
431 unsafe_put_user(msr, &frame->mc_gregs[PT_MSR], failed); in save_tm_user_regs_unsafe()
442 struct mcontext __user *tm_frame, unsigned long msr) in save_tm_user_regs_unsafe() argument
448 #define unsafe_save_tm_user_regs(regs, frame, tm_frame, msr, label) do { \ argument
449 if (save_tm_user_regs_unsafe(regs, frame, tm_frame, msr)) \
461 unsigned long msr; in restore_user_regs() local
476 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_user_regs()
482 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_user_regs()
489 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_user_regs()
490 if (msr & MSR_VEC) { in restore_user_regs()
511 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_user_regs()
512 if (msr & MSR_VSX) { in restore_user_regs()
527 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_user_regs()
532 regs_set_return_msr(regs, regs->msr & ~MSR_SPE); in restore_user_regs()
533 if (msr & MSR_SPE) { in restore_user_regs()
563 unsigned long msr, msr_hi; in restore_tm_user_regs() local
580 unsafe_get_user(msr, &sr->mc_gregs[PT_MSR], failed); in restore_tm_user_regs()
583 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (msr & MSR_LE)); in restore_tm_user_regs()
585 regs_set_return_msr(regs, regs->msr & ~MSR_VEC); in restore_tm_user_regs()
586 if (msr & MSR_VEC) { in restore_tm_user_regs()
604 regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1)); in restore_tm_user_regs()
608 regs_set_return_msr(regs, regs->msr & ~MSR_VSX); in restore_tm_user_regs()
609 if (msr & MSR_VSX) { in restore_tm_user_regs()
630 if (msr & MSR_VEC) in restore_tm_user_regs()
640 if (msr & MSR_VSX) { in restore_tm_user_regs()
675 regs_set_return_msr(regs, (regs->msr & ~MSR_TS_MASK) | (msr_hi & MSR_TS_MASK)); in restore_tm_user_regs()
687 msr_check_and_set(msr & (MSR_FP | MSR_VEC)); in restore_tm_user_regs()
688 if (msr & MSR_FP) { in restore_tm_user_regs()
690 regs_set_return_msr(regs, regs->msr | (MSR_FP | current->thread.fpexc_mode)); in restore_tm_user_regs()
692 if (msr & MSR_VEC) { in restore_tm_user_regs()
694 regs_set_return_msr(regs, regs->msr | MSR_VEC); in restore_tm_user_regs()
733 unsigned long msr = regs->msr; in handle_rt_signal32() local
741 if (MSR_TM_ACTIVE(msr)) in handle_rt_signal32()
758 if (MSR_TM_ACTIVE(msr)) { in handle_rt_signal32()
765 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_rt_signal32()
806 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_rt_signal32()
833 unsigned long msr = regs->msr; in handle_signal32() local
841 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
863 if (MSR_TM_ACTIVE(msr)) in handle_signal32()
864 unsafe_save_tm_user_regs(regs, mctx, tm_mctx, msr, failed); in handle_signal32()
894 regs_set_return_msr(regs, (regs->msr & ~MSR_LE) | (MSR_KERNEL & MSR_LE)); in handle_signal32()
1147 regs_set_return_msr(regs, regs->msr & ~MSR_TS_MASK); in COMPAT_SYSCALL_DEFINE0()
1186 unsigned long new_msr = regs->msr; in SYSCALL_DEFINE3()