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

gmm.h File Reference


Detailed Description

GMM - The Global Memory Manager. (VMM)

Definition in file gmm.h.

#include <VBox/types.h>
#include <VBox/gvmm.h>
#include <VBox/sup.h>
#include <VBox/VMMDev.h>
#include <VBox/feature.h>
#include <iprt/avl.h>

Go to the source code of this file.

Classes

struct  GMMALLOCATEPAGESREQ
struct  GMMBALLOONEDPAGESREQ
struct  GMMFREELARGEPAGEREQ
struct  GMMFREEPAGEDESC
struct  GMMFREEPAGESREQ
struct  GMMINITIALRESERVATIONREQ
struct  GMMMAPUNMAPCHUNKREQ
struct  GMMMEMSTATSREQ
struct  GMMPAGEDESC
struct  GMMREGISTERSHAREDMODULEREQ
struct  GMMSHAREDMODULE
struct  GMMSHAREDPAGEDESC
struct  GMMSHAREDREGIONDESC
struct  GMMUNREGISTERSHAREDMODULEREQ
struct  GMMUPDATERESERVATIONREQ

Defines

#define GMM_CHUNK_NUM_PAGES   (1U << (GMM_CHUNK_SHIFT - PAGE_SHIFT))
#define GMM_CHUNK_SHIFT   21
#define GMM_CHUNK_SIZE   (1U << GMM_CHUNK_SHIFT)
#define GMM_CHUNKID_LAST   (GMM_PAGEID_LAST >> GMM_CHUNKID_SHIFT)
#define GMM_CHUNKID_SHIFT   (GMM_CHUNK_SHIFT - PAGE_SHIFT)
#define GMM_GCPHYS_LAST   UINT64_C(0x0000000fffff0000)
#define GMM_GCPHYS_UNSHAREABLE   UINT64_C(0x0000000fffff1000)
#define GMM_PAGEID_IDX_MASK   ((1U << GMM_CHUNKID_SHIFT) - 1)
#define GMM_PAGEID_LAST   (RT_BIT_32(28) - 1)
#define GMM_SHARED_MODULE_MAX_NAME_STRING   128
#define GMM_SHARED_MODULE_MAX_VERSION_STRING   16
#define GMMR0DECL(type)   DECLIMPORT(type) VBOXCALL
#define GMMR3DECL(type)   DECLIMPORT(type) VBOXCALL
#define NIL_GMM_CHUNKID   0
#define NIL_GMM_PAGEID   0

Typedefs

typedef GMMALLOCATEPAGESREQPGMMALLOCATEPAGESREQ
typedef GMMBALLOONEDPAGESREQPGMMBALLOONEDPAGESREQ
typedef GMMFREELARGEPAGEREQPGMMFREELARGEPAGEREQ
typedef GMMFREEPAGEDESCPGMMFREEPAGEDESC
typedef GMMFREEPAGESREQPGMMFREEPAGESREQ
typedef GMMINITIALRESERVATIONREQPGMMINITIALRESERVATIONREQ
typedef GMMMAPUNMAPCHUNKREQPGMMMAPUNMAPCHUNKREQ
typedef GMMMEMSTATSREQPGMMMEMSTATSREQ
typedef GMMPAGEDESCPGMMPAGEDESC
typedef
GMMREGISTERSHAREDMODULEREQ
PGMMREGISTERSHAREDMODULEREQ
typedef GMMSHAREDMODULEPGMMSHAREDMODULE
typedef GMMSHAREDPAGEDESCPGMMSHAREDPAGEDESC
typedef GMMSHAREDREGIONDESCPGMMSHAREDREGIONDESC
typedef
GMMUNREGISTERSHAREDMODULEREQ
PGMMUNREGISTERSHAREDMODULEREQ
typedef GMMUPDATERESERVATIONREQPGMMUPDATERESERVATIONREQ

Enumerations

enum  GMMACCOUNT {
  GMMACCOUNT_INVALID = 0, GMMACCOUNT_BASE, GMMACCOUNT_SHADOW, GMMACCOUNT_FIXED,
  GMMACCOUNT_END, GMMACCOUNT_32BIT_HACK = 0x7fffffff
}
enum  GMMBALLOONACTION {
  GMMBALLOONACTION_INVALID = 0, GMMBALLOONACTION_INFLATE, GMMBALLOONACTION_DEFLATE, GMMBALLOONACTION_RESET,
  GMMBALLOONACTION_END, GMMBALLOONACTION_MAKE_32BIT_HACK = 0x7fffffff
}
enum  GMMOCPOLICY {
  GMMOCPOLICY_INVALID = 0, GMMOCPOLICY_NO_OC, GMMOCPOLICY_TBD, GMMOCPOLICY_END,
  GMMOCPOLICY_32BIT_HACK = 0x7fffffff
}
enum  GMMPRIORITY {
  GMMPRIORITY_INVALID = 0, GMMPRIORITY_HIGH, GMMPRIORITY_NORMAL, GMMPRIORITY_LOW,
  GMMPRIORITY_END, GMMPRIORITY_32BIT_HACK = 0x7fffffff
}

Functions

 AssertCompileSize (GMMPAGEDESC, 16)
 GMMR0DECL (void) GMMR0Term(void)
 GMMR0DECL (int) GMMR0Init(void)

Variables

VMCPUID GMMBALLOONACTION uint32_t cBalloonedPages
VMCPUID uint64_t cBasePages
VMCPUID VBOXOSFAMILY char char
RTGCPTR uint32_t 
cbModule
VMCPUID uint32_t cbPage
VMCPUID uint64_t uint32_t uint32_t cFixedPages
VMCPUID uint32_t cPages
VMCPUID uint32_t uint32_t cPagesToAlloc
VMCPUID uint32_t cPagesToUpdate
VMCPUID VBOXOSFAMILY char char
RTGCPTR uint32_t unsigned 
cRegions
VMCPUID uint64_t uint32_t cShadowPages
VMCPUID uint32_t PGMMPAGEDESC
GMMACCOUNT 
enmAccount
VMCPUID GMMBALLOONACTION enmAction
VMCPUID VBOXOSFAMILY enmGuestOS
VMCPUID uint64_t uint32_t
uint32_t GMMOCPOLICY 
enmPolicy
VMCPUID uint64_t uint32_t
uint32_t GMMOCPOLICY
GMMPRIORITY 
enmPriority
VMCPUID VBOXOSFAMILY char char
RTGCPTR 
GCBaseAddr
uint32_t idChunkMap
uint32_t uint32_t idChunkUnmap
VMCPUID idCpu
VMCPUID uint32_t idPage
PGMMSHAREDMODULE unsigned unsigned idxPage
PGMMSHAREDMODULE unsigned idxRegion
VMCPUID uint32_t uint32_t
PGMMPAGEDESC 
paPages
VMCPUID uint32_t uint32_t
RTHCPHYS
pHCPhys
VMCPUID uint32_t uint32_t * pIdPage
PGMMSHAREDMODULE pModule
PGMMSHAREDMODULE unsigned
unsigned PGMMSHAREDPAGEDESC 
pPageDesc
uint32_t uint32_t PRTR3PTR ppvR3
VMCPUID VBOXOSFAMILY char char
RTGCPTR uint32_t unsigned
VMMDEVSHAREDREGIONDESC
pRegions
VMCPUID PGMMINITIALRESERVATIONREQ pReq
VMCPUID VBOXOSFAMILY char * pszModuleName
VMCPUID VBOXOSFAMILY char char * pszVersion
PVMCPU pVCpu
VMCPUID RTR3PTR pvR3


Generated by  Doxygen 1.6.0   Back to index