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