VirtualBox

Changeset 13827 in vbox for trunk/src/VBox/VMM/PATM


Ignore:
Timestamp:
Nov 5, 2008 1:31:18 AM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
38818
Message:

MM: Retired MMHyper2HC, MMHyperHC2GC and MMHyperGC2HC.

Location:
trunk/src/VBox/VMM/PATM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PATM/CSAM.cpp

    r13825 r13827  
    120120    rc = MMR3HyperAllocOnceNoRel(pVM, CSAM_PGDIRBMP_CHUNKS*sizeof(RTRCPTR), 0, MM_TAG_CSAM, (void **)&pVM->csam.s.pPDGCBitmapHC);
    121121    AssertRCReturn(rc, rc);
    122     pVM->csam.s.pPDBitmapGC   = MMHyperHC2GC(pVM, pVM->csam.s.pPDGCBitmapHC);
    123     pVM->csam.s.pPDHCBitmapGC = MMHyperHC2GC(pVM, pVM->csam.s.pPDBitmapHC);
     122    pVM->csam.s.pPDBitmapGC   = MMHyperR3ToRC(pVM, pVM->csam.s.pPDGCBitmapHC);
     123    pVM->csam.s.pPDHCBitmapGC = MMHyperR3ToRC(pVM, pVM->csam.s.pPDBitmapHC);
    124124
    125125    rc = csamReinit(pVM);
     
    260260    {
    261261        /* Adjust pgdir and page bitmap pointers. */
    262         pVM->csam.s.pPDBitmapGC   = MMHyperHC2GC(pVM, pVM->csam.s.pPDGCBitmapHC);
    263         pVM->csam.s.pPDHCBitmapGC = MMHyperHC2GC(pVM, pVM->csam.s.pPDBitmapHC);
     262        pVM->csam.s.pPDBitmapGC   = MMHyperR3ToRC(pVM, pVM->csam.s.pPDGCBitmapHC);
     263        pVM->csam.s.pPDHCBitmapGC = MMHyperR3ToRC(pVM, pVM->csam.s.pPDBitmapHC);
    264264
    265265        for(int i=0;i<CSAM_PGDIRBMP_CHUNKS;i++)
     
    493493            }
    494494            /* Convert to GC pointer. */
    495             pVM->csam.s.pPDGCBitmapHC[i] = MMHyperHC2GC(pVM, pVM->csam.s.pPDBitmapHC[i]);
     495            pVM->csam.s.pPDGCBitmapHC[i] = MMHyperR3ToRC(pVM, pVM->csam.s.pPDBitmapHC[i]);
    496496            Assert(pVM->csam.s.pPDGCBitmapHC[i]);
    497497
  • trunk/src/VBox/VMM/PATM/PATM.cpp

    r13532 r13827  
    125125        return rc;
    126126    }
    127     pVM->patm.s.pPatchMemGC = MMHyperHC2GC(pVM, pVM->patm.s.pPatchMemHC);
     127    pVM->patm.s.pPatchMemGC = MMHyperR3ToRC(pVM, pVM->patm.s.pPatchMemHC);
    128128
    129129    /* PATM stack page for call instruction execution. (2 parts: one for our private stack and one to store the original return address */
    130130    pVM->patm.s.pGCStackHC  = (RTRCPTR *)(pVM->patm.s.pPatchMemHC + PATCH_MEMORY_SIZE + PAGE_SIZE);
    131     pVM->patm.s.pGCStackGC  = MMHyperHC2GC(pVM, pVM->patm.s.pGCStackHC);
     131    pVM->patm.s.pGCStackGC  = MMHyperR3ToRC(pVM, pVM->patm.s.pGCStackHC);
    132132
    133133    /*
     
    140140    Assert(sizeof(PATMGCSTATE) < PAGE_SIZE);    /** @note hardcoded dependencies on this exist. */
    141141    pVM->patm.s.pGCStateHC  = (PPATMGCSTATE)((uint8_t *)pVM->patm.s.pGCStackHC + PATM_STACK_TOTAL_SIZE);
    142     pVM->patm.s.pGCStateGC  = MMHyperHC2GC(pVM, pVM->patm.s.pGCStateHC);
     142    pVM->patm.s.pGCStateGC  = MMHyperR3ToRC(pVM, pVM->patm.s.pGCStateHC);
    143143
    144144    /* Hypervisor memory for patch statistics */
    145145    pVM->patm.s.pStatsHC  = (PSTAMRATIOU32)((uint8_t *)pVM->patm.s.pGCStateHC + PAGE_SIZE);
    146     pVM->patm.s.pStatsGC  = MMHyperHC2GC(pVM, pVM->patm.s.pStatsHC);
     146    pVM->patm.s.pStatsGC  = MMHyperR3ToRC(pVM, pVM->patm.s.pStatsHC);
    147147
    148148    /* Memory for patch lookup trees. */
    149149    rc = MMHyperAlloc(pVM, sizeof(*pVM->patm.s.PatchLookupTreeHC), 0, MM_TAG_PATM, (void **)&pVM->patm.s.PatchLookupTreeHC);
    150150    AssertRCReturn(rc, rc);
    151     pVM->patm.s.PatchLookupTreeGC = MMHyperHC2GC(pVM, pVM->patm.s.PatchLookupTreeHC);
     151    pVM->patm.s.PatchLookupTreeGC = MMHyperR3ToRC(pVM, pVM->patm.s.PatchLookupTreeHC);
    152152
    153153#ifdef RT_ARCH_AMD64 /* see patmReinit(). */
     
    341341
    342342    Assert(pVM->patm.s.pPatchMemHC);
    343     Assert(pVM->patm.s.pPatchMemGC = MMHyperHC2GC(pVM, pVM->patm.s.pPatchMemHC));
     343    Assert(pVM->patm.s.pPatchMemGC = MMHyperR3ToRC(pVM, pVM->patm.s.pPatchMemHC));
    344344    memset(pVM->patm.s.pPatchMemHC, 0, PATCH_MEMORY_SIZE);
    345345    AssertReleaseMsg(pVM->patm.s.pPatchMemGC, ("Impossible! MMHyperHC2GC(%p) failed!\n", pVM->patm.s.pPatchMemHC));
     
    350350
    351351    Assert(pVM->patm.s.PatchLookupTreeHC);
    352     Assert(pVM->patm.s.PatchLookupTreeGC == MMHyperHC2GC(pVM, pVM->patm.s.PatchLookupTreeHC));
     352    Assert(pVM->patm.s.PatchLookupTreeGC == MMHyperR3ToRC(pVM, pVM->patm.s.PatchLookupTreeHC));
    353353
    354354    /*
     
    412412VMMR3DECL(void) PATMR3Relocate(PVM pVM)
    413413{
    414     RTRCPTR     GCPtrNew = MMHyperHC2GC(pVM, pVM->patm.s.pGCStateHC);
     414    RTRCPTR     GCPtrNew = MMHyperR3ToRC(pVM, pVM->patm.s.pGCStateHC);
    415415    RTRCINTPTR  delta = GCPtrNew - pVM->patm.s.pGCStateGC;
    416416
     
    434434
    435435        pVM->patm.s.pGCStateGC  = GCPtrNew;
    436         pVM->patm.s.pPatchMemGC = MMHyperHC2GC(pVM, pVM->patm.s.pPatchMemHC);
    437 
    438         pVM->patm.s.pGCStackGC  = MMHyperHC2GC(pVM, pVM->patm.s.pGCStackHC);
    439 
    440         pVM->patm.s.pStatsGC    = MMHyperHC2GC(pVM, pVM->patm.s.pStatsHC);
    441 
    442         pVM->patm.s.PatchLookupTreeGC = MMHyperHC2GC(pVM, pVM->patm.s.PatchLookupTreeHC);
     436        pVM->patm.s.pPatchMemGC = MMHyperR3ToRC(pVM, pVM->patm.s.pPatchMemHC);
     437
     438        pVM->patm.s.pGCStackGC  = MMHyperR3ToRC(pVM, pVM->patm.s.pGCStackHC);
     439
     440        pVM->patm.s.pStatsGC    = MMHyperR3ToRC(pVM, pVM->patm.s.pStatsHC);
     441
     442        pVM->patm.s.PatchLookupTreeGC = MMHyperR3ToRC(pVM, pVM->patm.s.PatchLookupTreeHC);
    443443
    444444        if (pVM->patm.s.pfnSysEnterPatchGC)
  • trunk/src/VBox/VMM/PATM/VMMAll/CSAMAll.cpp

    r13822 r13827  
    138138        }
    139139#ifdef IN_GC
    140         pVM->csam.s.pPDHCBitmapGC[pgdir] = MMHyperGC2HC(pVM, (RCPTRTYPE(void*))pVM->csam.s.pPDBitmapGC[pgdir]);
     140        pVM->csam.s.pPDHCBitmapGC[pgdir] = MMHyperRCToR3(pVM, (RCPTRTYPE(void*))pVM->csam.s.pPDBitmapGC[pgdir]);
    141141        if (!pVM->csam.s.pPDHCBitmapGC[pgdir])
    142142        {
     
    145145        }
    146146#else
    147         pVM->csam.s.pPDGCBitmapHC[pgdir] = MMHyperHC2GC(pVM, pVM->csam.s.pPDBitmapHC[pgdir]);
     147        pVM->csam.s.pPDGCBitmapHC[pgdir] = MMHyperR3ToRC(pVM, pVM->csam.s.pPDBitmapHC[pgdir]);
    148148        if (!pVM->csam.s.pPDGCBitmapHC[pgdir])
    149149        {
  • trunk/src/VBox/VMM/PATM/VMMGC/PATMGC.cpp

    r13822 r13827  
    128128            STAM_COUNTER_INC(&pVM->patm.s.StatPatchWriteInterpretedFailed);
    129129        }
    130         R3PTRTYPE(PPATCHINFO) *paPatch = (R3PTRTYPE(PPATCHINFO) *)MMHyperHC2GC(pVM, pPatchPage->aPatch);
     130        R3PTRTYPE(PPATCHINFO) *paPatch = (R3PTRTYPE(PPATCHINFO) *)MMHyperR3ToRC(pVM, pPatchPage->aPatch);
    131131
    132132        /* Increase the invalid write counter for each patch that's registered for that page. */
    133133        for (uint32_t i=0;i<pPatchPage->cCount;i++)
    134134        {
    135             PPATCHINFO pPatch = (PPATCHINFO)MMHyperHC2GC(pVM, paPatch[i]);
     135            PPATCHINFO pPatch = (PPATCHINFO)MMHyperR3ToRC(pVM, paPatch[i]);
    136136
    137137            pPatch->cInvalidWrites++;
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