Changeset 80179 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Aug 7, 2019 10:48:23 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 132620
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r80167 r80179 2252 2252 if (RT_SUCCESS(rc)) 2253 2253 { 2254 RTRCPTR RCPtr = NIL_RTRCPTR;2255 2254 RTHCPTR HCPtr = NIL_RTHCPTR; 2256 2255 # ifndef VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0 … … 2265 2264 # endif 2266 2265 if (fChanged) 2267 {2268 2266 pVCpu->pgm.s.aGCPhysGstPaePDs[iPdpt] = GCPhys; 2269 pVCpu->pgm.s.apGstPaePDsRC[iPdpt] = (RCPTRTYPE(PX86PDPAE))RCPtr;2270 }2271 2267 2272 2268 *ppPd = pVCpu->pgm.s.CTX_SUFF(apGstPaePDs)[iPdpt]; … … 2282 2278 pVCpu->pgm.s.apGstPaePDsR0[iPdpt] = 0; 2283 2279 # endif 2284 pVCpu->pgm.s.apGstPaePDsRC[iPdpt] = 0;2285 2280 2286 2281 pgmUnlock(pVM); … … 2377 2372 pVCpu->pgm.s.apGstPaePDsR0[i] = 0; 2378 2373 #endif 2379 pVCpu->pgm.s.apGstPaePDsRC[i] = 0;2380 2374 pVCpu->pgm.s.aGCPhysGstPaePDs[i] = NIL_RTGCPHYS; 2381 2375 } -
trunk/src/VBox/VMM/VMMAll/PGMAllBth.h
r80172 r80179 135 135 pgmPoolFreeByPage(pPool, pOldShwPageCR3, NIL_PGMPOOL_IDX, UINT32_MAX); 136 136 pVCpu->pgm.s.pShwPageCR3R3 = NIL_RTR3PTR; 137 pVCpu->pgm.s.pShwPageCR3RC = NIL_RTRCPTR;138 137 pVCpu->pgm.s.pShwPageCR3R0 = NIL_RTR0PTR; 139 138 } … … 148 147 149 148 pVCpu->pgm.s.pShwPageCR3R3 = (R3PTRTYPE(PPGMPOOLPAGE))MMHyperCCToR3(pVM, pNewShwPageCR3); 150 pVCpu->pgm.s.pShwPageCR3RC = (RCPTRTYPE(PPGMPOOLPAGE))MMHyperCCToRC(pVM, pNewShwPageCR3);151 149 pVCpu->pgm.s.pShwPageCR3R0 = (R0PTRTYPE(PPGMPOOLPAGE))MMHyperCCToR0(pVM, pNewShwPageCR3); 152 150 … … 3586 3584 false); 3587 3585 # if !defined(IN_RING0) && PGM_GST_TYPE != PGM_TYPE_AMD64 3588 # if PGM_GST_TYPE == PGM_TYPE_32BIT 3586 # if 0 3587 # if PGM_GST_TYPE == PGM_TYPE_32BIT 3589 3588 rc = PGMShwGetPage(pVCpu, (RTRCUINTPTR)pPGM->pGst32BitPdRC, NULL, &HCPhysShw); 3590 # else3589 # else 3591 3590 rc = PGMShwGetPage(pVCpu, (RTRCUINTPTR)pPGM->pGstPaePdptRC, NULL, &HCPhysShw); 3592 # endif3591 # endif 3593 3592 AssertRCReturn(rc, 1); 3594 3593 HCPhys = NIL_RTHCPHYS; 3595 3594 rc = pgmRamGCPhys2HCPhys(pVM, PGM_A20_APPLY(pVCpu, cr3 & GST_CR3_PAGE_MASK), &HCPhys); 3596 3595 AssertMsgReturn(HCPhys == HCPhysShw, ("HCPhys=%RHp HCPhyswShw=%RHp (cr3)\n", HCPhys, HCPhysShw), false); 3596 # endif 3597 3597 # if PGM_GST_TYPE == PGM_TYPE_32BIT && defined(IN_RING3) 3598 3598 pgmGstGet32bitPDPtr(pVCpu); … … 4389 4389 pVCpu->pgm.s.apGstPaePDsR0[i] = 0; 4390 4390 # endif 4391 pVCpu->pgm.s.apGstPaePDsRC[i] = 0;4392 4391 pVCpu->pgm.s.aGCPhysGstPaePDs[i] = NIL_RTGCPHYS; 4393 4392 } … … 4443 4442 # ifdef IN_RING0 4444 4443 pVCpu->pgm.s.pShwPageCR3R3 = MMHyperCCToR3(pVM, pVCpu->pgm.s.CTX_SUFF(pShwPageCR3)); 4445 pVCpu->pgm.s.pShwPageCR3RC = MMHyperCCToRC(pVM, pVCpu->pgm.s.CTX_SUFF(pShwPageCR3));4446 4444 # else 4447 4445 pVCpu->pgm.s.pShwPageCR3R0 = MMHyperCCToR0(pVM, pVCpu->pgm.s.CTX_SUFF(pShwPageCR3)); 4448 pVCpu->pgm.s.pShwPageCR3RC = MMHyperCCToRC(pVM, pVCpu->pgm.s.CTX_SUFF(pShwPageCR3));4449 4446 # endif 4450 4447 … … 4508 4505 pVCpu->pgm.s.pGst32BitPdR0 = 0; 4509 4506 # endif 4510 pVCpu->pgm.s.pGst32BitPdRC = 0;4511 4507 4512 4508 #elif PGM_GST_TYPE == PGM_TYPE_PAE … … 4515 4511 pVCpu->pgm.s.pGstPaePdptR0 = 0; 4516 4512 # endif 4517 pVCpu->pgm.s.pGstPaePdptRC = 0;4518 4513 for (unsigned i = 0; i < X86_PG_PAE_PDPE_ENTRIES; i++) 4519 4514 { … … 4522 4517 pVCpu->pgm.s.apGstPaePDsR0[i] = 0; 4523 4518 # endif 4524 pVCpu->pgm.s.apGstPaePDsRC[i] = 0;4525 4519 pVCpu->pgm.s.aGCPhysGstPaePDs[i] = NIL_RTGCPHYS; 4526 4520 } … … 4568 4562 pVCpu->pgm.s.pShwPageCR3R3 = 0; 4569 4563 pVCpu->pgm.s.pShwPageCR3R0 = 0; 4570 pVCpu->pgm.s.pShwPageCR3RC = 0;4571 4564 } 4572 4565 -
trunk/src/VBox/VMM/VMMAll/PGMAllGst.h
r80163 r80179 516 516 PGM_GST_DECL(int, Relocate)(PVMCPU pVCpu, RTGCPTR offDelta) 517 517 { 518 pVCpu->pgm.s.pGst32BitPdRC += offDelta; 519 for (unsigned i = 0; i < RT_ELEMENTS(pVCpu->pgm.s.apGstPaePDsRC); i++) 520 pVCpu->pgm.s.apGstPaePDsRC[i] += offDelta; 521 pVCpu->pgm.s.pGstPaePdptRC += offDelta; 522 518 RT_NOREF(pVCpu, offDelta); 523 519 return VINF_SUCCESS; 524 520 } -
trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
r80172 r80179 459 459 pVM->pgm.s.pLastPhysHandlerR0 = 0; 460 460 pVM->pgm.s.pLastPhysHandlerR3 = 0; 461 pVM->pgm.s.pLastPhysHandlerRC = 0;462 461 463 462 pPhysHandler->Core.Key = NIL_RTGCPHYS; … … 538 537 pVM->pgm.s.pLastPhysHandlerR0 = 0; 539 538 pVM->pgm.s.pLastPhysHandlerR3 = 0; 540 pVM->pgm.s.pLastPhysHandlerRC = 0;541 539 542 540 pgmUnlock(pVM); … … 938 936 pVM->pgm.s.pLastPhysHandlerR0 = 0; 939 937 pVM->pgm.s.pLastPhysHandlerR3 = 0; 940 pVM->pgm.s.pLastPhysHandlerRC = 0;941 938 PGMHandlerPhysicalTypeRelease(pVM, pCur->hType); 942 939 MMHyperFree(pVM, pCur); … … 1096 1093 pVM->pgm.s.pLastPhysHandlerR0 = 0; 1097 1094 pVM->pgm.s.pLastPhysHandlerR3 = 0; 1098 pVM->pgm.s.pLastPhysHandlerRC = 0;1099 1095 PGMHandlerPhysicalTypeRelease(pVM, pCur2->hType); 1100 1096 MMHyperFree(pVM, pCur2); -
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r80172 r80179 323 323 { 324 324 pgmLock(pVM); 325 for (uint32_t i = 0; i < PGM_RAMRANGE_TLB_ENTRIES; i++) 326 { 327 pVM->pgm.s.apRamRangesTlbR3[i] = NIL_RTR3PTR; 328 pVM->pgm.s.apRamRangesTlbR0[i] = NIL_RTR0PTR; 329 pVM->pgm.s.apRamRangesTlbRC[i] = NIL_RTRCPTR; 330 } 325 RT_ZERO(pVM->pgm.s.apRamRangesTlbR3); 326 RT_ZERO(pVM->pgm.s.apRamRangesTlbR0); 331 327 pgmUnlock(pVM); 332 328 } -
trunk/src/VBox/VMM/VMMAll/PGMAllShw.h
r76553 r80179 222 222 223 223 pVCpu->pgm.s.pShwPageCR3R3 = (R3PTRTYPE(PPGMPOOLPAGE))MMHyperCCToR3(pVM, pNewShwPageCR3); 224 pVCpu->pgm.s.pShwPageCR3RC = (RCPTRTYPE(PPGMPOOLPAGE))MMHyperCCToRC(pVM, pNewShwPageCR3);225 224 pVCpu->pgm.s.pShwPageCR3R0 = (R0PTRTYPE(PPGMPOOLPAGE))MMHyperCCToR0(pVM, pNewShwPageCR3); 226 225 … … 261 260 pVCpu->pgm.s.pShwPageCR3R3 = 0; 262 261 pVCpu->pgm.s.pShwPageCR3R0 = 0; 263 pVCpu->pgm.s.pShwPageCR3RC = 0;264 262 265 263 pgmUnlock(pVM); … … 613 611 PGM_SHW_DECL(int, Relocate)(PVMCPU pVCpu, RTGCPTR offDelta) 614 612 { 615 # if PGM_SHW_TYPE != PGM_TYPE_NONE616 pVCpu->pgm.s.pShwPageCR3RC += offDelta;617 # else618 613 RT_NOREF(pVCpu, offDelta); 619 # endif620 614 return VINF_SUCCESS; 621 615 }
Note:
See TracChangeset
for help on using the changeset viewer.