VirtualBox

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

Last change on this file since 2648 was 1480, checked in by vboxsync, 18 years ago

No longer require contiguous memory for the VM structure.
Did long overdue IOCtl cleanup wrt R3/R0 pointers.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1;; @file
2;
3; VM - The Virtual Machine.
4;
5
6;
7; Copyright (C) 2006 InnoTek Systemberatung GmbH
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 as published by the Free Software Foundation,
13; in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14; distribution. VirtualBox OSE is distributed in the hope that it will
15; be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17; If you received this file as part of a commercial VirtualBox
18; distribution, then only the terms of your commercial VirtualBox
19; license agreement apply instead of the previous paragraph.
20;
21
22%ifndef __VBox_vm_mac__
23%define __VBox_vm_mac__
24
25%include "VBox/stam.mac"
26
27;/** This action forces the VM to service check and pending interrups on the APIC. */
28%define VM_FF_INTERRUPT_APIC (1 << 0)
29;/** This action forces the VM to service check and pending interrups on the PIC. */
30%define VM_FF_INTERRUPT_PIC (1 << 1)
31;/** This action forces the VM to schedule and run pending timer (TM). */
32%define VM_FF_TIMER (1 << 2)
33;/** This action forces the VM to service pending requests from other
34; * thread or requests which must be executed in another context. */
35%define VM_FF_REQUEST (1 << 9)
36
37;;
38; This is part of the VM structure.
39struc VM
40 .enmVMState resd 1
41 .fForcedActions resd 1
42 .paVMPagesR3 RTR3PTR_RES 1
43 .pSession RTR3PTR_RES 1
44 .pNext RTHCPTR_RES 1
45 .pVMHC RTHCPTR_RES 1
46 .pVMR3 RTR3PTR_RES 1
47 .pVMR0 RTR0PTR_RES 1
48 .pVMGC RTGCPTR_RES 1
49
50 .pfnVMMGCGuestToHostAsmGuestCtx RTGCPTR_RES 1
51 .pfnVMMGCGuestToHostAsmHyperCtx RTGCPTR_RES 1
52 .pfnVMMGCGuestToHostAsm RTGCPTR_RES 1
53
54 .ThreadEMT RTHCPTR_RES 1
55 .NativeThreadEMT RTHCPTR_RES 1
56
57 .fRawR3Enabled resb 1
58 .fRawR0Enabled resb 1
59 .fPATMEnabled resb 1
60 .fCSAMEnabled resb 1
61 .fHWACCMEnabled resb 3
62
63 alignb 8
64
65 .StatTotalQemuToGC resb STAMPROFILEADV_size
66 .StatTotalGCToQemu resb STAMPROFILEADV_size
67 .StatTotalInGC resb STAMPROFILEADV_size
68 .StatTotalInQemu resb STAMPROFILEADV_size
69 .StatSwitcherToGC resb STAMPROFILEADV_size
70 .StatSwitcherToHC resb STAMPROFILEADV_size
71 .StatSwitcherSaveRegs resb STAMPROFILEADV_size
72 .StatSwitcherSysEnter resb STAMPROFILEADV_size
73 .StatSwitcherDebug resb STAMPROFILEADV_size
74 .StatSwitcherCR0 resb STAMPROFILEADV_size
75 .StatSwitcherCR4 resb STAMPROFILEADV_size
76 .StatSwitcherJmpCR3 resb STAMPROFILEADV_size
77 .StatSwitcherRstrRegs resb STAMPROFILEADV_size
78 .StatSwitcherLgdt resb STAMPROFILEADV_size
79 .StatSwitcherLidt resb STAMPROFILEADV_size
80 .StatSwitcherLldt resb STAMPROFILEADV_size
81 .StatSwitcherTSS resb STAMPROFILEADV_size
82
83 alignb 32
84%ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL
85 .cpum resb 3584
86%elif HC_ARCH_BITS == 32
87 .cpum resb 3424
88%else
89 .cpum resb 3552
90%endif
91 .vmm resb 1024
92
93endstruc
94
95
96%endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette