VirtualBox

Changeset 55756 in vbox for trunk


Ignore:
Timestamp:
May 8, 2015 2:28:36 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
100178
Message:

VMM/HM: Add some rudimentary logging for VERR_VMX_INVALID_VMXON_PTR errors.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r55555 r55756  
    781781
    782782    /* Enter VMX root mode. */
    783     int rc = VMXEnable(HCPhysCpuPage);
    784     if (   RT_FAILURE(rc)
    785         && !(uOldCr4 & X86_CR4_VMXE))
    786         SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
     783    int rc = VMXEnable(HCPhysCpuPage+5);
     784    if (RT_FAILURE(rc))
     785    {
     786        if (!(uOldCr4 & X86_CR4_VMXE))
     787            SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
     788
     789        if (pVM)
     790            pVM->hm.s.vmx.HCPhysVmxEnableError = HCPhysCpuPage+5;
     791    }
    787792
    788793    /* Restore interrupts. */
     
    52855290        SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
    52865291        ASMSetFlags(uOldEflags);
     5292        pVM->hm.s.vmx.HCPhysVmxEnableError = HCPhysCpuPage;
    52875293        return rc2;
    52885294    }
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r55257 r55756  
    974974    if (RT_FAILURE(rc))
    975975    {
    976         LogRel(("HM: HMR3InitFinalize: SUPR3CallVMMR0Ex VMMR0_DO_HM_ENABLE failed with %Rrc\n", rc));
     976        LogRel(("HM: Failed to enable, error %Rrc\n", rc));
     977        HMR3CheckError(pVM, rc);
    977978        return rc;
    978979    }
     
    12991300            LogRel(("HM: CPU[%u] HM error                %#x (%u)\n", i, pVCpu->hm.s.u32HMError, pVCpu->hm.s.u32HMError));
    13001301        }
     1302        HMR3CheckError(pVM, rc);
    13011303        return VMSetError(pVM, rc, RT_SRC_POS, "VT-x setup failed: %Rrc", rc);
    13021304    }
     
    30023004        LogRel(("HM: VERR_VMX_UNABLE_TO_START_VM: VM-entry disallowed %#RX32\n", pVM->hm.s.vmx.Msrs.VmxEntry.n.disallowed0));
    30033005    }
     3006    else if (iStatusCode == VERR_VMX_INVALID_VMXON_PTR)
     3007        LogRel(("HM: HCPhysVmxEnableError         = %#RHp\n", pVM->hm.s.vmx.HCPhysVmxEnableError));
    30043008}
    30053009
  • trunk/src/VBox/VMM/include/HMInternal.h

    r55295 r55756  
    426426        VMXFLUSHEPT                 enmFlushEpt;
    427427        VMXFLUSHVPID                enmFlushVpid;
     428
     429        /** Host-physical address for a failing VMXON instruction. */
     430        RTHCPHYS                    HCPhysVmxEnableError;
    428431    } vmx;
    429432
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