Changeset 13019 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Oct 6, 2008 4:21:01 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r12999 r13019 440 440 PPGMMAPPING pgmGetMapping(PVM pVM, RTGCPTR GCPtr) 441 441 { 442 PPGMMAPPING pMapping = CTXALLSUFF(pVM->pgm.s.pMappings);442 PPGMMAPPING pMapping = pVM->pgm.s.CTX_SUFF(pMappings); 443 443 while (pMapping) 444 444 { … … 450 450 return pMapping; 451 451 } 452 pMapping = CTXALLSUFF(pMapping->pNext);452 pMapping = pMapping->CTX_SUFF(pNext); 453 453 } 454 454 return NULL; … … 1766 1766 * Check for mapping conflicts. 1767 1767 */ 1768 for (PPGMMAPPING pMapping = CTXALLSUFF(pVM->pgm.s.pMappings);1768 for (PPGMMAPPING pMapping = pVM->pgm.s.CTX_SUFF(pMappings); 1769 1769 pMapping; 1770 pMapping = CTXALLSUFF(pMapping->pNext))1770 pMapping = pMapping->CTX_SUFF(pNext)) 1771 1771 { 1772 1772 /** @todo This is slow and should be optimized, but since it's just assertions I don't care now. */ -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r12999 r13019 246 246 { 247 247 STAM_PROFILE_START(&pVM->pgm.s.StatMapping, a); 248 PPGMMAPPING pMapping = CTXALLSUFF(pVM->pgm.s.pMappings);249 for ( ; pMapping; pMapping = CTXALLSUFF(pMapping->pNext))248 PPGMMAPPING pMapping = pVM->pgm.s.CTX_SUFF(pMappings); 249 for ( ; pMapping; pMapping = pMapping->CTX_SUFF(pNext)) 250 250 { 251 251 if ((RTGCUINTPTR)pvFault < (RTGCUINTPTR)pMapping->GCPtr) … … 3145 3145 if (pgmMapAreMappingsEnabled(&pVM->pgm.s)) 3146 3146 { 3147 pMapping = pVM->pgm.s.CTX ALLSUFF(pMappings);3147 pMapping = pVM->pgm.s.CTX_SUFF(pMappings); 3148 3148 iPdNoMapping = (pMapping) ? (pMapping->GCPtr >> GST_PD_SHIFT) : ~0U; 3149 3149 } … … 3285 3285 AssertMsg(&pVM->pgm.s.CTXMID(ap,PaePDs)[iPD * 2 / 512]->a[iPD * 2 % 512] == pPDEDst, ("%p vs %p\n", &pVM->pgm.s.CTXMID(ap,PaePDs)[iPD * 2 / 512]->a[iPD * 2 % 512], pPDEDst)); 3286 3286 # endif 3287 registerGSTPDE PdeSrc = pPDSrc->a[iPD];3287 GSTPDE PdeSrc = pPDSrc->a[iPD]; 3288 3288 if ( PdeSrc.n.u1Present 3289 3289 && (PdeSrc.n.u1User || fRawR0Enabled)) … … 3308 3308 iPD += cPTs - 1; 3309 3309 pPDEDst += cPTs + (PGM_GST_TYPE != PGM_SHW_TYPE) * cPTs; /* Only applies to the pae shadow and 32 bits guest case */ 3310 pMapping = pMapping->CTX ALLSUFF(pNext);3310 pMapping = pMapping->CTX_SUFF(pNext); 3311 3311 iPdNoMapping = pMapping ? pMapping->GCPtr >> GST_PD_SHIFT : ~0U; 3312 3312 continue; … … 3477 3477 { 3478 3478 /* It's fixed, just skip the mapping. */ 3479 pMapping = pMapping->CTX ALLSUFF(pNext);3479 pMapping = pMapping->CTX_SUFF(pNext); 3480 3480 iPdNoMapping = pMapping ? pMapping->GCPtr >> GST_PD_SHIFT : ~0U; 3481 3481 } … … 3505 3505 * Update iPdNoMapping and pMapping. 3506 3506 */ 3507 pMapping = pVM->pgm.s.CTX ALLSUFF(pMappings);3507 pMapping = pVM->pgm.s.CTX_SUFF(pMappings); 3508 3508 while (pMapping && pMapping->GCPtr < (iPD << GST_PD_SHIFT)) 3509 pMapping = pMapping->CTX ALLSUFF(pNext);3509 pMapping = pMapping->CTX_SUFF(pNext); 3510 3510 iPdNoMapping = pMapping ? pMapping->GCPtr >> GST_PD_SHIFT : ~0U; 3511 3511 break; … … 3518 3518 if (iPdNoMapping == ~0U && pMapping) 3519 3519 { 3520 pMapping = pMapping->CTX ALLSUFF(pNext);3520 pMapping = pMapping->CTX_SUFF(pNext); 3521 3521 if (pMapping) 3522 3522 iPdNoMapping = pMapping->GCPtr >> GST_PD_SHIFT; -
trunk/src/VBox/VMM/VMMAll/PGMAllMap.cpp
r12989 r13019 64 64 * Find the mapping. 65 65 */ 66 PPGMMAPPING pCur = CTXALLSUFF(pVM->pgm.s.pMappings);66 PPGMMAPPING pCur = pVM->pgm.s.CTX_SUFF(pMappings); 67 67 while (pCur) 68 68 { … … 91 91 92 92 /* 32-bit */ 93 CTXALLSUFF(pCur->aPTs[iPT].pPT)->a[iPageNo].u = (uint32_t)Pte.u; /* ASSUMES HCPhys < 4GB and/or that we're never gonna do 32-bit on a PAE host! */93 pCur->aPTs[iPT].CTX_SUFF(pPT)->a[iPageNo].u = (uint32_t)Pte.u; /* ASSUMES HCPhys < 4GB and/or that we're never gonna do 32-bit on a PAE host! */ 94 94 95 95 /* pae */ 96 CTXALLSUFF(pCur->aPTs[iPT].paPaePTs)[iPageNo / 512].a[iPageNo % 512].u = Pte.u;96 pCur->aPTs[iPT].CTX_SUFF(paPaePTs)[iPageNo / 512].a[iPageNo % 512].u = Pte.u; 97 97 98 98 /* next */ … … 108 108 109 109 /* next */ 110 pCur = CTXALLSUFF(pCur->pNext);110 pCur = pCur->CTX_SUFF(pNext); 111 111 } 112 112 … … 169 169 * Find the mapping. 170 170 */ 171 PPGMMAPPING pCur = CTXALLSUFF(pVM->pgm.s.pMappings);171 PPGMMAPPING pCur = pVM->pgm.s.CTX_SUFF(pMappings); 172 172 while (pCur) 173 173 { … … 189 189 unsigned iPT = off >> X86_PD_SHIFT; 190 190 unsigned iPTE = (off >> PAGE_SHIFT) & X86_PT_MASK; 191 while (cb > 0 && iPTE < RT_ELEMENTS( CTXALLSUFF(pCur->aPTs[iPT].pPT)->a))191 while (cb > 0 && iPTE < RT_ELEMENTS(pCur->aPTs[iPT].CTX_SUFF(pPT)->a)) 192 192 { 193 193 /* 32-Bit */ 194 CTXALLSUFF(pCur->aPTs[iPT].pPT)->a[iPTE].u &= fMask | X86_PTE_PG_MASK;195 CTXALLSUFF(pCur->aPTs[iPT].pPT)->a[iPTE].u |= fFlags & ~X86_PTE_PG_MASK;194 pCur->aPTs[iPT].CTX_SUFF(pPT)->a[iPTE].u &= fMask | X86_PTE_PG_MASK; 195 pCur->aPTs[iPT].CTX_SUFF(pPT)->a[iPTE].u |= fFlags & ~X86_PTE_PG_MASK; 196 196 197 197 /* PAE */ 198 CTXALLSUFF(pCur->aPTs[iPT].paPaePTs)[iPTE / 512].a[iPTE % 512].u &= fMask | X86_PTE_PAE_PG_MASK;199 CTXALLSUFF(pCur->aPTs[iPT].paPaePTs)[iPTE / 512].a[iPTE % 512].u |= fFlags & ~X86_PTE_PAE_PG_MASK;198 pCur->aPTs[iPT].CTX_SUFF(paPaePTs)[iPTE / 512].a[iPTE % 512].u &= fMask | X86_PTE_PAE_PG_MASK; 199 pCur->aPTs[iPT].CTX_SUFF(paPaePTs)[iPTE / 512].a[iPTE % 512].u |= fFlags & ~X86_PTE_PAE_PG_MASK; 200 200 201 201 /* invalidate tls */ … … 212 212 } 213 213 /* next */ 214 pCur = CTXALLSUFF(pCur->pNext);214 pCur = pCur->CTX_SUFF(pNext); 215 215 } 216 216 -
trunk/src/VBox/VMM/VMMAll/PGMAllShw.h
r12932 r13019 211 211 AssertMsgReturn(pMap, ("GCPtr=%VGv\n", GCPtr), VERR_INTERNAL_ERROR); 212 212 # if PGM_SHW_TYPE == PGM_TYPE_32BIT 213 pPT = pMap->aPTs[(GCPtr - pMap->GCPtr) >> X86_PD_SHIFT].CTX ALLSUFF(pPT);213 pPT = pMap->aPTs[(GCPtr - pMap->GCPtr) >> X86_PD_SHIFT].CTX_SUFF(pPT); 214 214 # else /* PAE */ 215 pPT = pMap->aPTs[(GCPtr - pMap->GCPtr) >> X86_PD_SHIFT].CTX ALLSUFF(paPaePTs);215 pPT = pMap->aPTs[(GCPtr - pMap->GCPtr) >> X86_PD_SHIFT].CTX_SUFF(paPaePTs); 216 216 # endif 217 217 # endif
Note:
See TracChangeset
for help on using the changeset viewer.