VirtualBox

source: vbox/trunk/include/VBox/sup.mac@ 104429

Last change on this file since 104429 was 98103, checked in by vboxsync, 20 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.5 KB
RevLine 
[5477]1; $Id: sup.mac 98103 2023-01-17 14:15:46Z vboxsync $
2;; @file
3; SUP - Support Library, assembly definitions.
4;
5
6;
[98103]7; Copyright (C) 2006-2023 Oracle and/or its affiliates.
[5477]8;
[96407]9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
[5477]11;
[96407]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;
[5999]25; The contents of this file may alternatively be used under the terms
26; of the Common Development and Distribution License Version 1.0
[96407]27; (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28; in the VirtualBox distribution, in which case the provisions of the
[5999]29; CDDL are applicable instead of those of the GPL.
[5477]30;
[5999]31; You may elect to license modified versions of this file under the
32; terms and conditions of either the GPL or the CDDL or both.
33;
[96407]34; SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35;
[5477]36
37%ifndef ___VBox_sup_mac
38%define ___VBox_sup_mac
39
40struc SUPGIPCPU
[25459]41 .u32TransactionId resd 1
42 .u32UpdateIntervalTSC resd 1
43 .u64NanoTS resq 1
44 .u64TSC resq 1
45 .u64CpuHz resq 1
[52618]46 .i64TSCDelta resq 1
[25459]47 .cErrors resd 1
48 .iTSCHistoryHead resd 1
49 .au32TSCHistory resd 8
50 .u32PrevUpdateIntervalNS resd 1
[64256]51 .u32Reserved resd 1
[52618]52 .u64TSCSample resq 1
[64256]53 .au32Reserved1 resd 3
[36254]54 .enmState resd 1
55 .idCpu resd 1
56 .iCpuSet resw 1
[64256]57 .iCpuGroup resw 1
58 .iCpuGroupMember resw 1
[36254]59 .idApic resw 1
[64256]60 .iReservedForNumaNode resd 1
[5477]61endstruc
62
[54252]63%define SUPGIPUSETSCDELTA_NOT_APPLICABLE 0
64%define SUPGIPUSETSCDELTA_ZERO_CLAIMED 1
65%define SUPGIPUSETSCDELTA_PRACTICALLY_ZERO 2
66%define SUPGIPUSETSCDELTA_ROUGHLY_ZERO 3
67%define SUPGIPUSETSCDELTA_NOT_ZERO 4
68
[81071]69%define SUPGIPGETCPU_APIC_ID 1
70%define SUPGIPGETCPU_RDTSCP_MASK_MAX_SET_CPUS 2
71%define SUPGIPGETCPU_IDTR_LIMIT_MASK_MAX_SET_CPUS 4
72%define SUPGIPGETCPU_RDTSCP_GROUP_IN_CH_NUMBER_IN_CL 8
73%define SUPGIPGETCPU_APIC_ID_EXT_0B 16
74%define SUPGIPGETCPU_APIC_ID_EXT_8000001E 32
[54252]75
76
[5477]77%define SUPGLOBALINFOPAGE_MAGIC 0x19590106
78struc SUPGLOBALINFOPAGE
[25459]79 .u32Magic resd 1
80 .u32Version resd 1
81 .u32Mode resd 1
[36254]82 .cCpus resw 1
83 .cPages resw 1
[25459]84 .u32UpdateHz resd 1
85 .u32UpdateIntervalNS resd 1
86 .u64NanoTSLastUpdateHz resq 1
[53269]87 .u64CpuHz resq 1
[36262]88 .cOnlineCpus resw 1
89 .cPresentCpus resw 1
90 .cPossibleCpus resw 1
[64256]91 .cPossibleCpuGroups resw 1
[36254]92 .idCpuMax resd 1
[54252]93 .enmUseTscDelta resd 1
94 .fGetGipCpu resd 1
[57218]95 .fFlags resd 1
[81096]96 .OnlineCpuSet resq 16
97 .PresentCpuSet resq 16
98 .PossibleCpuSet resq 16
99 .au32Padding1 resd 48
[81106]100 .aiCpuFromApicId resw 4096
[81071]101 .aiCpuFromCpuSetIdx resw 1024
[81106]102 .aoffCpuGroup resd 256
[36254]103 .aCPUs resb SUPGIPCPU_size
[5477]104endstruc
105
[41147]106struc SUPDRVTRACERUSRCTX32
107 .idProbe resd 1
108 .cBits resb 1
109 .abReserved resb 3
110 .u.X86.uVtgProbeLoc resd 1
111 .u.X86.aArgs resd 20
112 .u.X86.eip resd 1
113 .u.X86.eflags resd 1
114 .u.X86.eax resd 1
115 .u.X86.ecx resd 1
116 .u.X86.edx resd 1
117 .u.X86.ebx resd 1
118 .u.X86.esp resd 1
119 .u.X86.ebp resd 1
120 .u.X86.esi resd 1
121 .u.X86.edi resd 1
122 .u.X86.cs resw 1
123 .u.X86.ss resw 1
124 .u.X86.ds resw 1
125 .u.X86.es resw 1
126 .u.X86.fs resw 1
127 .u.X86.gs resw 1
128endstruc
[5477]129
[41147]130struc SUPDRVTRACERUSRCTX64
131 .idProbe resd 1
132 .cBits resb 1
133 .abReserved resb 3
134 .u.Amd64.uVtgProbeLoc resq 1
135 .u.Amd64.aArgs resq 10
136 .u.Amd64.rip resq 1
137 .u.Amd64.rflags resq 1
138 .u.Amd64.rax resq 1
139 .u.Amd64.rcx resq 1
140 .u.Amd64.rdx resq 1
141 .u.Amd64.rbx resq 1
142 .u.Amd64.rsp resq 1
143 .u.Amd64.rbp resq 1
144 .u.Amd64.rsi resq 1
145 .u.Amd64.rdi resq 1
146 .u.Amd64.r8 resq 1
147 .u.Amd64.r9 resq 1
148 .u.Amd64.r10 resq 1
149 .u.Amd64.r11 resq 1
150 .u.Amd64.r12 resq 1
151 .u.Amd64.r13 resq 1
152 .u.Amd64.r14 resq 1
153 .u.Amd64.r15 resq 1
154endstruc
155
[5477]156%endif
157
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle
ContactPrivacy/Do Not Sell My InfoTerms of Use