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 262 of file vm.h.


Public Member Functions

 GCPTRTYPE (struct VM *) pVMGC
 R0PTRTYPE (struct VM *) pVMR0
 R3PTRTYPE (struct VM *) pVMR3
 R3PTRTYPE (PSUPPAGE) paVMPagesR3

Public Attributes

union {
   char   padding [32]
cfgm
union {
   char   padding [4384]
cpum
union {
   char   padding [3328]
csam
union {
   char   padding [HC_ARCH_BITS==32?1920:1952]
dbgf
union {
   char   padding [1344]
em
VMSTATE enmVMState
volatile uint32_t fForcedActions
uint32_t hSelf
union {
   char   padding [1024]
hwaccm
union {
   char   padding [4544]
iom
union {
   char   padding [128]
mm
uint32_t padding [HC_ARCH_BITS==32?4:6]
union {
   char   padding [768]
patm
union {
   char   padding [1056]
pdm
union {
   char   padding [50 *1024]
pgm
PSUPDRVSESSION pSession
PUVM pUVM
union {
   char   padding [HC_ARCH_BITS==32?0x6f00:0xbf00]
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 [1312]
tm
union {
   char   padding [5344]
trpm
uint32_t u32Reserved
union {
   char   padding [768]
vm
union {
   char   padding [1024]
vmm
Various items that are frequently accessed.
bool fCSAMEnabled
bool fHWACCMEnabled
bool fPATMEnabled
bool fRawR0Enabled
bool fRawR3Enabled
Various VM data owned by VM.
RTNATIVETHREAD NativeThreadEMT
RTTHREAD ThreadEMT
Public VMM Switcher APIs
RTGCPTR32 pfnVMMGCGuestToHostAsm
RTGCPTR32 pfnVMMGCGuestToHostAsmGuestCtx
RTGCPTR32 pfnVMMGCGuestToHostAsmHyperCtx

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

Generated by  Doxygen 1.6.0   Back to index