VirtualBox

Changeset 8034 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Apr 16, 2008 12:58:18 PM (17 years ago)
Author:
vboxsync
Message:

Fixed another regression (pae shadow, 32 bits guest)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r8033 r8034  
    27522752                    {
    27532753                        /* It's fixed, just skip the mapping. */
    2754                         const unsigned cPTs = pMapping->cb >> SHW_PD_SHIFT;
     2754                        const unsigned cPTs = pMapping->cb >> GST_PD_SHIFT;
    27552755                        iPD += cPTs - 1;
    2756                         pPDEDst += cPTs;
     2756                        pPDEDst += cPTs + (PGM_GST_TYPE != PGM_SHW_TYPE) * cPTs;    /* Only applies to the pae shadow and 32 bits guest case */
    27572757                        pMapping = pMapping->CTXALLSUFF(pNext);
    27582758                        iPdNoMapping = pMapping ? pMapping->GCPtr >> GST_PD_SHIFT : ~0U;
     
    29022902      && !defined(PGM_WITHOUT_MAPPINGS)
    29032903
    2904                 const unsigned cPTs = pMapping->cb >> SHW_PD_SHIFT; /* needed below to skip the mapping */
     2904                const unsigned cPTs = pMapping->cb >> GST_PD_SHIFT;
    29052905
    29062906                Assert(pgmMapAreMappingsEnabled(&pVM->pgm.s));
     
    29182918                     */
    29192919                    iPdNoMapping = ~0U;
    2920                     unsigned iPT = pMapping->cb >> GST_PD_SHIFT;
     2920                    unsigned iPT = cPTs;
    29212921                    while (iPT-- > 1)
    29222922                    {
     
    29572957                /* advance. */
    29582958                iPD += cPTs - 1;
    2959                 pPDEDst += cPTs;
     2959                pPDEDst += cPTs + (PGM_GST_TYPE != PGM_SHW_TYPE) * cPTs;    /* Only applies to the pae shadow and 32 bits guest case */
     2960#   if PGM_GST_TYPE != PGM_SHW_TYPE
     2961                AssertCompile(PGM_GST_TYPE == PGM_TYPE_32BIT && PGM_SHW_TYPE == PGM_TYPE_PAE);
     2962#   endif
    29602963#  else  /* PGM_GST_TYPE != PGM_TYPE_32BIT && PGM_GST_TYPE != PGM_TYPE_PAE && PGM_WITHOUT_MAPPINGS */
    29612964                Assert(!pgmMapAreMappingsEnabled(&pVM->pgm.s));
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