VirtualBox

Changeset 78224 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 20, 2019 4:37:06 AM (6 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 32-bit host fixes.

File:
1 edited

Legend:

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

    r78223 r78224  
    37243724    NOREF(fResume);
    37253725
     3726    PVMXVMCSINFO   pVmcsInfo     = hmGetVmxActiveVmcsInfo(pVCpu);
    37263727    PCHMPHYSCPU    pHostCpu      = hmR0GetCurrentCpu();
    37273728    RTHCPHYS const HCPhysCpuPage = pHostCpu->HCPhysMemObj;
     
    37483749    aParam[0] = RT_LO_U32(HCPhysCpuPage);                               /* Param 1: VMXON physical address - Lo. */
    37493750    aParam[1] = RT_HI_U32(HCPhysCpuPage);                               /* Param 1: VMXON physical address - Hi. */
    3750     aParam[2] = RT_LO_U32(pVCpu->hm.s.vmx.HCPhysVmcs);                  /* Param 2: VMCS physical address - Lo. */
    3751     aParam[3] = RT_HI_U32(pVCpu->hm.s.vmx.HCPhysVmcs);                  /* Param 2: VMCS physical address - Hi. */
     3751    aParam[2] = RT_LO_U32(pVmcsInfo->HCPhysVmcs);                       /* Param 2: VMCS physical address - Lo. */
     3752    aParam[3] = RT_HI_U32(pVmcsInfo->HCPhysVmcs);                       /* Param 2: VMCS physical address - Hi. */
    37523753    aParam[4] = VM_RC_ADDR(pVM, &pVM->aCpus[pVCpu->idCpu].hm.s.vmx.VmcsCache);
    37533754    aParam[5] = 0;
     
    37713772#if defined(DEBUG) && defined(VMX_USE_CACHED_VMCS_ACCESSES)
    37723773    AssertMsg(pCache->TestIn.HCPhysCpuPage == HCPhysCpuPage, ("%RHp vs %RHp\n", pCache->TestIn.HCPhysCpuPage, HCPhysCpuPage));
    3773     AssertMsg(pCache->TestIn.HCPhysVmcs    == pVCpu->hm.s.vmx.HCPhysVmcs, ("%RHp vs %RHp\n", pCache->TestIn.HCPhysVmcs,
    3774                                                                            pVCpu->hm.s.vmx.HCPhysVmcs));
    3775     AssertMsg(pCache->TestIn.HCPhysVmcs    == pCache->TestOut.HCPhysVmcs, ("%RHp vs %RHp\n", pCache->TestIn.HCPhysVmcs,
    3776                                                                            pCache->TestOut.HCPhysVmcs));
    3777     AssertMsg(pCache->TestIn.pCache        == pCache->TestOut.pCache, ("%RGv vs %RGv\n", pCache->TestIn.pCache,
    3778                                                                        pCache->TestOut.pCache));
    3779     AssertMsg(pCache->TestIn.pCache        == VM_RC_ADDR(pVM, &pVM->aCpus[pVCpu->idCpu].hm.s.vmx.VmcsCache),
     3774    AssertMsg(pCache->TestIn.HCPhysVmcs == pVmcsInfo->HCPhysVmcs,      ("%RHp vs %RHp\n", pCache->TestIn.HCPhysVmcs,
     3775                                                                        pVmcsInfo->HCPhysVmcs));
     3776    AssertMsg(pCache->TestIn.HCPhysVmcs == pCache->TestOut.HCPhysVmcs, ("%RHp vs %RHp\n", pCache->TestIn.HCPhysVmcs,
     3777                                                                        pCache->TestOut.HCPhysVmcs));
     3778    AssertMsg(pCache->TestIn.pCache     == pCache->TestOut.pCache,    ("%RGv vs %RGv\n", pCache->TestIn.pCache,
     3779                                                                        pCache->TestOut.pCache));
     3780    AssertMsg(pCache->TestIn.pCache     == VM_RC_ADDR(pVM, &pVM->aCpus[pVCpu->idCpu].hm.s.vmx.VmcsCache),
    37803781              ("%RGv vs %RGv\n", pCache->TestIn.pCache, VM_RC_ADDR(pVM, &pVM->aCpus[pVCpu->idCpu].hm.s.vmx.VmcsCache)));
    3781     AssertMsg(pCache->TestIn.pCtx          == pCache->TestOut.pCtx, ("%RGv vs %RGv\n", pCache->TestIn.pCtx,
    3782                                                                      pCache->TestOut.pCtx));
     3782    AssertMsg(pCache->TestIn.pCtx       == pCache->TestOut.pCtx,      ("%RGv vs %RGv\n", pCache->TestIn.pCtx,
     3783                                                                        pCache->TestOut.pCtx));
    37833784    Assert(!(pCache->TestOut.eflags & X86_EFL_IF));
    37843785#endif
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