VirtualBox

Changeset 31996 in vbox for trunk


Ignore:
Timestamp:
Aug 26, 2010 1:32:30 PM (14 years ago)
Author:
vboxsync
Message:

Mostly safe X86_PTE_PAE_PG_MASK -> X86_PTE_PAE_PG_MASK_FULL conversions.

Location:
trunk/src/VBox
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp

    r31995 r31996  
    27222722            /* Page Map Level 4 Lookup. */
    27232723            /* Check if it's a valid address first? */
    2724             VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK;
     2724            VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK_FULL;
    27252725            VarCur.u.u64Number += (((uint64_t)VarGCPtr.u.GCFlat >> X86_PML4_SHIFT) & X86_PML4_MASK) * sizeof(X86PML4E);
    27262726            X86PML4E Pml4e;
     
    30933093            /* Page Map Level 4 Lookup. */
    30943094            /* Check if it's a valid address first? */
    3095             VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK;
     3095            VarCur.u.u64Number &= X86_PTE_PAE_PG_MASK_FULL;
    30963096            VarCur.u.u64Number += (((uint64_t)VarGCPtr.u.GCFlat >> X86_PML4_SHIFT) & X86_PML4_MASK) * sizeof(X86PML4E);
    30973097            X86PML4E Pml4e;
     
    31893189                         :   "%08llx 4kb phys=%08llx %s %s %s %s %s avl=%02x %s %s %s %s %s",
    31903190                         Pte.u,
    3191                          Pte.u & X86_PTE_PAE_PG_MASK,
     3191                         Pte.u & X86_PTE_PAE_PG_MASK_FULL,
    31923192                         Pte.n.u1Present         ? "p " : "np",
    31933193                         Pte.n.u1Write           ? "w" : "r",
  • trunk/src/VBox/VMM/MM.cpp

    r28800 r31996  
    319319    else
    320320        AssertMsgRCReturn(rc, ("Configuration error: Failed to query integer \"RamSize\", rc=%Rrc.\n", rc), rc);
    321     AssertLogRelMsg(!(cbRam & ~X86_PTE_PAE_PG_MASK), ("%RGp X86_PTE_PAE_PG_MASK=%RX64\n", cbRam, X86_PTE_PAE_PG_MASK));
     321    AssertLogRelMsg(!(cbRam & ~X86_PTE_PAE_PG_MASK_FULL), ("%RGp X86_PTE_PAE_PG_MASK_FULL=%RX64\n", cbRam, X86_PTE_PAE_PG_MASK_FULL));
    322322    AssertLogRelMsgReturn(cbRam <= GMM_GCPHYS_LAST, ("cbRam=%RGp GMM_GCPHYS_LAST=%RX64\n", cbRam, GMM_GCPHYS_LAST), VERR_OUT_OF_RANGE);
    323     cbRam &= X86_PTE_PAE_PG_MASK;
     323    cbRam &= X86_PTE_PAE_PG_MASK_FULL;
    324324    pVM->mm.s.cbRamBase = cbRam;
    325325
  • trunk/src/VBox/VMM/PGMDbg.cpp

    r31993 r31996  
    156156        return VERR_INVALID_POINTER;
    157157    unsigned off = HCPhys & PAGE_OFFSET_MASK;
    158     HCPhys &= X86_PTE_PAE_PG_MASK;
     158    HCPhys &= X86_PTE_PAE_PG_MASK_FULL;
    159159    if (HCPhys == 0)
    160160        return VERR_INVALID_POINTER;
     
    11041104                                        Pte.u & RT_BIT(10)                ? '1' : '0',
    11051105                                        Pte.u & PGM_PTFLAGS_CSAM_VALIDATED? 'v' : '-',
    1106                                         Pte.u & X86_PTE_PAE_PG_MASK);
     1106                                        Pte.u & X86_PTE_PAE_PG_MASK_FULL);
    11071107                if (pState->fDumpPageInfo)
    1108                     pgmR3DumpHierarchyShwGuestPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK, _4K);
     1108                    pgmR3DumpHierarchyShwGuestPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK_FULL, _4K);
    11091109                if ((Pte.u >> 52) & 0x7ff)
    11101110                    pState->pHlp->pfnPrintf(pState->pHlp, " 62:52=%03llx%s", (Pte.u >> 52) & 0x7ff, pState->fLme ? "" : "!");
     
    17851785                                    Pte.u & RT_BIT(10)  ? '1' : '0',
    17861786                                    Pte.u & RT_BIT(11)  ? '1' : '0',
    1787                                     Pte.u & X86_PTE_PAE_PG_MASK);
     1787                                    Pte.u & X86_PTE_PAE_PG_MASK_FULL);
    17881788            if (pState->fDumpPageInfo)
    1789                 pgmR3DumpHierarchyGstPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK, _4K);
     1789                pgmR3DumpHierarchyGstPageInfo(pState, Pte.u & X86_PTE_PAE_PG_MASK_FULL, _4K);
    17901790            pgmR3DumpHierarchyGstCheckReservedHighBits(pState, Pte.u);
    17911791            pState->pHlp->pfnPrintf(pState->pHlp, "\n");
  • trunk/src/VBox/VMM/PGMGstDefs.h

    r31870 r31996  
    7575#  define GSTPDE                                X86PDEPAE
    7676#  define PGSTPDE                               PX86PDEPAE
    77 #  define GST_PTE_PG_MASK                       X86_PTE_PAE_PG_MASK
     77#  define GST_PTE_PG_MASK                       X86_PTE_PAE_PG_MASK_FULL
    7878#  define GST_IS_NX_ACTIVE(pVCpu)               (true && This_should_perhaps_not_be_used_in_this_context)
    7979#  define BTH_IS_NP_ACTIVE(pVM)                 (true)
     
    9898#   define GSTPDE                               X86PDEPAE
    9999#   define PGSTPDE                              PX86PDEPAE
    100 #   define GST_PTE_PG_MASK                      X86_PTE_PAE_PG_MASK
     100#   define GST_PTE_PG_MASK                      X86_PTE_PAE_PG_MASK_FULL
    101101#  endif
    102102#  define GST_IS_NX_ACTIVE(pVCpu)               (pgmGstIsNoExecuteActive(pVCpu))
     
    197197#  define GST_PDPT_SHIFT                        X86_PDPT_SHIFT
    198198#  define GST_PDPT_MASK                         X86_PDPT_MASK_PAE
    199 #  define GST_PTE_PG_MASK                       X86_PTE_PAE_PG_MASK
     199#  define GST_PTE_PG_MASK                       X86_PTE_PAE_PG_MASK_FULL
    200200#  define GST_CR3_PAGE_MASK                     X86_CR3_PAE_PAGE_MASK
    201201#  define GST_IS_PTE_VALID(pVCpu, Pte)          (!( (Pte).u   & (pVCpu)->pgm.s.fGstPaeMbzPteMask ))
  • trunk/src/VBox/VMM/PGMInline.h

    r31994 r31996  
    521521    int rc;
    522522    PPGMPAGEMAPTLBE pTlbe = &pPGM->CTXSUFF(PhysTlb).aEntries[PGM_PAGEMAPTLB_IDX(GCPhys)];
    523     if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK))
     523    if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK_FULL))
    524524    {
    525525        STAM_COUNTER_INC(&pPGM->CTX_SUFF(pStats)->CTX_MID_Z(Stat,PageMapTlbHits));
     
    551551    int rc;
    552552    PPGMPAGEMAPTLBE pTlbe = &pPGM->CTXSUFF(PhysTlb).aEntries[PGM_PAGEMAPTLB_IDX(GCPhys)];
    553     if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK))
     553    if (pTlbe->GCPhys == (GCPhys & X86_PTE_PAE_PG_MASK_FULL))
    554554    {
    555555        STAM_COUNTER_INC(&pPGM->CTX_SUFF(pStats)->CTX_MID_Z(Stat,PageMapTlbHits));
  • trunk/src/VBox/VMM/PGMPool.cpp

    r31897 r31996  
    824824 *
    825825 * Remark: assumes the caller will flush all TLBs (!!)
    826  */     
     826 */
    827827void pgmR3PoolWriteProtectPages(PVM pVM)
    828828{
     
    931931                    {
    932932                        RTHCPHYS HCPhys = NIL_RTHCPHYS;
    933                         rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[j].u & X86_PTE_PAE_PG_MASK, &HCPhys);
     933                        rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[j].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys);
    934934                        if (   rc != VINF_SUCCESS
    935935                            || PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[j]) != HCPhys)
  • trunk/src/VBox/VMM/VMMAll/PGMAll.cpp

    r31994 r31996  
    854854DECLINLINE(int) pdmShwModifyPage(PVMCPU pVCpu, RTGCPTR GCPtr, uint64_t fFlags, uint64_t fMask, uint32_t fOpFlags)
    855855{
    856     AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK), ("fFlags=%#llx\n", fFlags));
     856    AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK_FULL), ("fFlags=%#llx\n", fFlags));
    857857    Assert(!(fOpFlags & ~(PGM_MK_PG_IS_MMIO2 | PGM_MK_PG_IS_WRITE_FAULT)));
    858858
     
    14091409     * Validate input.
    14101410     */
    1411     AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK), ("fFlags=%#llx\n", fFlags));
     1411    AssertMsg(!(fFlags & X86_PTE_PAE_PG_MASK_FULL), ("fFlags=%#llx\n", fFlags));
    14121412    Assert(cb);
    14131413
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r31994 r31996  
    353353                     || pCur->enmType != PGMVIRTHANDLERTYPE_WRITE ) )
    354354            {
    355                 Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK) == (pGstWalk->Core.GCPhys & X86_PTE_PAE_PG_MASK));
     355                Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) == (pGstWalk->Core.GCPhys & X86_PTE_PAE_PG_MASK_FULL));
    356356#   ifdef IN_RC
    357357                STAM_PROFILE_START(&pCur->Stat, h);
     
    42054205                                continue;
    42064206
    4207                             fIgnoreFlags = X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_PAT | X86_PTE_D | X86_PTE_A | X86_PTE_G | X86_PTE_PAE_NX;
     4207                            fIgnoreFlags = X86_PTE_PAE_PG_MASK_FULL | X86_PTE_AVL_MASK | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_PAT | X86_PTE_D | X86_PTE_A | X86_PTE_G | X86_PTE_PAE_NX;
    42084208
    42094209                            /* match the physical addresses */
  • trunk/src/VBox/VMM/VMMAll/PGMAllGst.h

    r31849 r31996  
    353353            {
    354354                GSTPTE Pte = Walk.pPt->a[iPTE];
    355                 Pte.u = (Pte.u & (fMask | X86_PTE_PAE_PG_MASK))
     355                Pte.u = (Pte.u & (fMask | X86_PTE_PAE_PG_MASK_FULL))
    356356                      | (fFlags & ~GST_PTE_PG_MASK);
    357357                Walk.pPt->a[iPTE] = Pte;
  • trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp

    r31136 r31996  
    145145    pNew->Core.KeyLast  = GCPhysLast;
    146146    pNew->enmType       = enmType;
    147     pNew->cPages        = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK) + PAGE_SIZE) >> PAGE_SHIFT;
     147    pNew->cPages        = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT;
    148148    pNew->pfnHandlerR3  = pfnHandlerR3;
    149149    pNew->pvUserR3      = pvUserR3;
     
    307307                &&  PGM_PAGE_GET_HNDL_PHYS_STATE(pPage) != PGM_PAGE_HNDL_PHYS_STATE_NONE)
    308308            {
    309                 RTGCPHYS GCPhys = (GCPhysStart + (PAGE_SIZE - 1)) & X86_PTE_PAE_PG_MASK;
     309                RTGCPHYS GCPhys = (GCPhysStart + (PAGE_SIZE - 1)) & X86_PTE_PAE_PG_MASK_FULL;
    310310                if (    GCPhys > GCPhysLast
    311311                    ||  GCPhys < GCPhysStart)
     
    314314            }
    315315            else
    316                 GCPhysStart &= X86_PTE_PAE_PG_MASK;
     316                GCPhysStart &= X86_PTE_PAE_PG_MASK_FULL;
    317317            Assert(!pPage || PGM_PAGE_GET_TYPE(pPage) != PGMPAGETYPE_MMIO); /* these are page aligned atm! */
    318318        }
     
    324324                &&  PGM_PAGE_GET_HNDL_PHYS_STATE(pPage) != PGM_PAGE_HNDL_PHYS_STATE_NONE)
    325325            {
    326                 RTGCPHYS GCPhys = (GCPhysLast & X86_PTE_PAE_PG_MASK) - 1;
     326                RTGCPHYS GCPhys = (GCPhysLast & X86_PTE_PAE_PG_MASK_FULL) - 1;
    327327                if (    GCPhys < GCPhysStart
    328328                    ||  GCPhys > GCPhysLast)
     
    536536                pCur->Core.Key      = GCPhys;
    537537                pCur->Core.KeyLast  = GCPhysLast;
    538                 pCur->cPages        = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK) + 1) >> PAGE_SHIFT;
     538                pCur->cPages        = (GCPhysLast - (GCPhys & X86_PTE_PAE_PG_MASK_FULL) + 1) >> PAGE_SHIFT;
    539539
    540540                if (RTAvlroGCPhysInsert(&pVM->pgm.s.CTX_SUFF(pTrees)->PhysHandlers, &pCur->Core))
     
    684684            *pNew = *pCur;
    685685            pNew->Core.Key      = GCPhysSplit;
    686             pNew->cPages        = (pNew->Core.KeyLast - (pNew->Core.Key & X86_PTE_PAE_PG_MASK) + PAGE_SIZE) >> PAGE_SHIFT;
     686            pNew->cPages        = (pNew->Core.KeyLast - (pNew->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT;
    687687
    688688            pCur->Core.KeyLast  = GCPhysSplit - 1;
    689             pCur->cPages        = (pCur->Core.KeyLast - (pCur->Core.Key & X86_PTE_PAE_PG_MASK) + PAGE_SIZE) >> PAGE_SHIFT;
     689            pCur->cPages        = (pCur->Core.KeyLast - (pCur->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT;
    690690
    691691            if (RT_LIKELY(RTAvlroGCPhysInsert(&pVM->pgm.s.CTX_SUFF(pTrees)->PhysHandlers, &pNew->Core)))
     
    750750                    {
    751751                        pCur1->Core.KeyLast  = pCur2->Core.KeyLast;
    752                         pCur1->cPages        = (pCur1->Core.KeyLast - (pCur1->Core.Key & X86_PTE_PAE_PG_MASK) + PAGE_SIZE) >> PAGE_SHIFT;
     752                        pCur1->cPages        = (pCur1->Core.KeyLast - (pCur1->Core.Key & X86_PTE_PAE_PG_MASK_FULL) + PAGE_SIZE) >> PAGE_SHIFT;
    753753                        LogFlow(("PGMHandlerPhysicalJoin: %RGp-%RGp %RGp-%RGp\n",
    754754                                 pCur1->Core.Key, pCur1->Core.KeyLast, pCur2->Core.Key, pCur2->Core.KeyLast));
     
    14811481    for (unsigned iPage = 0; iPage < pCur->cPages; iPage++)
    14821482    {
    1483         if ((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK) == pState->GCPhys)
     1483        if ((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) == pState->GCPhys)
    14841484        {
    14851485            unsigned uState = pgmHandlerVirtualCalcState(pCur);
     
    15741574
    15751575            AssertRCReturn(rc, 0);
    1576             if ((pVirt->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK) != GCPhysGst)
     1576            if ((pVirt->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK_FULL) != GCPhysGst)
    15771577            {
    15781578                AssertMsgFailed(("virt handler phys out of sync. %RGp GCPhysGst=%RGp iPage=%#x %RGv %s\n",
     
    17131713                                                                                                        GCPhysKey, true /* above-or-equal */);
    17141714                        if (    !pPhys2Virt
    1715                             ||  (pPhys2Virt->Core.Key & X86_PTE_PAE_PG_MASK) != State.GCPhys)
     1715                            ||  (pPhys2Virt->Core.Key & X86_PTE_PAE_PG_MASK_FULL) != State.GCPhys)
    17161716                            break;
    17171717
     
    17321732
    17331733                        /* done? */
    1734                         if ((GCPhysKey & X86_PTE_PAE_PG_MASK) != State.GCPhys)
     1734                        if ((GCPhysKey & X86_PTE_PAE_PG_MASK_FULL) != State.GCPhys)
    17351735                            break;
    17361736                    }
  • trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp

    r31978 r31996  
    144144     * Validate input.
    145145     */
    146     AssertMsg(!(fFlags & (X86_PTE_PAE_PG_MASK | X86_PTE_PAE_MBZ_MASK_NX)), ("fFlags=%#x\n", fFlags));
     146    AssertMsg(!(fFlags & (X86_PTE_PAE_PG_MASK_FULL | X86_PTE_PAE_MBZ_MASK_NX)), ("fFlags=%#x\n", fFlags));
    147147    Assert(cb);
    148148
  • trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp

    r31988 r31996  
    10781078    if (    PGM_PAGE_GET_TYPE(pPage) < PGMPAGETYPE_ROM_SHADOW
    10791079        ||  PGM_PAGE_GET_TYPE(pPage) > PGMPAGETYPE_ROM)
    1080         pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK;
     1080        pTlbe->GCPhys = GCPhys & X86_PTE_PAE_PG_MASK_FULL;
    10811081    else
    10821082        pTlbe->GCPhys = NIL_RTGCPHYS; /* ROM: Problematic because of the two pages. :-/ */
  • trunk/src/VBox/VMM/VMMAll/PGMAllPool.cpp

    r31995 r31996  
    326326                    AssertRC(rc);
    327327
    328                     Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), GstPte.u & X86_PTE_PAE_PG_MASK));
     328                    Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]), GstPte.u & X86_PTE_PAE_PG_MASK_FULL));
    329329                    pgmPoolTracDerefGCPhysHint(pPool, pPage,
    330330                                               PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw]),
    331                                                GstPte.u & X86_PTE_PAE_PG_MASK,
     331                                               GstPte.u & X86_PTE_PAE_PG_MASK_FULL,
    332332                                               iShw);
    333333                    PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw], 0);
     
    350350#   endif
    351351                        AssertRC(rc);
    352                         Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]), GstPte.u & X86_PTE_PAE_PG_MASK));
     352                        Log4(("pgmPoolMonitorChainChanging pae: deref %016RX64 GCPhys %016RX64\n", PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]), GstPte.u & X86_PTE_PAE_PG_MASK_FULL));
    353353                        pgmPoolTracDerefGCPhysHint(pPool, pPage,
    354354                                                   PGMSHWPTEPAE_GET_HCPHYS(uShw.pPTPae->a[iShw2]),
    355                                                    GstPte.u & X86_PTE_PAE_PG_MASK,
     355                                                   GstPte.u & X86_PTE_PAE_PG_MASK_FULL,
    356356                                                   iShw2);
    357357                        PGMSHWPTEPAE_ATOMIC_SET(uShw.pPTPae->a[iShw2], 0);
     
    10141014            {
    10151015                RTHCPHYS HCPhys = -1;
    1016                 int rc = PGMPhysGCPhys2HCPhys(pVM, GstPte.u & X86_PTE_PAE_PG_MASK, &HCPhys);
     1016                int rc = PGMPhysGCPhys2HCPhys(pVM, GstPte.u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys);
    10171017                if (rc != VINF_SUCCESS)
    10181018                {
     
    13661366        {
    13671367            RTHCPHYS HCPhys = NIL_RTHCPHYS;
    1368             int rc = PGMPhysGCPhys2HCPhys(pVM, pGstPT->a[i].u & X86_PTE_PAE_PG_MASK, &HCPhys);
     1368            int rc = PGMPhysGCPhys2HCPhys(pVM, pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys);
    13691369            if (    rc != VINF_SUCCESS
    13701370                ||  PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]) != HCPhys)
     
    14381438            &&  pGstPT->a[i].n.u1Present)
    14391439        {
    1440             if (!PGMPhysIsGCPhysValid(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK))
     1440            if (!PGMPhysIsGCPhysValid(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL))
    14411441            {
    14421442                *pfFlush = true;
     
    14471447        {
    14481448            /* If the old cached PTE is identical, then there's no need to flush the shadow copy. */
    1449             if ((pGstPT->a[i].u & X86_PTE_PAE_PG_MASK) == (pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK))
     1449            if ((pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL) == (pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL))
    14501450            {
    14511451#ifdef VBOX_STRICT
    14521452                RTHCPHYS HCPhys = NIL_RTGCPHYS;
    1453                 int rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK, &HCPhys);
     1453                int rc = PGMPhysGCPhys2HCPhys(pPool->CTX_SUFF(pVM), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, &HCPhys);
    14541454                AssertMsg(rc == VINF_SUCCESS && PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]) == HCPhys, ("rc=%d guest %RX64 old %RX64 shw=%RX64 vs %RHp\n", rc, pGstPT->a[i].u, pOldGstPT->a[i].u, PGMSHWPTEPAE_GET_LOG(pShwPT->a[i]), HCPhys));
    14551455#endif
     
    14661466            /* Something was changed, so flush it. */
    14671467            Log4(("pgmPoolTrackDerefPTPaePae: i=%d pte=%RX64 hint=%RX64\n",
    1468                   i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK));
    1469             pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK, i);
     1468                  i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL));
     1469            pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pOldGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, i);
    14701470            PGMSHWPTEPAE_ATOMIC_SET(pShwPT->a[i], 0);
    14711471        }
     
    41464146        {
    41474147            Log4(("pgmPoolTrackDerefPTPaePae: i=%d pte=%RX32 hint=%RX32\n",
    4148                   i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK));
    4149             pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK, i);
     4148                  i, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL));
     4149            pgmPoolTracDerefGCPhysHint(pPool, pPage, PGMSHWPTEPAE_GET_HCPHYS(pShwPT->a[i]), pGstPT->a[i].u & X86_PTE_PAE_PG_MASK_FULL, i);
    41504150            if (!pPage->cPresent)
    41514151                break;
  • trunk/src/VBox/VMM/VMMGC/PGMGCGst.h

    r31995 r31996  
    7070# define GST_PD_SHIFT               X86_PD_PAE_SHIFT
    7171# define GST_PD_MASK                X86_PD_PAE_MASK
    72 # define GST_PTE_PG_MASK            X86_PTE_PAE_PG_MASK
     72# define GST_PTE_PG_MASK            X86_PTE_PAE_PG_MASK_FULL
    7373# define GST_PT_SHIFT               X86_PT_PAE_SHIFT
    7474# define GST_PT_MASK                X86_PT_PAE_MASK
  • trunk/src/VBox/VMM/testcase/tstCompiler.cpp

    r29440 r31996  
    174174void Mix6432Consts(PX86PTEPAE64 pPteDst, PX86PTEPAE64 pPteSrc)
    175175{
    176     pPteDst->u = pPteSrc->u & ~(X86_PTE_PAE_PG_MASK | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT);
     176    pPteDst->u = pPteSrc->u & ~(X86_PTE_PAE_PG_MASK_FULL | X86_PTE_AVL_MASK | X86_PTE_PAT | X86_PTE_PCD | X86_PTE_PWT);
    177177}
    178178
     
    180180void Mix32Var64Const64Data(PX86PTEPAE64 pPteDst, uint32_t fMask, uint32_t fFlags)
    181181{
    182     pPteDst->u = (pPteDst->u & (fMask | X86_PTE_PAE_PG_MASK)) | (fFlags & ~X86_PTE_PAE_PG_MASK);
     182    pPteDst->u = (pPteDst->u & (fMask | X86_PTE_PAE_PG_MASK_FULL)) | (fFlags & ~X86_PTE_PAE_PG_MASK_FULL);
    183183}
    184184
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