summaryrefslogtreecommitdiff
path: root/src/VBox/VMM/include/HMInternal.mac
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-03-26 19:21:20 +0000
committer <>2014-05-08 15:03:54 +0000
commitfb123f93f9f5ce42c8e5785d2f8e0edaf951740e (patch)
treec2103d76aec5f1f10892cd1d3a38e24f665ae5db /src/VBox/VMM/include/HMInternal.mac
parent58ed4748338f9466599adfc8a9171280ed99e23f (diff)
downloadVirtualBox-master.tar.gz
Imported from /home/lorry/working-area/delta_VirtualBox/VirtualBox-4.3.10.tar.bz2.HEADVirtualBox-4.3.10master
Diffstat (limited to 'src/VBox/VMM/include/HMInternal.mac')
-rw-r--r--src/VBox/VMM/include/HMInternal.mac66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/VBox/VMM/include/HMInternal.mac b/src/VBox/VMM/include/HMInternal.mac
new file mode 100644
index 00000000..02ae3315
--- /dev/null
+++ b/src/VBox/VMM/include/HMInternal.mac
@@ -0,0 +1,66 @@
+;$Id: HMInternal.mac $
+;; @file
+; HM - Internal header file.
+;
+;
+; Copyright (C) 2006-2012 Oracle Corporation
+;
+; This file is part of VirtualBox Open Source Edition (OSE), as
+; available from http://www.virtualbox.org. This file is free software;
+; you can redistribute it and/or modify it under the terms of the GNU
+; General Public License (GPL) as published by the Free Software
+; Foundation, in version 2 as it comes in the "COPYING" file of the
+; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+;
+
+%if HC_ARCH_BITS == 32
+ %ifndef VBOX_WITH_HYBRID_32BIT_KERNEL
+ %define VMX_USE_CACHED_VMCS_ACCESSES
+ %endif
+%endif
+
+%define VBOX_WITH_AUTO_MSR_LOAD_RESTORE
+
+;Maximum number of cached entries.
+%define VMCSCACHE_MAX_ENTRY 128
+
+; Structure for storing read and write VMCS actions.
+struc VMCSCACHE
+%ifdef VBOX_WITH_CRASHDUMP_MAGIC
+ .aMagic resb 16
+ .uMagic resq 1
+ .u64TimeEntry resq 1
+ .u64TimeSwitch resq 1
+ .cResume resq 1
+ .interPD resq 1
+ .pSwitcher resq 1
+ .uPos resd 1
+ .idCpu resd 1
+%endif
+ .cr2 resq 1
+ .Write.cValidEntries resd 1
+ .Write.uAlignment resd 1
+ .Write.aField resd VMCSCACHE_MAX_ENTRY
+ .Write.aFieldVal resq VMCSCACHE_MAX_ENTRY
+ .Read.cValidEntries resd 1
+ .Read.uAlignment resd 1
+ .Read.aField resd VMCSCACHE_MAX_ENTRY
+ .Read.aFieldVal resq VMCSCACHE_MAX_ENTRY
+%ifdef VBOX_STRICT
+ .TestIn.HCPhysCpuPage resq 1
+ .TestIn.HCPhysVmcs resq 1
+ .TestIn.pCache resq 1
+ .TestIn.pCtx resq 1
+ .TestOut.HCPhysVmcs resq 1
+ .TestOut.pCache resq 1
+ .TestOut.pCtx resq 1
+ .TestOut.eflags resq 1
+ .TestOut.cr8 resq 1
+ .ScratchPad.param1 resq 1
+ .ScratchPad.param2 resq 1
+ .ScratchPad.param3 resq 1
+ .ScratchPad.param4 resq 1
+%endif
+endstruc
+