MSR_VSX
msr_check_and_clear(MSR_FP|MSR_VEC|MSR_VSX);
mathflags |= MSR_VEC | MSR_VSX;
new->thread.regs->msr &= ~(MSR_FP | MSR_VEC | MSR_VSX);
msr_diff &= MSR_FP | MSR_VEC | MSR_VSX;
newmsr |= MSR_VSX;
newmsr &= ~MSR_VSX;
{MSR_VSX, "VSX"},
msr &= ~MSR_VSX;
childregs->msr &= ~(MSR_FP|MSR_VEC|MSR_VSX);
msr &= ~MSR_VSX;
WARN_ON((msr & MSR_VSX) && !((msr & MSR_FP) && (msr & MSR_VEC)));
msr_check_and_set(MSR_FP|MSR_VEC|MSR_VSX);
msr_check_and_clear(MSR_FP|MSR_VEC|MSR_VSX);
cpumsr = msr_check_and_set(MSR_FP|MSR_VEC|MSR_VSX);
(current->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP))) {
if (tsk->thread.regs->msr & (MSR_VSX|MSR_VEC|MSR_FP)) {
msr_all_available |= MSR_VSX;
WARN_ON((usermsr & MSR_VSX) && !((usermsr & MSR_FP) && (usermsr & MSR_VEC)));
if ((!(msr & MSR_VSX)) && should_restore_vsx()) {
new_msr |= MSR_VSX;
if (new_msr & MSR_VSX)
WARN_ON((usermsr & MSR_VSX) && !((usermsr & MSR_FP) && (usermsr & MSR_VEC)));
(new_msr & MSR_VSX))
msr &= ~MSR_VSX;
msr |= MSR_VSX;
if (msr & MSR_VSX)
msr |= MSR_VSX;
regs_set_return_msr(regs, regs->msr & ~MSR_VSX);
if (msr & MSR_VSX) {
regs_set_return_msr(regs, regs->msr & ~MSR_VSX);
if (msr & MSR_VSX) {
if (msr & MSR_VSX) {
msr &= ~MSR_VSX;
msr |= MSR_VSX;
msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX);
if (msr & MSR_VSX)
msr |= MSR_VSX;
regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC | MSR_VSX));
if ((msr & MSR_VSX) != 0) {
regs_set_return_msr(regs, regs->msr & ~(MSR_FP | MSR_FE0 | MSR_FE1 | MSR_VEC | MSR_VSX));
if (v_regs && ((msr & MSR_VSX) != 0)) {
(new_msr & MSR_VSX))
msr_mask = MSR_VSX;
kvmppc_giveup_ext(vcpu, MSR_VSX);
msr |= MSR_VSX;
msr_needed |= MSR_VSX;
ext_msr = MSR_VSX;
kvmppc_giveup_ext(vcpu, MSR_FP | MSR_VEC | MSR_VSX);
kvmppc_giveup_ext(vcpu, MSR_FP | MSR_VEC | MSR_VSX);
(MSR_FP | MSR_VEC | MSR_VSX);
kvmppc_giveup_ext(vcpu, MSR_VSX);
if (msr & MSR_VSX)
vcpu->arch.guest_owned_ext &= ~(msr | MSR_VSX);
if (msr == MSR_VSX) {
msr = MSR_FP | MSR_VEC | MSR_VSX;
MSR_VSX);
if (!(kvmppc_get_msr(vcpu) & MSR_VSX)) {
vcpu->kvm->arch.kvm_ops->giveup_ext(vcpu, MSR_VSX);
unsigned long msrbit = MSR_VSX;
unsigned long msrbit = MSR_VSX;
regs->msr |= MSR_VSX;