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

vm.h File Reference


Detailed Description

VM - The Virtual Machine, data.

Definition in file vm.h.

#include <VBox/cdefs.h>
#include <VBox/types.h>
#include <VBox/cpum.h>
#include <VBox/stam.h>
#include <VBox/vmapi.h>
#include <VBox/sup.h>

Go to the source code of this file.

Classes

struct  VM
struct  VMCPU

Defines

#define VM_ASSERT_EMT(pVM)
#define VM_ASSERT_EMT_RETURN(pVM, rc)
#define VM_ASSERT_OTHER_THREAD(pVM)   AssertMsg(!VM_IS_EMT(pVM), ("Not other thread!!\n"))
#define VM_ASSERT_STATE(pVM, _enmState)
#define VM_ASSERT_STATE_RETURN(pVM, _enmState, rc)
#define VM_FF_CLEAR(pVM, fFlag)   ASMAtomicAndU32(&(pVM)->fForcedActions, ~(fFlag))
#define VM_FF_ISPENDING(pVM, fFlags)   ((pVM)->fForcedActions & (fFlags))
#define VM_FF_ISSET(pVM, fFlag)   (((pVM)->fForcedActions & (fFlag)) == (fFlag))
#define VM_FF_SET(pVM, fFlag)   ASMAtomicOrU32(&(pVM)->fForcedActions, (fFlag))
#define VM_IS_EMT(pVM)   (VMR3GetVMCPUNativeThread(pVM) == RTThreadNativeSelf())
#define VM_REM_SIZE   (HC_ARCH_BITS == 32 ? 0x10900 : 0x10900)
#define VMCPU_FF_CLEAR(pVM, idCpu, fFlag)   VM_FF_CLEAR(pVM, fFlag)
#define VMCPU_FF_ISPENDING(pVM, idCpu, fFlags)   VM_FF_ISPENDING(pVM, fFlags)
#define VMCPU_FF_ISSET(pVM, idCpu, fFlag)   VM_FF_ISSET(pVM, fFlag)
#define VMCPU_FF_SET(pVM, idCpu, fFlag)   VM_FF_SET(pVM, fFlag)
#define VMCPU_MAX_CPU_COUNT   255
#define VMMGC_MAIN_MODULE_NAME   "VMMGC.gc"
#define VMMR0_MAIN_MODULE_NAME   "VMMR0.r0"
#define VM_FF_ALL_BUT_RAW_MASK   (~(VM_FF_HIGH_PRIORITY_PRE_RAW_MASK | VM_FF_CSAM_PENDING_ACTION | VM_FF_PDM_CRITSECT))
#define VM_FF_ALL_MASK   (~0U)
#define VM_FF_CSAM_PENDING_ACTION   RT_BIT_32(25)
#define VM_FF_CSAM_SCAN_PAGE   RT_BIT_32(24)
#define VM_FF_DBGF   RT_BIT_32(8)
#define VM_FF_DEBUG_SUSPEND   RT_BIT_32(31)
#define VM_FF_EXTERNAL_HALTED_MASK   (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_TIMER | VM_FF_INTERRUPT_APIC | VM_FF_INTERRUPT_PIC | VM_FF_REQUEST | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA)
#define VM_FF_EXTERNAL_SUSPENDED_MASK   (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_REQUEST)
#define VM_FF_HIGH_PRIORITY_POST_MASK   (VM_FF_PDM_CRITSECT | VM_FF_CSAM_PENDING_ACTION)
#define VM_FF_HIGH_PRIORITY_PRE_MASK
#define VM_FF_HIGH_PRIORITY_PRE_RAW_MASK
#define VM_FF_INHIBIT_INTERRUPTS   RT_BIT_32(23)
#define VM_FF_INTERRUPT_APIC   RT_BIT_32(0)
#define VM_FF_INTERRUPT_PIC   RT_BIT_32(1)
#define VM_FF_NORMAL_PRIORITY_MASK   (VM_FF_REQUEST | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA | VM_FF_REM_HANDLER_NOTIFY)
#define VM_FF_NORMAL_PRIORITY_POST_MASK   (VM_FF_TERMINATE | VM_FF_DBGF | VM_FF_RESET | VM_FF_CSAM_SCAN_PAGE)
#define VM_FF_PDM_CRITSECT   RT_BIT_32(5)
#define VM_FF_PDM_DMA   RT_BIT_32(4)
#define VM_FF_PDM_QUEUES   RT_BIT_32(3)
#define VM_FF_PGM_NEED_HANDY_PAGES   RT_BIT_32(18)
#define VM_FF_PGM_SYNC_CR3   RT_BIT_32(16)
#define VM_FF_PGM_SYNC_CR3_NON_GLOBAL   RT_BIT_32(17)
#define VM_FF_REM_HANDLER_NOTIFY   RT_BIT_32(29)
#define VM_FF_REQUEST   RT_BIT_32(9)
#define VM_FF_RESET   RT_BIT_32(11)
#define VM_FF_RESUME_GUEST_MASK   (VM_FF_TO_R3)
#define VM_FF_SELM_SYNC_GDT   RT_BIT_32(21)
#define VM_FF_SELM_SYNC_LDT   RT_BIT_32(22)
#define VM_FF_SELM_SYNC_TSS   RT_BIT_32(20)
#define VM_FF_TERMINATE   RT_BIT_32(10)
#define VM_FF_TIMER   RT_BIT_32(2)
#define VM_FF_TO_R3   RT_BIT_32(28)
#define VM_FF_TRPM_SYNC_IDT   RT_BIT_32(19)

Typedefs

typedef struct VMPVM
typedef struct VMCPUPVMCPU

Enumerations

enum  VMCPUSTATE {
  VMCPUSTATE_INVALID = 0, VMCPUSTATE_RUN_EXEC, VMCPUSTATE_RUN_EXEC_REM, VMCPUSTATE_RUN_HALTED,
  VMCPUSTATE_RUN_MISC, VMCPUSTATE_NOT_RUNNING, VMCPUSTATE_END, VMCPUSTATE_32BIT_HACK = 0x7fffffff
}


Generated by  Doxygen 1.6.0   Back to index