Lines Matching refs:cr4
701 int kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) in kvm_set_cr4() argument
707 if (cr4 & CR4_RESERVED_BITS) in kvm_set_cr4()
710 if (!guest_cpuid_has_xsave(vcpu) && (cr4 & X86_CR4_OSXSAVE)) in kvm_set_cr4()
713 if (!guest_cpuid_has_smep(vcpu) && (cr4 & X86_CR4_SMEP)) in kvm_set_cr4()
716 if (!guest_cpuid_has_smap(vcpu) && (cr4 & X86_CR4_SMAP)) in kvm_set_cr4()
719 if (!guest_cpuid_has_fsgsbase(vcpu) && (cr4 & X86_CR4_FSGSBASE)) in kvm_set_cr4()
723 if (!(cr4 & X86_CR4_PAE)) in kvm_set_cr4()
725 } else if (is_paging(vcpu) && (cr4 & X86_CR4_PAE) in kvm_set_cr4()
726 && ((cr4 ^ old_cr4) & pdptr_bits) in kvm_set_cr4()
731 if ((cr4 & X86_CR4_PCIDE) && !(old_cr4 & X86_CR4_PCIDE)) { in kvm_set_cr4()
740 if (kvm_x86_ops->set_cr4(vcpu, cr4)) in kvm_set_cr4()
743 if (((cr4 ^ old_cr4) & pdptr_bits) || in kvm_set_cr4()
744 (!(cr4 & X86_CR4_PCIDE) && (old_cr4 & X86_CR4_PCIDE))) in kvm_set_cr4()
747 if ((cr4 ^ old_cr4) & X86_CR4_OSXSAVE) in kvm_set_cr4()
6755 sregs->cr4 = kvm_read_cr4(vcpu); in kvm_arch_vcpu_ioctl_get_sregs()
6827 if (!guest_cpuid_has_xsave(vcpu) && (sregs->cr4 & X86_CR4_OSXSAVE)) in kvm_arch_vcpu_ioctl_set_sregs()
6854 mmu_reset_needed |= kvm_read_cr4(vcpu) != sregs->cr4; in kvm_arch_vcpu_ioctl_set_sregs()
6855 kvm_x86_ops->set_cr4(vcpu, sregs->cr4); in kvm_arch_vcpu_ioctl_set_sregs()
6856 if (sregs->cr4 & X86_CR4_OSXSAVE) in kvm_arch_vcpu_ioctl_set_sregs()