VirtualBox

Changeset 48268 in vbox


Ignore:
Timestamp:
Sep 4, 2013 2:33:51 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
88683
Message:

VMM: Fix wrong check for SMX.

Location:
trunk/src/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.c

    r48267 r48268  
    34133413                bool fSmxVmxAllowed;
    34143414                bool fVmxAllowed;
     3415                bool fAllowed;
    34153416
    34163417                /*
     
    34243425                fSmxVmxAllowed = fMsrLocked && !!(u64FeatMsr & MSR_IA32_FEATURE_CONTROL_SMX_VMXON);
    34253426                fVmxAllowed    = fMsrLocked && !!(u64FeatMsr & MSR_IA32_FEATURE_CONTROL_VMXON);
    3426                 if (   (fInSmxMode && fSmxVmxAllowed)
    3427                     || fVmxAllowed)
     3427                fAllowed       = fInSmxMode ? fSmxVmxAllowed : fVmxAllowed;
     3428                if (fAllowed)
    34283429                {
    34293430                    VMX_CAPABILITY vtCaps;
  • trunk/src/VBox/VMM/VMMR0/HMR0.cpp

    r48267 r48268  
    845845        /* Verify. */
    846846        fFC = ASMRdMsr(MSR_IA32_FEATURE_CONTROL);
    847         fMsrLocked     = !!(fFC & MSR_IA32_FEATURE_CONTROL_LOCK);
    848         fSmxVmxAllowed = fMsrLocked && !!(fFC & MSR_IA32_FEATURE_CONTROL_SMX_VMXON);
    849         fVmxAllowed    = fMsrLocked && !!(fFC & MSR_IA32_FEATURE_CONTROL_VMXON);
    850 
    851         if (   (fInSmxMode && fSmxVmxAllowed)
    852             || fVmxAllowed)
    853         {
     847        fMsrLocked          = !!(fFC & MSR_IA32_FEATURE_CONTROL_LOCK);
     848        fSmxVmxAllowed      = fMsrLocked && !!(fFC & MSR_IA32_FEATURE_CONTROL_SMX_VMXON);
     849        fVmxAllowed         = fMsrLocked && !!(fFC & MSR_IA32_FEATURE_CONTROL_VMXON);
     850        bool const fAllowed = fInSmxMode ? fSmxVmxAllowed : fVmxAllowed;
     851        if (fAllowed)
    854852            rc = VINF_SUCCESS;
    855         }
    856853        else
    857854            rc = VERR_VMX_MSR_LOCKING_FAILED;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette