VirtualBox

Changeset 13046 in vbox for trunk/src


Ignore:
Timestamp:
Oct 7, 2008 1:17:17 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37501
Message:

#1865: Eliminated two duplicate members of PGMVIRTHANDLER while at it.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMHandler.cpp

    r13045 r13046  
    340340    pNew->pfnHandlerR3  = pfnHandlerR3;
    341341    pNew->pszDesc       = pszDesc;
    342     pNew->GCPtr         = GCPtr;
    343     pNew->GCPtrLast     = GCPtrLast;
    344342    pNew->cb            = GCPtrLast - GCPtr + 1;
    345343    pNew->cPages        = cPages;
     
    367365        PPGMVIRTHANDLER pCur = (PPGMVIRTHANDLER)RTAvlroGCPtrGetBestFit(pRoot, pNew->Core.Key, true);
    368366        if (    !pCur
    369             ||  GCPtr     > pCur->GCPtrLast
    370             ||  GCPtrLast < pCur->GCPtr)
     367            ||  GCPtr     > pCur->Core.KeyLast
     368            ||  GCPtrLast < pCur->Core.Key)
    371369            pCur = (PPGMVIRTHANDLER)RTAvlroGCPtrGetBestFit(pRoot, pNew->Core.Key, false);
    372370        if (    pCur
    373             &&  GCPtr     <= pCur->GCPtrLast
    374             &&  GCPtrLast >= pCur->GCPtr)
     371            &&  GCPtr     <= pCur->Core.KeyLast
     372            &&  GCPtrLast >= pCur->Core.Key)
    375373        {
    376374            /*
     
    379377             */
    380378            Log(("PGMR3HandlerVirtualRegister: Conflict with existing range %RGv-%RGv (%s), req. %RGv-%RGv (%s)\n",
    381                  pCur->GCPtr, pCur->GCPtrLast, pCur->pszDesc, GCPtr, GCPtrLast, pszDesc));
     379                 pCur->Core.Key, pCur->Core.KeyLast, pCur->pszDesc, GCPtr, GCPtrLast, pszDesc));
    382380            MMHyperFree(pVM, pNew);
    383381            pgmUnlock(pVM);
     
    397395#ifdef VBOX_WITH_STATISTICS
    398396        char szPath[256];
    399         RTStrPrintf(szPath, sizeof(szPath), "/PGM/VirtHandler/Calls/%VGv-%VGv", pNew->GCPtr, pNew->GCPtrLast);
     397        RTStrPrintf(szPath, sizeof(szPath), "/PGM/VirtHandler/Calls/%VGv-%VGv", pNew->Core.Key, pNew->Core.KeyLast);
    400398        rc = STAMR3Register(pVM, &pNew->Stat, STAMTYPE_PROFILE, STAMVISIBILITY_USED, szPath, STAMUNIT_TICKS_PER_CALL, pszDesc);
    401399        AssertRC(rc);
     
    456454    if (RT_LIKELY(pCur))
    457455    {
    458         Log(("PGMHandlerVirtualDeregister: Removing Virtual (%d) Range %VGv-%VGv %s\n", pCur->enmType,
    459              pCur->GCPtr, pCur->GCPtrLast, pCur->pszDesc));
     456        Log(("PGMHandlerVirtualDeregister: Removing Virtual (%d) Range %RGv-%RGv %s\n", pCur->enmType,
     457             pCur->Core.Key, pCur->Core.KeyLast, pCur->pszDesc));
    460458        Assert(pCur->enmType != PGMVIRTHANDLERTYPE_HYPERVISOR);
    461459
     
    485483        }
    486484
    487         Log(("PGMHandlerVirtualDeregister: Removing Hyper Virtual (%d) Range %VGv-%VGv %s\n", pCur->enmType,
    488              pCur->GCPtr, pCur->GCPtrLast, pCur->pszDesc));
     485        Log(("PGMHandlerVirtualDeregister: Removing Hyper Virtual (%d) Range %RGv-%RGv %s\n", pCur->enmType,
     486             pCur->Core.Key, pCur->Core.KeyLast, pCur->pszDesc));
    489487        Assert(pCur->enmType == PGMVIRTHANDLERTYPE_HYPERVISOR);
    490488    }
     
    619617    }
    620618    pHlp->pfnPrintf(pHlp, "%RGv - %RGv  %RHv  %RRv  %s  %s\n",
    621         pCur->GCPtr, pCur->GCPtrLast, pCur->pfnHandlerR3, pCur->pfnHandlerRC, pszType, pCur->pszDesc);
     619        pCur->Core.Key, pCur->Core.KeyLast, pCur->pfnHandlerR3, pCur->pfnHandlerRC, pszType, pCur->pszDesc);
    622620#ifdef VBOX_WITH_STATISTICS
    623621    if (pArgs->fStats)
  • trunk/src/VBox/VMM/PGMInternal.h

    r13045 r13046  
    452452    /** Number of cache pages. */
    453453    uint32_t                            cPages;
    454 
    455 /** @todo The next two members are redundant. It adds some readability though. */
    456     /** Start of the range. */
    457     RTGCPTR                             GCPtr;
    458     /** End of the range (exclusive). */
    459     RTGCPTR                             GCPtrLast;
    460454
    461455    /** Size of the range (in bytes). */
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r13045 r13046  
    275275                PPGMVIRTHANDLER pCur = (PPGMVIRTHANDLER)RTAvlroGCPtrRangeGet(&CTXSUFF(pVM->pgm.s.pTrees)->HyperVirtHandlers, pvFault);
    276276                if (    pCur
    277                     &&  (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr < pCur->cb
     277                    &&  (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key < pCur->cb
    278278                    &&  uErr & X86_TRAP_PF_RW)
    279279                {
    280280#  ifdef IN_GC
    281281                    STAM_PROFILE_START(&pCur->Stat, h);
    282                     rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->GCPtr, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr);
     282                    rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->Core.Key, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key);
    283283                    STAM_PROFILE_STOP(&pCur->Stat, h);
    284284#  else
     
    448448                        if (pCur)
    449449                        {
    450                             AssertMsg(!((RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr < pCur->cb)
     450                            AssertMsg(!((RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key < pCur->cb)
    451451                                      || (     pCur->enmType != PGMVIRTHANDLERTYPE_WRITE
    452452                                           || !(uErr & X86_TRAP_PF_P)
     
    454454                                      ("Unexpected trap for virtual handler: %VGv (phys=%VGp) HCPhys=%HGp uErr=%X, enum=%d\n", pvFault, GCPhys, pPage->HCPhys, uErr, pCur->enmType));
    455455
    456                             if (    (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr < pCur->cb
     456                            if (    (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key < pCur->cb
    457457                                &&  (    uErr & X86_TRAP_PF_RW
    458458                                     ||  pCur->enmType != PGMVIRTHANDLERTYPE_WRITE ) )
     
    460460#  ifdef IN_GC
    461461                                STAM_PROFILE_START(&pCur->Stat, h);
    462                                 rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->GCPtr, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr);
     462                                rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->Core.Key, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key);
    463463                                STAM_PROFILE_STOP(&pCur->Stat, h);
    464464#  else
     
    486486                                Assert((pCur->aPhysToVirt[iPage].Core.Key & X86_PTE_PAE_PG_MASK) == GCPhys);
    487487#  ifdef IN_GC
    488                                 RTGCUINTPTR off = (iPage << PAGE_SHIFT) + ((RTGCUINTPTR)pvFault & PAGE_OFFSET_MASK) - ((RTGCUINTPTR)pCur->GCPtr & PAGE_OFFSET_MASK);
     488                                RTGCUINTPTR off = (iPage << PAGE_SHIFT) + ((RTGCUINTPTR)pvFault & PAGE_OFFSET_MASK) - ((RTGCUINTPTR)pCur->Core.Key & PAGE_OFFSET_MASK);
    489489                                Assert(off < pCur->cb);
    490490                                STAM_PROFILE_START(&pCur->Stat, h);
    491                                 rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->GCPtr, off);
     491                                rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->Core.Key, off);
    492492                                STAM_PROFILE_STOP(&pCur->Stat, h);
    493493#  else
     
    555555                    if (pCur)
    556556                    {
    557                         AssertMsg(   !((RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr < pCur->cb)
     557                        AssertMsg(   !((RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key < pCur->cb)
    558558                                  || (    pCur->enmType != PGMVIRTHANDLERTYPE_WRITE
    559559                                       || !(uErr & X86_TRAP_PF_P)
     
    561561                                  ("Unexpected trap for virtual handler: %08X (phys=%08x) HCPhys=%X uErr=%X, enum=%d\n", pvFault, GCPhys, pPage->HCPhys, uErr, pCur->enmType));
    562562
    563                         if (    (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr < pCur->cb
     563                        if (    (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key < pCur->cb
    564564                            &&  (    uErr & X86_TRAP_PF_RW
    565565                                 ||  pCur->enmType != PGMVIRTHANDLERTYPE_WRITE ) )
     
    567567#  ifdef IN_GC
    568568                            STAM_PROFILE_START(&pCur->Stat, h);
    569                             rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->GCPtr, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->GCPtr);
     569                            rc = pCur->CTX_SUFF(pfnHandler)(pVM, uErr, pRegFrame, pvFault, pCur->Core.Key, (RTGCUINTPTR)pvFault - (RTGCUINTPTR)pCur->Core.Key);
    570570                            STAM_PROFILE_STOP(&pCur->Stat, h);
    571571#  else
  • trunk/src/VBox/VMM/VMMAll/PGMAllGst.h

    r13038 r13046  
    776776#endif
    777777
    778     RTGCUINTPTR     GCPtr = (RTUINTPTR)pCur->GCPtr;
     778    RTGCUINTPTR     GCPtr = (RTUINTPTR)pCur->Core.Key;
    779779#if PGM_GST_MODE != PGM_MODE_AMD64
    780780    /* skip all stuff above 4GB if not AMD64 mode. */
  • trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp

    r13042 r13046  
    10111011        *piPage = pCur - &(*ppVirt)->aPhysToVirt[0];
    10121012
    1013         LogFlow(("PHYS2VIRT: found match for %VGp -> %VGv *piPage=%#x\n", GCPhys, (*ppVirt)->GCPtr, *piPage));
     1013        LogFlow(("PHYS2VIRT: found match for %RGp -> %RGv *piPage=%#x\n", GCPhys, (*ppVirt)->Core.Key, *piPage));
    10141014        STAM_PROFILE_STOP(CTXSUFF(&pVM->pgm.s.StatVirtHandleSearchByPhys), a);
    10151015        return VINF_SUCCESS;
     
    10911091    unsigned        uState   = pgmHandlerVirtualCalcState(pCur);
    10921092    PPGMRAMRANGE    pRamHint = NULL;
    1093     RTGCUINTPTR     offPage  = ((RTGCUINTPTR)pCur->GCPtr & PAGE_OFFSET_MASK);
     1093    RTGCUINTPTR     offPage  = ((RTGCUINTPTR)pCur->Core.Key & PAGE_OFFSET_MASK);
    10941094    RTGCUINTPTR     cbLeft   = pCur->cb;
    10951095    for (unsigned iPage = 0; iPage < pCur->cPages; iPage++)
     
    12611261     * Check key alignment.
    12621262     */
    1263     if (    (pVirt->aPhysToVirt[0].Core.Key & PAGE_OFFSET_MASK) != ((RTGCUINTPTR)pVirt->GCPtr & PAGE_OFFSET_MASK)
     1263    if (    (pVirt->aPhysToVirt[0].Core.Key & PAGE_OFFSET_MASK) != ((RTGCUINTPTR)pVirt->Core.Key & PAGE_OFFSET_MASK)
    12641264        &&  pVirt->aPhysToVirt[0].Core.Key != NIL_RTGCPHYS)
    12651265    {
    1266         AssertMsgFailed(("virt handler phys has incorrect key! %VGp %VGv %s\n",
    1267                          pVirt->aPhysToVirt[0].Core.Key, pVirt->GCPtr, R3STRING(pVirt->pszDesc)));
     1266        AssertMsgFailed(("virt handler phys has incorrect key! %RGp %RGv %s\n",
     1267                         pVirt->aPhysToVirt[0].Core.Key, pVirt->Core.Key, R3STRING(pVirt->pszDesc)));
    12681268        pState->cErrors++;
    12691269    }
    12701270
    1271     if (    (pVirt->aPhysToVirt[pVirt->cPages - 1].Core.KeyLast & PAGE_OFFSET_MASK) != ((RTGCUINTPTR)pVirt->GCPtrLast & PAGE_OFFSET_MASK)
     1271    if (    (pVirt->aPhysToVirt[pVirt->cPages - 1].Core.KeyLast & PAGE_OFFSET_MASK) != ((RTGCUINTPTR)pVirt->Core.KeyLast & PAGE_OFFSET_MASK)
    12721272        &&  pVirt->aPhysToVirt[pVirt->cPages - 1].Core.Key != NIL_RTGCPHYS)
    12731273    {
    1274         AssertMsgFailed(("virt handler phys has incorrect key! %VGp %VGv %s\n",
    1275                          pVirt->aPhysToVirt[pVirt->cPages - 1].Core.KeyLast, pVirt->GCPtrLast, R3STRING(pVirt->pszDesc)));
     1274        AssertMsgFailed(("virt handler phys has incorrect key! %RGp %RGv %s\n",
     1275                         pVirt->aPhysToVirt[pVirt->cPages - 1].Core.KeyLast, pVirt->Core.KeyLast, R3STRING(pVirt->pszDesc)));
    12761276        pState->cErrors++;
    12771277    }
     
    12801280     * Check pages for sanity and state.
    12811281     */
    1282     RTGCUINTPTR   GCPtr = (RTGCUINTPTR)pVirt->GCPtr;
     1282    RTGCUINTPTR   GCPtr = (RTGCUINTPTR)pVirt->Core.Key;
    12831283    for (unsigned iPage = 0; iPage < pVirt->cPages; iPage++, GCPtr += PAGE_SIZE)
    12841284    {
  • trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp

    r13045 r13046  
    12571257                        if (cb > cbRead)
    12581258                            cb = cbRead;
    1259                         RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pNode->GCPtr & PAGE_BASE_GC_MASK)
     1259                        RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pNode->Core.Key & PAGE_BASE_GC_MASK)
    12601260                                          + (iPage << PAGE_SHIFT) + (off & PAGE_OFFSET_MASK);
    12611261
     
    15061506                            if (cb > cbWrite)
    15071507                                cb = cbWrite;
    1508                             RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirtNode->GCPtr & PAGE_BASE_GC_MASK)
     1508                            RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirtNode->Core.Key & PAGE_BASE_GC_MASK)
    15091509                                              + (iPage << PAGE_SHIFT) + (off & PAGE_OFFSET_MASK);
    15101510
     
    15561556                            if (cb > cbWrite)
    15571557                                cb = cbWrite;
    1558                             RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pNode->GCPtr & PAGE_BASE_GC_MASK)
     1558                            RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pNode->Core.Key & PAGE_BASE_GC_MASK)
    15591559                                              + (iPage << PAGE_SHIFT) + (off & PAGE_OFFSET_MASK);
    15601560
  • trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp

    r13045 r13046  
    555555    GEN_CHECK_OFF(PGMVIRTHANDLER, Core);
    556556    GEN_CHECK_OFF(PGMVIRTHANDLER, enmType);
    557     GEN_CHECK_OFF(PGMVIRTHANDLER, GCPtr);
    558     GEN_CHECK_OFF(PGMVIRTHANDLER, GCPtrLast);
    559557    GEN_CHECK_OFF(PGMVIRTHANDLER, cb);
    560558    GEN_CHECK_OFF(PGMVIRTHANDLER, pfnHandlerR3);
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