Lines Matching defs:efer
852 if ((vcpu->arch.efer & EFER_LME) && !is_paging(vcpu) &&
863 if (!(vcpu->arch.efer & EFER_LME) && (cr0 & X86_CR0_PG) &&
1496 static bool __kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer)
1498 if (efer & EFER_FFXSR && !guest_cpuid_has(vcpu, X86_FEATURE_FXSR_OPT))
1501 if (efer & EFER_SVME && !guest_cpuid_has(vcpu, X86_FEATURE_SVM))
1504 if (efer & (EFER_LME | EFER_LMA) &&
1508 if (efer & EFER_NX && !guest_cpuid_has(vcpu, X86_FEATURE_NX))
1514 bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer)
1516 if (efer & efer_reserved_bits)
1519 return __kvm_valid_efer(vcpu, efer);
1525 u64 old_efer = vcpu->arch.efer;
1526 u64 efer = msr_info->data;
1529 if (efer & efer_reserved_bits)
1533 if (!__kvm_valid_efer(vcpu, efer))
1537 (vcpu->arch.efer & EFER_LME) != (efer & EFER_LME))
1541 efer &= ~EFER_LMA;
1542 efer |= vcpu->arch.efer & EFER_LMA;
1544 r = kvm_x86_ops.set_efer(vcpu, efer);
1551 if ((efer ^ old_efer) & EFER_NX)
3599 msr_info->data = vcpu->arch.efer;
8806 put_smstate(u64, buf, 0x7ed0, vcpu->arch.efer);
9791 sregs->efer = vcpu->arch.efer;
9889 if ((sregs->efer & EFER_LME) && (sregs->cr0 & X86_CR0_PG)) {
9896 || !(sregs->efer & EFER_LMA))
9905 if (sregs->efer & EFER_LMA || sregs->cs.l)
9943 mmu_reset_needed |= vcpu->arch.efer != sregs->efer;
9944 kvm_x86_ops.set_efer(vcpu, sregs->efer);