2
; VM - The Virtual Machine.
6
; Copyright (C) 2006-2010 Oracle Corporation
8
; This file is part of VirtualBox Open Source Edition (OSE), as
9
; available from http://www.virtualbox.org. This file is free software;
10
; you can redistribute it and/or modify it under the terms of the GNU
11
; General Public License (GPL) as published by the Free Software
12
; Foundation, in version 2 as it comes in the "COPYING" file of the
13
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16
; The contents of this file may alternatively be used under the terms
17
; of the Common Development and Distribution License Version 1.0
18
; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19
; VirtualBox OSE distribution, in which case the provisions of the
20
; CDDL are applicable instead of those of the GPL.
22
; You may elect to license modified versions of this file under the
23
; terms and conditions of either the GPL or the CDDL or both.
26
%ifndef ___VBox_vmm_vm_mac__
27
%define ___VBox_vmm_vm_mac__
29
%include "VBox/vmm/stam.mac"
31
;/** This action forces the VM to service check and pending interrups on the APIC. */
32
%define VMCPU_FF_INTERRUPT_APIC (1 << 0)
33
;/** This action forces the VM to service check and pending interrups on the PIC. */
34
%define VMCPU_FF_INTERRUPT_PIC (1 << 1)
35
;/** This action forces the VM to schedule and run pending timer (TM). */
36
%define VMCPU_FF_TIMER (1 << 2)
37
;/** This action forces the VM to service pending requests from other
38
; * thread or requests which must be executed in another context. */
39
%define VMCPU_FF_REQUEST (1 << 9)
42
; This is part of the VM structure.
45
.fGlobalForcedActions resd 1
46
.paVMPagesR3 RTR3PTR_RES 1
47
.pSession RTR0PTR_RES 1
54
.uCpuExecutionCap resd 1
59
.pfnVMMGCGuestToHostAsmGuestCtx RTRCPTR_RES 1
60
.pfnVMMGCGuestToHostAsmHyperCtx RTRCPTR_RES 1
61
.pfnVMMGCGuestToHostAsm RTRCPTR_RES 1
63
.uPadding1 RTHCPTR_RES 1
64
.uPadding2 RTHCPTR_RES 1
70
.fHWACCMEnabled resb 1
71
.fHwVirtExtForced resb 1
72
.fFaultTolerantMaster resb 1
73
.fUseLargePages resb 1
77
.StatTotalQemuToGC resb STAMPROFILEADV_size
78
.StatTotalGCToQemu resb STAMPROFILEADV_size
79
.StatTotalInGC resb STAMPROFILEADV_size
80
.StatTotalInQemu resb STAMPROFILEADV_size
81
.StatSwitcherToGC resb STAMPROFILEADV_size
82
.StatSwitcherToHC resb STAMPROFILEADV_size
83
.StatSwitcherSaveRegs resb STAMPROFILEADV_size
84
.StatSwitcherSysEnter resb STAMPROFILEADV_size
85
.StatSwitcherDebug resb STAMPROFILEADV_size
86
.StatSwitcherCR0 resb STAMPROFILEADV_size
87
.StatSwitcherCR4 resb STAMPROFILEADV_size
88
.StatSwitcherJmpCR3 resb STAMPROFILEADV_size
89
.StatSwitcherRstrRegs resb STAMPROFILEADV_size
90
.StatSwitcherLgdt resb STAMPROFILEADV_size
91
.StatSwitcherLidt resb STAMPROFILEADV_size
92
.StatSwitcherLldt resb STAMPROFILEADV_size
93
.StatSwitcherTSS resb STAMPROFILEADV_size
96
%error "Missing HC_ARCH_BITS"
98
%if HC_ARCH_BITS == 32
101
.abAlignment1 resb 24
111
; This is part of the VMCPU structure.
113
.fLocalForcedActions resd 1
115
.pUVCpu RTR3PTR_RES 1
118
.pvR0Padding RTR0PTR_RES 1
122
.hNativeThread RTR0PTR_RES 1
123
.hNativeThreadR0 RTR0PTR_RES 1
126
.aStatAdHoc resb STAMPROFILEADV_size * 8
128
%if HC_ARCH_BITS == 32
129
.abAlignment1 resd 16+1