VirtualBox

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

Last change on this file since 58944 was 58938, checked in by vboxsync, 9 years ago

HM,DBGF: Made DBGF notify HM about changes to VMM event and interrupt breakpoints. Made HM cache the basic info wrt ring-0 loop selection, opting for using a debug loop when debugging takes place to avoid cluttering slowing down the normal execution loop. The plan is to extend the single stepping loop and to put complicated dtrace probes into the same loop. Modified the VMX loop selection already.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1;$Id: HMInternal.mac 58938 2015-12-01 14:17:45Z 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 .fSingleInstruction resb 1
70 .fUseDebugLoop resb 1
71 .fClearTrapFlag resb 1
72 .fLeaveDone resb 1
73 .fUsingHyperDR7 resb 1
74 .fPreloadGuestFpu resb 1
75 .fLoadSaveGuestXcr0 resb 1
76 .fGIMTrapXcptUD resb 1
77 .fHypercallsEnabled resb 1
78 alignb 8
79 .cWorldSwitchExits resd 1
80 .fContextUseFlags resd 1
81 .idLastCpu resd 1
82 .cTlbFlushes resd 1
83 .uCurrentAsid resd 1
84 .u32HMError resd 1
85 alignb 8
86 .u64HostTscAux resq 1
87
88 ; incomplete to save unnecessary pain...
89endstruc
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