VirtualBox

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

Last change on this file was 106061, checked in by vboxsync, 3 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.5 KB
Line 
1; $Id: VMMInternal.mac 106061 2024-09-16 14:03:52Z vboxsync $
2;; @file
3; VMM - Internal header file.
4;
5
6;
7; Copyright (C) 2006-2024 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; SPDX-License-Identifier: GPL-3.0-only
26;
27
28%include "VBox/asmdefs.mac"
29%include "VBox/sup.mac"
30
31
32struc VMMR0JMPBUF
33 ;
34 ; traditional jmp_buf
35 ;
36%ifdef RT_ARCH_X86
37 .ebx resd 1
38 .esi resd 1
39 .edi resd 1
40 .ebp resd 1
41 .esp resd 1
42 .eip resd 1
43 .eflags resd 1
44%endif
45%ifdef RT_ARCH_AMD64
46 .rbx resq 1
47 %ifdef RT_OS_WINDOWS
48 .rsi resq 1
49 .rdi resq 1
50 %endif
51 .rbp resq 1
52 .r12 resq 1
53 .r13 resq 1
54 .r14 resq 1
55 .r15 resq 1
56 .rsp resq 1
57 .rip resq 1
58 %ifdef RT_OS_WINDOWS
59 .xmm6 resq 2
60 .xmm7 resq 2
61 .xmm8 resq 2
62 .xmm9 resq 2
63 .xmm10 resq 2
64 .xmm11 resq 2
65 .xmm12 resq 2
66 .xmm13 resq 2
67 .xmm14 resq 2
68 .xmm15 resq 2
69 %endif
70 .rflags resq 1
71%endif
72
73 ;
74 ; Additional state and stack info for unwinding.
75 ;
76 .UnwindSp RTR0PTR_RES 1
77 .UnwindRetSp RTR0PTR_RES 1
78 .UnwindBp RTR0PTR_RES 1
79 .UnwindPc RTR0PTR_RES 1
80 .UnwindRetPcValue RTR0PTR_RES 1
81 .UnwindRetPcLocation RTR0PTR_RES 1
82
83 ;
84 ; Info about what we were doing in case it's helpful.
85 ;
86 .pfn RTR0PTR_RES 1
87 .pvUser1 RTR0PTR_RES 1
88 .pvUser2 RTR0PTR_RES 1
89
90 ;
91 ; For mirroring the jump buffer and stack to ring-3 for unwinding and analysis.
92 ;
93 .cbStackValid resd 1
94 .cbStackBuf resd 1
95 .pvStackBuf RTR0PTR_RES 1
96 .pMirrorBuf RTR0PTR_RES 1
97endstruc
98
99
100struc VMMCPU
101
102 .iLastGZRc resd 1
103 alignb 8
104
105 .fInRendezvous resb 1
106 .afPadding1 resb 2
107 .fMayHaltInRing0 resb 1
108 .cNsSpinBlockThreshold resd 1
109 .cR0Halts resd 1
110 .cR0HaltsSucceeded resd 1
111 .cR0HaltsToRing3 resd 1
112
113 alignb 8
114 .TracerCtx resb SUPDRVTRACERUSRCTX64_size
115
116 alignb 8
117 .AssertJmpBuf resb 1
118endstruc
119
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