3 Copyright (c) 2004 - 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 DataHubSubClassProcessor.h
18 Definitions for processor sub class data records
24 #ifndef _DATAHUB_SUBCLASS_PROCESSOR_H_
25 #define _DATAHUB_SUBCLASS_PROCESSOR_H_
27 #define EFI_PROCESSOR_SUBCLASS_VERSION 0x00010000
29 #define EFI_PROCESSOR_SUBCLASS_GUID \
30 { 0x26fdeb7e, 0xb8af, 0x4ccf, {0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7} }
33 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA
;
35 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA
;
37 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_CORE_FREQUENCY_DATA
;
39 typedef EFI_EXP_BASE10_DATA
*EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA
;
41 typedef EFI_EXP_BASE10_DATA
*EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA
;
43 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_FSB_FREQUENCY_DATA
;
45 typedef STRING_REF EFI_PROCESSOR_VERSION_DATA
;
47 typedef STRING_REF EFI_PROCESSOR_MANUFACTURER_DATA
;
49 typedef STRING_REF EFI_PROCESSOR_SERIAL_NUMBER_DATA
;
51 typedef STRING_REF EFI_PROCESSOR_ASSET_TAG_DATA
;
52 typedef STRING_REF EFI_PROCESSOR_PART_NUMBER_DATA
;
55 UINT32 ProcessorSteppingId
:4;
56 UINT32 ProcessorModel
: 4;
57 UINT32 ProcessorFamily
: 4;
58 UINT32 ProcessorType
: 2;
59 UINT32 ProcessorReserved1
: 2;
60 UINT32 ProcessorXModel
: 4;
61 UINT32 ProcessorXFamily
: 8;
62 UINT32 ProcessorReserved2
: 4;
63 } EFI_PROCESSOR_SIGNATURE
;
66 UINT32 ProcessorBrandIndex
:8;
67 UINT32 ProcessorClflush
:8;
68 UINT32 ProcessorReserved
:8;
69 UINT32 ProcessorDfltApicId
:8;
70 } EFI_PROCESSOR_MISC_INFO
;
73 UINT32 ProcessorFpu
: 1;
74 UINT32 ProcessorVme
: 1;
75 UINT32 ProcessorDe
: 1;
76 UINT32 ProcessorPse
: 1;
77 UINT32 ProcessorTsc
: 1;
78 UINT32 ProcessorMsr
: 1;
79 UINT32 ProcessorPae
: 1;
80 UINT32 ProcessorMce
: 1;
81 UINT32 ProcessorCx8
: 1;
82 UINT32 ProcessorApic
: 1;
83 UINT32 ProcessorReserved1
: 1;
84 UINT32 ProcessorSep
: 1;
85 UINT32 ProcessorMtrr
: 1;
86 UINT32 ProcessorPge
: 1;
87 UINT32 ProcessorMca
: 1;
88 UINT32 ProcessorCmov
: 1;
89 UINT32 ProcessorPat
: 1;
90 UINT32 ProcessorPse36
: 1;
91 UINT32 ProcessorPsn
: 1;
92 UINT32 ProcessorClfsh
: 1;
93 UINT32 ProcessorReserved2
: 1;
94 UINT32 ProcessorDs
: 1;
95 UINT32 ProcessorAcpi
: 1;
96 UINT32 ProcessorMmx
: 1;
97 UINT32 ProcessorFxsr
: 1;
98 UINT32 ProcessorSse
: 1;
99 UINT32 ProcessorSse2
: 1;
100 UINT32 ProcessorSs
: 1;
101 UINT32 ProcessorReserved3
: 1;
102 UINT32 ProcessorTm
: 1;
103 UINT32 ProcessorReserved4
: 2;
104 } EFI_PROCESSOR_FEATURE_FLAGS
;
107 EFI_PROCESSOR_SIGNATURE Signature
;
108 EFI_PROCESSOR_MISC_INFO MiscInfo
;
110 EFI_PROCESSOR_FEATURE_FLAGS FeatureFlags
;
111 } EFI_PROCESSOR_ID_DATA
;
114 EfiProcessorOther
= 1,
115 EfiProcessorUnknown
= 2,
116 EfiCentralProcessor
= 3,
117 EfiMathProcessor
= 4,
119 EfiVideoProcessor
= 6
120 } EFI_PROCESSOR_TYPE_DATA
;
123 EfiProcessorFamilyOther
= 1,
124 EfiProcessorFamilyUnknown
= 2,
125 EfiProcessorFamily8086
= 3,
126 EfiProcessorFamily80286
= 4,
127 EfiProcessorFamilyIntel386
= 5,
128 EfiProcessorFamilyIntel486
= 6,
129 EfiProcessorFamily8087
= 7,
130 EfiProcessorFamily80287
= 8,
131 EfiProcessorFamily80387
= 9,
132 EfiProcessorFamily80487
= 0x0A,
133 EfiProcessorFamilyPentium
= 0x0B,
134 EfiProcessorFamilyPentiumPro
= 0x0C,
135 EfiProcessorFamilyPentiumII
= 0x0D,
136 EfiProcessorFamilyPentiumMMX
= 0x0E,
137 EfiProcessorFamilyCeleron
= 0x0F,
138 EfiProcessorFamilyPentiumIIXeon
= 0x10,
139 EfiProcessorFamilyPentiumIII
= 0x11,
140 EfiProcessorFamilyM1
= 0x12,
141 EfiProcessorFamilyM2
= 0x13,
142 EfiProcessorFamilyM1Reserved2
= 0x14,
143 EfiProcessorFamilyM1Reserved3
= 0x15,
144 EfiProcessorFamilyM1Reserved4
= 0x16,
145 EfiProcessorFamilyM1Reserved5
= 0x17,
146 EfiProcessorFamilyAmdDuron
= 0x18,
147 EfiProcessorFamilyK5
= 0x19,
148 EfiProcessorFamilyK6
= 0x1A,
149 EfiProcessorFamilyK6_2
= 0x1B,
150 EfiProcessorFamilyK6_3
= 0x1C,
151 EfiProcessorFamilyAmdAthlon
= 0x1D,
152 EfiProcessorFamilyK6_2Plus
= 0x1E,
153 EfiProcessorFamilyK5Reserved6
= 0x1F,
154 EfiProcessorFamilyPowerPC
= 0x20,
155 EfiProcessorFamilyPowerPC601
= 0x21,
156 EfiProcessorFamilyPowerPC603
= 0x22,
157 EfiProcessorFamilyPowerPC603Plus
= 0x23,
158 EfiProcessorFamilyPowerPC604
= 0x24,
159 EfiProcessorFamilyPowerPC620
= 0x25,
160 EfiProcessorFamilyPowerPC704
= 0x26,
161 EfiProcessorFamilyPowerPC750
= 0x27,
162 EfiProcessorFamilyAlpha2
= 0x30,
163 EfiProcessorFamilyAlpha21064
= 0x31,
164 EfiProcessorFamilyAlpha21066
= 0x32,
165 EfiProcessorFamilyAlpha21164
= 0x33,
166 EfiProcessorFamilyAlpha21164PC
= 0x34,
167 EfiProcessorFamilyAlpha21164a
= 0x35,
168 EfiProcessorFamilyAlpha21264
= 0x36,
169 EfiProcessorFamilyAlpha21364
= 0x37,
170 EfiProcessorFamilyMips
= 0x40,
171 EfiProcessorFamilyMIPSR4000
= 0x41,
172 EfiProcessorFamilyMIPSR4200
= 0x42,
173 EfiProcessorFamilyMIPSR4400
= 0x43,
174 EfiProcessorFamilyMIPSR4600
= 0x44,
175 EfiProcessorFamilyMIPSR10000
= 0x45,
176 EfiProcessorFamilySparc
= 0x50,
177 EfiProcessorFamilySuperSparc
= 0x51,
178 EfiProcessorFamilymicroSparcII
= 0x52,
179 EfiProcessorFamilymicroSparcIIep
= 0x53,
180 EfiProcessorFamilyUltraSparc
= 0x54,
181 EfiProcessorFamilyUltraSparcII
= 0x55,
182 EfiProcessorFamilyUltraSparcIIi
= 0x56,
183 EfiProcessorFamilyUltraSparcIII
= 0x57,
184 EfiProcessorFamilyUltraSparcIIIi
= 0x58,
185 EfiProcessorFamily68040
= 0x60,
186 EfiProcessorFamily68xxx
= 0x61,
187 EfiProcessorFamily68000
= 0x62,
188 EfiProcessorFamily68010
= 0x63,
189 EfiProcessorFamily68020
= 0x64,
190 EfiProcessorFamily68030
= 0x65,
191 EfiProcessorFamilyHobbit
= 0x70,
192 EfiProcessorFamilyCrusoeTM5000
= 0x78,
193 EfiProcessorFamilyCrusoeTM3000
= 0x79,
194 EfiProcessorFamilyEfficeonTM8000
= 0x7A,
195 EfiProcessorFamilyWeitek
= 0x80,
196 EfiProcessorFamilyItanium
= 0x82,
197 EfiProcessorFamilyAmdAthlon64
= 0x83,
198 EfiProcessorFamilyAmdOpteron
= 0x84,
199 EfiProcessorFamilyAmdSempron
= 0x85,
200 EfiProcessorFamilyAmdTurion64Mobile
= 0x86,
201 EfiProcessorFamilyDualCoreAmdOpteron
= 0x87,
202 EfiProcessorFamilyAmdAthlon64X2DualCore
= 0x88,
203 EfiProcessorFamilyAmdTurion64X2Mobile
= 0x89,
204 EfiProcessorFamilyPARISC
= 0x90,
205 EfiProcessorFamilyPaRisc8500
= 0x91,
206 EfiProcessorFamilyPaRisc8000
= 0x92,
207 EfiProcessorFamilyPaRisc7300LC
= 0x93,
208 EfiProcessorFamilyPaRisc7200
= 0x94,
209 EfiProcessorFamilyPaRisc7100LC
= 0x95,
210 EfiProcessorFamilyPaRisc7100
= 0x96,
211 EfiProcessorFamilyV30
= 0xA0,
212 EfiProcessorFamilyPentiumIIIXeon
= 0xB0,
213 EfiProcessorFamilyPentiumIIISpeedStep
= 0xB1,
214 EfiProcessorFamilyPentium4
= 0xB2,
215 EfiProcessorFamilyIntelXeon
= 0xB3,
216 EfiProcessorFamilyAS400
= 0xB4,
217 EfiProcessorFamilyIntelXeonMP
= 0xB5,
218 EfiProcessorFamilyAMDAthlonXP
= 0xB6,
219 EfiProcessorFamilyAMDAthlonMP
= 0xB7,
220 EfiProcessorFamilyIntelItanium2
= 0xB8,
221 EfiProcessorFamilyIntelPentiumM
= 0xB9,
222 EfiProcessorFamilyIntelCeleronD
= 0xBA,
223 EfiProcessorFamilyIntelPentiumD
= 0xBB,
224 EfiProcessorFamilyIntelPentiumEx
= 0xBC,
225 EfiProcessorFamilyIntelCoreBrand
= 0xBD,
226 EfiProcessorFamilyReserved
= 0xBE,
227 EfiProcessorFamilyIntelCore2
= 0xBF,
228 EfiProcessorFamilyIBM390
= 0xC8,
229 EfiProcessorFamilyG4
= 0xC9,
230 EfiProcessorFamilyG5
= 0xCA,
231 EfiProcessorFamilyG6
= 0xCB,
232 EfiProcessorFamilyzArchitectur
= 0xCC,
233 EfiProcessorFamilyViaC7M
= 0xD2,
234 EfiProcessorFamilyViaC7D
= 0xD3,
235 EfiProcessorFamilyViaC7
= 0xD4,
236 EfiProcessorFamilyViaEden
= 0xD5,
237 EfiProcessorFamilyi860
= 0xFA,
238 EfiProcessorFamilyi960
= 0xFB,
239 EfiProcessorFamilyIndicatorFamily2
= 0xFE
240 } EFI_PROCESSOR_FAMILY_DATA
;
243 EfiProcessorFamilySh3
= 0x104,
244 EfiProcessorFamilySh4
= 0x105,
245 EfiProcessorFamilyArm
= 0x118,
246 EfiProcessorFamilyStrongArm
= 0x119,
247 EfiProcessorFamily6x86
= 0x12C,
248 EfiProcessorFamilyMediaGx
= 0x12D,
249 EfiProcessorFamilyMii
= 0x12E,
250 EfiProcessorFamilyWinChip
= 0x140,
251 EfiProcessorFamilyDsp
= 0x15E,
252 EfiProcessorFamilyVideo
= 0x1F4
253 } EFI_PROCESSOR_FAMILY2_DATA
;
255 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA
;
257 typedef EFI_PHYSICAL_ADDRESS EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA
;
259 typedef UINT32 EFI_PROCESSOR_APIC_ID_DATA
;
261 typedef UINT32 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA
;
264 EfiProcessorIa32Microcode
= 1,
265 EfiProcessorIpfPalAMicrocode
= 2,
266 EfiProcessorIpfPalBMicrocode
= 3
267 } EFI_PROCESSOR_MICROCODE_TYPE
;
270 EFI_PROCESSOR_MICROCODE_TYPE ProcessorMicrocodeType
;
271 UINT32 ProcessorMicrocodeRevisionNumber
;
272 } EFI_PROCESSOR_MICROCODE_REVISION_DATA
;
277 UINT32 SocketPopulated
:1;
279 UINT32 ApicEnable
:1;
280 UINT32 BootApplicationProcessor
:1;
281 UINT32 Reserved3
:22;
282 } EFI_PROCESSOR_STATUS_DATA
;
285 EfiCpuStatusUnknown
= 0,
286 EfiCpuStatusEnabled
= 1,
287 EfiCpuStatusDisabledByUser
= 2,
288 EfiCpuStatusDisabledbyBios
= 3,
289 EfiCpuStatusIdle
= 4,
290 EfiCpuStatusOther
= 7
294 EfiProcessorSocketOther
= 1,
295 EfiProcessorSocketUnknown
= 2,
296 EfiProcessorSocketDaughterBoard
= 3,
297 EfiProcessorSocketZIF
= 4,
298 EfiProcessorSocketReplacePiggyBack
= 5,
299 EfiProcessorSocketNone
= 6,
300 EfiProcessorSocketLIF
= 7,
301 EfiProcessorSocketSlot1
= 8,
302 EfiProcessorSocketSlot2
= 9,
303 EfiProcessorSocket370Pin
= 0xA,
304 EfiProcessorSocketSlotA
= 0xB,
305 EfiProcessorSocketSlotM
= 0xC,
306 EfiProcessorSocket423
= 0xD,
307 EfiProcessorSocketA462
= 0xE,
308 EfiProcessorSocket478
= 0xF,
309 EfiProcessorSocket754
= 0x10,
310 EfiProcessorSocket940
= 0x11,
311 EfiProcessorSocket939
= 0x12,
312 EfiProcessorSocketmPGA604
= 0x13,
313 EfiProcessorSocketLGA771
= 0x14,
314 EfiProcessorSocketLGA775
= 0x15,
315 EfiProcessorSocketS1
= 0x16,
316 EfiProcessorSocketAm2
= 0x17,
317 EfiProcessorSocketF
= 0x18
318 } EFI_PROCESSOR_SOCKET_TYPE_DATA
;
320 typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA
;
322 typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA
;
325 EfiProcessorHealthy
= 1,
326 EfiProcessorPerfRestricted
= 2,
327 EfiProcessorFuncRestricted
= 3
328 } EFI_PROCESSOR_HEALTH_STATUS
;
330 typedef UINTN EFI_PROCESSOR_PACKAGE_NUMBER_DATA
;
332 typedef UINT8 EFI_PROCESSOR_CORE_COUNT_DATA
;
333 typedef UINT8 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA
;
334 typedef UINT8 EFI_PROCESSOR_THREAD_COUNT_DATA
;
336 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA
;
341 UINT16 Capable64Bit
:1;
342 UINT16 Reserved2
:13;
343 } EFI_PROCESSOR_CHARACTERISTICS_DATA
;
346 EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName
;
347 EFI_PROCESSOR_TYPE_DATA ProcessorType
;
348 EFI_PROCESSOR_FAMILY_DATA ProcessorFamily
;
349 EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer
;
350 EFI_PROCESSOR_ID_DATA ProcessorId
;
351 EFI_PROCESSOR_VERSION_DATA ProcessorVersion
;
352 EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage
;
353 EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency
;
354 EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency
;
355 EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency
;
356 EFI_PROCESSOR_STATUS_DATA ProcessorStatus
;
357 EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType
;
358 EFI_CACHE_ASSOCIATION_DATA ProcessorL1LinkData
;
359 EFI_CACHE_ASSOCIATION_DATA ProcessorL2LinkData
;
360 EFI_CACHE_ASSOCIATION_DATA ProcessorL3LinkData
;
361 EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber
;
362 EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag
;
363 EFI_PROCESSOR_PART_NUMBER_DATA ProcessorPartNumber
;
364 EFI_PROCESSOR_CORE_COUNT_DATA ProcessorCoreCount
;
365 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA ProcessorEnabledCoreCount
;
366 EFI_PROCESSOR_THREAD_COUNT_DATA ProcessorThreadCount
;
367 EFI_PROCESSOR_CHARACTERISTICS_DATA ProcessorCharacteristics
;
368 EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2
;
369 } EFI_PROCESSOR_SOCKET_DATA
;
372 ProcessorCoreFrequencyRecordType
= 1,
373 ProcessorFsbFrequencyRecordType
= 2,
374 ProcessorVersionRecordType
= 3,
375 ProcessorManufacturerRecordType
= 4,
376 ProcessorSerialNumberRecordType
= 5,
377 ProcessorIdRecordType
= 6,
378 ProcessorTypeRecordType
= 7,
379 ProcessorFamilyRecordType
= 8,
380 ProcessorVoltageRecordType
= 9,
381 ProcessorApicBaseAddressRecordType
= 10,
382 ProcessorApicIdRecordType
= 11,
383 ProcessorApicVersionNumberRecordType
= 12,
384 CpuUcodeRevisionDataRecordType
= 13,
385 ProcessorStatusRecordType
= 14,
386 ProcessorSocketTypeRecordType
= 15,
387 ProcessorSocketNameRecordType
= 16,
388 CacheAssociationRecordType
= 17,
389 ProcessorMaxCoreFrequencyRecordType
= 18,
390 ProcessorAssetTagRecordType
= 19,
391 ProcessorMaxFsbFrequencyRecordType
= 20,
392 ProcessorPackageNumberRecordType
= 21,
393 ProcessorCoreFrequencyListRecordType
= 22,
394 ProcessorFsbFrequencyListRecordType
= 23,
395 ProcessorHealthStatusRecordType
= 24,
396 ProcessorCoreCountRecordType
= 25,
397 ProcessorEnabledCoreCountRecordType
= 26,
398 ProcessorThreadCountRecordType
= 27,
399 ProcessorCharacteristicsRecordType
= 28,
400 ProcessorFamily2RecordType
= 29,
401 ProcessorPartNumberRecordType
= 30,
402 ProcessorSocketRecordType
= 31
403 } EFI_CPU_VARIABLE_RECORD_TYPE
;
406 EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList
;
407 EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA ProcessorFsbFrequencyList
;
408 EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber
;
409 EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency
;
410 EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency
;
411 EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency
;
412 EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA ProcessorMaxFsbFrequency
;
413 EFI_PROCESSOR_VERSION_DATA ProcessorVersion
;
414 EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer
;
415 EFI_PROCESSOR_ID_DATA ProcessorId
;
416 EFI_PROCESSOR_TYPE_DATA ProcessorType
;
417 EFI_PROCESSOR_FAMILY_DATA ProcessorFamily
;
418 EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage
;
419 EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA ProcessorApicBase
;
420 EFI_PROCESSOR_APIC_ID_DATA ProcessorApicId
;
421 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA ProcessorApicVersionNumber
;
422 EFI_PROCESSOR_MICROCODE_REVISION_DATA CpuUcodeRevisionData
;
423 EFI_PROCESSOR_STATUS_DATA ProcessorStatus
;
424 EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType
;
425 EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName
;
426 EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag
;
427 EFI_PROCESSOR_PART_NUMBER_DATA ProcessorPartNumber
;
428 EFI_PROCESSOR_HEALTH_STATUS ProcessorHealthStatus
;
429 EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber
;
430 EFI_PROCESSOR_CORE_COUNT_DATA ProcessorCoreCount
;
431 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA ProcessorEnabledCoreCount
;
432 EFI_PROCESSOR_THREAD_COUNT_DATA ProcessorThreadCount
;
433 EFI_PROCESSOR_CHARACTERISTICS_DATA ProcessorCharacteristics
;
434 EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2
;
435 EFI_PROCESSOR_SOCKET_DATA ProcessorSocket
;
436 } EFI_CPU_VARIABLE_RECORD
;
439 EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader
;
440 EFI_CPU_VARIABLE_RECORD VariableRecord
;
441 } EFI_CPU_DATA_RECORD
;