Changeset 27580 in vbox
- Timestamp:
- Mar 22, 2010 10:35:52 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
r27545 r27580 53 53 54 54 #ifndef IN_RING3 55 56 /**57 * \#PF Handler callback for physical memory accesses without a RC/R0 handler.58 * This simply pushes everything to the HC handler.59 *60 * @returns VBox status code (appropritate for trap handling and GC return).61 * @param pVM VM Handle.62 * @param uErrorCode CPU Error code.63 * @param pRegFrame Trap register frame.64 * @param pvFault The fault address (cr2).65 * @param GCPhysFault The GC physical address corresponding to pvFault.66 * @param pvUser User argument.67 */68 VMMDECL(int) pgmPhysHandlerRedirectToHC(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)69 {70 return (uErrorCode & X86_TRAP_PF_RW) ? VINF_IOM_HC_MMIO_WRITE : VINF_IOM_HC_MMIO_READ;71 }72 73 55 74 56 /** … … 1267 1249 /* 1268 1250 * If the page is shared, the zero page, or being write monitored 1269 * it must be converted to a npage that's writable if possible.1251 * it must be converted to a page that's writable if possible. 1270 1252 */ 1271 1253 PPGMPAGE pPage = pTlbe->pPage; … … 2368 2350 * Write to physical memory. 2369 2351 * 2370 * This API respects access handlers and MMIO. Use PGMPhysSimple ReadGCPhys() if you2352 * This API respects access handlers and MMIO. Use PGMPhysSimpleWriteGCPhys() if you 2371 2353 * want to ignore those. 2372 2354 * … … 2437 2419 memcpy(pvDst, pvBuf, cb); 2438 2420 else 2421 /* Ignore writes to ballooned pages. */ 2422 if (!PGM_PAGE_IS_BALLOONED(pPage)) 2439 2423 AssertLogRelMsgFailed(("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n", 2440 pRam->GCPhys + off, pPage, rc));2424 pRam->GCPhys + off, pPage, rc)); 2441 2425 } 2442 2426
Note:
See TracChangeset
for help on using the changeset viewer.