VirtualBox

source: vbox/trunk/include/VBox/vm.mac@ 21217

Last change on this file since 21217 was 19454, checked in by vboxsync, 15 years ago

VMM++: More on poking. Fixed broken R0 stats (wrong way of calling into VMMR0), use NIL_VMCPUID instead of 0 to VMMR0EntryEx when it is supposed to be irrellevant. Use VMCPUID. Allow for and check NIL_VMCPUID. Fixed a few missing/wrong idCpu checks (paranoia mostly).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 KB
Line 
1;; @file
2;
3; VM - The Virtual Machine.
4;
5
6;
7; Copyright (C) 2006-2007 Sun Microsystems, Inc.
8;
9; This file is part of VirtualBox Open Source Edition (OSE), as
10; available from http://www.virtualbox.org. This file is free software;
11; you can redistribute it and/or modify it under the terms of the GNU
12; General Public License (GPL) as published by the Free Software
13; Foundation, in version 2 as it comes in the "COPYING" file of the
14; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17; The contents of this file may alternatively be used under the terms
18; of the Common Development and Distribution License Version 1.0
19; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20; VirtualBox OSE distribution, in which case the provisions of the
21; CDDL are applicable instead of those of the GPL.
22;
23; You may elect to license modified versions of this file under the
24; terms and conditions of either the GPL or the CDDL or both.
25;
26; Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
27; Clara, CA 95054 USA or visit http://www.sun.com if you need
28; additional information or have any questions.
29;
30
31%ifndef __VBox_vm_mac__
32%define __VBox_vm_mac__
33
34%include "VBox/stam.mac"
35
36;/** This action forces the VM to service check and pending interrups on the APIC. */
37%define VMCPU_FF_INTERRUPT_APIC (1 << 0)
38;/** This action forces the VM to service check and pending interrups on the PIC. */
39%define VMCPU_FF_INTERRUPT_PIC (1 << 1)
40;/** This action forces the VM to schedule and run pending timer (TM). */
41%define VMCPU_FF_TIMER (1 << 2)
42;/** This action forces the VM to service pending requests from other
43; * thread or requests which must be executed in another context. */
44%define VMCPU_FF_REQUEST (1 << 9)
45
46;;
47; This is part of the VM structure.
48struc VM
49 .enmVMState resd 1
50 .fGlobalForcedActions resd 1
51 .paVMPagesR3 RTR3PTR_RES 1
52 .pSession RTR0PTR_RES 1
53 .pUVM RTR3PTR_RES 1
54 .pVMR3 RTR3PTR_RES 1
55 .pVMR0 RTR0PTR_RES 1
56 .pVMRC RTRCPTR_RES 1
57 .hSelf resd 1
58 .cCPUs resd 1
59 .cbSelf resd 1
60 .offVMCPU resd 1
61 .u32Reserved resd 6
62
63 .pfnVMMGCGuestToHostAsmGuestCtx RTRCPTR_RES 1
64 .pfnVMMGCGuestToHostAsmHyperCtx RTRCPTR_RES 1
65 .pfnVMMGCGuestToHostAsm RTRCPTR_RES 1
66
67 .uPadding1 RTHCPTR_RES 1
68 .uPadding2 RTHCPTR_RES 1
69
70 .fRawR3Enabled resb 1
71 .fRawR0Enabled resb 1
72 .fPATMEnabled resb 1
73 .fCSAMEnabled resb 1
74 .fHWACCMEnabled resb 1
75 .fHwVirtExtForced resb 1
76 .fPARAVEnabled resb 1
77
78 alignb 8
79
80 .StatTotalQemuToGC resb STAMPROFILEADV_size
81 .StatTotalGCToQemu resb STAMPROFILEADV_size
82 .StatTotalInGC resb STAMPROFILEADV_size
83 .StatTotalInQemu resb STAMPROFILEADV_size
84 .StatSwitcherToGC resb STAMPROFILEADV_size
85 .StatSwitcherToHC resb STAMPROFILEADV_size
86 .StatSwitcherSaveRegs resb STAMPROFILEADV_size
87 .StatSwitcherSysEnter resb STAMPROFILEADV_size
88 .StatSwitcherDebug resb STAMPROFILEADV_size
89 .StatSwitcherCR0 resb STAMPROFILEADV_size
90 .StatSwitcherCR4 resb STAMPROFILEADV_size
91 .StatSwitcherJmpCR3 resb STAMPROFILEADV_size
92 .StatSwitcherRstrRegs resb STAMPROFILEADV_size
93 .StatSwitcherLgdt resb STAMPROFILEADV_size
94 .StatSwitcherLidt resb STAMPROFILEADV_size
95 .StatSwitcherLldt resb STAMPROFILEADV_size
96 .StatSwitcherTSS resb STAMPROFILEADV_size
97
98 alignb 64
99 .cpum resb 2048
100 .vmm resb 1024
101
102endstruc
103
104;;
105; This is part of the VMCPU structure.
106struc VMCPU
107 .fLocalForcedActions resd 1
108 .enmState resd 1
109 .pUVCpu RTR3PTR_RES 1
110 .pVMR3 RTR3PTR_RES 1
111 .pVMR0 RTR0PTR_RES 1
112 .pVMRC RTRCPTR_RES 1
113 .idCpu resd 1
114
115 .hNativeThread RTR0PTR_RES 1
116 .idHostCpu resd 1
117
118 alignb 64
119
120 .cpum resb 4096
121endstruc
122
123
124%endif
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use