Changeset 56411 in vbox
- Timestamp:
- Jun 14, 2015 3:41:43 AM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 101013
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pgm.h
r56384 r56411 368 368 369 369 370 371 370 VMMDECL(bool) PGMIsLockOwner(PVM pVM); 372 371 … … 466 465 VMM_INT_DECL(bool) PGMHandlerVirtualIsRegistered(PVM pVM, RTGCPTR GCPtr); 467 466 #endif 467 468 469 /** 470 * Page type. 471 * 472 * @remarks This enum has to fit in a 3-bit field (see PGMPAGE::u3Type). 473 * @remarks This is used in the saved state, so changes to it requires bumping 474 * the saved state version. 475 * @todo So, convert to \#defines! 476 */ 477 typedef enum PGMPAGETYPE 478 { 479 /** The usual invalid zero entry. */ 480 PGMPAGETYPE_INVALID = 0, 481 /** RAM page. (RWX) */ 482 PGMPAGETYPE_RAM, 483 /** MMIO2 page. (RWX) */ 484 PGMPAGETYPE_MMIO2, 485 /** MMIO2 page aliased over an MMIO page. (RWX) 486 * See PGMHandlerPhysicalPageAlias(). */ 487 PGMPAGETYPE_MMIO2_ALIAS_MMIO, 488 /** Special page aliased over an MMIO page. (RWX) 489 * See PGMHandlerPhysicalPageAliasHC(), but this is generally only used for 490 * VT-x's APIC access page at the moment. Treated as MMIO by everyone except 491 * the shadow paging code. */ 492 PGMPAGETYPE_SPECIAL_ALIAS_MMIO, 493 /** Shadowed ROM. (RWX) */ 494 PGMPAGETYPE_ROM_SHADOW, 495 /** ROM page. (R-X) */ 496 PGMPAGETYPE_ROM, 497 /** MMIO page. (---) */ 498 PGMPAGETYPE_MMIO, 499 /** End of valid entries. */ 500 PGMPAGETYPE_END 501 } PGMPAGETYPE; 502 AssertCompile(PGMPAGETYPE_END == 8); 503 504 VMM_INT_DECL(PGMPAGETYPE) PGMPhysGetPageType(PVM pVM, RTGCPHYS GCPhys); 505 506 VMM_INT_DECL(int) PGMPhysGCPhys2HCPhys(PVM pVM, RTGCPHYS GCPhys, PRTHCPHYS pHCPhys); 507 VMM_INT_DECL(int) PGMPhysGCPtr2HCPhys(PVMCPU pVCpu, RTGCPTR GCPtr, PRTHCPHYS pHCPhys); 508 VMM_INT_DECL(int) PGMPhysGCPhys2CCPtr(PVM pVM, RTGCPHYS GCPhys, void **ppv, PPGMPAGEMAPLOCK pLock); 509 VMM_INT_DECL(int) PGMPhysGCPhys2CCPtrReadOnly(PVM pVM, RTGCPHYS GCPhys, void const **ppv, PPGMPAGEMAPLOCK pLock); 510 VMM_INT_DECL(int) PGMPhysGCPtr2CCPtr(PVMCPU pVCpu, RTGCPTR GCPtr, void **ppv, PPGMPAGEMAPLOCK pLock); 511 VMM_INT_DECL(int) PGMPhysGCPtr2CCPtrReadOnly(PVMCPU pVCpu, RTGCPTR GCPtr, void const **ppv, PPGMPAGEMAPLOCK pLock); 468 512 469 513 VMMDECL(bool) PGMPhysIsA20Enabled(PVMCPU pVCpu); … … 634 678 VMMR3DECL(void) PGMR3ResetCpu(PVM pVM, PVMCPU pVCpu); 635 679 VMMR3_INT_DECL(void) PGMR3Reset(PVM pVM); 680 VMMR3_INT_DECL(void) PGMR3ResetNoMorePhysWritesFlag(PVM pVM); 636 681 VMMR3_INT_DECL(void) PGMR3MemSetup(PVM pVM, bool fReset); 637 682 VMMR3DECL(int) PGMR3Term(PVM pVM); -
trunk/src/VBox/VMM/include/internal/pgm.h
r56287 r56411 21 21 #include <VBox/vmm/pgm.h> 22 22 23 /** @defgroup grp_pgm_int Internals24 * @ingroup grp_pgm25 * @internal26 * @{27 */28 29 /**30 * Page type.31 *32 * @remarks This enum has to fit in a 3-bit field (see PGMPAGE::u3Type).33 * @remarks This is used in the saved state, so changes to it requires bumping34 * the saved state version.35 * @todo So, convert to \#defines!36 */37 typedef enum PGMPAGETYPE38 {39 /** The usual invalid zero entry. */40 PGMPAGETYPE_INVALID = 0,41 /** RAM page. (RWX) */42 PGMPAGETYPE_RAM,43 /** MMIO2 page. (RWX) */44 PGMPAGETYPE_MMIO2,45 /** MMIO2 page aliased over an MMIO page. (RWX)46 * See PGMHandlerPhysicalPageAlias(). */47 PGMPAGETYPE_MMIO2_ALIAS_MMIO,48 /** Special page aliased over an MMIO page. (RWX)49 * See PGMHandlerPhysicalPageAliasHC(), but this is generally only used for50 * VT-x's APIC access page at the moment. Treated as MMIO by everyone except51 * the shadow paging code. */52 PGMPAGETYPE_SPECIAL_ALIAS_MMIO,53 /** Shadowed ROM. (RWX) */54 PGMPAGETYPE_ROM_SHADOW,55 /** ROM page. (R-X) */56 PGMPAGETYPE_ROM,57 /** MMIO page. (---) */58 PGMPAGETYPE_MMIO,59 /** End of valid entries. */60 PGMPAGETYPE_END61 } PGMPAGETYPE;62 AssertCompile(PGMPAGETYPE_END == 8);63 64 VMMDECL(PGMPAGETYPE) PGMPhysGetPageType(PVM pVM, RTGCPHYS GCPhys);65 66 VMMDECL(int) PGMPhysGCPhys2HCPhys(PVM pVM, RTGCPHYS GCPhys, PRTHCPHYS pHCPhys);67 VMMDECL(int) PGMPhysGCPtr2HCPhys(PVMCPU pVCpu, RTGCPTR GCPtr, PRTHCPHYS pHCPhys);68 VMMDECL(int) PGMPhysGCPhys2CCPtr(PVM pVM, RTGCPHYS GCPhys, void **ppv, PPGMPAGEMAPLOCK pLock);69 VMMDECL(int) PGMPhysGCPhys2CCPtrReadOnly(PVM pVM, RTGCPHYS GCPhys, void const **ppv, PPGMPAGEMAPLOCK pLock);70 VMMDECL(int) PGMPhysGCPtr2CCPtr(PVMCPU pVCpu, RTGCPTR GCPtr, void **ppv, PPGMPAGEMAPLOCK pLock);71 VMMDECL(int) PGMPhysGCPtr2CCPtrReadOnly(PVMCPU pVCpu, RTGCPTR GCPtr, void const **ppv, PPGMPAGEMAPLOCK pLock);72 VMMR3DECL(void) PGMR3ResetNoMorePhysWritesFlag(PVM pVM);73 74 /** @} */75 23 #endif 76 24
Note:
See TracChangeset
for help on using the changeset viewer.