VirtualBox

Changeset 13105 in vbox


Ignore:
Timestamp:
Oct 9, 2008 8:19:19 AM (16 years ago)
Author:
vboxsync
Message:

Corrected physical address handling

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/HWACCMInternal.h

    r13094 r13105  
    298298
    299299        /** Current EPTP. */
    300         RTGCPHYS                    GCPhysEPTP;
     300        RTHCPHYS                    GCPhysEPTP;
    301301
    302302        /** VMX MSR values */
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r13095 r13105  
    11851185        if (pVM->hwaccm.s.fNestedPaging)
    11861186        {
     1187            RTHCPHYS GCPhys;
     1188
    11871189            Assert(pVM->hwaccm.s.vmx.GCPhysEPTP == PGMGetHyperCR3(pVM));
    1188             val = pVM->hwaccm.s.vmx.GCPhysEPTP;
     1190            GCPhys = pVM->hwaccm.s.vmx.GCPhysEPTP;
    11891191
    11901192            Assert(!(val & 0xfff));
    11911193            /** @todo Check the IA32_VMX_EPT_VPID_CAP MSR for other supported memory types. */
    1192             val |=   VMX_EPT_MEMTYPE_WB
    1193                   | (VMX_EPT_PAGE_WALK_LENGTH_DEFAULT << VMX_EPT_PAGE_WALK_LENGTH_SHIFT);
    1194             rc = VMXWriteVMCS(VMX_VMCS_CTRL_EPTP_FULL, val);
     1194            GCPhys |=   VMX_EPT_MEMTYPE_WB
     1195                     | (VMX_EPT_PAGE_WALK_LENGTH_DEFAULT << VMX_EPT_PAGE_WALK_LENGTH_SHIFT);
     1196            rc = VMXWriteVMCS(VMX_VMCS_CTRL_EPTP_FULL, GCPhys);
    11951197#if HC_ARCH_BITS == 32
    1196             rc = VMXWriteVMCS(VMX_VMCS_CTRL_EPTP_HIGH, (uint32_t)(val >> 32ULL));
     1198            rc = VMXWriteVMCS(VMX_VMCS_CTRL_EPTP_HIGH, (uint32_t)(GCPhys >> 32ULL));
    11971199#endif
    11981200            AssertRC(rc);
Note: See TracChangeset for help on using the changeset viewer.

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