VirtualBox

source: vbox/trunk/src/VBox/VMM/include/HMInternal.mac@ 62145

Last change on this file since 62145 was 59003, checked in by vboxsync, 9 years ago

HM: Fixes for the VT-x trace points and debug events.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1;$Id: HMInternal.mac 59003 2015-12-04 21:46:44Z vboxsync $
2;; @file
3; HM - Internal header file.
4;
5
6;
7; Copyright (C) 2006-2015 Oracle Corporation
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 (GPL) as published by the Free Software
13; Foundation, in version 2 as it comes in the "COPYING" file of the
14; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17
18%if HC_ARCH_BITS == 32
19 %define VMX_USE_CACHED_VMCS_ACCESSES
20%endif
21
22;Maximum number of cached entries.
23%define VMCSCACHE_MAX_ENTRY 128
24
25; Structure for storing read and write VMCS actions.
26struc VMCSCACHE
27%ifdef VBOX_WITH_CRASHDUMP_MAGIC
28 .aMagic resb 16
29 .uMagic resq 1
30 .u64TimeEntry resq 1
31 .u64TimeSwitch resq 1
32 .cResume resq 1
33 .interPD resq 1
34 .pSwitcher resq 1
35 .uPos resd 1
36 .idCpu resd 1
37%endif
38 .cr2 resq 1
39 .Write.cValidEntries resd 1
40 .Write.uAlignment resd 1
41 .Write.aField resd VMCSCACHE_MAX_ENTRY
42 .Write.aFieldVal resq VMCSCACHE_MAX_ENTRY
43 .Read.cValidEntries resd 1
44 .Read.uAlignment resd 1
45 .Read.aField resd VMCSCACHE_MAX_ENTRY
46 .Read.aFieldVal resq VMCSCACHE_MAX_ENTRY
47%ifdef VBOX_STRICT
48 .TestIn.HCPhysCpuPage resq 1
49 .TestIn.HCPhysVmcs resq 1
50 .TestIn.pCache resq 1
51 .TestIn.pCtx resq 1
52 .TestOut.HCPhysVmcs resq 1
53 .TestOut.pCache resq 1
54 .TestOut.pCtx resq 1
55 .TestOut.eflags resq 1
56 .TestOut.cr8 resq 1
57 .ScratchPad.param1 resq 1
58 .ScratchPad.param2 resq 1
59 .ScratchPad.param3 resq 1
60 .ScratchPad.param4 resq 1
61%endif
62endstruc
63
64
65struc HMCPU
66 .fForceTLBFlush resb 1
67 .fActive resb 1
68 .fCheckedTLBFlush resb 1
69 .fLeaveDone resb 1
70 .fUsingHyperDR7 resb 1
71 .fPreloadGuestFpu resb 1
72 .fLoadSaveGuestXcr0 resb 1
73
74 .fUseDebugLoop resb 1
75 .fUsingDebugLoop resb 1
76 .fDebugWantRdTscExit resb 1
77 .fSingleInstruction resb 1
78 .fClearTrapFlag resb 1
79
80 .fGIMTrapXcptUD resb 1
81 .fHypercallsEnabled resb 1
82 alignb 8
83
84 .cWorldSwitchExits resd 1
85 .fContextUseFlags resd 1
86 .idLastCpu resd 1
87 .cTlbFlushes resd 1
88 .uCurrentAsid resd 1
89 .u32HMError resd 1
90 alignb 8
91 .u64HostTscAux resq 1
92
93 ; incomplete to save unnecessary pain...
94endstruc
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