Changeset 4615 in vbox for trunk/src/VBox
- Timestamp:
- Sep 7, 2007 7:25:16 PM (17 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/REMInternal.h
r4071 r4615 92 92 struct 93 93 { 94 RTHCPTR pvHCPtr;95 94 RTGCPHYS GCPhysOld; 96 95 RTGCPHYS GCPhysNew; … … 98 97 PGMPHYSHANDLERTYPE enmType; 99 98 bool fHasHCHandler; 99 bool fRestoreAsRAM; 100 100 } PhysicalModify; 101 101 uint64_t padding[3 + (HC_ARCH_BITS == 64)]; -
trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
r4071 r4615 495 495 */ 496 496 pgmHandlerPhysicalResetRamFlags(pVM, pCur); 497 RTHCPTR pvRange = 0; 498 if (pCur->pfnHandlerR3 && pCur->enmType != PGMPHYSHANDLERTYPE_MMIO) 499 PGMRamGCPhys2HCPtr(&pVM->pgm.s, GCPhysCurrent, &pvRange); /* ASSUMES it doesn't change pvRange on failure. */ 497 const bool fRestoreAsRAM = pCur->pfnHandlerR3 498 && pCur->enmType != PGMPHYSHANDLERTYPE_MMIO; /** @todo this isn't entirely correct. */ 500 499 501 500 /* … … 534 533 #ifndef IN_RING3 535 534 REMNotifyHandlerPhysicalModify(pVM, pCur->enmType, GCPhysCurrent, GCPhys, 536 pCur->Core.KeyLast - GCPhys + 1, !!pCur->pfnHandlerR3, pvRange);535 pCur->Core.KeyLast - GCPhys + 1, !!pCur->pfnHandlerR3, fRestoreAsRAM); 537 536 #else 538 537 REMR3NotifyHandlerPhysicalModify(pVM, pCur->enmType, GCPhysCurrent, GCPhys, 539 pCur->Core.KeyLast - GCPhys + 1, !!pCur->pfnHandlerR3, pvRange);538 pCur->Core.KeyLast - GCPhys + 1, !!pCur->pfnHandlerR3, fRestoreAsRAM); 540 539 #endif 541 540 pgmUnlock(pVM); … … 544 543 return VINF_SUCCESS; 545 544 } 545 546 546 AssertMsgFailed(("Conflict! GCPhys=%VGp GCPhysLast=%VGp\n", GCPhys, GCPhysLast)); 547 547 rc = VERR_PGM_HANDLER_PHYSICAL_CONFLICT; -
trunk/src/VBox/VMM/VMMAll/REMAll.cpp
r4268 r4615 129 129 * @param cb Size of the handler range. 130 130 * @param fHasHCHandler Set if the handler have a HC callback function. 131 * @param pvHCPtr The HC virtual address corresponding to GCPhys if available.131 * @param fRestoreAsRAM Whether the to restore it as normal RAM or as unassigned memory. 132 132 */ 133 REMDECL(void) REMNotifyHandlerPhysicalModify(PVM pVM, PGMPHYSHANDLERTYPE enmType, RTGCPHYS GCPhysOld, RTGCPHYS GCPhysNew, RTGCPHYS cb, bool fHasHCHandler, RTHCPTR pvHCPtr)133 REMDECL(void) REMNotifyHandlerPhysicalModify(PVM pVM, PGMPHYSHANDLERTYPE enmType, RTGCPHYS GCPhysOld, RTGCPHYS GCPhysNew, RTGCPHYS cb, bool fHasHCHandler, bool fRestoreAsRAM) 134 134 { 135 135 if (pVM->rem.s.cHandlerNotifications >= ELEMENTS(pVM->rem.s.aHandlerNotifications)) … … 142 142 pRec->u.PhysicalModify.cb = cb; 143 143 pRec->u.PhysicalModify.fHasHCHandler = fHasHCHandler; 144 pRec->u.PhysicalModify. pvHCPtr = pvHCPtr;144 pRec->u.PhysicalModify.fRestoreAsRAM = fRestoreAsRAM; 145 145 } 146 146
Note:
See TracChangeset
for help on using the changeset viewer.