vm.mac revision 7ce6e7e8fb0eddb176361a49f53fa1bd15eaab4e
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;; @file
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; VM - The Virtual Machine.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
3942acfaf590eaef4740d7b8a5311bb91e2bed0dvboxsync; Copyright (C) 2006-2012 Oracle Corporation
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; available from http://www.virtualbox.org. This file is free software;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; you can redistribute it and/or modify it under the terms of the GNU
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; General Public License (GPL) as published by the Free Software
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; The contents of this file may alternatively be used under the terms
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; of the Common Development and Distribution License Version 1.0
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; VirtualBox OSE distribution, in which case the provisions of the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; CDDL are applicable instead of those of the GPL.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; You may elect to license modified versions of this file under the
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; terms and conditions of either the GPL or the CDDL or both.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync%ifndef ___VBox_vmm_vm_mac
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync%define ___VBox_vmm_vm_mac
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%include "VBox/vmm/stam.mac"
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;/** This action forces the VM to service check and pending interrups on the APIC. */
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%define VMCPU_FF_INTERRUPT_APIC (1 << 0)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;/** This action forces the VM to service check and pending interrups on the PIC. */
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%define VMCPU_FF_INTERRUPT_PIC (1 << 1)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;/** This action forces the VM to schedule and run pending timer (TM). */
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%define VMCPU_FF_TIMER (1 << 2)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;/** This action forces the VM to service pending requests from other
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; * thread or requests which must be executed in another context. */
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%define VMCPU_FF_REQUEST (1 << 9)
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; This is part of the VM structure.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncstruc VM
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .enmVMState resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fGlobalForcedActions resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .paVMPagesR3 RTR3PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pSession RTR0PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pUVM RTR3PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMR3 RTR3PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMR0 RTR0PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMRC RTRCPTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .hSelf resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .cCpus resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .uCpuExecutionCap resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .cbSelf resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .offVMCPU resd 1
3942acfaf590eaef4740d7b8a5311bb91e2bed0dvboxsync .pfnVMMRCToHostAsm resd 1
3942acfaf590eaef4740d7b8a5311bb91e2bed0dvboxsync .pfnVMMRCToHostAsmNoReturn resd 1
196f5d54f710d2479d74f17c81a49562cc74f9a1vboxsync .fRecompileUser resb 1
196f5d54f710d2479d74f17c81a49562cc74f9a1vboxsync .fRecompileSupervisor resb 1
7ce6e7e8fb0eddb176361a49f53fa1bd15eaab4evboxsync .fRawRing1Enabled resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fPATMEnabled resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fCSAMEnabled resb 1
f091ce66ee934d599f16056078a9a76d7286b959vboxsync .fHMEnabled resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fHwVirtExtForced resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fFaultTolerantMaster resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fUseLargePages resb 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
7ce6e7e8fb0eddb176361a49f53fa1bd15eaab4evboxsync .uPadding1 resb 3
3942acfaf590eaef4740d7b8a5311bb91e2bed0dvboxsync
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync .hTraceBufRC RTRCPTR_RES 1
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync .hTraceBufR3 RTR3PTR_RES 1
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync .hTraceBufR0 RTR0PTR_RES 1
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync alignb 8
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatTotalQemuToGC resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatTotalGCToQemu resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatTotalInGC resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatTotalInQemu resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherToGC resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherToHC resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherSaveRegs resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherSysEnter resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherDebug resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherCR0 resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherCR4 resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherJmpCR3 resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherRstrRegs resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherLgdt resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherLidt resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherLldt resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .StatSwitcherTSS resb STAMPROFILEADV_size
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%ifndef HC_ARCH_BITS
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync %error "Missing HC_ARCH_BITS"
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%endif
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%if HC_ARCH_BITS == 32
3942acfaf590eaef4740d7b8a5311bb91e2bed0dvboxsync .abAlignment3 resb 16
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%else
dd689a9d08909a7c3670e62e8b058783e0805cbcvboxsync; .abAlignment3 resb 16
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%endif
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync alignb 64
673c4af47215ff0f21f244462a3dfd63f8b522cdvboxsync .cpum resb 1536
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .vmm resb 1536
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncendstruc
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync;;
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync; This is part of the VMCPU structure.
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncstruc VMCPU
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .fLocalForcedActions resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .enmState resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pUVCpu RTR3PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMR3 RTR3PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMR0 RTR0PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .pVMRC RTRCPTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .idCpu resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .hNativeThread RTR0PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .hNativeThreadR0 RTR0PTR_RES 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .idHostCpu resd 1
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync .fTraceGroups resd 1
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync%if HC_ARCH_BITS == 32
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync .abAlignment1 resb 16+64
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync%else
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync .abAlignment1 resb 60
a8b31f6b3abd04475d4abcb5292aa22131b5130fvboxsync%endif
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .uAdHoc resd 1
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync .aStatAdHoc resb STAMPROFILEADV_size * 8
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync alignb 64
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
c8968199d271abe749c08bcea0512f7239250cdcvboxsync .cpum resb 3584
f091ce66ee934d599f16056078a9a76d7286b959vboxsync .hm resb 5376
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .em resb 1472
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .iem resb 3072
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .trpm resb 128
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .tm resb 384
89f5aff9eff63826c9b171cc7fdb9dc1513fa09dvboxsync .vmm resb 704
a0352d06ef77cf45a08eb08b4d65d570b7b294cbvboxsync .pdm resb 256
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .iom resb 512
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .dbgf resb 64
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync alignb 4096
fa94cbe3cda9a48bb743f0c2b26ec06927878830vboxsync .pgm resb 4096
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsyncendstruc
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync
0b74a2f80aba476dc8be8bc1c63891fc53945986vboxsync%endif
a1d83f29ade4c8f9fe95fc75d3fb2642f36081c1vboxsync