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

VM Struct Reference
[The Virtual Machine]

#include <vm.h>

List of all members.


Detailed Description

This is the VM structure.

It contains (nearly?) all the VM data which have to be available in all contexts. Even if it contains all the data the idea is to use APIs not to modify all the members all around the place. Therefore we make use of unions to hide everything which isn't local to the current source module. This means we'll have to pay a little bit of attention when adding new members to structures in the unions and make sure to keep the padding sizes up to date.

Run tstVMStructSize after update!

Definition at line 441 of file vm.h.


Public Member Functions

 R0PTRTYPE (struct VM *) pVMR0
 R3PTRTYPE (struct VM *) pVMR3
 R3PTRTYPE (PSUPPAGE) paVMPagesR3
 RCPTRTYPE (struct VM *) pVMRC

Public Attributes

VMCPU aCpus [1]
uint32_t cbSelf
uint32_t cCPUs
union {
   char   padding [32]
cfgm
union {
   char   padding [4096]
cpum
union {
   char   padding [3328]
csam
union {
   char   padding [2368]
dbgf
union {
   char   padding [1344]
em
VMSTATE enmVMState
volatile uint32_t fForcedActions
uint32_t hSelf
union {
   char   padding [512]
hwaccm
union {
   char   padding [4544]
iom
union {
   char   padding [192]
mm
uint32_t offVMCPU
uint32_t padding [HC_ARCH_BITS==32?4+8:6]
union {
   char   padding [128]
parav
union {
   char   padding [768]
patm
union {
   char   padding [1824]
pdm
union {
   char   padding [50 *1024]
pgm
PSUPDRVSESSION pSession
PUVM pUVM
union {
   char   padding [VM_REM_SIZE]
rem
union {
   char   padding [544]
selm
union {
   char   padding [32]
ssm
STAMPROFILEADV StatSwitcherCR0
STAMPROFILEADV StatSwitcherCR4
STAMPROFILEADV StatSwitcherDebug
STAMPROFILEADV StatSwitcherJmpCR3
STAMPROFILEADV StatSwitcherLgdt
STAMPROFILEADV StatSwitcherLidt
STAMPROFILEADV StatSwitcherLldt
STAMPROFILEADV StatSwitcherRstrRegs
STAMPROFILEADV StatSwitcherSaveRegs
STAMPROFILEADV StatSwitcherSysEnter
STAMPROFILEADV StatSwitcherToGC
STAMPROFILEADV StatSwitcherToHC
STAMPROFILEADV StatSwitcherTSS
STAMPROFILEADV StatTotalGCToQemu
STAMPROFILEADV StatTotalInGC
STAMPROFILEADV StatTotalInQemu
STAMPROFILEADV StatTotalQemuToGC
union {
   char   padding [1536]
tm
union {
   char   padding [5344]
trpm
uint32_t u32Reserved [6]
uint32_t u32Reserved2 [8]
union {
   char   padding [768]
vm
union {
   char   padding [1536]
vmm
Various items that are frequently accessed.
bool fCSAMEnabled
bool fHWACCMEnabled
bool fHwVirtExtForced
bool fPARAVEnabled
bool fPATMEnabled
bool fRawR0Enabled
bool fRawR3Enabled
Public VMM Switcher APIs
RTRCPTR pfnVMMGCGuestToHostAsm
RTRCPTR pfnVMMGCGuestToHostAsmGuestCtx
RTRCPTR pfnVMMGCGuestToHostAsmHyperCtx
Various VM data owned by VM.
RTTHREAD uPadding1
RTNATIVETHREAD uPadding2

The documentation for this struct was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index