vm.mac revision c97989161fbe75bc14cea477a5443bbf474dd3ad
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;; @file
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; VM - The Virtual Machine.
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin; Copyright (C) 2006-2007 innotek GmbH
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; This file is part of VirtualBox Open Source Edition (OSE), as
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; available from http://www.virtualbox.org. This file is free software;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; you can redistribute it and/or modify it under the terms of the GNU
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; General Public License as published by the Free Software Foundation,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; distribution. VirtualBox OSE is distributed in the hope that it will
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; be useful, but WITHOUT ANY WARRANTY of any kind.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; If you received this file as part of a commercial VirtualBox
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; distribution, then only the terms of your commercial VirtualBox
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; license agreement apply instead of the previous paragraph.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner%ifndef __VBox_vm_mac__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%define __VBox_vm_mac__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%include "VBox/stam.mac"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;/** This action forces the VM to service check and pending interrups on the APIC. */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%define VM_FF_INTERRUPT_APIC (1 << 0)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;/** This action forces the VM to service check and pending interrups on the PIC. */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%define VM_FF_INTERRUPT_PIC (1 << 1)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;/** This action forces the VM to schedule and run pending timer (TM). */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%define VM_FF_TIMER (1 << 2)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;/** This action forces the VM to service pending requests from other
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; * thread or requests which must be executed in another context. */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%define VM_FF_REQUEST (1 << 9)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin;;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin; This is part of the VM structure.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinstruc VM
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .enmVMState resd 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fForcedActions resd 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .paVMPagesR3 RTR3PTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pSession RTR3PTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pNext RTHCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pVMHC RTHCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pVMR3 RTR3PTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pVMR0 RTR0PTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pVMGC RTGCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pfnVMMGCGuestToHostAsmGuestCtx RTGCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pfnVMMGCGuestToHostAsmHyperCtx RTGCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .pfnVMMGCGuestToHostAsm RTGCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .ThreadEMT RTHCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .NativeThreadEMT RTHCPTR_RES 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fRawR3Enabled resb 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fRawR0Enabled resb 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fPATMEnabled resb 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fCSAMEnabled resb 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .fHWACCMEnabled resb 3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin alignb 8
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatTotalQemuToGC resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatTotalGCToQemu resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatTotalInGC resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatTotalInQemu resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherToGC resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherToHC resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherSaveRegs resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherSysEnter resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherDebug resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherCR0 resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherCR4 resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherJmpCR3 resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherRstrRegs resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherLgdt resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherLidt resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherLldt resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .StatSwitcherTSS resb STAMPROFILEADV_size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin alignb 32
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%ifdef VBOX_WITH_HYBIRD_32BIT_KERNEL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .cpum resb 3584
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%elif HC_ARCH_BITS == 32
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .cpum resb 3424
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%else
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .cpum resb 3552
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin .vmm resb 1024
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinendstruc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin%endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin