VirtualBox

Changeset 92046 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Oct 25, 2021 4:05:10 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
147855
Message:

VMM: Nested VMX: bugref:10092 EPT paging PDPTE walk bits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/PGM.cpp

    r91939 r92046  
    15691569     */
    15701570    uint64_t fMbzPageFrameMask = pVM->pgm.s.GCPhysInvAddrMask & UINT64_C(0x000ffffffffff000);
     1571#ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
     1572    uint64_t const fEptVpidCap = CPUMGetGuestIa32VmxEptVpidCap(pVM->apCpusR3[0]);   /* should be identical for all VCPUs. */
     1573    uint64_t const fGstEptMbzBigPdeMask   = EPT_PDE2M_MBZ_MASK
     1574                                          | (RT_BF_GET(fEptVpidCap, VMX_BF_EPT_VPID_CAP_PDE_2M) ^ 1) << EPT_E_BIT_LEAF;
     1575    uint64_t const fGstEptMbzBigPdpteMask = EPT_PDPTE1G_MBZ_MASK
     1576                                          | (RT_BF_GET(fEptVpidCap, VMX_BF_EPT_VPID_CAP_PDPTE_1G) ^ 1) << EPT_E_BIT_LEAF;
     1577#endif
    15711578    for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
    15721579    {
     
    16021609        pVCpu->pgm.s.fGstEptMbzPteMask        = fMbzPageFrameMask | EPT_PTE_MBZ_MASK;
    16031610        pVCpu->pgm.s.fGstEptMbzPdeMask        = fMbzPageFrameMask | EPT_PDE_MBZ_MASK;
    1604         pVCpu->pgm.s.fGstEptMbzBigPdeMask     = fMbzPageFrameMask | EPT_PDE2M_MBZ_MASK;
    1605         pVCpu->pgm.s.fGstEptMbzPdpeMask       = fMbzPageFrameMask | EPT_PDPTE_MBZ_MASK;
    1606         pVCpu->pgm.s.fGstEptMbzBigPdpeMask    = fMbzPageFrameMask | EPT_PDPTE1G_MBZ_MASK;
     1611        pVCpu->pgm.s.fGstEptMbzBigPdeMask     = fMbzPageFrameMask | fGstEptMbzBigPdeMask;
     1612        pVCpu->pgm.s.fGstEptMbzPdpteMask      = fMbzPageFrameMask | EPT_PDPTE_MBZ_MASK;
     1613        pVCpu->pgm.s.fGstEptMbzBigPdpteMask   = fMbzPageFrameMask | fGstEptMbzBigPdpteMask;
    16071614        pVCpu->pgm.s.fGstEptMbzPml4eMask      = fMbzPageFrameMask | EPT_PML4E_MBZ_MASK;
    16081615
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