VirtualBox

source: vbox/trunk/src/VBox/VMM/include/VMMInternal.mac@ 72816

Last change on this file since 72816 was 72778, checked in by vboxsync, 6 years ago

VMM,SUPDrv,IPRT: Redirect ring-0 release logging on EMTs to VBox.log.

  • VMM: Added release ring-0 logging on EMTs that writes to VBox.log.
  • IPRT: Made 'msprog' and 'timeprog' work for ring-0 logging on EMTs.
  • IPRT: Removed RTLogSetCustomPrefixCallbackForR0.
  • VMM: Removed vmmR0LoggerPrefix that was assoicated with the above API.
  • IPRT Fixed missing log prefix on the first log line.
  • SUPDrv: Turns out we require actual code for SUPR0GetDefaultLogRelInstanceEx and SUPR0GetDefaultLogInstanceEx.

Note! Requires updating the support driver.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.4 KB
Line 
1; $Id: VMMInternal.mac 72778 2018-06-29 20:02:35Z vboxsync $
2;; @file
3; VMM - Internal header file.
4;
5
6;
7; Copyright (C) 2006-2017 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%include "VBox/asmdefs.mac"
19%include "VBox/sup.mac"
20
21;
22; Determine the default stack switching unless specified explicitly.
23;
24%ifndef VMM_R0_SWITCH_STACK
25 %ifndef VMM_R0_NO_SWITCH_STACK
26 %ifdef RT_OS_DARWIN
27 %define VMM_R0_SWITCH_STACK
28 %endif
29 %endif
30%endif
31
32
33struc VMMR0JMPBUF
34%ifdef RT_ARCH_X86
35 ; traditional jmp_buf
36 .ebx resd 1
37 .esi resd 1
38 .edi resd 1
39 .ebp resd 1
40 .esp resd 1
41 .eip resd 1
42 .eflags resd 1
43
44 ; additional state and stack info.
45 .fInRing3Call resd 1
46 .cbSavedStack resd 1
47 .pvSavedStack resd 1
48 .SpCheck resd 1
49 .SpResume resd 1
50 .SavedEsp resd 1
51 .SavedEbp resd 1
52%endif
53%ifdef RT_ARCH_AMD64
54 ; traditional jmp_buf
55 .rbx resq 1
56 %ifdef RT_OS_WINDOWS
57 .rsi resq 1
58 .rdi resq 1
59 %endif
60 .rbp resq 1
61 .r12 resq 1
62 .r13 resq 1
63 .r14 resq 1
64 .r15 resq 1
65 .rsp resq 1
66 .rip resq 1
67 %ifdef RT_OS_WINDOWS
68 .xmm6 resq 2
69 .xmm7 resq 2
70 .xmm8 resq 2
71 .xmm9 resq 2
72 .xmm10 resq 2
73 .xmm11 resq 2
74 .xmm12 resq 2
75 .xmm13 resq 2
76 .xmm14 resq 2
77 .xmm15 resq 2
78 %endif
79 .rflags resq 1
80
81 ; additional state and stack info.
82 .fInRing3Call resd 1
83 .cbSavedStack resd 1
84 .pvSavedStack resq 1
85 .SpCheck resq 1
86 .SpResume resq 1
87 .SavedEsp resq 1
88 .SavedEbp resq 1
89%endif
90
91 ; Statistics
92 .cbUsedMax resd 1
93 .cbUsedAvg resd 1
94 .cbUsedTotal resq 1
95 .cUsedTotal resq 1
96endstruc
97
98
99struc VMMCPU
100
101 .offVMCPU resd 1
102 .iLastGZRc resd 1
103 .pbEMTStackR3 RTR3PTR_RES 1
104 .pbEMTStackRC RTRCPTR_RES 1
105 .pbEMTStackBottomRC RTRCPTR_RES 1
106
107 .pR0LoggerR3 RTR3PTR_RES 1
108 .pR0LoggerR0 RTR0PTR_RES 1
109 .pR0RelLoggerR3 RTR3PTR_RES 1
110 .pR0RelLoggerR0 RTR0PTR_RES 1
111
112 .hCtxHook RTR0PTR_RES 1
113
114 .fInRendezvous resb 1
115%if HC_ARCH_BITS == 32
116 .afPadding resb 3+4
117%else
118 .afPadding resb 7+8
119%endif
120
121 alignb 8
122 .TracerCtx resb SUPDRVTRACERUSRCTX64_size
123
124 .au32Padding1 resd 3
125
126 .cCallRing3Disabled resd 1
127 .enmCallRing3Operation resd 1
128 .rcCallRing3 resd 1
129 .u64CallRing3Arg resq 1
130 .pfnCallRing3CallbackR0 RTR0PTR_RES 1
131 .pvCallRing3CallbackUserR0 RTR0PTR_RES 1
132 ; .CallRing3JmpBufR0 resb no-can-do
133endstruc
134
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