]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Common/DataHubRecords.h
Initial import.
[mirror_edk2.git] / MdePkg / Include / Common / DataHubRecords.h
CommitLineData
878ddf1f 1/** @file\r
2 This file defines GUIDs and associated data structures for records \r
3 posted to the Data Hub. \r
4 The producers of these records use these definitions to construct \r
5 records.\r
6 The consumers of these records use these definitions to retrieve,\r
7 filter and parse records.\r
8\r
9 Copyright (c) 2006, Intel Corporation \r
10 All rights reserved. This program and the accompanying materials \r
11 are licensed and made available under the terms and conditions of the BSD License \r
12 which accompanies this distribution. The full text of the license may be found at \r
13 http://opensource.org/licenses/bsd-license.php \r
14\r
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
17\r
18 Module Name: DataHubRecords.h\r
19\r
20 @par Revision Reference:\r
21 DataHubRecord.h include all data hub sub class defitions from Cache subclass \r
22 spec 0.9, DataHub SubClass spec 0.9, Memory SubClass Spec 0.9, Processor \r
23 Subclass spec 0.9,Misc SubClass spec 0.9.\r
24\r
25**/\r
26\r
27#ifndef _DATAHUB_RECORDS_H_\r
28#define _DATAHUB_RECORDS_H_\r
29\r
30#define EFI_PROCESSOR_SUBCLASS_VERSION 0x00010000\r
31\r
32\r
33#pragma pack(1)\r
34\r
35typedef struct _USB_PORT_DEVICE_PATH {\r
36 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
37 PCI_DEVICE_PATH PciBusDevicePath;\r
38 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
39} USB_PORT_DEVICE_PATH;\r
40\r
41//\r
42// IDE\r
43//\r
44typedef struct _IDE_DEVICE_PATH {\r
45 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
46 PCI_DEVICE_PATH PciBusDevicePath;\r
47 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
48} IDE_DEVICE_PATH;\r
49\r
50//\r
51// RMC Connector\r
52//\r
53typedef struct _RMC_CONN_DEVICE_PATH {\r
54 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
55 PCI_DEVICE_PATH PciBridgeDevicePath;\r
56 PCI_DEVICE_PATH PciBusDevicePath;\r
57 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
58} RMC_CONN_DEVICE_PATH;\r
59\r
60//\r
61// RIDE\r
62//\r
63typedef struct _RIDE_DEVICE_PATH {\r
64 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
65 PCI_DEVICE_PATH PciBridgeDevicePath;\r
66 PCI_DEVICE_PATH PciBusDevicePath;\r
67 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
68} RIDE_DEVICE_PATH;\r
69\r
70//\r
71// Gigabit NIC\r
72//\r
73typedef struct _GB_NIC_DEVICE_PATH {\r
74 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
75 PCI_DEVICE_PATH PciBridgeDevicePath;\r
76 PCI_DEVICE_PATH PciXBridgeDevicePath;\r
77 PCI_DEVICE_PATH PciXBusDevicePath;\r
78 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
79} GB_NIC_DEVICE_PATH;\r
80\r
81//\r
82// P/S2 Connector\r
83//\r
84typedef struct _PS2_CONN_DEVICE_PATH {\r
85 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
86 PCI_DEVICE_PATH LpcBridgeDevicePath;\r
87 ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
88 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
89} PS2_CONN_DEVICE_PATH;\r
90\r
91//\r
92// Serial Port Connector\r
93//\r
94typedef struct _SERIAL_CONN_DEVICE_PATH {\r
95 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
96 PCI_DEVICE_PATH LpcBridgeDevicePath;\r
97 ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
98 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
99} SERIAL_CONN_DEVICE_PATH;\r
100\r
101//\r
102// Parallel Port Connector\r
103//\r
104typedef struct _PARALLEL_CONN_DEVICE_PATH {\r
105 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
106 PCI_DEVICE_PATH LpcBridgeDevicePath;\r
107 ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
108 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
109} PARALLEL_CONN_DEVICE_PATH;\r
110\r
111//\r
112// Floopy Connector\r
113//\r
114typedef struct _FLOOPY_CONN_DEVICE_PATH {\r
115 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
116 PCI_DEVICE_PATH LpcBridgeDevicePath;\r
117 ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
118 EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
119} FLOOPY_CONN_DEVICE_PATH;\r
120\r
121typedef union _EFI_MISC_PORT_DEVICE_PATH {\r
122 USB_PORT_DEVICE_PATH UsbDevicePath;\r
123 IDE_DEVICE_PATH IdeDevicePath;\r
124 RMC_CONN_DEVICE_PATH RmcConnDevicePath;\r
125 RIDE_DEVICE_PATH RideDevicePath;\r
126 GB_NIC_DEVICE_PATH GbNicDevicePath;\r
127 PS2_CONN_DEVICE_PATH Ps2ConnDevicePath;\r
128 SERIAL_CONN_DEVICE_PATH SerialConnDevicePath;\r
129 PARALLEL_CONN_DEVICE_PATH ParallelConnDevicePath;\r
130 FLOOPY_CONN_DEVICE_PATH FloppyConnDevicePath;\r
131} EFI_MISC_PORT_DEVICE_PATH;\r
132\r
133#pragma pack()\r
134\r
135//\r
136// String Token Definition\r
137//\r
138#define EFI_STRING_TOKEN UINT16\r
139\r
140typedef struct {\r
141 UINT32 Version;\r
142 UINT32 HeaderSize;\r
143 UINT16 Instance;\r
144 UINT16 SubInstance;\r
145 UINT32 RecordType; \r
146} EFI_SUBCLASS_TYPE1_HEADER;\r
147\r
148typedef struct {\r
149 EFI_GUID ProducerName;\r
150 UINT16 Instance;\r
151 UINT16 SubInstance;\r
152} EFI_INTER_LINK_DATA;\r
153\r
154\r
155//\r
156// EXP data\r
157//\r
158\r
159typedef struct {\r
160 UINT16 Value;\r
161 UINT16 Exponent;\r
162} EFI_EXP_BASE2_DATA;\r
163\r
164\r
165typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;\r
166\r
167typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;\r
168\r
169typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_CORE_FREQUENCY_DATA;\r
170\r
171typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA;\r
172\r
173typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA;\r
174\r
175typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_FSB_FREQUENCY_DATA;\r
176\r
177typedef STRING_REF EFI_PROCESSOR_VERSION_DATA;\r
178\r
179typedef STRING_REF EFI_PROCESSOR_MANUFACTURER_DATA;\r
180\r
181typedef STRING_REF EFI_PROCESSOR_SERIAL_NUMBER_DATA;\r
182\r
183typedef STRING_REF EFI_PROCESSOR_ASSET_TAG_DATA;\r
184\r
185typedef struct {\r
186 UINT32 ProcessorSteppingId:4;\r
187 UINT32 ProcessorModel: 4;\r
188 UINT32 ProcessorFamily: 4;\r
189 UINT32 ProcessorType: 2;\r
190 UINT32 ProcessorReserved1: 2;\r
191 UINT32 ProcessorXModel: 4;\r
192 UINT32 ProcessorXFamily: 8;\r
193 UINT32 ProcessorReserved2: 4;\r
194} EFI_PROCESSOR_SIGNATURE;\r
195\r
196typedef struct {\r
197 UINT32 ProcessorBrandIndex :8;\r
198 UINT32 ProcessorClflush :8;\r
199 UINT32 ProcessorReserved :8;\r
200 UINT32 ProcessorDfltApicId :8;\r
201} EFI_PROCESSOR_MISC_INFO;\r
202\r
203typedef struct {\r
204 UINT32 ProcessorFpu: 1;\r
205 UINT32 ProcessorVme: 1;\r
206 UINT32 ProcessorDe: 1;\r
207 UINT32 ProcessorPse: 1;\r
208 UINT32 ProcessorTsc: 1;\r
209 UINT32 ProcessorMsr: 1;\r
210 UINT32 ProcessorPae: 1;\r
211 UINT32 ProcessorMce: 1;\r
212 UINT32 ProcessorCx8: 1;\r
213 UINT32 ProcessorApic: 1;\r
214 UINT32 ProcessorReserved1: 1;\r
215 UINT32 ProcessorSep: 1;\r
216 UINT32 ProcessorMtrr: 1;\r
217 UINT32 ProcessorPge: 1;\r
218 UINT32 ProcessorMca: 1;\r
219 UINT32 ProcessorCmov: 1;\r
220 UINT32 ProcessorPat: 1;\r
221 UINT32 ProcessorPse36: 1;\r
222 UINT32 ProcessorPsn: 1;\r
223 UINT32 ProcessorClfsh: 1;\r
224 UINT32 ProcessorReserved2: 1;\r
225 UINT32 ProcessorDs: 1;\r
226 UINT32 ProcessorAcpi: 1;\r
227 UINT32 ProcessorMmx: 1;\r
228 UINT32 ProcessorFxsr: 1;\r
229 UINT32 ProcessorSse: 1;\r
230 UINT32 ProcessorSse2: 1;\r
231 UINT32 ProcessorSs: 1;\r
232 UINT32 ProcessorReserved3: 1;\r
233 UINT32 ProcessorTm: 1;\r
234 UINT32 ProcessorReserved4: 2;\r
235} EFI_PROCESSOR_FEATURE_FLAGS;\r
236\r
237typedef struct {\r
238 EFI_PROCESSOR_SIGNATURE Signature;\r
239 EFI_PROCESSOR_MISC_INFO MiscInfo;\r
240 UINT32 Reserved;\r
241 EFI_PROCESSOR_FEATURE_FLAGS FeatureFlags;\r
242} EFI_PROCESSOR_ID_DATA;\r
243\r
244typedef enum {\r
245 EfiProcessorOther = 1,\r
246 EfiProcessorUnknown = 2,\r
247 EfiCentralProcessor = 3,\r
248 EfiMathProcessor = 4,\r
249 EfiDspProcessor = 5,\r
250 EfiVideoProcessor = 6\r
251} EFI_PROCESSOR_TYPE_DATA;\r
252\r
253typedef enum {\r
254 EfiProcessorFamilyOther = 1,\r
255 EfiProcessorFamilyUnknown = 2,\r
256 EfiProcessorFamily8086 = 3,\r
257 EfiProcessorFamily80286 = 4,\r
258 EfiProcessorFamilyIntel386 = 5,\r
259 EfiProcessorFamilyIntel486 = 6,\r
260 EfiProcessorFamily8087 = 7,\r
261 EfiProcessorFamily80287 = 8,\r
262 EfiProcessorFamily80387 = 9,\r
263 EfiProcessorFamily80487 = 0x0A,\r
264 EfiProcessorFamilyPentium = 0x0B,\r
265 EfiProcessorFamilyPentiumPro = 0x0C,\r
266 EfiProcessorFamilyPentiumII = 0x0D,\r
267 EfiProcessorFamilyPentiumMMX = 0x0E,\r
268 EfiProcessorFamilyCeleron = 0x0F,\r
269 EfiProcessorFamilyPentiumIIXeon = 0x10,\r
270 EfiProcessorFamilyPentiumIII = 0x11,\r
271 EfiProcessorFamilyM1 = 0x12,\r
272 EfiProcessorFamilyM1Reserved1 = 0x13,\r
273 EfiProcessorFamilyM1Reserved2 = 0x14,\r
274 EfiProcessorFamilyM1Reserved3 = 0x15,\r
275 EfiProcessorFamilyM1Reserved4 = 0x16,\r
276 EfiProcessorFamilyM1Reserved5 = 0x17,\r
277 EfiProcessorFamilyM1Reserved6 = 0x18,\r
278 EfiProcessorFamilyK5 = 0x19,\r
279 EfiProcessorFamilyK5Reserved1 = 0x1A,\r
280 EfiProcessorFamilyK5Reserved2 = 0x1B,\r
281 EfiProcessorFamilyK5Reserved3 = 0x1C,\r
282 EfiProcessorFamilyK5Reserved4 = 0x1D,\r
283 EfiProcessorFamilyK5Reserved5 = 0x1E,\r
284 EfiProcessorFamilyK5Reserved6 = 0x1F,\r
285 EfiProcessorFamilyPowerPC = 0x20,\r
286 EfiProcessorFamilyPowerPC601 = 0x21,\r
287 EfiProcessorFamilyPowerPC603 = 0x22,\r
288 EfiProcessorFamilyPowerPC603Plus = 0x23,\r
289 EfiProcessorFamilyPowerPC604 = 0x24,\r
290 EfiProcessorFamilyAlpha2 = 0x30,\r
291 EfiProcessorFamilyMips = 0x40,\r
292 EfiProcessorFamilySparc = 0x50,\r
293 EfiProcessorFamily68040 = 0x60,\r
294 EfiProcessorFamily68xxx = 0x61,\r
295 EfiProcessorFamily68000 = 0x62,\r
296 EfiProcessorFamily68010 = 0x63,\r
297 EfiProcessorFamily68020 = 0x64,\r
298 EfiProcessorFamily68030 = 0x65,\r
299 EfiProcessorFamilyHobbit = 0x70,\r
300 EfiProcessorFamilyWeitek = 0x80,\r
301 EfiProcessorFamilyPARISC = 0x90,\r
302 EfiProcessorFamilyV30 = 0xA0,\r
303 EfiProcessorFamilyPentiumIIIXeon = 0xB0,\r
304 EfiProcessorFamilyPentiumIIISpeedStep = 0xB1,\r
305 EfiProcessorFamilyPentium4 = 0xB2,\r
306 EfiProcessorFamilyIntelXeon = 0xB3,\r
307 EfiProcessorFamilyAS400 = 0xB4,\r
308 EfiProcessorFamilyIntelXeonMP = 0xB5,\r
309 EfiProcessorFamilyAMDAthlonXP = 0xB6,\r
310 EfiProcessorFamilyAMDAthlonMP = 0xB7,\r
311 EfiProcessorFamilyIBM390 = 0xC8,\r
312 EfiProcessorFamilyG4 = 0xC9,\r
313 EfiProcessorFamilyG5 = 0xCA,\r
314 EfiProcessorFamilyi860 = 0xFA,\r
315 EfiProcessorFamilyi960 = 0xFB\r
316} EFI_PROCESSOR_FAMILY_DATA;\r
317\r
318typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA;\r
319\r
320typedef EFI_PHYSICAL_ADDRESS EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA;\r
321\r
322typedef UINT32 EFI_PROCESSOR_APIC_ID_DATA;\r
323\r
324typedef UINT32 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA;\r
325\r
326typedef enum {\r
327 EfiProcessorIa32Microcode = 1,\r
328 EfiProcessorIpfPalAMicrocode = 2,\r
329 EfiProcessorIpfPalBMicrocode = 3\r
330} EFI_PROCESSOR_MICROCODE_TYPE;\r
331\r
332typedef struct {\r
333 EFI_PROCESSOR_MICROCODE_TYPE ProcessorMicrocodeType;\r
334 UINT32 ProcessorMicrocodeRevisionNumber;\r
335} EFI_PROCESSOR_MICROCODE_REVISION_DATA;\r
336\r
337typedef struct {\r
338 UINT32 CpuStatus :3;\r
339 UINT32 Reserved1 :3;\r
340 UINT32 SocketPopulated :1;\r
341 UINT32 Reserved2 :1;\r
342 UINT32 ApicEnable :1;\r
343 UINT32 BootApplicationProcessor :1;\r
344 UINT32 Reserved3 :22;\r
345} EFI_PROCESSOR_STATUS_DATA;\r
346\r
347typedef enum {\r
348 EfiCpuStatusUnknown = 0,\r
349 EfiCpuStatusEnabled = 1,\r
350 EfiCpuStatusDisabledByUser = 2,\r
351 EfiCpuStatusDisabledbyBios = 3,\r
352 EfiCpuStatusIdle = 4,\r
353 EfiCpuStatusOther = 7\r
354} EFI_CPU_STATUS;\r
355\r
356typedef enum {\r
357 EfiProcessorSocketOther = 1,\r
358 EfiProcessorSocketUnknown = 2,\r
359 EfiProcessorSocketDaughterBoard = 3,\r
360 EfiProcessorSocketZIF = 4,\r
361 EfiProcessorSocketReplacePiggyBack = 5,\r
362 EfiProcessorSocketNone = 6,\r
363 EfiProcessorSocketLIF = 7,\r
364 EfiProcessorSocketSlot1 = 8,\r
365 EfiProcessorSocketSlot2 = 9,\r
366 EfiProcessorSocket370Pin = 0xA,\r
367 EfiProcessorSocketSlotA = 0xB,\r
368 EfiProcessorSocketSlotM = 0xC,\r
369 EfiProcessorSocket423 = 0xD,\r
370 EfiProcessorSocketA462 = 0xE,\r
371 EfiProcessorSocket478 = 0xF,\r
372 EfiProcessorSocket754 = 0x10,\r
373 EfiProcessorSocket940 = 0x11,\r
374 EfiProcessorSocketLG775 = 0x12\r
375\r
376} EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
377\r
378typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;\r
379\r
380typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA;\r
381\r
382typedef enum {\r
383 EfiProcessorHealthy = 1,\r
384 EfiProcessorPerfRestricted = 2,\r
385 EfiProcessorFuncRestricted = 3\r
386} EFI_PROCESSOR_HEALTH_STATUS; \r
387\r
388typedef UINTN EFI_PROCESSOR_PACKAGE_NUMBER_DATA;\r
389\r
390\r
391typedef enum {\r
392 ProcessorCoreFrequencyRecordType = 1,\r
393 ProcessorFsbFrequencyRecordType = 2,\r
394 ProcessorVersionRecordType = 3,\r
395 ProcessorManufacturerRecordType = 4,\r
396 ProcessorSerialNumberRecordType = 5,\r
397 ProcessorIdRecordType = 6,\r
398 ProcessorTypeRecordType = 7,\r
399 ProcessorFamilyRecordType = 8,\r
400 ProcessorVoltageRecordType = 9,\r
401 ProcessorApicBaseAddressRecordType = 10,\r
402 ProcessorApicIdRecordType = 11,\r
403 ProcessorApicVersionNumberRecordType = 12,\r
404 CpuUcodeRevisionDataRecordType = 13,\r
405 ProcessorStatusRecordType = 14,\r
406 ProcessorSocketTypeRecordType = 15,\r
407 ProcessorSocketNameRecordType = 16,\r
408 CacheAssociationRecordType = 17,\r
409 ProcessorMaxCoreFrequencyRecordType = 18,\r
410 ProcessorAssetTagRecordType = 19,\r
411 ProcessorMaxFsbFrequencyRecordType = 20,\r
412 ProcessorPackageNumberRecordType = 21,\r
413 ProcessorCoreFrequencyListRecordType = 22,\r
414 ProcessorFsbFrequencyListRecordType = 23,\r
415 ProcessorHealthStatusRecordType = 24\r
416} EFI_CPU_VARIABLE_RECORD_TYPE;\r
417\r
418typedef union {\r
419 EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList;\r
420 EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA ProcessorFsbFrequencyList;\r
421 EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber;\r
422 EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency;\r
423 EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency;\r
424 EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency;\r
425 EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA ProcessorMaxFsbFrequency;\r
426 EFI_PROCESSOR_VERSION_DATA ProcessorVersion;\r
427 EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer;\r
428 EFI_PROCESSOR_ID_DATA ProcessorId;\r
429 EFI_PROCESSOR_TYPE_DATA ProcessorType;\r
430 EFI_PROCESSOR_FAMILY_DATA ProcessorFamily;\r
431 EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage;\r
432 EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA ProcessorApicBase;\r
433 EFI_PROCESSOR_APIC_ID_DATA ProcessorApicId;\r
434 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA ProcessorApicVersionNumber;\r
435 EFI_PROCESSOR_MICROCODE_REVISION_DATA CpuUcodeRevisionData;\r
436 EFI_PROCESSOR_STATUS_DATA ProcessorStatus;\r
437 EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType;\r
438 EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName;\r
439 EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag;\r
440 EFI_PROCESSOR_HEALTH_STATUS ProcessorHealthStatus;\r
441 EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber;\r
442} EFI_CPU_VARIABLE_RECORD;\r
443\r
444typedef struct {\r
445 EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;\r
446 EFI_CPU_VARIABLE_RECORD VariableRecord;\r
447} EFI_CPU_DATA_RECORD;\r
448\r
449#define EFI_CACHE_SUBCLASS_VERSION 0x00010000\r
450\r
451\r
452typedef EFI_EXP_BASE2_DATA EFI_CACHE_SIZE_DATA;\r
453\r
454typedef EFI_EXP_BASE2_DATA EFI_MAXIMUM_CACHE_SIZE_DATA;\r
455\r
456typedef EFI_EXP_BASE10_DATA EFI_CACHE_SPEED_DATA;\r
457\r
458typedef STRING_REF EFI_CACHE_SOCKET_DATA;\r
459\r
460typedef struct {\r
461 UINT32 Other :1;\r
462 UINT32 Unknown :1;\r
463 UINT32 NonBurst :1;\r
464 UINT32 Burst :1;\r
465 UINT32 PipelineBurst :1;\r
466 UINT32 Asynchronous :1;\r
467 UINT32 Synchronous :1;\r
468 UINT32 Reserved :25;\r
469} EFI_CACHE_SRAM_TYPE_DATA;\r
470\r
471typedef enum { \r
472 EfiCacheErrorOther = 1,\r
473 EfiCacheErrorUnknown = 2,\r
474 EfiCacheErrorNone = 3,\r
475 EfiCacheErrorParity = 4,\r
476 EfiCacheErrorSingleBit = 5,\r
477 EfiCacheErrorMultiBit = 6\r
478} EFI_CACHE_ERROR_TYPE_DATA;\r
479\r
480typedef enum { \r
481 EfiCacheTypeOther = 1,\r
482 EfiCacheTypeUnknown = 2,\r
483 EfiCacheTypeInstruction = 3,\r
484 EfiCacheTypeData = 4,\r
485 EfiCacheTypeUnified = 5\r
486} EFI_CACHE_TYPE_DATA;\r
487\r
488typedef enum { \r
489 EfiCacheAssociativityOther = 1,\r
490 EfiCacheAssociativityUnknown = 2,\r
491 EfiCacheAssociativityDirectMapped = 3,\r
492 EfiCacheAssociativity2Way = 4,\r
493 EfiCacheAssociativity4Way = 5,\r
494 EfiCacheAssociativityFully = 6,\r
495 EfiCacheAssociativity8Way = 7,\r
496 EfiCacheAssociativity16Way = 8\r
497} EFI_CACHE_ASSOCIATIVITY_DATA;\r
498\r
499typedef struct { \r
500 UINT32 Level :3;\r
501 UINT32 Socketed :1;\r
502 UINT32 Reserved2 :1;\r
503 UINT32 Location :2;\r
504 UINT32 Enable :1;\r
505 UINT32 OperationalMode :2;\r
506 UINT32 Reserved1 :22;\r
507} EFI_CACHE_CONFIGURATION_DATA;\r
508\r
509#define EFI_CACHE_L1 1\r
510#define EFI_CACHE_L2 2\r
511#define EFI_CACHE_L3 3\r
512#define EFI_CACHE_L4 4\r
513#define EFI_CACHE_LMAX EFI_CACHE_L4\r
514\r
515#define EFI_CACHE_SOCKETED 1\r
516#define EFI_CACHE_NOT_SOCKETED 0\r
517\r
518typedef enum {\r
519 EfiCacheInternal = 0,\r
520 EfiCacheExternal = 1,\r
521 EfiCacheReserved = 2,\r
522 EfiCacheUnknown = 3\r
523} EFI_CACHE_LOCATION;\r
524 \r
525#define EFI_CACHE_ENABLED 1\r
526#define EFI_CACHE_DISABLED 0\r
527\r
528typedef enum {\r
529 EfiCacheWriteThrough = 0,\r
530 EfiCacheWriteBack = 1,\r
531 EfiCacheDynamicMode = 2,\r
532 EfiCacheUnknownMode = 3\r
533} EFI_CACHE_OPERATIONAL_MODE;\r
534\r
535\r
536\r
537typedef enum {\r
538 CacheSizeRecordType = 1,\r
539 MaximumSizeCacheRecordType = 2,\r
540 CacheSpeedRecordType = 3,\r
541 CacheSocketRecordType = 4,\r
542 CacheSramTypeRecordType = 5,\r
543 CacheInstalledSramTypeRecordType = 6,\r
544 CacheErrorTypeRecordType = 7,\r
545 CacheTypeRecordType = 8,\r
546 CacheAssociativityRecordType = 9,\r
547 CacheConfigRecordType = 10\r
548} EFI_CACHE_VARIABLE_RECORD_TYPE;\r
549\r
550\r
551typedef union {\r
552 EFI_CACHE_SIZE_DATA CacheSize;\r
553 EFI_MAXIMUM_CACHE_SIZE_DATA MaximumCacheSize;\r
554 EFI_CACHE_SPEED_DATA CacheSpeed;\r
555 EFI_CACHE_SOCKET_DATA CacheSocket;\r
556 EFI_CACHE_SRAM_TYPE_DATA CacheSramType;\r
557 EFI_CACHE_SRAM_TYPE_DATA CacheInstalledSramType;\r
558 EFI_CACHE_ERROR_TYPE_DATA CacheErrorType;\r
559 EFI_CACHE_TYPE_DATA CacheType;\r
560 EFI_CACHE_ASSOCIATIVITY_DATA CacheAssociativity;\r
561 EFI_CACHE_CONFIGURATION_DATA CacheConfig;\r
562 EFI_CACHE_ASSOCIATION_DATA CacheAssociation;\r
563} EFI_CACHE_VARIABLE_RECORD;\r
564\r
565typedef struct {\r
566 EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;\r
567 EFI_CACHE_VARIABLE_RECORD VariableRecord; \r
568} EFI_CACHE_DATA_RECORD;\r
569 \r
570#define EFI_MEMORY_SUBCLASS_VERSION 0x0100\r
571\r
572\r
573#define EFI_MEMORY_SIZE_RECORD_NUMBER 0x00000001\r
574\r
575typedef enum _EFI_MEMORY_REGION_TYPE {\r
576 EfiMemoryRegionMemory = 0x01,\r
577 EfiMemoryRegionReserved = 0x02,\r
578 EfiMemoryRegionAcpi = 0x03,\r
579 EfiMemoryRegionNvs = 0x04\r
580} EFI_MEMORY_REGION_TYPE;\r
581\r
582typedef struct {\r
583 UINT32 ProcessorNumber;\r
584 UINT16 StartBusNumber;\r
585 UINT16 EndBusNumber;\r
586 EFI_MEMORY_REGION_TYPE MemoryRegionType;\r
587 EFI_EXP_BASE2_DATA MemorySize;\r
588 EFI_PHYSICAL_ADDRESS MemoryStartAddress;\r
589} EFI_MEMORY_SIZE_DATA;\r
590\r
591\r
592#define EFI_MEMORY_ARRAY_LOCATION_RECORD_NUMBER 0x00000002\r
593\r
594typedef enum _EFI_MEMORY_ARRAY_LOCATION {\r
595 EfiMemoryArrayLocationOther = 0x01,\r
596 EfiMemoryArrayLocationUnknown = 0x02,\r
597 EfiMemoryArrayLocationSystemBoard = 0x03,\r
598 EfiMemoryArrayLocationIsaAddonCard = 0x04,\r
599 EfiMemoryArrayLocationEisaAddonCard = 0x05,\r
600 EfiMemoryArrayLocationPciAddonCard = 0x06,\r
601 EfiMemoryArrayLocationMcaAddonCard = 0x07,\r
602 EfiMemoryArrayLocationPcmciaAddonCard = 0x08,\r
603 EfiMemoryArrayLocationProprietaryAddonCard = 0x09,\r
604 EfiMemoryArrayLocationNuBus = 0x0A,\r
605 EfiMemoryArrayLocationPc98C20AddonCard = 0xA0,\r
606 EfiMemoryArrayLocationPc98C24AddonCard = 0xA1,\r
607 EfiMemoryArrayLocationPc98EAddonCard = 0xA2,\r
608 EfiMemoryArrayLocationPc98LocalBusAddonCard = 0xA3\r
609} EFI_MEMORY_ARRAY_LOCATION;\r
610\r
611typedef enum _EFI_MEMORY_ARRAY_USE {\r
612 EfiMemoryArrayUseOther = 0x01,\r
613 EfiMemoryArrayUseUnknown = 0x02,\r
614 EfiMemoryArrayUseSystemMemory = 0x03,\r
615 EfiMemoryArrayUseVideoMemory = 0x04,\r
616 EfiMemoryArrayUseFlashMemory = 0x05,\r
617 EfiMemoryArrayUseNonVolatileRam = 0x06,\r
618 EfiMemoryArrayUseCacheMemory = 0x07,\r
619} EFI_MEMORY_ARRAY_USE;\r
620\r
621typedef enum _EFI_MEMORY_ERROR_CORRECTION {\r
622 EfiMemoryErrorCorrectionOther = 0x01,\r
623 EfiMemoryErrorCorrectionUnknown = 0x02,\r
624 EfiMemoryErrorCorrectionNone = 0x03,\r
625 EfiMemoryErrorCorrectionParity = 0x04,\r
626 EfiMemoryErrorCorrectionSingleBitEcc = 0x05,\r
627 EfiMemoryErrorCorrectionMultiBitEcc = 0x06,\r
628 EfiMemoryErrorCorrectionCrc = 0x07,\r
629} EFI_MEMORY_ERROR_CORRECTION;\r
630\r
631typedef struct {\r
632 EFI_MEMORY_ARRAY_LOCATION MemoryArrayLocation;\r
633 EFI_MEMORY_ARRAY_USE MemoryArrayUse;\r
634 EFI_MEMORY_ERROR_CORRECTION MemoryErrorCorrection;\r
635 EFI_EXP_BASE2_DATA MaximumMemoryCapacity;\r
636 UINT16 NumberMemoryDevices;\r
637} EFI_MEMORY_ARRAY_LOCATION_DATA;\r
638\r
639\r
640#define EFI_MEMORY_ARRAY_LINK_RECORD_NUMBER 0x00000003\r
641\r
642typedef enum _EFI_MEMORY_FORM_FACTOR {\r
643 EfiMemoryFormFactorOther = 0x01,\r
644 EfiMemoryFormFactorUnknown = 0x02,\r
645 EfiMemoryFormFactorSimm = 0x03,\r
646 EfiMemoryFormFactorSip = 0x04,\r
647 EfiMemoryFormFactorChip = 0x05,\r
648 EfiMemoryFormFactorDip = 0x06,\r
649 EfiMemoryFormFactorZip = 0x07,\r
650 EfiMemoryFormFactorProprietaryCard = 0x08,\r
651 EfiMemoryFormFactorDimm = 0x09,\r
652 EfiMemoryFormFactorTsop = 0x0A,\r
653 EfiMemoryFormFactorRowOfChips = 0x0B,\r
654 EfiMemoryFormFactorRimm = 0x0C,\r
655 EfiMemoryFormFactorSodimm = 0x0D,\r
656 EfiMemoryFormFactorSrimm = 0x0E\r
657} EFI_MEMORY_FORM_FACTOR;\r
658\r
659typedef enum _EFI_MEMORY_ARRAY_TYPE {\r
660 EfiMemoryTypeOther = 0x01,\r
661 EfiMemoryTypeUnknown = 0x02,\r
662 EfiMemoryTypeDram = 0x03,\r
663 EfiMemoryTypeEdram = 0x04,\r
664 EfiMemoryTypeVram = 0x05,\r
665 EfiMemoryTypeSram = 0x06,\r
666 EfiMemoryTypeRam = 0x07,\r
667 EfiMemoryTypeRom = 0x08,\r
668 EfiMemoryTypeFlash = 0x09,\r
669 EfiMemoryTypeEeprom = 0x0A,\r
670 EfiMemoryTypeFeprom = 0x0B,\r
671 EfiMemoryTypeEprom = 0x0C,\r
672 EfiMemoryTypeCdram = 0x0D,\r
673 EfiMemoryType3Dram = 0x0E,\r
674 EfiMemoryTypeSdram = 0x0F,\r
675 EfiMemoryTypeSgram = 0x10,\r
676 EfiMemoryTypeRdram = 0x11,\r
677 EfiMemoryTypeDdr = 0x12\r
678} EFI_MEMORY_ARRAY_TYPE;\r
679\r
680typedef struct {\r
681 UINT32 Reserved :1;\r
682 UINT32 Other :1;\r
683 UINT32 Unknown :1;\r
684 UINT32 FastPaged :1;\r
685 UINT32 StaticColumn :1;\r
686 UINT32 PseudoStatic :1;\r
687 UINT32 Rambus :1;\r
688 UINT32 Synchronous :1;\r
689 UINT32 Cmos :1;\r
690 UINT32 Edo :1;\r
691 UINT32 WindowDram :1;\r
692 UINT32 CacheDram :1;\r
693 UINT32 Nonvolatile :1;\r
694 UINT32 Reserved1 :19;\r
695} EFI_MEMORY_TYPE_DETAIL;\r
696\r
697typedef enum {\r
698 EfiMemoryStateEnabled = 0,\r
699 EfiMemoryStateUnknown = 1,\r
700 EfiMemoryStateUnsupported = 2,\r
701 EfiMemoryStateError = 3,\r
702 EfiMemoryStateAbsent = 4,\r
703 EfiMemoryStateDisabled = 5,\r
704 EfiMemoryStatePartial = 6\r
705} EFI_MEMORY_STATE;\r
706\r
707typedef struct {\r
708 STRING_REF MemoryDeviceLocator;\r
709 STRING_REF MemoryBankLocator;\r
710 STRING_REF MemoryManufacturer;\r
711 STRING_REF MemorySerialNumber;\r
712 STRING_REF MemoryAssetTag;\r
713 STRING_REF MemoryPartNumber;\r
714 EFI_INTER_LINK_DATA MemoryArrayLink;\r
715 EFI_INTER_LINK_DATA MemorySubArrayLink;\r
716 UINT16 MemoryTotalWidth;\r
717 UINT16 MemoryDataWidth;\r
718 EFI_EXP_BASE2_DATA MemoryDeviceSize;\r
719 EFI_MEMORY_FORM_FACTOR MemoryFormFactor;\r
720 UINT8 MemoryDeviceSet;\r
721 EFI_MEMORY_ARRAY_TYPE MemoryType;\r
722 EFI_MEMORY_TYPE_DETAIL MemoryTypeDetail;\r
723 EFI_EXP_BASE10_DATA MemorySpeed;\r
724 EFI_MEMORY_STATE MemoryState;\r
725} EFI_MEMORY_ARRAY_LINK_DATA;\r
726\r
727\r
728#define EFI_MEMORY_ARRAY_START_ADDRESS_RECORD_NUMBER 0x00000004\r
729\r
730typedef struct {\r
731 EFI_PHYSICAL_ADDRESS MemoryArrayStartAddress;\r
732 EFI_PHYSICAL_ADDRESS MemoryArrayEndAddress;\r
733 EFI_INTER_LINK_DATA PhysicalMemoryArrayLink;\r
734 UINT16 MemoryArrayPartitionWidth;\r
735} EFI_MEMORY_ARRAY_START_ADDRESS_DATA;\r
736\r
737\r
738#define EFI_MEMORY_DEVICE_START_ADDRESS_RECORD_NUMBER 0x00000005\r
739\r
740typedef struct {\r
741 EFI_PHYSICAL_ADDRESS MemoryDeviceStartAddress;\r
742 EFI_PHYSICAL_ADDRESS MemoryDeviceEndAddress;\r
743 EFI_INTER_LINK_DATA PhysicalMemoryDeviceLink;\r
744 EFI_INTER_LINK_DATA PhysicalMemoryArrayLink;\r
745 UINT8 MemoryDevicePartitionRowPosition;\r
746 UINT8 MemoryDeviceInterleavePosition;\r
747 UINT8 MemoryDeviceInterleaveDataDepth;\r
748} EFI_MEMORY_DEVICE_START_ADDRESS_DATA;\r
749\r
750\r
751//\r
752// Memory. Channel Device Type - SMBIOS Type 37\r
753//\r
754\r
755#define EFI_MEMORY_CHANNEL_TYPE_RECORD_NUMBER 0x00000006\r
756\r
757typedef enum _EFI_MEMORY_CHANNEL_TYPE {\r
758 EfiMemoryChannelTypeOther = 1,\r
759 EfiMemoryChannelTypeUnknown = 2,\r
760 EfiMemoryChannelTypeRambus = 3,\r
761 EfiMemoryChannelTypeSyncLink = 4\r
762} EFI_MEMORY_CHANNEL_TYPE;\r
763\r
764typedef struct {\r
765 EFI_MEMORY_CHANNEL_TYPE MemoryChannelType;\r
766 UINT8 MemoryChannelMaximumLoad;\r
767 UINT8 MemoryChannelDeviceCount;\r
768} EFI_MEMORY_CHANNEL_TYPE_DATA;\r
769\r
770#define EFI_MEMORY_CHANNEL_DEVICE_RECORD_NUMBER 0x00000007\r
771\r
772typedef struct {\r
773 UINT8 DeviceId;\r
774 EFI_INTER_LINK_DATA DeviceLink;\r
775 UINT8 MemoryChannelDeviceLoad;\r
776} EFI_MEMORY_CHANNEL_DEVICE_DATA;\r
777\r
778\r
779\r
780typedef union _EFI_MEMORY_SUBCLASS_RECORDS {\r
781 EFI_MEMORY_SIZE_DATA SizeData;\r
782 EFI_MEMORY_ARRAY_LOCATION_DATA ArrayLocationData;\r
783 EFI_MEMORY_ARRAY_LINK_DATA ArrayLink;\r
784 EFI_MEMORY_ARRAY_START_ADDRESS_DATA ArrayStartAddress;\r
785 EFI_MEMORY_DEVICE_START_ADDRESS_DATA DeviceStartAddress;\r
786 EFI_MEMORY_CHANNEL_TYPE_DATA ChannelTypeData;\r
787 EFI_MEMORY_CHANNEL_DEVICE_DATA ChannelDeviceData;\r
788} EFI_MEMORY_SUBCLASS_RECORDS;\r
789\r
790typedef struct {\r
791 EFI_SUBCLASS_TYPE1_HEADER Header;\r
792 EFI_MEMORY_SUBCLASS_RECORDS Record;\r
793} EFI_MEMORY_SUBCLASS_DRIVER_DATA;\r
794\r
795#define EFI_MISC_SUBCLASS_VERSION 0x0100\r
796\r
797#pragma pack(1)\r
798//\r
799//////////////////////////////////////////////////////////////////////////////\r
800//\r
801// Last PCI Bus Number\r
802//\r
803#define EFI_MISC_LAST_PCI_BUS_RECORD_NUMBER 0x00000001\r
804\r
805typedef struct {\r
806 UINT8 LastPciBus;\r
807} EFI_MISC_LAST_PCI_BUS_DATA;\r
808\r
809//\r
810//////////////////////////////////////////////////////////////////////////////\r
811//\r
812// Misc. BIOS Vendor - SMBIOS Type 0\r
813//\r
814#define EFI_MISC_BIOS_VENDOR_RECORD_NUMBER 0x00000002\r
815\r
816typedef struct {\r
817 UINT32 Reserved1 :2;\r
818 UINT32 Unknown :1;\r
819 UINT32 BiosCharacteristicsNotSupported :1;\r
820 UINT32 IsaIsSupported :1;\r
821 UINT32 McaIsSupported :1;\r
822 UINT32 EisaIsSupported :1;\r
823 UINT32 PciIsSupported :1;\r
824 UINT32 PcmciaIsSupported :1;\r
825 UINT32 PlugAndPlayIsSupported :1;\r
826 UINT32 ApmIsSupported :1;\r
827 UINT32 BiosIsUpgradable :1;\r
828 UINT32 BiosShadowingAllowed :1;\r
829 UINT32 VlVesaIsSupported :1;\r
830 UINT32 EscdSupportIsAvailable :1;\r
831 UINT32 BootFromCdIsSupported :1;\r
832 UINT32 SelectableBootIsSupported :1;\r
833 UINT32 RomBiosIsSocketed :1;\r
834 UINT32 BootFromPcmciaIsSupported :1;\r
835 UINT32 EDDSpecificationIsSupported :1;\r
836 UINT32 JapaneseNecFloppyIsSupported :1;\r
837 UINT32 JapaneseToshibaFloppyIsSupported :1;\r
838 UINT32 Floppy525_360IsSupported :1;\r
839 UINT32 Floppy525_12IsSupported :1;\r
840 UINT32 Floppy35_720IsSupported :1;\r
841 UINT32 Floppy35_288IsSupported :1;\r
842 UINT32 PrintScreenIsSupported :1;\r
843 UINT32 Keyboard8042IsSupported :1;\r
844 UINT32 SerialIsSupported :1;\r
845 UINT32 PrinterIsSupported :1;\r
846 UINT32 CgaMonoIsSupported :1;\r
847 UINT32 NecPc98 :1;\r
848 UINT32 AcpiIsSupported :1;\r
849 UINT32 UsbLegacyIsSupported :1;\r
850 UINT32 AgpIsSupported :1;\r
851 UINT32 I20BootIsSupported :1;\r
852 UINT32 Ls120BootIsSupported :1;\r
853 UINT32 AtapiZipDriveBootIsSupported :1;\r
854 UINT32 Boot1394IsSupported :1;\r
855 UINT32 SmartBatteryIsSupported :1;\r
856 UINT32 BiosBootSpecIsSupported :1;\r
857 UINT32 FunctionKeyNetworkBootIsSupported :1;\r
858 UINT32 Reserved :22;\r
859} EFI_MISC_BIOS_CHARACTERISTICS;\r
860\r
861typedef struct {\r
862 UINT32 BiosReserved :16;\r
863 UINT32 SystemReserved :16;\r
864 UINT32 Reserved :32;\r
865} EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION;\r
866\r
867typedef struct {\r
868 STRING_REF BiosVendor;\r
869 STRING_REF BiosVersion;\r
870 STRING_REF BiosReleaseDate;\r
871 EFI_PHYSICAL_ADDRESS BiosStartingAddress;\r
872 EFI_EXP_BASE2_DATA BiosPhysicalDeviceSize;\r
873 EFI_MISC_BIOS_CHARACTERISTICS BiosCharacteristics1;\r
874 EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION BiosCharacteristics2;\r
875} EFI_MISC_BIOS_VENDOR_DATA; \r
876\r
877//\r
878//////////////////////////////////////////////////////////////////////////////\r
879//\r
880// Misc. System Manufacturer - SMBIOS Type 1\r
881//\r
882#define EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER 0x00000003\r
883\r
884typedef enum { \r
885 EfiSystemWakeupTypeReserved = 0,\r
886 EfiSystemWakeupTypeOther = 1,\r
887 EfiSystemWakeupTypeUnknown = 2,\r
888 EfiSystemWakeupTypeApmTimer = 3,\r
889 EfiSystemWakeupTypeModemRing = 4,\r
890 EfiSystemWakeupTypeLanRemote = 5,\r
891 EfiSystemWakeupTypePowerSwitch = 6,\r
892 EfiSystemWakeupTypePciPme = 7,\r
893 EfiSystemWakeupTypeAcPowerRestored = 8,\r
894} EFI_MISC_SYSTEM_WAKEUP_TYPE;\r
895\r
896typedef struct {\r
897 STRING_REF SystemManufacturer;\r
898 STRING_REF SystemProductName;\r
899 STRING_REF SystemVersion;\r
900 STRING_REF SystemSerialNumber;\r
901 EFI_GUID SystemUuid;\r
902 EFI_MISC_SYSTEM_WAKEUP_TYPE SystemWakeupType;\r
903} EFI_MISC_SYSTEM_MANUFACTURER_DATA; \r
904\r
905//\r
906//////////////////////////////////////////////////////////////////////////////\r
907//\r
908// Misc. Base Board Manufacturer - SMBIOS Type 2\r
909//\r
910#define EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER 0x00000004\r
911\r
912typedef struct {\r
913 UINT32 Motherboard :1;\r
914 UINT32 RequiresDaughterCard :1;\r
915 UINT32 Removable :1;\r
916 UINT32 Replaceable :1;\r
917 UINT32 HotSwappable :1;\r
918 UINT32 Reserved :27;\r
919} EFI_BASE_BOARD_FEATURE_FLAGS;\r
920\r
921typedef enum { \r
922 EfiBaseBoardTypeUnknown = 1,\r
923 EfiBaseBoardTypeOther = 2,\r
924 EfiBaseBoardTypeServerBlade = 3,\r
925 EfiBaseBoardTypeConnectivitySwitch = 4,\r
926 EfiBaseBoardTypeSystemManagementModule = 5,\r
927 EfiBaseBoardTypeProcessorModule = 6,\r
928 EfiBaseBoardTypeIOModule = 7,\r
929 EfiBaseBoardTypeMemoryModule = 8,\r
930 EfiBaseBoardTypeDaughterBoard = 9,\r
931 EfiBaseBoardTypeMotherBoard = 0xA,\r
932 EfiBaseBoardTypeProcessorMemoryModule = 0xB,\r
933 EfiBaseBoardTypeProcessorIOModule = 0xC,\r
934 EfiBaseBoardTypeInterconnectBoard = 0xD,\r
935} EFI_BASE_BOARD_TYPE;\r
936\r
937typedef struct {\r
938 STRING_REF BaseBoardManufacturer;\r
939 STRING_REF BaseBoardProductName;\r
940 STRING_REF BaseBoardVersion;\r
941 STRING_REF BaseBoardSerialNumber;\r
942 STRING_REF BaseBoardAssetTag;\r
943 STRING_REF BaseBoardChassisLocation;\r
944 EFI_BASE_BOARD_FEATURE_FLAGS BaseBoardFeatureFlags;\r
945 EFI_BASE_BOARD_TYPE BaseBoardType;\r
946 EFI_INTER_LINK_DATA BaseBoardChassisLink;\r
947 UINT32 BaseBoardNumberLinks;\r
948 EFI_INTER_LINK_DATA LinkN;\r
949} EFI_MISC_BASE_BOARD_MANUFACTURER_DATA; \r
950\r
951//\r
952//////////////////////////////////////////////////////////////////////////////\r
953//\r
954// Misc. System/Chassis Enclosure - SMBIOS Type 3\r
955//\r
956#define EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER 0x00000005\r
957\r
958typedef enum { \r
959 EfiMiscChassisTypeOther = 0x1,\r
960 EfiMiscChassisTypeUnknown = 0x2,\r
961 EfiMiscChassisTypeDeskTop = 0x3,\r
962 EfiMiscChassisTypeLowProfileDesktop = 0x4,\r
963 EfiMiscChassisTypePizzaBox = 0x5,\r
964 EfiMiscChassisTypeMiniTower = 0x6,\r
965 EfiMiscChassisTypeTower = 0x7,\r
966 EfiMiscChassisTypePortable = 0x8,\r
967 EfiMiscChassisTypeLapTop = 0x9,\r
968 EfiMiscChassisTypeNotebook = 0xA,\r
969 EfiMiscChassisTypeHandHeld = 0xB,\r
970 EfiMiscChassisTypeDockingStation = 0xC,\r
971 EfiMiscChassisTypeAllInOne = 0xD,\r
972 EfiMiscChassisTypeSubNotebook = 0xE,\r
973 EfiMiscChassisTypeSpaceSaving = 0xF,\r
974 EfiMiscChassisTypeLunchBox = 0x10,\r
975 EfiMiscChassisTypeMainServerChassis = 0x11,\r
976 EfiMiscChassisTypeExpansionChassis = 0x12,\r
977 EfiMiscChassisTypeSubChassis = 0x13,\r
978 EfiMiscChassisTypeBusExpansionChassis = 0x14,\r
979 EfiMiscChassisTypePeripheralChassis = 0x15,\r
980 EfiMiscChassisTypeRaidChassis = 0x16,\r
981 EfiMiscChassisTypeRackMountChassis = 0x17,\r
982 EfiMiscChassisTypeSealedCasePc = 0x18,\r
983 EfiMiscChassisMultiSystemChassis = 0x19,\r
984} EFI_MISC_CHASSIS_TYPE;\r
985\r
986typedef struct {\r
987 UINT32 ChassisType :16;\r
988 UINT32 ChassisLockPresent:1;\r
989 UINT32 Reserved :15;\r
990} EFI_MISC_CHASSIS_STATUS;\r
991\r
992typedef enum { \r
993 EfiChassisStateOther = 0x01,\r
994 EfiChassisStateUnknown = 0x02,\r
995 EfiChassisStateSafe = 0x03,\r
996 EfiChassisStateWarning = 0x04,\r
997 EfiChassisStateCritical = 0x05,\r
998 EfiChassisStateNonRecoverable = 0x06,\r
999} EFI_MISC_CHASSIS_STATE;\r
1000\r
1001typedef enum { \r
1002 EfiChassisSecurityStatusOther = 0x01,\r
1003 EfiChassisSecurityStatusUnknown = 0x02,\r
1004 EfiChassisSecurityStatusNone = 0x03,\r
1005 EfiChassisSecurityStatusExternalInterfaceLockedOut = 0x04,\r
1006 EfiChassisSecurityStatusExternalInterfaceLockedEnabled = 0x05,\r
1007} EFI_MISC_CHASSIS_SECURITY_STATE;\r
1008\r
1009typedef struct {\r
1010 UINT32 RecordType :1;\r
1011 UINT32 Reserved :24;\r
1012} EFI_MISC_ELEMENT_TYPE;\r
1013\r
1014typedef struct {\r
1015 EFI_MISC_ELEMENT_TYPE ChassisElementType;\r
1016 EFI_INTER_LINK_DATA ChassisElementStructure;\r
1017 EFI_BASE_BOARD_TYPE ChassisBaseBoard;\r
1018 UINT32 ChassisElementMinimum;\r
1019 UINT32 ChassisElementMaximum;\r
1020} EFI_MISC_ELEMENTS; \r
1021\r
1022typedef struct {\r
1023 STRING_REF ChassisManufacturer;\r
1024 STRING_REF ChassisVersion;\r
1025 STRING_REF ChassisSerialNumber;\r
1026 STRING_REF ChassisAssetTag;\r
1027 EFI_MISC_CHASSIS_STATUS ChassisType;\r
1028 EFI_MISC_CHASSIS_STATE ChassisBootupState;\r
1029 EFI_MISC_CHASSIS_STATE ChassisPowerSupplyState;\r
1030 EFI_MISC_CHASSIS_STATE ChassisThermalState;\r
1031 EFI_MISC_CHASSIS_SECURITY_STATE ChassisSecurityState;\r
1032 UINT32 ChassisOemDefined;\r
1033 UINT32 ChassisHeight;\r
1034 UINT32 ChassisNumberPowerCords;\r
1035 UINT32 ChassisElementCount;\r
1036 UINT32 ChassisElementRecordLength;//\r
1037 EFI_MISC_ELEMENTS ChassisElements;\r
1038} EFI_MISC_CHASSIS_MANUFACTURER_DATA;\r
1039\r
1040//\r
1041//////////////////////////////////////////////////////////////////////////////\r
1042//\r
1043// Misc. Port Connector Information - SMBIOS Type 8\r
1044//\r
1045#define EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER 0x00000006\r
1046\r
1047typedef enum { \r
1048 EfiPortConnectorTypeNone = 0x00,\r
1049 EfiPortConnectorTypeCentronics = 0x01,\r
1050 EfiPortConnectorTypeMiniCentronics = 0x02,\r
1051 EfiPortConnectorTypeProprietary = 0x03,\r
1052 EfiPortConnectorTypeDB25Male = 0x04,\r
1053 EfiPortConnectorTypeDB25Female = 0x05,\r
1054 EfiPortConnectorTypeDB15Male = 0x06,\r
1055 EfiPortConnectorTypeDB15Female = 0x07,\r
1056 EfiPortConnectorTypeDB9Male = 0x08,\r
1057 EfiPortConnectorTypeDB9Female = 0x09,\r
1058 EfiPortConnectorTypeRJ11 = 0x0A,\r
1059 EfiPortConnectorTypeRJ45 = 0x0B,\r
1060 EfiPortConnectorType50PinMiniScsi = 0x0C,\r
1061 EfiPortConnectorTypeMiniDin = 0x0D,\r
1062 EfiPortConnectorTypeMicriDin = 0x0E,\r
1063 EfiPortConnectorTypePS2 = 0x0F,\r
1064 EfiPortConnectorTypeInfrared = 0x10,\r
1065 EfiPortConnectorTypeHpHil = 0x11,\r
1066 EfiPortConnectorTypeUsb = 0x12,\r
1067 EfiPortConnectorTypeSsaScsi = 0x13,\r
1068 EfiPortConnectorTypeCircularDin8Male = 0x14,\r
1069 EfiPortConnectorTypeCircularDin8Female = 0x15,\r
1070 EfiPortConnectorTypeOnboardIde = 0x16,\r
1071 EfiPortConnectorTypeOnboardFloppy = 0x17,\r
1072 EfiPortConnectorType9PinDualInline = 0x18,\r
1073 EfiPortConnectorType25PinDualInline = 0x19,\r
1074 EfiPortConnectorType50PinDualInline = 0x1A,\r
1075 EfiPortConnectorType68PinDualInline = 0x1B,\r
1076 EfiPortConnectorTypeOnboardSoundInput = 0x1C,\r
1077 EfiPortConnectorTypeMiniCentronicsType14 = 0x1D,\r
1078 EfiPortConnectorTypeMiniCentronicsType26 = 0x1E,\r
1079 EfiPortConnectorTypeHeadPhoneMiniJack = 0x1F,\r
1080 EfiPortConnectorTypeBNC = 0x20,\r
1081 EfiPortConnectorType1394 = 0x21,\r
1082 EfiPortConnectorTypePC98 = 0xA0,\r
1083 EfiPortConnectorTypePC98Hireso = 0xA1,\r
1084 EfiPortConnectorTypePCH98 = 0xA2,\r
1085 EfiPortConnectorTypePC98Note = 0xA3,\r
1086 EfiPortConnectorTypePC98Full = 0xA4,\r
1087 EfiPortConnectorTypeOther = 0xFF,\r
1088} EFI_MISC_PORT_CONNECTOR_TYPE;\r
1089\r
1090typedef enum { \r
1091 EfiPortTypeNone = 0x00,\r
1092 EfiPortTypeParallelXtAtCompatible = 0x01,\r
1093 EfiPortTypeParallelPortPs2 = 0x02,\r
1094 EfiPortTypeParallelPortEcp = 0x03,\r
1095 EfiPortTypeParallelPortEpp = 0x04,\r
1096 EfiPortTypeParallelPortEcpEpp = 0x05,\r
1097 EfiPortTypeSerialXtAtCompatible = 0x06,\r
1098 EfiPortTypeSerial16450Compatible = 0x07,\r
1099 EfiPortTypeSerial16550Compatible = 0x08,\r
1100 EfiPortTypeSerial16550ACompatible = 0x09,\r
1101 EfiPortTypeScsi = 0x0A,\r
1102 EfiPortTypeMidi = 0x0B,\r
1103 EfiPortTypeJoyStick = 0x0C,\r
1104 EfiPortTypeKeyboard = 0x0D,\r
1105 EfiPortTypeMouse = 0x0E,\r
1106 EfiPortTypeSsaScsi = 0x0F,\r
1107 EfiPortTypeUsb = 0x10,\r
1108 EfiPortTypeFireWire = 0x11,\r
1109 EfiPortTypePcmciaTypeI = 0x12,\r
1110 EfiPortTypePcmciaTypeII = 0x13,\r
1111 EfiPortTypePcmciaTypeIII = 0x14,\r
1112 EfiPortTypeCardBus = 0x15,\r
1113 EfiPortTypeAccessBusPort = 0x16,\r
1114 EfiPortTypeScsiII = 0x17,\r
1115 EfiPortTypeScsiWide = 0x18,\r
1116 EfiPortTypePC98 = 0x19,\r
1117 EfiPortTypePC98Hireso = 0x1A,\r
1118 EfiPortTypePCH98 = 0x1B,\r
1119 EfiPortTypeVideoPort = 0x1C,\r
1120 EfiPortTypeAudioPort = 0x1D,\r
1121 EfiPortTypeModemPort = 0x1E,\r
1122 EfiPortTypeNetworkPort = 0x1F,\r
1123 EfiPortType8251Compatible = 0xA0,\r
1124 EfiPortType8251FifoCompatible = 0xA1,\r
1125 EfiPortTypeOther = 0xFF,\r
1126} EFI_MISC_PORT_TYPE;\r
1127\r
1128typedef struct {\r
1129 STRING_REF PortInternalConnectorDesignator;\r
1130 STRING_REF PortExternalConnectorDesignator;\r
1131 EFI_MISC_PORT_CONNECTOR_TYPE PortInternalConnectorType;\r
1132 EFI_MISC_PORT_CONNECTOR_TYPE PortExternalConnectorType;\r
1133 EFI_MISC_PORT_TYPE PortType;\r
1134 EFI_MISC_PORT_DEVICE_PATH PortPath;\r
1135} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA; \r
1136\r
1137//\r
1138//////////////////////////////////////////////////////////////////////////////\r
1139//\r
1140// Misc. System Slots - SMBIOS Type 9\r
1141//\r
1142#define EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER 0x00000007\r
1143\r
1144typedef enum { \r
1145 EfiSlotTypeOther = 0x01,\r
1146 EfiSlotTypeUnknown = 0x02,\r
1147 EfiSlotTypeIsa = 0x03,\r
1148 EfiSlotTypeMca = 0x04,\r
1149 EfiSlotTypeEisa = 0x05,\r
1150 EfiSlotTypePci = 0x06,\r
1151 EfiSlotTypePcmcia = 0x07,\r
1152 EfiSlotTypeVlVesa = 0x08,\r
1153 EfiSlotTypeProprietary = 0x09,\r
1154 EfiSlotTypeProcessorCardSlot = 0x0A,\r
1155 EfiSlotTypeProprietaryMemoryCardSlot = 0x0B,\r
1156 EfiSlotTypeIORiserCardSlot = 0x0C,\r
1157 EfiSlotTypeNuBus = 0x0D,\r
1158 EfiSlotTypePci66MhzCapable = 0x0E,\r
1159 EfiSlotTypeAgp = 0x0F,\r
1160 EfiSlotTypeApg2X = 0x10,\r
1161 EfiSlotTypeAgp4X = 0x11,\r
1162 EfiSlotTypePciX = 0x12,\r
1163 EfiSlotTypeAgp4x = 0x13,\r
1164 EfiSlotTypePC98C20 = 0xA0,\r
1165 EfiSlotTypePC98C24 = 0xA1,\r
1166 EfiSlotTypePC98E = 0xA2,\r
1167 EfiSlotTypePC98LocalBus = 0xA3,\r
1168 EfiSlotTypePC98Card = 0xA4,\r
1169} EFI_MISC_SLOT_TYPE;\r
1170\r
1171typedef enum { \r
1172 EfiSlotDataBusWidthOther = 0x01,\r
1173 EfiSlotDataBusWidthUnknown = 0x02,\r
1174 EfiSlotDataBusWidth8Bit = 0x03,\r
1175 EfiSlotDataBusWidth16Bit = 0x04,\r
1176 EfiSlotDataBusWidth32Bit = 0x05,\r
1177 EfiSlotDataBusWidth64Bit = 0x06,\r
1178 EfiSlotDataBusWidth128Bit = 0x07,\r
1179} EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
1180\r
1181typedef enum { \r
1182 EfiSlotUsageOther = 1,\r
1183 EfiSlotUsageUnknown = 2,\r
1184 EfiSlotUsageAvailable = 3,\r
1185 EfiSlotUsageInUse = 4,\r
1186} EFI_MISC_SLOT_USAGE;\r
1187 \r
1188typedef enum { \r
1189 EfiSlotLengthOther = 1,\r
1190 EfiSlotLengthUnknown = 2,\r
1191 EfiSlotLengthShort = 3,\r
1192 EfiSlotLengthLong = 4\r
1193} EFI_MISC_SLOT_LENGTH;\r
1194\r
1195typedef struct {\r
1196 UINT32 CharacteristicsUnknown :1;\r
1197 UINT32 Provides50Volts :1;\r
1198 UINT32 Provides33Volts :1;\r
1199 UINT32 SharedSlot :1;\r
1200 UINT32 PcCard16Supported :1;\r
1201 UINT32 CardBusSupported :1;\r
1202 UINT32 ZoomVideoSupported :1;\r
1203 UINT32 ModemRingResumeSupported:1;\r
1204 UINT32 PmeSignalSupported :1;\r
1205 UINT32 HotPlugDevicesSupported :1;\r
1206 UINT32 SmbusSignalSupported :1;\r
1207 UINT32 Reserved :21;\r
1208} EFI_MISC_SLOT_CHARACTERISTICS;\r
1209\r
1210typedef struct {\r
1211 STRING_REF SlotDesignation;\r
1212 EFI_MISC_SLOT_TYPE SlotType;\r
1213 EFI_MISC_SLOT_DATA_BUS_WIDTH SlotDataBusWidth;\r
1214 EFI_MISC_SLOT_USAGE SlotUsage;\r
1215 EFI_MISC_SLOT_LENGTH SlotLength;\r
1216 UINT16 SlotId;\r
1217 EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;\r
1218 EFI_DEVICE_PATH_PROTOCOL SlotDevicePath;\r
1219} EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA; \r
1220\r
1221//\r
1222//////////////////////////////////////////////////////////////////////////////\r
1223//\r
1224// Misc. Onboard Device - SMBIOS Type 10\r
1225//\r
1226#define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008\r
1227\r
1228typedef enum { \r
1229 EfiOnBoardDeviceTypeOther = 1,\r
1230 EfiOnBoardDeviceTypeUnknown = 2,\r
1231 EfiOnBoardDeviceTypeVideo = 3,\r
1232 EfiOnBoardDeviceTypeScsiController = 4,\r
1233 EfiOnBoardDeviceTypeEthernet = 5,\r
1234 EfiOnBoardDeviceTypeTokenRing = 6,\r
1235 EfiOnBoardDeviceTypeSound = 7,\r
1236} EFI_MISC_ONBOARD_DEVICE_TYPE;\r
1237\r
1238typedef struct {\r
1239 UINT32 DeviceType :16;\r
1240 UINT32 DeviceEnabled :1;\r
1241 UINT32 Reserved :15;\r
1242} EFI_MISC_ONBOARD_DEVICE_STATUS;\r
1243\r
1244typedef struct {\r
1245 STRING_REF OnBoardDeviceDescription;\r
1246 EFI_MISC_ONBOARD_DEVICE_STATUS OnBoardDeviceStatus;\r
1247 EFI_DEVICE_PATH_PROTOCOL OnBoardDevicePath;\r
1248} EFI_MISC_ONBOARD_DEVICE_DATA;\r
1249\r
1250//\r
1251//////////////////////////////////////////////////////////////////////////////\r
1252//\r
1253// Misc. BIOS Language Information - SMBIOS Type 11\r
1254//\r
1255#define EFI_MISC_OEM_STRING_RECORD_NUMBER 0x00000009\r
1256\r
1257typedef struct {\r
1258 STRING_REF OemStringRef[1];\r
1259} EFI_MISC_OEM_STRING_DATA;\r
1260\r
1261//\r
1262//////////////////////////////////////////////////////////////////////////////\r
1263//\r
1264// Misc. System Options - SMBIOS Type 12\r
1265//\r
1266typedef struct {\r
1267 STRING_REF SystemOptionStringRef[1];\r
1268} EFI_MISC_SYSTEM_OPTION_STRING_DATA; \r
1269\r
1270#define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A\r
1271\r
1272//\r
1273//////////////////////////////////////////////////////////////////////////////\r
1274//\r
1275// Misc. Number of Installable Languages - SMBIOS Type 13\r
1276//\r
1277#define EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER 0x0000000B\r
1278\r
1279typedef struct {\r
1280 UINT32 AbbreviatedLanguageFormat :1;\r
1281 UINT32 Reserved :31;\r
1282} EFI_MISC_LANGUAGE_FLAGS;\r
1283\r
1284typedef struct {\r
1285 UINT16 NumberOfInstallableLanguages;\r
1286 EFI_MISC_LANGUAGE_FLAGS LanguageFlags;\r
1287 UINT16 CurrentLanguageNumber;\r
1288} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA; \r
1289\r
1290//\r
1291//////////////////////////////////////////////////////////////////////////////\r
1292//\r
1293// Misc. System Language String\r
1294//\r
1295#define EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER 0x0000000C\r
1296\r
1297typedef struct {\r
1298 UINT16 LanguageId;\r
1299 STRING_REF SystemLanguageString;\r
1300} EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA; \r
1301\r
1302//\r
1303//////////////////////////////////////////////////////////////////////////////\r
1304//\r
1305// Group Associations - SMBIOS Type 14\r
1306//\r
1307#define EFI_MISC_GROUP_NAME_RECORD_NUMBER 0x0000000D\r
1308\r
1309typedef struct {\r
1310 STRING_REF GroupName;\r
1311 UINT16 NumberGroupItems;\r
1312 UINT16 GroupId;\r
1313} EFI_MISC_GROUP_NAME_DATA; \r
1314\r
1315//\r
1316//////////////////////////////////////////////////////////////////////////////\r
1317//\r
1318// Group Item Set Element\r
1319//\r
1320#define EFI_MISC_GROUP_ITEM_SET_RECORD_NUMBER 0x0000000E\r
1321\r
1322typedef struct {\r
1323 EFI_GUID SubClass; \r
1324 EFI_INTER_LINK_DATA GroupLink;\r
1325 UINT16 GroupId;\r
1326 UINT16 GroupElementId;\r
1327} EFI_MISC_GROUP_ITEM_SET_DATA;\r
1328\r
1329//\r
1330//////////////////////////////////////////////////////////////////////////////\r
1331//\r
1332// Misc. Pointing Device Type - SMBIOS Type 21\r
1333//\r
1334#define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F\r
1335\r
1336typedef enum { \r
1337 EfiPointingDeviceTypeOther = 0x01,\r
1338 EfiPointingDeviceTypeUnknown = 0x02,\r
1339 EfiPointingDeviceTypeMouse = 0x03,\r
1340 EfiPointingDeviceTypeTrackBall = 0x04,\r
1341 EfiPointingDeviceTypeTrackPoint = 0x05,\r
1342 EfiPointingDeviceTypeGlidePoint = 0x06,\r
1343 EfiPointingDeviceTouchPad = 0x07,\r
1344 EfiPointingDeviceTouchScreen = 0x08,\r
1345 EfiPointingDeviceOpticalSensor = 0x09,\r
1346} EFI_MISC_POINTING_DEVICE_TYPE;\r
1347\r
1348typedef enum { \r
1349 EfiPointingDeviceInterfaceOther = 0x01,\r
1350 EfiPointingDeviceInterfaceUnknown = 0x02,\r
1351 EfiPointingDeviceInterfaceSerial = 0x03,\r
1352 EfiPointingDeviceInterfacePs2 = 0x04,\r
1353 EfiPointingDeviceInterfaceInfrared = 0x05,\r
1354 EfiPointingDeviceInterfaceHpHil = 0x06,\r
1355 EfiPointingDeviceInterfaceBusMouse = 0x07,\r
1356 EfiPointingDeviceInterfaceADB = 0x08,\r
1357 EfiPointingDeviceInterfaceBusMouseDB9 = 0xA0,\r
1358 EfiPointingDeviceInterfaceBusMouseMicroDin = 0xA1,\r
1359 EfiPointingDeviceInterfaceUsb = 0xA2,\r
1360} EFI_MISC_POINTING_DEVICE_INTERFACE;\r
1361\r
1362typedef struct {\r
1363 EFI_MISC_POINTING_DEVICE_TYPE PointingDeviceType;\r
1364 EFI_MISC_POINTING_DEVICE_INTERFACE PointingDeviceInterface;\r
1365 UINT16 NumberPointingDeviceButtons;\r
1366 EFI_DEVICE_PATH_PROTOCOL PointingDevicePath;\r
1367} EFI_MISC_PORTING_DEVICE_TYPE_DATA;\r
1368\r
1369//\r
1370//////////////////////////////////////////////////////////////////////////////\r
1371//\r
1372// Portable Battery - SMBIOS Type 22\r
1373//\r
1374#define EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER 0x00000010\r
1375\r
1376typedef enum { \r
1377 EfiBatteryDeviceChemistryTypeOther = 0x01,\r
1378 EfiBatteryDeviceChemistryTypeUnknown = 0x02,\r
1379 EfiBatteryDeviceChemistryTypeLeadAcid = 0x03,\r
1380 EfiBatteryDeviceChemistryTypeNickelCadmium = 0x04,\r
1381 EfiBatteryDeviceChemistryTypeNickelMetalHydride = 0x05,\r
1382 EfiBatteryDeviceChemistryTypeLithiumIon = 0x06,\r
1383 EfiBatteryDeviceChemistryTypeZincAir = 0x07,\r
1384 EfiBatteryDeviceChemistryTypeLithiumPolymer = 0x08,\r
1385} EFI_MISC_BATTERY_DEVICE_CHEMISTRY;\r
1386\r
1387typedef struct {\r
1388 UINT32 Date :5;\r
1389 UINT32 Month :4;\r
1390 UINT32 Year :7;\r
1391 UINT32 Reserved :16;\r
1392} EFI_MISC_BATTERY_SBDS_MANUFACTURE_DATE;\r
1393\r
1394typedef struct {\r
1395 STRING_REF BatteryLocation;\r
1396 STRING_REF BatteryManufacturer;\r
1397 STRING_REF BatteryManufactureDate;\r
1398 STRING_REF BatterySerialNumber;\r
1399 STRING_REF BatteryDeviceName;\r
1400 STRING_REF BatterySbdsVersionNumber;\r
1401 STRING_REF BatterySbdsDeviceChemistry;\r
1402 EFI_MISC_BATTERY_DEVICE_CHEMISTRY BatteryDeviceChemistry;\r
1403 EFI_EXP_BASE10_DATA BatteryDesignCapacity;\r
1404 EFI_EXP_BASE10_DATA BatteryDesignVoltage;\r
1405 UINT16 BatteryMaximumError;\r
1406 UINT16 BatterySbdsSerialNumber;\r
1407 EFI_MISC_BATTERY_SBDS_MANUFACTURE_DATE\r
1408 BatterySbdsManufacturingDate;\r
1409 UINT32 BatteryOemSpecific;\r
1410} EFI_MISC_BATTERY_LOCATION_DATA; \r
1411\r
1412//\r
1413//////////////////////////////////////////////////////////////////////////////\r
1414//\r
1415// Misc. Reset Capabilities - SMBIOS Type 23\r
1416//\r
1417#define EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER 0x00000011\r
1418\r
1419typedef struct {\r
1420 UINT32 Status :1;\r
1421 UINT32 BootOption :2;\r
1422 UINT32 BootOptionOnLimit :2;\r
1423 UINT32 WatchdogTimerPresent:1;\r
1424 UINT32 Reserved :26;\r
1425} EFI_MISC_RESET_CAPABILITIES_TYPE;\r
1426\r
1427typedef struct {\r
1428 EFI_MISC_RESET_CAPABILITIES_TYPE ResetCapabilities;\r
1429 UINT16 ResetCount;\r
1430 UINT16 ResetLimit;\r
1431 UINT16 ResetTimerInterval;\r
1432 UINT16 ResetTimeout;\r
1433} EFI_MISC_RESET_CAPABILITIES;\r
1434 \r
1435typedef struct {\r
1436 EFI_MISC_RESET_CAPABILITIES ResetCapabilities;\r
1437 UINT16 ResetCount;\r
1438 UINT16 ResetLimit;\r
1439 UINT16 ResetTimerInterval;\r
1440 UINT16 ResetTimeout;\r
1441} EFI_MISC_RESET_CAPABILITIES_DATA; \r
1442\r
1443//\r
1444//////////////////////////////////////////////////////////////////////////////\r
1445//\r
1446// Misc. Hardware Security - SMBIOS Type 24\r
1447//\r
1448#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012\r
1449\r
1450typedef enum {\r
1451 EfiHardwareSecurityStatusDisabled = 0,\r
1452 EfiHardwareSecurityStatusEnabled = 1,\r
1453 EfiHardwareSecurityStatusNotImplemented = 2,\r
1454 EfiHardwareSecurityStatusUnknown = 3\r
1455} EFI_MISC_HARDWARE_SECURITY_STATUS; \r
1456\r
1457typedef struct {\r
1458 EFI_MISC_HARDWARE_SECURITY_STATUS FrontPanelResetStatus :2; \r
1459 EFI_MISC_HARDWARE_SECURITY_STATUS AdministratorPasswordStatus :2; \r
1460 EFI_MISC_HARDWARE_SECURITY_STATUS KeyboardPasswordStatus :2; \r
1461 EFI_MISC_HARDWARE_SECURITY_STATUS PowerOnPasswordStatus :2; \r
1462 EFI_MISC_HARDWARE_SECURITY_STATUS Reserved :24; \r
1463} EFI_MISC_HARDWARE_SECURITY_SETTINGS;\r
1464\r
1465typedef struct {\r
1466 EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;\r
1467} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA; \r
1468\r
1469//\r
1470//////////////////////////////////////////////////////////////////////////////\r
1471//\r
1472// System Power Controls - SMBIOS Type 25\r
1473//\r
1474#define EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER 0x00000013\r
1475\r
1476typedef struct {\r
1477 UINT16 ScheduledPoweronMonth;\r
1478 UINT16 ScheduledPoweronDayOfMonth;\r
1479 UINT16 ScheduledPoweronHour;\r
1480 UINT16 ScheduledPoweronMinute;\r
1481 UINT16 ScheduledPoweronSecond;\r
1482} EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA; \r
1483\r
1484//\r
1485//////////////////////////////////////////////////////////////////////////////\r
1486//\r
1487// Voltage Probe - SMBIOS Type 26\r
1488//\r
1489#define EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000014\r
1490\r
1491typedef struct {\r
1492 UINT32 VoltageProbeSite :5;\r
1493 UINT32 VoltageProbeStatus :3;\r
1494 UINT32 Reserved :24;\r
1495} EFI_MISC_VOLTAGE_PROBE_LOCATION;\r
1496\r
1497typedef struct {\r
1498 STRING_REF VoltageProbeDescription;\r
1499 EFI_MISC_VOLTAGE_PROBE_LOCATION VoltageProbeLocation;\r
1500 EFI_EXP_BASE10_DATA VoltageProbeMaximumValue;\r
1501 EFI_EXP_BASE10_DATA VoltageProbeMinimumValue;\r
1502 EFI_EXP_BASE10_DATA VoltageProbeResolution;\r
1503 EFI_EXP_BASE10_DATA VoltageProbeTolerance;\r
1504 EFI_EXP_BASE10_DATA VoltageProbeAccuracy;\r
1505 EFI_EXP_BASE10_DATA VoltageProbeNominalValue;\r
1506 EFI_EXP_BASE10_DATA MDLowerNoncriticalThreshold;\r
1507 EFI_EXP_BASE10_DATA MDUpperNoncriticalThreshold;\r
1508 EFI_EXP_BASE10_DATA MDLowerCriticalThreshold;\r
1509 EFI_EXP_BASE10_DATA MDUpperCriticalThreshold;\r
1510 EFI_EXP_BASE10_DATA MDLowerNonrecoverableThreshold;\r
1511 EFI_EXP_BASE10_DATA MDUpperNonrecoverableThreshold;\r
1512 UINT32 VoltageProbeOemDefined;\r
1513} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA; \r
1514\r
1515//\r
1516//////////////////////////////////////////////////////////////////////////////\r
1517//\r
1518// Cooling Device - SMBIOS Type 27\r
1519//\r
1520#define EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER 0x00000015\r
1521\r
1522typedef struct {\r
1523 UINT32 CoolingDevice :5;\r
1524 UINT32 CoolingDeviceStatus :3;\r
1525 UINT32 Reserved :24;\r
1526} EFI_MISC_COOLING_DEVICE_TYPE;\r
1527\r
1528typedef struct {\r
1529 EFI_MISC_COOLING_DEVICE_TYPE CoolingDeviceType;\r
1530 EFI_INTER_LINK_DATA CoolingDeviceTemperatureLink;\r
1531 UINT16 CoolingDeviceUnitGroup;\r
1532 EFI_EXP_BASE10_DATA CoolingDeviceNominalSpeed;\r
1533 UINT32 CoolingDeviceOemDefined;\r
1534} EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA; \r
1535\r
1536//\r
1537//////////////////////////////////////////////////////////////////////////////\r
1538//\r
1539// Temperature Probe - SMBIOS Type 28\r
1540//\r
1541#define EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000016\r
1542\r
1543typedef struct {\r
1544 UINT32 TemperatureProbeSite :5;\r
1545 UINT32 TemperatureProbeStatus :3;\r
1546 UINT32 Reserved :24;\r
1547} EFI_MISC_TEMPERATURE_PROBE_LOCATION;\r
1548\r
1549typedef struct {\r
1550 STRING_REF TemperatureProbeDescription;\r
1551 EFI_MISC_TEMPERATURE_PROBE_LOCATION\r
1552 TemperatureProbeLocation;\r
1553 EFI_EXP_BASE10_DATA TemperatureProbeMaximumValue;\r
1554 EFI_EXP_BASE10_DATA TemperatureProbeMinimumValue;\r
1555 EFI_EXP_BASE10_DATA TemperatureProbeResolution;\r
1556 EFI_EXP_BASE10_DATA TemperatureProbeTolerance;\r
1557 EFI_EXP_BASE10_DATA TemperatureProbeAccuracy;\r
1558 EFI_EXP_BASE10_DATA TemperatureProbeNominalValue; \r
1559 EFI_EXP_BASE10_DATA MDLowerNoncriticalThreshold;\r
1560 EFI_EXP_BASE10_DATA MDUpperNoncriticalThreshold;\r
1561 EFI_EXP_BASE10_DATA MDLowerCriticalThreshold;\r
1562 EFI_EXP_BASE10_DATA MDUpperCriticalThreshold;\r
1563 EFI_EXP_BASE10_DATA MDLowerNonrecoverableThreshold;\r
1564 EFI_EXP_BASE10_DATA MDUpperNonrecoverableThreshold;\r
1565 UINT32 TemperatureProbeOemDefined;\r
1566} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA; \r
1567\r
1568//\r
1569//////////////////////////////////////////////////////////////////////////////\r
1570//\r
1571// Electrical Current Probe - SMBIOS Type 29\r
1572//\r
1573\r
1574#define EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000017\r
1575\r
1576typedef struct {\r
1577 UINT32 ElectricalCurrentProbeSite :5;\r
1578 UINT32 ElectricalCurrentProbeStatus :3;\r
1579 UINT32 Reserved :24;\r
1580} EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION;\r
1581\r
1582typedef struct {\r
1583 STRING_REF ElectricalCurrentProbeDescription;\r
1584 EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION\r
1585 ElectricalCurrentProbeLocation;\r
1586 EFI_EXP_BASE10_DATA ElectricalCurrentProbeMaximumValue;\r
1587 EFI_EXP_BASE10_DATA ElectricalCurrentProbeMinimumValue;\r
1588 EFI_EXP_BASE10_DATA ElectricalCurrentProbeResolution;\r
1589 EFI_EXP_BASE10_DATA ElectricalCurrentProbeTolerance;\r
1590 EFI_EXP_BASE10_DATA ElectricalCurrentProbeAccuracy;\r
1591 EFI_EXP_BASE10_DATA ElectricalCurrentProbeNominalValue;\r
1592 EFI_EXP_BASE10_DATA MDLowerNoncriticalThreshold;\r
1593 EFI_EXP_BASE10_DATA MDUpperNoncriticalThreshold;\r
1594 EFI_EXP_BASE10_DATA MDLowerCriticalThreshold;\r
1595 EFI_EXP_BASE10_DATA MDUpperCriticalThreshold;\r
1596 EFI_EXP_BASE10_DATA MDLowerNonrecoverableThreshold;\r
1597 EFI_EXP_BASE10_DATA MDUpperNonrecoverableThreshold;\r
1598 UINT32 ElectricalCurrentProbeOemDefined;\r
1599} EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA;\r
1600\r
1601//\r
1602//////////////////////////////////////////////////////////////////////////////\r
1603//\r
1604// Out-of-Band Remote Access - SMBIOS Type 30\r
1605//\r
1606\r
1607#define EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER 0x00000018\r
1608\r
1609typedef struct {\r
1610 UINT32 InboundConnectionEnabled :1;\r
1611 UINT32 OutboundConnectionEnabled :1;\r
1612 UINT32 Reserved :30;\r
1613} EFI_MISC_REMOTE_ACCESS_CONNECTIONS;\r
1614\r
1615typedef struct {\r
1616 STRING_REF RemoteAccessManufacturerNameDescription;\r
1617 EFI_MISC_REMOTE_ACCESS_CONNECTIONS RemoteAccessConnections;\r
1618} EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA;\r
1619\r
1620//\r
1621//////////////////////////////////////////////////////////////////////////////\r
1622//\r
1623// Misc. BIS Entry Point - SMBIOS Type 31\r
1624//\r
1625#define EFI_MISC_BIS_ENTRY_POINT_RECORD_NUMBER 0x00000019\r
1626\r
1627typedef struct {\r
1628 EFI_PHYSICAL_ADDRESS BisEntryPoint;\r
1629} EFI_MISC_BIS_ENTRY_POINT_DATA; \r
1630\r
1631//\r
1632//////////////////////////////////////////////////////////////////////////////\r
1633//\r
1634// Misc. Boot Information - SMBIOS Type 32\r
1635//\r
1636#define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER 0x0000001A\r
1637\r
1638typedef enum { \r
1639 EfiBootInformationStatusNoError = 0x00,\r
1640 EfiBootInformationStatusNoBootableMedia = 0x01,\r
1641 EfiBootInformationStatusNormalOSFailedLoading = 0x02,\r
1642 EfiBootInformationStatusFirmwareDetectedFailure = 0x03,\r
1643 EfiBootInformationStatusOSDetectedFailure = 0x04,\r
1644 EfiBootInformationStatusUserRequestedBoot = 0x05,\r
1645 EfiBootInformationStatusSystemSecurityViolation = 0x06,\r
1646 EfiBootInformationStatusPreviousRequestedImage = 0x07,\r
1647 EfiBootInformationStatusWatchdogTimerExpired = 0x08,\r
1648 EfiBootInformationStatusStartReserved = 0x09,\r
1649 EfiBootInformationStatusStartOemSpecific = 0x80,\r
1650 EfiBootInformationStatusStartProductSpecific = 0xC0,\r
1651} EFI_MISC_BOOT_INFORMATION_STATUS_DATA_TYPE;\r
1652\r
1653typedef struct {\r
1654 EFI_MISC_BOOT_INFORMATION_STATUS_DATA_TYPE BootInformationStatus;\r
1655 UINT8 BootInformationData[9];\r
1656} EFI_MISC_BOOT_INFORMATION_STATUS_DATA;\r
1657\r
1658//\r
1659//////////////////////////////////////////////////////////////////////////////\r
1660//\r
1661// Management Device - SMBIOS Type 34\r
1662//\r
1663#define EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER 0x0000001B\r
1664\r
1665typedef enum { \r
1666 EfiManagementDeviceTypeOther = 0x01,\r
1667 EfiManagementDeviceTypeUnknown = 0x02,\r
1668 EfiManagementDeviceTypeLm75 = 0x03,\r
1669 EfiManagementDeviceTypeLm78 = 0x04,\r
1670 EfiManagementDeviceTypeLm79 = 0x05,\r
1671 EfiManagementDeviceTypeLm80 = 0x06,\r
1672 EfiManagementDeviceTypeLm81 = 0x07,\r
1673 EfiManagementDeviceTypeAdm9240 = 0x08,\r
1674 EfiManagementDeviceTypeDs1780 = 0x09,\r
1675 EfiManagementDeviceTypeMaxim1617 = 0x0A,\r
1676 EfiManagementDeviceTypeGl518Sm = 0x0B,\r
1677 EfiManagementDeviceTypeW83781D = 0x0C,\r
1678 EfiManagementDeviceTypeHt82H791 = 0x0D,\r
1679} EFI_MISC_MANAGEMENT_DEVICE_TYPE;\r
1680\r
1681typedef enum { \r
1682 EfiManagementDeviceAddressTypeOther = 1,\r
1683 EfiManagementDeviceAddressTypeUnknown = 2,\r
1684 EfiManagementDeviceAddressTypeIOPort = 3,\r
1685 EfiManagementDeviceAddressTypeMemory = 4,\r
1686 EfiManagementDeviceAddressTypeSmbus = 5\r
1687} EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE;\r
1688\r
1689typedef struct {\r
1690 STRING_REF ManagementDeviceDescription;\r
1691 EFI_MISC_MANAGEMENT_DEVICE_TYPE ManagementDeviceType;\r
1692 UINTN ManagementDeviceAddress;\r
1693 EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE\r
1694 ManagementDeviceAddressType;\r
1695} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA; \r
1696\r
1697//\r
1698//////////////////////////////////////////////////////////////////////////////\r
1699//\r
1700// Management Device Component - SMBIOS Type 35\r
1701//\r
1702\r
1703#define EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_RECORD_NUMBER 0x0000001C\r
1704\r
1705typedef struct {\r
1706 STRING_REF ManagementDeviceComponentDescription;\r
1707 EFI_INTER_LINK_DATA ManagementDeviceLink;\r
1708 EFI_INTER_LINK_DATA ManagementDeviceComponentLink; \r
1709} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA; \r
1710\r
1711//\r
1712//////////////////////////////////////////////////////////////////////////////\r
1713//\r
1714// IPMI Data Record - SMBIOS Type 38\r
1715//\r
1716typedef enum { \r
1717 EfiIpmiOther = 0,\r
1718 EfiIpmiKcs = 1,\r
1719 EfiIpmiSmic = 2,\r
1720 EfiIpmiBt = 3,\r
1721} EFI_MISC_IPMI_INTERFACE_TYPE;\r
1722\r
1723typedef struct {\r
1724 UINT16 IpmiSpecLeastSignificantDigit:4;\r
1725 UINT16 IpmiSpecMostSignificantDigit: 4;\r
1726 UINT16 Reserved: 8;\r
1727} EFI_MISC_IPMI_SPECIFICATION_REVISION;\r
1728\r
1729typedef struct {\r
1730 EFI_MISC_IPMI_INTERFACE_TYPE IpmiInterfaceType;\r
1731 EFI_MISC_IPMI_SPECIFICATION_REVISION IpmiSpecificationRevision;\r
1732 UINT16 IpmiI2CSlaveAddress;\r
1733 UINT16 IpmiNvDeviceAddress;\r
1734 UINT64 IpmiBaseAddress;\r
1735 EFI_DEVICE_PATH_PROTOCOL IpmiDevicePath;\r
1736} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
1737 \r
1738#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER 0x0000001D\r
1739\r
1740//\r
1741//////////////////////////////////////////////////////////////////////////////\r
1742//\r
1743//System Power supply Record - SMBIOS Type 39\r
1744//\r
1745typedef struct {\r
1746 UINT16 PowerSupplyHotReplaceable :1;\r
1747 UINT16 PowerSupplyPresent :1;\r
1748 UINT16 PowerSupplyUnplugged :1;\r
1749 UINT16 InputVoltageRangeSwitch :4;\r
1750 UINT16 PowerSupplyStatus :3;\r
1751 UINT16 PowerSupplyType :4;\r
1752 UINT16 Reserved :2;\r
1753} POWER_SUPPLY_CHARACTERISTICS;\r
1754\r
1755typedef struct {\r
1756 UINT16 PowerUnitGroup;\r
1757 STRING_REF PowerSupplyLocation;\r
1758 STRING_REF PowerSupplyDeviceName;\r
1759 STRING_REF PowerSupplyManufacturer;\r
1760 STRING_REF PowerSupplySerialNumber;\r
1761 STRING_REF PowerSupplyAssetTagNumber;\r
1762 STRING_REF PowerSupplyModelPartNumber;\r
1763 STRING_REF PowerSupplyRevisionLevel;\r
1764 UINT16 PowerSupplyMaxPowerCapacity;\r
1765 POWER_SUPPLY_CHARACTERISTICS PowerSupplyCharacteristics;\r
1766 EFI_INTER_LINK_DATA PowerSupplyInputVoltageProbeLink;\r
1767 EFI_INTER_LINK_DATA PowerSupplyCoolingDeviceLink;\r
1768 EFI_INTER_LINK_DATA PowerSupplyInputCurrentProbeLink;\r
1769} EFI_MISC_SYSTEM_POWER_SUPPLY_DATA;\r
1770\r
1771#define EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER 0x0000001E\r
1772\r
1773//\r
1774//////////////////////////////////////////////////////////////////////////////\r
1775//\r
1776// OEM Data Record - SMBIOS Type 0x80-0xFF\r
1777//\r
1778typedef struct {\r
1779 UINT8 Type;\r
1780 UINT8 Length;\r
1781 UINT16 Handle;\r
1782} SMBIOS_STRUCTURE_HDR;\r
1783\r
1784typedef struct {\r
1785 SMBIOS_STRUCTURE_HDR Header;\r
1786 UINT8 RawData[1];\r
1787} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA; \r
1788\r
1789#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER 0x0000001F \r
1790\r
1791//\r
1792//////////////////////////////////////////////////////////////////////////////\r
1793//\r
1794typedef union {\r
1795 EFI_MISC_LAST_PCI_BUS_DATA LastPciBus;\r
1796 EFI_MISC_BIOS_VENDOR_DATA MiscBiosVendor;\r
1797 EFI_MISC_SYSTEM_MANUFACTURER_DATA MiscSystemManufacturer;\r
1798 EFI_MISC_BASE_BOARD_MANUFACTURER_DATA MiscBaseBoardManufacturer;\r
1799 EFI_MISC_CHASSIS_MANUFACTURER_DATA MiscChassisManufacturer; \r
1800 EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA MiscPortInternalConnectorDesignator;\r
1801 EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA MiscSystemSlotDesignation;\r
1802 EFI_MISC_ONBOARD_DEVICE_DATA MiscOnboardDevice;\r
1803 EFI_MISC_OEM_STRING_DATA MiscOemString;\r
1804 EFI_MISC_SYSTEM_OPTION_STRING_DATA MiscOptionString;\r
1805 EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA NumberOfInstallableLanguages;\r
1806 EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA MiscSystemLanguageString; \r
1807 EFI_MISC_GROUP_NAME_DATA MiscGroupNameData;\r
1808 EFI_MISC_GROUP_ITEM_SET_DATA MiscGroupItemSetData;\r
1809 EFI_MISC_PORTING_DEVICE_TYPE_DATA MiscPortingDeviceTypeData;\r
1810 EFI_MISC_RESET_CAPABILITIES_DATA MiscResetCapablilitiesData;\r
1811 EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA MiscHardwareSecuritySettingsData; \r
1812 EFI_MISC_SCHEDULED_POWER_ON_MONTH_DATA MiscScheduledPowerOnMonthData;\r
1813 EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_DATA MiscVoltagePorbeDescriptionData;\r
1814 EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA MiscCoolingDeviceTempLinkData;\r
1815 EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_DATA MiscTemperatureProbeDescriptionData; \r
1816 EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_DATA MiscElectricalCurrentProbeDescriptionData;\r
1817 EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_DATA\r
1818 MiscRemoteAccessManufacturerDescriptionData;\r
1819 EFI_MISC_BIS_ENTRY_POINT_DATA MiscBisEntryPoint;\r
1820 EFI_MISC_BOOT_INFORMATION_STATUS_DATA MiscBootInformationStatus;\r
1821 EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_DATA MiscMangementDeviceDescriptionData;\r
1822 EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA\r
1823 MiscmangementDeviceComponentDescriptionData;\r
1824 EFI_MISC_IPMI_INTERFACE_TYPE_DATA MiscIpmiInterfaceTypeData;\r
1825 EFI_MISC_SYSTEM_POWER_SUPPLY_DATA MiscPowerSupplyInfo;\r
1826 EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA MiscSmbiosStructEncapsulation; \r
1827} EFI_MISC_SUBCLASS_RECORDS;\r
1828\r
1829//\r
1830//\r
1831//\r
1832typedef struct {\r
1833 EFI_SUBCLASS_TYPE1_HEADER Header;\r
1834 EFI_MISC_SUBCLASS_RECORDS Record;\r
1835} EFI_MISC_SUBCLASS_DRIVER_DATA;\r
1836\r
1837#pragma pack()\r
1838\r
1839//\r
1840// Sub Class Header type1\r
1841//\r
1842\r
1843#define EFI_SUBCLASS_INSTANCE_RESERVED 0\r
1844#define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF //16 bit\r
1845\r
1846#endif\r
1847\r