Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

Internals
[The Page Monitor/Manager API]


Detailed Description

For internal use only.


Classes

struct  PGM
struct  PGMMAPPING
struct  PGMMODEDATA
struct  PGMPHYS2VIRTHANDLER
struct  PGMPHYSCACHE
struct  PGMPHYSCACHE_ENTRY
struct  PGMPHYSHANDLER
struct  PGMPOOL
struct  PGMPOOLPAGE
struct  PGMPOOLPHYSEXT
struct  PGMPOOLUSER
struct  PGMRAMRANGE
struct  PGMTREES
struct  PGMVIRTHANDLER

PAE Guest Paging.

RTGCPHYS PGM::aGCPhysGstPaePDs [4]
RTGCPHYS PGM::aGCPhysGstPaePDsMonitored [4]
 PGM::GCPTRTYPE (PX86PDPAE) apGstPaePDsGC[4]
 PGM::GCPTRTYPE (PX86PDPTR) pGstPaePDPTRGC
 PGM::HCPTRTYPE (PX86PDPAE) apGstPaePDsHC[4]
 PGM::HCPTRTYPE (PX86PDPTR) pGstPaePDPTRHC

PAE Shadow Paging

RTHCPHYS PGM::aHCPhysPaePDs [4]
RTHCPHYS PGM::HCPhysPaePDPTR

Release Statistics

STAMCOUNTER PGM::cGuestModeChanges

32-bit Shadow Paging

RTHCPHYS PGM::HCPhys32BitPD
 PGM::GCPTRTYPE (PX86PD) pGC32BitPD
 PGM::HCPTRTYPE (PX86PD) pHC32BitPD

Intermediate Context

RTHCPHYS PGM::HCPhysInterPaePDPTR
RTHCPHYS PGM::HCPhysInterPaePML4
RTHCPHYS PGM::HCPhysInterPD
 PGM::HCPTRTYPE (PX86PTPAE) apInterPaePTs[2]
 PGM::HCPTRTYPE (PX86PT) apInterPTs[2]

AMD64 Shadow Paging

Extends PAE Paging.

RTHCPHYS PGM::HCPhysPaePML4
 PGM::GCPTRTYPE (PX86PML4) pGCPaePML4
 PGM::HCPTRTYPE (PX86PML4) pHCPaePML4

Function pointers for Both Shadow and Guest paging.

 PGM::DECLGCCALLBACKMEMBER (unsigned, pfnGCBthAssertCR3,(PVM pVM, uint32_t cr3, uint32_t cr4, RTGCUINTPTR GCPtr, RTGCUINTPTR cb))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCBthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGM::DECLR0CALLBACKMEMBER (unsigned, pfnR0BthAssertCR3,(PVM pVM, uint32_t cr3, uint32_t cr4, RTGCUINTPTR GCPtr, RTGCUINTPTR cb))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0BthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGM::DECLR3CALLBACKMEMBER (unsigned, pfnR3BthAssertCR3,(PVM pVM, uint32_t cr3, uint32_t cr4, RTGCUINTPTR GCPtr, RTGCUINTPTR cb))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3BthRelocate,(PVM pVM, RTGCUINTPTR offDelta))

Function pointers for Guest paging.

 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstUnmapCR3,(PVM pVM))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstUnmonitorCR3,(PVM pVM))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCGstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstUnmapCR3,(PVM pVM))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstUnmonitorCR3,(PVM pVM))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0GstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstUnmapCR3,(PVM pVM))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstUnmonitorCR3,(PVM pVM))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstExit,(PVM pVM))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3GstRelocate,(PVM pVM, RTGCUINTPTR offDelta))
 PGM::GCPTRTYPE (PFNPGMGCPHYSHANDLER) pfnGCGstWriteHandlerCR3
 PGM::R0PTRTYPE (PFNPGMR0PHYSHANDLER) pfnR0GstWriteHandlerCR3
 PGM::R3PTRTYPE (const char *) pszHCGstWriteHandlerCR3
 PGM::R3PTRTYPE (PFNPGMR3PHYSHANDLER) pfnHCGstWriteHandlerCR3

Function pointers for Shadow paging.

 PGM::DECLGCCALLBACKMEMBER (int, pfnGCShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLGCCALLBACKMEMBER (int, pfnGCShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0ShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0ShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0ShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0ShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR0CALLBACKMEMBER (int, pfnR0ShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwExit,(PVM pVM))
 PGM::DECLR3CALLBACKMEMBER (int, pfnR3ShwRelocate,(PVM pVM, RTGCUINTPTR offDelta))

Function pointers for Both Shadow and Guest paging.

 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCBthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0BthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthVerifyAccessSyncPage,(PVM pVM, RTGCUINTPTR GCPtrPage, unsigned fFlags, unsigned uError))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthPrefetchPage,(PVM pVM, RTGCUINTPTR GCPtrPage))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthSyncPage,(PVM pVM, VBOXPDE PdeSrc, RTGCUINTPTR GCPtrPage, unsigned cPages, unsigned uError))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthSyncCR3,(PVM pVM, uint32_t cr0, uint32_t cr3, uint32_t cr4, bool fGlobal))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthInvalidatePage,(PVM pVM, RTGCPTR GCPtrPage))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthTrap0eHandler,(PVM pVM, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3BthRelocate,(PVM pVM, RTGCUINTPTR offDelta))

Function pointers for Guest paging.

 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstUnmapCR3,(PVM pVM))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstUnmonitorCR3,(PVM pVM))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCGstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstUnmapCR3,(PVM pVM))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstUnmonitorCR3,(PVM pVM))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0GstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstUnmapCR3,(PVM pVM))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstMapCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstUnmonitorCR3,(PVM pVM))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstMonitorCR3,(PVM pVM, RTGCPHYS GCPhysCR3))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstGetPDE,(PVM pVM, RTGCUINTPTR GCPtr, PX86PDEPAE pPde))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstExit,(PVM pVM))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3GstRelocate,(PVM pVM, RTGCUINTPTR offDelta))
 PGMMODEDATA::GCPTRTYPE (PFNPGMGCPHYSHANDLER) pfnGCGstWriteHandlerCR3
 PGMMODEDATA::R0PTRTYPE (PFNPGMR0PHYSHANDLER) pfnR0GstWriteHandlerCR3
 PGMMODEDATA::R3PTRTYPE (const char *) pszHCGstWriteHandlerCR3
 PGMMODEDATA::R3PTRTYPE (PFNPGMR3PHYSHANDLER) pfnHCGstWriteHandlerCR3

Function pointers for Shadow paging.

 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLGCCALLBACKMEMBER (int, pfnGCShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0ShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0ShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0ShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0ShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR0CALLBACKMEMBER (int, pfnR0ShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwModifyPDEByIndex,(PVM pVM, uint32_t iPD, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwSetPDEByIndex,(PVM pVM, uint32_t iPD, X86PDEPAE Pde))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwGetPDEByIndex,(PVM pVM, uint32_t iPD, PX86PDEPAE pPde))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwModifyPage,(PVM pVM, RTGCUINTPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwGetPage,(PVM pVM, RTGCUINTPTR GCPtr, uint64_t *pfFlags, PRTHCPHYS pHCPhys))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwExit,(PVM pVM))
 PGMMODEDATA::DECLR3CALLBACKMEMBER (int, pfnR3ShwRelocate,(PVM pVM, RTGCUINTPTR offDelta))

32-bit Guest Paging.

 PGM::GCPTRTYPE (PVBOXPD) pGuestPDGC
 PGM::HCPTRTYPE (PVBOXPD) pGuestPDHC

PGM Pool Indexes.

Aka. the unique shadow page identifier.

#define NIL_PGMPOOL_IDX   0
#define PGMPOOL_IDX_FIRST   5
#define PGMPOOL_IDX_FIRST_SPECIAL   1
#define PGMPOOL_IDX_LAST   0x3fff
#define PGMPOOL_IDX_PAE_PD   2
#define PGMPOOL_IDX_PD   1
#define PGMPOOL_IDX_PDPTR   3
#define PGMPOOL_IDX_PML4   4

Paging mode macros

#define PGM_BTH_DECL(type, name)   PGM_CTX_DECL(type) PGM_BTH_NAME(name)
#define PGM_BTH_NAME_32BIT_32BIT(name)   PGM_CTX(pgm,Bth32Bit32Bit##name)
#define PGM_BTH_NAME_32BIT_PROT(name)   PGM_CTX(pgm,Bth32BitProt##name)
#define PGM_BTH_NAME_32BIT_REAL(name)   PGM_CTX(pgm,Bth32BitReal##name)
#define PGM_BTH_NAME_AMD64_AMD64(name)   PGM_CTX(pgm,BthAMD64AMD64##name)
#define PGM_BTH_NAME_AMD64_PROT(name)   PGM_CTX(pgm,BthAMD64Prot##name)
#define PGM_BTH_NAME_AMD64_REAL(name)   PGM_CTX(pgm,BthAMD64Real##name)
#define PGM_BTH_NAME_GC_32BIT_32BIT_STR(name)   "pgmGCBth32Bit32Bit" #name
#define PGM_BTH_NAME_GC_32BIT_PROT_STR(name)   "pgmGCBth32BitProt" #name
#define PGM_BTH_NAME_GC_32BIT_REAL_STR(name)   "pgmGCBth32BitReal" #name
#define PGM_BTH_NAME_GC_AMD64_AMD64_STR(name)   "pgmGCBthAMD64AMD64" #name
#define PGM_BTH_NAME_GC_AMD64_PROT_STR(name)   "pgmGCBthAMD64Prot" #name
#define PGM_BTH_NAME_GC_AMD64_REAL_STR(name)   "pgmGCBthAMD64Real" #name
#define PGM_BTH_NAME_GC_PAE_32BIT_STR(name)   "pgmGCBthPAE32Bit" #name
#define PGM_BTH_NAME_GC_PAE_PAE_STR(name)   "pgmGCBthPAEPAE" #name
#define PGM_BTH_NAME_GC_PAE_PROT_STR(name)   "pgmGCBthPAEProt" #name
#define PGM_BTH_NAME_GC_PAE_REAL_STR(name)   "pgmGCBthPAEReal" #name
#define PGM_BTH_NAME_PAE_32BIT(name)   PGM_CTX(pgm,BthPAE32Bit##name)
#define PGM_BTH_NAME_PAE_PAE(name)   PGM_CTX(pgm,BthPAEPAE##name)
#define PGM_BTH_NAME_PAE_PROT(name)   PGM_CTX(pgm,BthPAEProt##name)
#define PGM_BTH_NAME_PAE_REAL(name)   PGM_CTX(pgm,BthPAEReal##name)
#define PGM_BTH_NAME_R0_32BIT_32BIT_STR(name)   "pgmR0Bth32Bit32Bit" #name
#define PGM_BTH_NAME_R0_32BIT_PROT_STR(name)   "pgmR0Bth32BitProt" #name
#define PGM_BTH_NAME_R0_32BIT_REAL_STR(name)   "pgmR0Bth32BitReal" #name
#define PGM_BTH_NAME_R0_AMD64_AMD64_STR(name)   "pgmR0BthAMD64AMD64" #name
#define PGM_BTH_NAME_R0_AMD64_PROT_STR(name)   "pgmR0BthAMD64Prot" #name
#define PGM_BTH_NAME_R0_AMD64_REAL_STR(name)   "pgmR0BthAMD64Real" #name
#define PGM_BTH_NAME_R0_PAE_32BIT_STR(name)   "pgmR0BthPAE32Bit" #name
#define PGM_BTH_NAME_R0_PAE_PAE_STR(name)   "pgmR0BthPAEPAE" #name
#define PGM_BTH_NAME_R0_PAE_PROT_STR(name)   "pgmR0BthPAEProt" #name
#define PGM_BTH_NAME_R0_PAE_REAL_STR(name)   "pgmR0BthPAEReal" #name
#define PGM_BTH_PFN(name, pVM)   ((pVM)->pgm.s.PGM_CTX(pfn,Bth##name))
#define PGM_CTX(a, b)   a##R0##b
#define PGM_CTX_DECL(type)   PGMDECL(type)
#define PGM_CTX_STR(a, b)   a "R0" b
#define PGM_GST_DECL(type, name)   PGM_CTX_DECL(type) PGM_GST_NAME(name)
#define PGM_GST_NAME_32BIT(name)   PGM_CTX(pgm,Gst32Bit##name)
#define PGM_GST_NAME_AMD64(name)   PGM_CTX(pgm,GstAMD64##name)
#define PGM_GST_NAME_GC_32BIT_STR(name)   "pgmGCGst32Bit" #name
#define PGM_GST_NAME_GC_AMD64_STR(name)   "pgmGCGstAMD64" #name
#define PGM_GST_NAME_GC_PAE_STR(name)   "pgmGCGstPAE" #name
#define PGM_GST_NAME_GC_PROT_STR(name)   "pgmGCGstProt" #name
#define PGM_GST_NAME_GC_REAL_STR(name)   "pgmGCGstReal" #name
#define PGM_GST_NAME_PAE(name)   PGM_CTX(pgm,GstPAE##name)
#define PGM_GST_NAME_PROT(name)   PGM_CTX(pgm,GstProt##name)
#define PGM_GST_NAME_R0_32BIT_STR(name)   "pgmR0Gst32Bit" #name
#define PGM_GST_NAME_R0_AMD64_STR(name)   "pgmR0GstAMD64" #name
#define PGM_GST_NAME_R0_PAE_STR(name)   "pgmR0GstPAE" #name
#define PGM_GST_NAME_R0_PROT_STR(name)   "pgmR0GstProt" #name
#define PGM_GST_NAME_R0_REAL_STR(name)   "pgmR0GstReal" #name
#define PGM_GST_NAME_REAL(name)   PGM_CTX(pgm,GstReal##name)
#define PGM_GST_PFN(name, pVM)   ((pVM)->pgm.s.PGM_CTX(pfn,Gst##name))
#define PGM_SHW_DECL(type, name)   PGM_CTX_DECL(type) PGM_SHW_NAME(name)
#define PGM_SHW_NAME_32BIT(name)   PGM_CTX(pgm,Shw32Bit##name)
#define PGM_SHW_NAME_AMD64(name)   PGM_CTX(pgm,ShwAMD64##name)
#define PGM_SHW_NAME_GC_32BIT_STR(name)   "pgmGCShw32Bit" #name
#define PGM_SHW_NAME_GC_AMD64_STR(name)   "pgmGCShwAMD64" #name
#define PGM_SHW_NAME_GC_PAE_STR(name)   "pgmGCShwPAE" #name
#define PGM_SHW_NAME_PAE(name)   PGM_CTX(pgm,ShwPAE##name)
#define PGM_SHW_NAME_R0_32BIT_STR(name)   "pgmR0Shw32Bit" #name
#define PGM_SHW_NAME_R0_AMD64_STR(name)   "pgmR0ShwAMD64" #name
#define PGM_SHW_NAME_R0_PAE_STR(name)   "pgmR0ShwPAE" #name
#define PGM_SHW_PFN(name, pVM)   ((pVM)->pgm.s.PGM_CTX(pfn,Shw##name))

PGM Compile Time Config

#define PGM_MAX_PHYSCACHE_ENTRIES   64
#define PGM_MAX_PHYSCACHE_ENTRIES_MASK   (PGM_MAX_PHYSCACHE_ENTRIES-1)
#define PGM_OUT_OF_SYNC_IN_GC
#define PGM_PHYSMEMACCESS_CACHING
#define PGM_SKIP_GLOBAL_PAGEDIRS_ON_NONGLOBAL_FLUSH
#define PGM_SYNC_ACCESSED_BIT
#define PGM_SYNC_DIRTY_BIT
#define PGM_SYNC_N_PAGES
#define PGM_SYNC_NR_PAGES   8
#define PGMPOOL_CFG_MAX_GROW   (_256K >> PAGE_SHIFT)
#define PGMPOOL_WITH_CACHE
#define PGMPOOL_WITH_GCPHYS_TRACKING
#define PGMPOOL_WITH_MIXED_PT_CR3
#define PGMPOOL_WITH_MONITORING
#define PGMPOOL_WITH_USER_TRACKING

Page directory flags.

These are placed in the three bits available for system programs in the page directory entries.

#define PGM_PDFLAGS_MAPPING   BIT64(10)
#define PGM_PDFLAGS_TRACK_DIRTY   BIT64(11)

PDPTR and PML4 flags.

These are placed in the three bits available for system programs in the PDPTR and PML4 entries.

#define PGM_PLXFLAGS_PERMANENT   BIT64(10)

Page flags.

These are placed in the three bits available for system programs in the page entries.

#define PGM_PTFLAGS_CSAM_VALIDATED   BIT64(11)
#define PGM_PTFLAGS_TRACK_DIRTY   BIT64(9)

PGM::fSyncFlags Flags

#define PGM_SYNC_ALWAYS   BIT(1)
#define PGM_SYNC_CLEAR_PGM_POOL   BIT(8)
#define PGM_SYNC_MONITOR_CR3   BIT(2)
#define PGM_SYNC_UPDATE_PAGE_BIT_VIRTUAL   BIT(0)

Defines used to indicate the shadow and guest paging in the templates.

#define PGM_TYPE_32BIT   3
#define PGM_TYPE_AMD64   5
#define PGM_TYPE_PAE   4
#define PGM_TYPE_PROT   2
#define PGM_TYPE_REAL   1

Defines

#define NIL_PGMPOOL_PHYSEXT_INDEX   ((uint16_t)0xffff)
#define NIL_PGMPOOL_USER_INDEX   ((uint16_t)0xffff)
#define PGM2VM(pPGM)   ( (PVM)((char*)pPGM - pPGM->offVM) )
#define PGM_GCPHYS_2_PTR(pVM, GCPhys, ppv)   PGMPhysGCPhys2HCPtr(pVM, GCPhys, 1 /* one page only */, (void **)(ppv))
#define PGM_GCPHYS_2_PTR_EX(pVM, GCPhys, ppv)   PGMPhysGCPhys2HCPtr(pVM, GCPhys, 1 /* one page only */, (void **)(ppv))
#define PGM_HCPHYS_2_PTR(pVM, HCPhys, ppv)   MMPagePhys2PageEx(pVM, HCPhys, (void **)(ppv))
#define PGM_INVL_BIG_PG(GCVirt)   ((void)0)
#define PGM_INVL_GUEST_TLBS()   ((void)0)
#define PGM_INVL_PG(GCVirt)   ((void)0)
#define PGM_WITH_PAGING(uType)   ((uType) >= PGM_TYPE_32BIT)
#define pgmHandlerVirtualDumpPhysPages(a)   do { } while (0)
#define PGMPHYS2VIRTHANDLER_IN_TREE   BIT(0)
#define PGMPHYS2VIRTHANDLER_IS_HEAD   BIT(1)
#define PGMPHYS2VIRTHANDLER_OFF_MASK   (~(int32_t)3)
#define PGMPOOL_HASH(GCPhys)   ( ((GCPhys) >> PAGE_SHIFT) & (PGMPOOL_HASH_SIZE - 1) )
#define PGMPOOL_HASH_SIZE   0x40
#define PGMPOOL_PAGE_2_PTR(pVM, pPage)   ((pPage)->pvPageHC)
#define PGMRAMRANGE_GETHCPTR(pRam, off)

Typedefs

typedef const PGMPOOLPHYSEXTPCPGMPOOLPHYSEXT
typedef const PGMPOOLUSERPCPGMPOOLUSER
typedef struct PGMPPGM
typedef struct PGMMAPPINGPPGMMAPPING
typedef struct PGMMODEDATAPPGMMODEDATA
typedef PGMPHYS2VIRTHANDLERPPGMPHYS2VIRTHANDLER
typedef PGMPHYSHANDLERPPGMPHYSHANDLER
typedef struct PGMPOOLPPGMPOOL
typedef struct PGMPOOLPAGEPPGMPOOLPAGE
typedef struct PGMPOOLPHYSEXTPPGMPOOLPHYSEXT
typedef struct PGMPOOLUSERPPGMPOOLUSER
typedef PGMRAMRANGEPPGMRAMRANGE
typedef PGMTREESPPGMTREES
typedef PGMVIRTHANDLERPPGMVIRTHANDLER
typedef struct PGMPOOL ** PPPGMPOOL
typedef struct PGMPOOLPAGE ** PPPGMPOOLPAGE

Enumerations

enum  PGMPOOLKIND {
  PGMPOOLKIND_INVALID = 0, PGMPOOLKIND_FREE, PGMPOOLKIND_32BIT_PT_FOR_PHYS, PGMPOOLKIND_32BIT_PT_FOR_32BIT_PT,
  PGMPOOLKIND_32BIT_PT_FOR_32BIT_4MB, PGMPOOLKIND_PAE_PT_FOR_PHYS, PGMPOOLKIND_PAE_PT_FOR_32BIT_PT, PGMPOOLKIND_PAE_PT_FOR_32BIT_4MB,
  PGMPOOLKIND_PAE_PT_FOR_PAE_PT, PGMPOOLKIND_PAE_PT_FOR_PAE_2MB, PGMPOOLKIND_PAE_PD_FOR_32BIT_PD, PGMPOOLKIND_PAE_PD_FOR_PAE_PD,
  PGMPOOLKIND_64BIT_PDPTR_FOR_64BIT_PDPTR, PGMPOOLKIND_ROOT_32BIT_PD, PGMPOOLKIND_ROOT_PAE_PD, PGMPOOLKIND_ROOT_PDPTR,
  PGMPOOLKIND_ROOT_PML4, PGMPOOLKIND_LAST = PGMPOOLKIND_ROOT_PML4
}

Functions

 DECLCALLBACK (void) pgmR3InfoHandlers(PVM pVM
 DECLCALLBACK (int) pgmHandlerVirtualResetOne(PAVLROGCPTRNODECORE pNode
__END_DECLS DECLINLINE (int) PGMRamGCPhys2HCPhys(PPGM pPGM
 PGM::GCPTRTYPE (PPGMPOOL) pPoolGC
 PGM::GCPTRTYPE (uint8_t *) pbDynPageMapBaseGC
 PGM::GCPTRTYPE (PPGMMAPPING) pMappingsGC
 PGM::GCPTRTYPE (PPGMTREES) pTreesGC
 PGM::GCPTRTYPE (PPGMRAMRANGE) pRamRangesGC
 PGM::GCPTRTYPE (PX86PTEPAE) paDynPageMapPaePTEsGC
 PGM::GCPTRTYPE (PX86PTE) paDynPageMap32BitPTEsGC
 PGMPOOL::GCPTRTYPE (PFNPGMGCPHYSHANDLER) pfnAccessHandlerGC
 PGMPOOL::GCPTRTYPE (PPGMPOOLPHYSEXT) paPhysExtsGC
 PGMPOOL::GCPTRTYPE (PPGMPOOLUSER) paUsersGC
 PGMPOOL::GCPTRTYPE (PVM) pVMGC
 PGMRAMRANGE::GCPTRTYPE (PRTHCPTR) pavHCChunkGC
 PGMRAMRANGE::GCPTRTYPE (struct PGMRAMRANGE *) pNextGC
 PGMVIRTHANDLER::GCPTRTYPE (PFNPGMGCVIRTHANDLER) pfnHandlerGC
 PGMPHYSHANDLER::GCPTRTYPE (void *) pvUserGC
 PGMPHYSHANDLER::GCPTRTYPE (PFNPGMGCPHYSHANDLER) pfnHandlerGC
 PGMMAPPING::@414::GCPTRTYPE (PX86PTPAE) paPaePTsGC
 PGMMAPPING::@414::GCPTRTYPE (PVBOXPT) pPTGC
 PGMMAPPING::GCPTRTYPE (struct PGMMAPPING *) pNextGC
 PGM::HCPTRTYPE (PPGMPOOL) pPoolHC
 PGM::HCPTRTYPE (PPGMTREES) pTreesHC
 PGM::HCPTRTYPE (PPGMRAMRANGE) pRamRangesHC
 PGMPOOL::HCPTRTYPE (PPGMPOOLPHYSEXT) paPhysExtsHC
 PGMPOOL::HCPTRTYPE (PPGMPOOLUSER) paUsersHC
 PGMPOOLPAGE::HCPTRTYPE (void *) pvPageHC
 PGMRAMRANGE::HCPTRTYPE (void *) pvHC
 PGMRAMRANGE::HCPTRTYPE (PRTHCPTR) pavHCChunkHC
 PGMVIRTHANDLER::HCPTRTYPE (const char *) pszDesc
 PGMVIRTHANDLER::HCPTRTYPE (PFNPGMHCVIRTHANDLER) pfnHandlerHC
 PGMVIRTHANDLER::HCPTRTYPE (PFNPGMHCVIRTINVALIDATE) pfnInvalidateHC
 PGMDECL (int) pgmGuestROMWriteHandler(PVM pVM
__BEGIN_DECLS PGMGCDECL (int) pgmGCGuestPDWriteHandler(PVM pVM
PPGMMAPPING pgmGetMapping (PVM pVM, RTGCPTR GCPtr)
int pgmHandlerVirtualFindByPhysAddr (PVM pVM, RTGCPHYS GCPhys, PPGMVIRTHANDLER *ppVirt, unsigned *piPage)
int pgmLock (PVM pVM)
int pgmPoolAlloc (PVM pVM, RTGCPHYS GCPhys, PGMPOOLKIND enmKind, uint16_t iUser, uint16_t iUserTable, PPPGMPOOLPAGE ppPage)
void pgmPoolClearAll (PVM pVM)
void pgmPoolFlushAll (PVM pVM)
int pgmPoolFlushPage (PPGMPOOL pPool, PPGMPOOLPAGE pPage)
void pgmPoolFree (PVM pVM, RTHCPHYS HCPhys, uint16_t iUser, uint16_t iUserTable)
void pgmPoolFreeByPage (PPGMPOOL pPool, PPGMPOOLPAGE pPage, uint16_t iUser, uint16_t iUserTable)
PPGMPOOLPAGE pgmPoolGetPageByHCPhys (PVM pVM, RTHCPHYS HCPhys)
void pgmPoolMonitorChainChanging (PPGMPOOL pPool, PPGMPOOLPAGE pPage, RTGCPHYS GCPhysFault, RTGCPTR pvAddress, PDISCPUSTATE pCpu)
int pgmPoolMonitorChainFlush (PPGMPOOL pPool, PPGMPOOLPAGE pPage)
void pgmPoolMonitorModifiedClearAll (PVM pVM)
void pgmPoolMonitorModifiedInsert (PPGMPOOL pPool, PPGMPOOLPAGE pPage)
int pgmPoolMonitorMonitorCR3 (PPGMPOOL pPool, uint16_t idxRoot, RTGCPHYS GCPhysCR3)
int pgmPoolMonitorUnmonitorCR3 (PPGMPOOL pPool, uint16_t idxRoot)
void pgmPoolTrackFlushGCPhysPT (PVM pVM, PRTHCPHYS pHCPhys, uint16_t iShw, uint16_t cRefs)
void pgmPoolTrackFlushGCPhysPTs (PVM pVM, PRTHCPHYS pHCPhys, uint16_t iPhysExt)
int pgmPoolTrackFlushGCPhysPTsSlow (PVM pVM, PRTHCPHYS pHCPhys)
uint16_t pgmPoolTrackPhysExtAddref (PVM pVM, uint16_t u16, uint16_t iShwPT)
PPGMPOOLPHYSEXT pgmPoolTrackPhysExtAlloc (PVM pVM, uint16_t *piPhysExt)
void pgmPoolTrackPhysExtDerefGCPhys (PPGMPOOL pPool, PPGMPOOLPAGE pPage, PRTHCPHYS pHCPhys)
void pgmPoolTrackPhysExtFree (PVM pVM, uint16_t iPhysExt)
void pgmPoolTrackPhysExtFreeList (PVM pVM, uint16_t iPhysExt)
int pgmR3ChangeMode (PVM pVM, PGMMODE enmGuestMode)
void pgmR3HandlerPhysicalUpdateAll (PVM pVM)
void pgmR3MapRelocate (PVM pVM, PPGMMAPPING pMapping, int iPDOld, int iPDNew)
int pgmR3SyncPTResolveConflict (PVM pVM, PPGMMAPPING pMapping, PVBOXPD pPDSrc, int iPDOld)
void pgmUnlock (PVM pVM)
 PGM::R0PTRTYPE (PPGMMAPPING) pMappingsR0
 PGMPOOL::R0PTRTYPE (PFNPGMR0PHYSHANDLER) pfnAccessHandlerR0
 PGMPHYSHANDLER::R0PTRTYPE (void *) pvUserR0
 PGMPHYSHANDLER::R0PTRTYPE (PFNPGMR0PHYSHANDLER) pfnHandlerR0
 PGMMAPPING::@414::R0PTRTYPE (PX86PTPAE) paPaePTsR0
 PGMMAPPING::@414::R0PTRTYPE (PVBOXPT) pPTR0
 PGMMAPPING::R0PTRTYPE (struct PGMMAPPING *) pNextR0
 PGM::R3PTRTYPE (PPGMMAPPING) pMappingsR3
 PGM::R3PTRTYPE (PPGMMODEDATA) paModeData
 PGMPOOL::R3PTRTYPE (const char *) pszAccessHandler
 PGMPOOL::R3PTRTYPE (PFNPGMR3PHYSHANDLER) pfnAccessHandlerR3
 PGMPHYSHANDLER::R3PTRTYPE (const char *) pszDesc
 PGMPHYSHANDLER::R3PTRTYPE (void *) pvUserR3
 PGMPHYSHANDLER::R3PTRTYPE (PFNPGMR3PHYSHANDLER) pfnHandlerR3
 PGMMAPPING::@414::R3PTRTYPE (PX86PTPAE) paPaePTsR3
 PGMMAPPING::@414::R3PTRTYPE (PVBOXPT) pPTR3
 PGMMAPPING::R3PTRTYPE (const char *) pszDesc
 PGMMAPPING::R3PTRTYPE (void *) pvUser
 PGMMAPPING::R3PTRTYPE (PFNPGMRELOCATE) pfnRelocate

Variables

RTHCPHYS PGMRAMRANGE::aHCPhys [1]
RTHCPHYS PGM::aHCPhysDynPageMapCache [MM_HYPER_DYNAMIC_SIZE >>(PAGE_SHIFT+1)]
uint16_t PGMPOOLPHYSEXT::aidx [3]
uint16_t PGMPOOL::aiHash [PGMPOOL_HASH_SIZE]
uint32_t PGMPOOL::Alignment3
PGMPOOLPAGE PGMPOOL::aPages [PGMPOOL_IDX_FIRST]
PGMPHYS2VIRTHANDLER PGMVIRTHANDLER::aPhysToVirt [HC_ARCH_BITS==32?1:2]
struct {
 GCPTRTYPE (PX86PTPAE) paPaePTsGC
 GCPTRTYPE (PVBOXPT) pPTGC
 R0PTRTYPE (PX86PTPAE) paPaePTsR0
 R0PTRTYPE (PVBOXPT) pPTR0
 R3PTRTYPE (PX86PTPAE) paPaePTsR3
 R3PTRTYPE (PVBOXPT) pPTR3
   RTHCPHYS   PGMMAPPING::HCPhysPaePT0
   RTHCPHYS   PGMMAPPING::HCPhysPaePT1
   RTHCPHYS   HCPhysPT
PGMMAPPING::aPTs [1]
uint32_t PGMTREES::auPadding [1]
uint8_t PGMPOOLPAGE::bPadding
RTGCPHYS PGMRAMRANGE::cb
RTGCUINTPTR PGMVIRTHANDLER::cb
RTGCUINTPTR PGMMAPPING::cb
uint32_t PGM::cbMappingFixed
RTUINT PGM::cbRamSize
uint16_t PGMPOOL::cCurPages
uint16_t PGMPOOL::cMaxPages
uint16_t PGMPOOL::cMaxPhysExts
uint16_t PGMPOOL::cMaxUsers
uint16_t PGMPOOLPAGE::cModifications
uint16_t PGMPOOL::cModifiedPages
uint32_t PGMVIRTHANDLER::cPages
uint32_t PGMPHYSHANDLER::cPages
uint32_t PGMPOOL::cPresent
uint16_t PGMPOOLPAGE::cPresent
RTUINT PGMMAPPING::cPTs
PDMCRITSECT PGM::CritSect
uint16_t PGMPOOL::cUsedPages
PGMMODE PGM::enmGuestMode
SUPPAGINGMODE PGM::enmHostMode
uint8_t PGMPOOLPAGE::enmKind
PGMMODE PGM::enmShadowMode
PGMVIRTHANDLERTYPE PGMVIRTHANDLER::enmType
PGMPHYSHANDLERTYPE PGMPHYSHANDLER::enmType
PGMPHYSCACHE_ENTRY PGMPHYSCACHE::Entry [PGM_MAX_PHYSCACHE_ENTRIES]
RTUINT PGM::fA20Enabled
bool PGMPOOLPAGE::fCached
bool PGMPOOL::fCacheEnabled
bool PGMPOOLPAGE::fCR3Mix
bool PGM::fDisableMappings
uint32_t PGMRAMRANGE::fFlags
bool PGM::fMappingsFixed
bool PGMPOOLPAGE::fMonitored
bool PGM::fNoMorePhysWrites
bool PGM::fPhysCacheFlushPending
bool volatile PGMPOOLPAGE::fReusedFlushPending
bool PGMPOOLPAGE::fSeenNonGlobal
RTUINT PGM::fSyncFlags
bool PGMPOOLPAGE::fZeroed
__END_DECLS RTGCPHYS GCPhys
RTGCPHYS PGMPOOLPAGE::GCPhys
RTGCPHYS PGMPHYSCACHE_ENTRY::GCPhys
RTGCPHYS PGMRAMRANGE::GCPhys
RTGCPHYS PGM::GCPhysA20Mask
RTGCPHYS PGM::GCPhysCR3
__BEGIN_DECLS RTGCUINT
PCPUMCTXCORE void RTGCPHYS 
GCPhysFault
RTGCPHYS PGM::GCPhysGstCR3Monitored
RTGCPHYS PGMRAMRANGE::GCPhysLast
RTGCPTR PGMVIRTHANDLER::GCPtr
RTGCUINTPTR PGMMAPPING::GCPtr
RTGCPTR PGM::GCPtrCR3Mapping
RTGCPTR PGMVIRTHANDLER::GCPtrLast
RTGCUINTPTR PGMMAPPING::GCPtrLast
RTGCPTR PGM::GCPtrMappingFixed
RTHCPHYS   PGMMAPPING::HCPhysPaePT0
RTHCPHYS   PGMMAPPING::HCPhysPaePT1
AVLOHCPHYSTREE PGMPOOL::HCPhysTree
uint16_t PGMPOOL::iAgeHead
uint16_t PGMPOOLPAGE::iAgeNext
uint16_t PGMPOOLPAGE::iAgePrev
uint16_t PGMPOOL::iAgeTail
uint16_t PGMPOOLPAGE::idx
RTUINT PGM::iDynPageMapLast
uint16_t PGMPOOLPAGE::iFirstPresent
uint16_t PGMPOOL::iFreeHead
uint16_t PGMPOOL::iModifiedHead
uint16_t PGMPOOLPAGE::iModifiedNext
uint16_t PGMPOOLPAGE::iModifiedPrev
uint16_t PGMPOOLPAGE::iMonitoredNext
uint16_t PGMPOOLPAGE::iMonitoredPrev
uint16_t PGMPOOLPAGE::iNext
uint16_t PGMPOOL::iPhysExtFreeHead
uint16_t PGMPOOLUSER::iUser
uint16_t PGMPOOL::iUserFreeHead
uint16_t PGMPOOLPAGE::iUserHead
uint16_t PGMPOOLUSER::iUserTable
int32_t PGMPHYS2VIRTHANDLER::offNextAlias
RTGCINTPTR PGMPHYS2VIRTHANDLER::offVirtHandler
PGMPHYSCACHE PGM::pgmphysreadcache
PGMPHYSCACHE PGM::pgmphyswritecache
PCDBGFINFOHLP pHlp
AVLROGCPHYSTREE PGMTREES::PhysToVirtHandlers
__BEGIN_DECLS RTGCUINT PCPUMCTXCORE pRegFrame
PCDBGFINFOHLP const char * pszArgs
__BEGIN_DECLS RTGCUINT
PCPUMCTXCORE void * 
pvFault
__BEGIN_DECLS RTGCUINT
PCPUMCTXCORE void RTGCPHYS
void * 
pvUser
uint16_t PGMPOOL::u16Padding
uint32_t PGMVIRTHANDLER::u32Padding
uint32_t PGMPHYSHANDLER::u32Padding
__BEGIN_DECLS RTGCUINT uErrorCode
uint32_t PGMMODEDATA::uShwType
AVLROGCPTRTREE PGMTREES::VirtHandlers


Generated by  Doxygen 1.6.0   Back to index