]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassMisc.h
Maintainers.txt: Remove EdkCompatibilityPkg information
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Guid / DataHubRecords / DataHubSubClassMisc.h
CommitLineData
3eb9473e 1/*++\r
2 \r
3e99020d 3Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
f57387d5 4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 DataHubSubClassMisc.h\r
15 \r
16Abstract:\r
17\r
18 Definitions for Misc sub class data records\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _DATAHUB_SUBCLASS_MISC_H_\r
25#define _DATAHUB_SUBCLASS_MISC_H_\r
26\r
27#include EFI_GUID_DEFINITION(DataHubRecords)\r
28\r
29#define EFI_MISC_SUBCLASS_GUID \\r
7ccf38a3 30{ 0x772484B2, 0x7482, 0x4b91, {0x9F, 0x9A, 0xAD, 0x43, 0xF8, 0x1C, 0x58, 0x81} }\r
3eb9473e 31\r
32#define EFI_MISC_SUBCLASS_VERSION 0x0100\r
33\r
34#pragma pack(1)\r
35//\r
36//////////////////////////////////////////////////////////////////////////////\r
37//\r
38// Last PCI Bus Number\r
39//\r
40#define EFI_MISC_LAST_PCI_BUS_RECORD_NUMBER 0x00000001\r
41\r
42typedef struct {\r
43 UINT8 LastPciBus;\r
44} EFI_MISC_LAST_PCI_BUS;\r
45\r
2c40a813 46typedef struct {\r
47 UINT8 FunctionNum :3;\r
48 UINT8 DeviceNum :5;\r
49} EFI_MISC_DEV_FUNC_NUM;\r
50\r
3eb9473e 51//\r
52//////////////////////////////////////////////////////////////////////////////\r
53//\r
54// Misc. BIOS Vendor - SMBIOS Type 0\r
55//\r
56#define EFI_MISC_BIOS_VENDOR_RECORD_NUMBER 0x00000002\r
57\r
58typedef struct {\r
59 UINT32 Reserved1 :2;\r
60 UINT32 Unknown :1;\r
61 UINT32 BiosCharacteristicsNotSupported :1;\r
62 UINT32 IsaIsSupported :1;\r
63 UINT32 McaIsSupported :1;\r
64 UINT32 EisaIsSupported :1;\r
65 UINT32 PciIsSupported :1;\r
66 UINT32 PcmciaIsSupported :1;\r
67 UINT32 PlugAndPlayIsSupported :1;\r
68 UINT32 ApmIsSupported :1;\r
69 UINT32 BiosIsUpgradable :1;\r
70 UINT32 BiosShadowingAllowed :1;\r
71 UINT32 VlVesaIsSupported :1;\r
72 UINT32 EscdSupportIsAvailable :1;\r
73 UINT32 BootFromCdIsSupported :1;\r
74 UINT32 SelectableBootIsSupported :1;\r
75 UINT32 RomBiosIsSocketed :1;\r
76 UINT32 BootFromPcmciaIsSupported :1;\r
77 UINT32 EDDSpecificationIsSupported :1;\r
78 UINT32 JapaneseNecFloppyIsSupported :1;\r
79 UINT32 JapaneseToshibaFloppyIsSupported :1;\r
80 UINT32 Floppy525_360IsSupported :1;\r
81 UINT32 Floppy525_12IsSupported :1;\r
82 UINT32 Floppy35_720IsSupported :1;\r
83 UINT32 Floppy35_288IsSupported :1;\r
84 UINT32 PrintScreenIsSupported :1;\r
85 UINT32 Keyboard8042IsSupported :1;\r
86 UINT32 SerialIsSupported :1;\r
87 UINT32 PrinterIsSupported :1;\r
88 UINT32 CgaMonoIsSupported :1;\r
89 UINT32 NecPc98 :1;\r
90 UINT32 AcpiIsSupported :1;\r
91 UINT32 UsbLegacyIsSupported :1;\r
92 UINT32 AgpIsSupported :1;\r
93 UINT32 I20BootIsSupported :1;\r
94 UINT32 Ls120BootIsSupported :1;\r
95 UINT32 AtapiZipDriveBootIsSupported :1;\r
96 UINT32 Boot1394IsSupported :1;\r
97 UINT32 SmartBatteryIsSupported :1;\r
98 UINT32 BiosBootSpecIsSupported :1;\r
99 UINT32 FunctionKeyNetworkBootIsSupported :1;\r
100 UINT32 TargetContentDistributionEnabled :1; \r
101 UINT32 Reserved :21;\r
102} EFI_MISC_BIOS_CHARACTERISTICS;\r
103\r
104typedef struct {\r
105 UINT32 BiosReserved :16;\r
106 UINT32 SystemReserved :16;\r
107 UINT32 Reserved :32;\r
108} EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION;\r
109\r
110typedef struct {\r
111 STRING_REF BiosVendor;\r
112 STRING_REF BiosVersion;\r
113 STRING_REF BiosReleaseDate;\r
114 EFI_PHYSICAL_ADDRESS BiosStartingAddress;\r
115 EFI_EXP_BASE2_DATA BiosPhysicalDeviceSize;\r
116 EFI_MISC_BIOS_CHARACTERISTICS BiosCharacteristics1;\r
117 EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION BiosCharacteristics2;\r
118 UINT8 BiosMajorRelease;\r
119 UINT8 BiosMinorRelease;\r
120 UINT8 BiosEmbeddedFirmwareMajorRelease;\r
121 UINT8 BiosEmbeddedFirmwareMinorRelease;\r
122} EFI_MISC_BIOS_VENDOR; \r
123\r
124//\r
125//////////////////////////////////////////////////////////////////////////////\r
126//\r
127// Misc. System Manufacturer - SMBIOS Type 1\r
128//\r
129#define EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER 0x00000003\r
130\r
131typedef enum { \r
132 EfiSystemWakeupTypeReserved = 0,\r
133 EfiSystemWakeupTypeOther = 1,\r
134 EfiSystemWakeupTypeUnknown = 2,\r
135 EfiSystemWakeupTypeApmTimer = 3,\r
136 EfiSystemWakeupTypeModemRing = 4,\r
137 EfiSystemWakeupTypeLanRemote = 5,\r
138 EfiSystemWakeupTypePowerSwitch = 6,\r
139 EfiSystemWakeupTypePciPme = 7,\r
4cb43192 140 EfiSystemWakeupTypeAcPowerRestored = 8\r
3eb9473e 141} EFI_MISC_SYSTEM_WAKEUP_TYPE;\r
142\r
143typedef struct {\r
144 STRING_REF SystemManufacturer;\r
145 STRING_REF SystemProductName;\r
146 STRING_REF SystemVersion;\r
147 STRING_REF SystemSerialNumber;\r
148 EFI_GUID SystemUuid;\r
149 EFI_MISC_SYSTEM_WAKEUP_TYPE SystemWakeupType;\r
150 STRING_REF SystemSKUNumber;\r
151 STRING_REF SystemFamily;\r
152} EFI_MISC_SYSTEM_MANUFACTURER; \r
153\r
154//\r
155//////////////////////////////////////////////////////////////////////////////\r
156//\r
157// Misc. Base Board Manufacturer - SMBIOS Type 2\r
158//\r
159#define EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER 0x00000004\r
160\r
161typedef struct {\r
162 UINT32 Motherboard :1;\r
163 UINT32 RequiresDaughterCard :1;\r
164 UINT32 Removable :1;\r
165 UINT32 Replaceable :1;\r
166 UINT32 HotSwappable :1;\r
167 UINT32 Reserved :27;\r
168} EFI_BASE_BOARD_FEATURE_FLAGS;\r
169\r
170typedef enum { \r
171 EfiBaseBoardTypeUnknown = 1,\r
172 EfiBaseBoardTypeOther = 2,\r
173 EfiBaseBoardTypeServerBlade = 3,\r
174 EfiBaseBoardTypeConnectivitySwitch = 4,\r
175 EfiBaseBoardTypeSystemManagementModule = 5,\r
176 EfiBaseBoardTypeProcessorModule = 6,\r
177 EfiBaseBoardTypeIOModule = 7,\r
178 EfiBaseBoardTypeMemoryModule = 8,\r
179 EfiBaseBoardTypeDaughterBoard = 9,\r
180 EfiBaseBoardTypeMotherBoard = 0xA,\r
181 EfiBaseBoardTypeProcessorMemoryModule = 0xB,\r
182 EfiBaseBoardTypeProcessorIOModule = 0xC,\r
4cb43192 183 EfiBaseBoardTypeInterconnectBoard = 0xD\r
3eb9473e 184} EFI_BASE_BOARD_TYPE;\r
185\r
186typedef struct {\r
187 STRING_REF BaseBoardManufacturer;\r
188 STRING_REF BaseBoardProductName;\r
189 STRING_REF BaseBoardVersion;\r
190 STRING_REF BaseBoardSerialNumber;\r
191 STRING_REF BaseBoardAssetTag;\r
192 STRING_REF BaseBoardChassisLocation;\r
193 EFI_BASE_BOARD_FEATURE_FLAGS BaseBoardFeatureFlags;\r
194 EFI_BASE_BOARD_TYPE BaseBoardType;\r
195 EFI_INTER_LINK_DATA BaseBoardChassisLink;\r
196 UINT32 BaseBoardNumberLinks;\r
197 EFI_INTER_LINK_DATA LinkN;\r
198} EFI_MISC_BASE_BOARD_MANUFACTURER; \r
199\r
200//\r
201//////////////////////////////////////////////////////////////////////////////\r
202//\r
203// Misc. System/Chassis Enclosure - SMBIOS Type 3\r
204//\r
205#define EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER 0x00000005\r
206\r
207typedef enum { \r
208 EfiMiscChassisTypeOther = 0x1,\r
209 EfiMiscChassisTypeUnknown = 0x2,\r
210 EfiMiscChassisTypeDeskTop = 0x3,\r
211 EfiMiscChassisTypeLowProfileDesktop = 0x4,\r
212 EfiMiscChassisTypePizzaBox = 0x5,\r
213 EfiMiscChassisTypeMiniTower = 0x6,\r
214 EfiMiscChassisTypeTower = 0x7,\r
215 EfiMiscChassisTypePortable = 0x8,\r
216 EfiMiscChassisTypeLapTop = 0x9,\r
217 EfiMiscChassisTypeNotebook = 0xA,\r
218 EfiMiscChassisTypeHandHeld = 0xB,\r
219 EfiMiscChassisTypeDockingStation = 0xC,\r
220 EfiMiscChassisTypeAllInOne = 0xD,\r
221 EfiMiscChassisTypeSubNotebook = 0xE,\r
222 EfiMiscChassisTypeSpaceSaving = 0xF,\r
223 EfiMiscChassisTypeLunchBox = 0x10,\r
224 EfiMiscChassisTypeMainServerChassis = 0x11,\r
225 EfiMiscChassisTypeExpansionChassis = 0x12,\r
226 EfiMiscChassisTypeSubChassis = 0x13,\r
227 EfiMiscChassisTypeBusExpansionChassis = 0x14,\r
228 EfiMiscChassisTypePeripheralChassis = 0x15,\r
229 EfiMiscChassisTypeRaidChassis = 0x16,\r
230 EfiMiscChassisTypeRackMountChassis = 0x17,\r
231 EfiMiscChassisTypeSealedCasePc = 0x18,\r
232 EfiMiscChassisMultiSystemChassis = 0x19,\r
2c40a813 233 EfiMiscChassisCompactPCI = 0x1A,\r
234 EfiMiscChassisAdvancedTCA = 0x1B,\r
235 EfiMiscChassisBlade = 0x1C,\r
236 EfiMiscChassisBladeEnclosure = 0x1D\r
3eb9473e 237} EFI_MISC_CHASSIS_TYPE;\r
238\r
239typedef struct {\r
240 UINT32 ChassisType :16;\r
241 UINT32 ChassisLockPresent:1;\r
242 UINT32 Reserved :15;\r
243} EFI_MISC_CHASSIS_STATUS;\r
244\r
245typedef enum { \r
246 EfiChassisStateOther = 1,\r
247 EfiChassisStateUnknown = 2,\r
248 EfiChassisStateSafe = 3,\r
249 EfiChassisStateWarning = 4,\r
250 EfiChassisStateCritical = 5,\r
4cb43192 251 EfiChassisStateNonRecoverable = 6\r
3eb9473e 252} EFI_MISC_CHASSIS_STATE;\r
253\r
254typedef enum { \r
255 EfiChassisSecurityStatusOther = 1,\r
256 EfiChassisSecurityStatusUnknown = 2,\r
257 EfiChassisSecurityStatusNone = 3,\r
258 EfiChassisSecurityStatusExternalInterfaceLockedOut = 4,\r
4cb43192 259 EfiChassisSecurityStatusExternalInterfaceLockedEnabled = 5\r
3eb9473e 260} EFI_MISC_CHASSIS_SECURITY_STATE;\r
261\r
262typedef struct {\r
263 UINT32 RecordType :1;\r
3e99020d 264 UINT32 Type :7;\r
3eb9473e 265 UINT32 Reserved :24;\r
266} EFI_MISC_ELEMENT_TYPE;\r
267\r
268typedef struct {\r
269 EFI_MISC_ELEMENT_TYPE ChassisElementType;\r
270 EFI_INTER_LINK_DATA ChassisElementStructure;\r
271 EFI_BASE_BOARD_TYPE ChassisBaseBoard;\r
272 UINT32 ChassisElementMinimum;\r
273 UINT32 ChassisElementMaximum;\r
274} EFI_MISC_ELEMENTS; \r
275\r
276typedef struct {\r
277 STRING_REF ChassisManufacturer;\r
278 STRING_REF ChassisVersion;\r
279 STRING_REF ChassisSerialNumber;\r
280 STRING_REF ChassisAssetTag;\r
281 EFI_MISC_CHASSIS_STATUS ChassisType;\r
282 EFI_MISC_CHASSIS_STATE ChassisBootupState;\r
283 EFI_MISC_CHASSIS_STATE ChassisPowerSupplyState;\r
284 EFI_MISC_CHASSIS_STATE ChassisThermalState;\r
285 EFI_MISC_CHASSIS_SECURITY_STATE ChassisSecurityState;\r
286 UINT32 ChassisOemDefined;\r
287 UINT32 ChassisHeight;\r
288 UINT32 ChassisNumberPowerCords;\r
289 UINT32 ChassisElementCount;\r
290 UINT32 ChassisElementRecordLength;//\r
291 EFI_MISC_ELEMENTS ChassisElements;\r
292} EFI_MISC_CHASSIS_MANUFACTURER;\r
293\r
294//\r
295//////////////////////////////////////////////////////////////////////////////\r
296//\r
297// Misc. Port Connector Information - SMBIOS Type 8\r
298//\r
299#define EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER 0x00000006\r
300\r
301typedef enum { \r
302 EfiPortConnectorTypeNone = 0x0,\r
303 EfiPortConnectorTypeCentronics = 0x1,\r
304 EfiPortConnectorTypeMiniCentronics = 0x2,\r
305 EfiPortConnectorTypeProprietary = 0x3,\r
306 EfiPortConnectorTypeDB25Male = 0x4,\r
307 EfiPortConnectorTypeDB25Female = 0x5,\r
308 EfiPortConnectorTypeDB15Male = 0x6,\r
309 EfiPortConnectorTypeDB15Female = 0x7,\r
310 EfiPortConnectorTypeDB9Male = 0x8,\r
311 EfiPortConnectorTypeDB9Female = 0x9,\r
312 EfiPortConnectorTypeRJ11 = 0xA,\r
313 EfiPortConnectorTypeRJ45 = 0xB,\r
314 EfiPortConnectorType50PinMiniScsi = 0xC,\r
315 EfiPortConnectorTypeMiniDin = 0xD,\r
316 EfiPortConnectorTypeMicriDin = 0xE,\r
317 EfiPortConnectorTypePS2 = 0xF,\r
318 EfiPortConnectorTypeInfrared = 0x10,\r
319 EfiPortConnectorTypeHpHil = 0x11,\r
320 EfiPortConnectorTypeUsb = 0x12,\r
321 EfiPortConnectorTypeSsaScsi = 0x13,\r
322 EfiPortConnectorTypeCircularDin8Male = 0x14,\r
323 EfiPortConnectorTypeCircularDin8Female = 0x15,\r
324 EfiPortConnectorTypeOnboardIde = 0x16,\r
325 EfiPortConnectorTypeOnboardFloppy = 0x17,\r
326 EfiPortConnectorType9PinDualInline = 0x18,\r
327 EfiPortConnectorType25PinDualInline = 0x19,\r
328 EfiPortConnectorType50PinDualInline = 0x1A,\r
329 EfiPortConnectorType68PinDualInline = 0x1B,\r
330 EfiPortConnectorTypeOnboardSoundInput = 0x1C,\r
331 EfiPortConnectorTypeMiniCentronicsType14 = 0x1D,\r
332 EfiPortConnectorTypeMiniCentronicsType26 = 0x1E,\r
333 EfiPortConnectorTypeHeadPhoneMiniJack = 0x1F,\r
334 EfiPortConnectorTypeBNC = 0x20,\r
335 EfiPortConnectorType1394 = 0x21,\r
2c40a813 336 EfiPortConnectorTypeSasSata = 0x22,\r
3eb9473e 337 EfiPortConnectorTypePC98 = 0xA0,\r
338 EfiPortConnectorTypePC98Hireso = 0xA1,\r
339 EfiPortConnectorTypePCH98 = 0xA2,\r
340 EfiPortConnectorTypePC98Note = 0xA3,\r
341 EfiPortConnectorTypePC98Full = 0xA4,\r
4cb43192 342 EfiPortConnectorTypeOther = 0xFF\r
3eb9473e 343} EFI_MISC_PORT_CONNECTOR_TYPE;\r
344\r
345typedef enum { \r
346 EfiPortTypeNone = 0x0,\r
347 EfiPortTypeParallelXtAtCompatible = 0x1,\r
348 EfiPortTypeParallelPortPs2 = 0x2,\r
349 EfiPortTypeParallelPortEcp = 0x3,\r
350 EfiPortTypeParallelPortEpp = 0x4,\r
351 EfiPortTypeParallelPortEcpEpp = 0x5,\r
352 EfiPortTypeSerialXtAtCompatible = 0x6,\r
353 EfiPortTypeSerial16450Compatible = 0x7,\r
354 EfiPortTypeSerial16550Compatible = 0x8,\r
355 EfiPortTypeSerial16550ACompatible = 0x9,\r
356 EfiPortTypeScsi = 0xA,\r
357 EfiPortTypeMidi = 0xB,\r
358 EfiPortTypeJoyStick = 0xC,\r
359 EfiPortTypeKeyboard = 0xD,\r
360 EfiPortTypeMouse = 0xE,\r
361 EfiPortTypeSsaScsi = 0xF,\r
362 EfiPortTypeUsb = 0x10,\r
363 EfiPortTypeFireWire = 0x11,\r
364 EfiPortTypePcmciaTypeI = 0x12,\r
365 EfiPortTypePcmciaTypeII = 0x13,\r
366 EfiPortTypePcmciaTypeIII = 0x14,\r
367 EfiPortTypeCardBus = 0x15,\r
368 EfiPortTypeAccessBusPort = 0x16,\r
369 EfiPortTypeScsiII = 0x17,\r
370 EfiPortTypeScsiWide = 0x18,\r
371 EfiPortTypePC98 = 0x19,\r
372 EfiPortTypePC98Hireso = 0x1A,\r
373 EfiPortTypePCH98 = 0x1B,\r
374 EfiPortTypeVideoPort = 0x1C,\r
375 EfiPortTypeAudioPort = 0x1D,\r
376 EfiPortTypeModemPort = 0x1E,\r
377 EfiPortTypeNetworkPort = 0x1F,\r
2c40a813 378 EfiPortTypeSata = 0x20,\r
379 EfiPortTypeSas = 0x21,\r
3eb9473e 380 EfiPortType8251Compatible = 0xA0,\r
381 EfiPortType8251FifoCompatible = 0xA1,\r
4cb43192 382 EfiPortTypeOther = 0xFF\r
3eb9473e 383} EFI_MISC_PORT_TYPE;\r
384\r
385\r
386typedef struct {\r
387 EFI_STRING_TOKEN PortInternalConnectorDesignator;\r
388 EFI_STRING_TOKEN PortExternalConnectorDesignator;\r
389 EFI_MISC_PORT_CONNECTOR_TYPE PortInternalConnectorType;\r
390 EFI_MISC_PORT_CONNECTOR_TYPE PortExternalConnectorType;\r
391 EFI_MISC_PORT_TYPE PortType;\r
392 EFI_MISC_PORT_DEVICE_PATH PortPath;\r
393} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR; \r
394\r
395//\r
396//////////////////////////////////////////////////////////////////////////////\r
397//\r
398// Misc. System Slots - SMBIOS Type 9\r
399//\r
400#define EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER 0x00000007\r
401\r
402typedef enum { \r
403 EfiSlotTypeOther = 0x1,\r
404 EfiSlotTypeUnknown = 0x2,\r
405 EfiSlotTypeIsa = 0x3,\r
406 EfiSlotTypeMca = 0x4,\r
407 EfiSlotTypeEisa = 0x5,\r
408 EfiSlotTypePci = 0x6,\r
409 EfiSlotTypePcmcia = 0x7,\r
410 EfiSlotTypeVlVesa = 0x8,\r
411 EfiSlotTypeProprietary = 0x9,\r
412 EfiSlotTypeProcessorCardSlot = 0xA,\r
413 EfiSlotTypeProprietaryMemoryCardSlot = 0xB,\r
414 EfiSlotTypeIORiserCardSlot = 0xC,\r
415 EfiSlotTypeNuBus = 0xD,\r
416 EfiSlotTypePci66MhzCapable = 0xE,\r
417 EfiSlotTypeAgp = 0xF,\r
418 EfiSlotTypeApg2X = 0x10,\r
419 EfiSlotTypeAgp4X = 0x11,\r
420 EfiSlotTypePciX = 0x12,\r
3e99020d 421 EfiSlotTypeAgp8X = 0x13,\r
3eb9473e 422 EfiSlotTypePC98C20 = 0xA0,\r
423 EfiSlotTypePC98C24 = 0xA1,\r
424 EfiSlotTypePC98E = 0xA2,\r
425 EfiSlotTypePC98LocalBus = 0xA3,\r
426 EfiSlotTypePC98Card = 0xA4,\r
427 EfiSlotTypePciExpress = 0xA5,\r
2c40a813 428 EfiSlotTypePciExpressX1 = 0xA6,\r
429 EfiSlotTypePciExpressX2 = 0xA7,\r
430 EfiSlotTypePciExpressX4 = 0xA8,\r
431 EfiSlotTypePciExpressX8 = 0xA9,\r
3e99020d
LG
432 EfiSlotTypePciExpressX16 = 0xAA,\r
433 EfiSlotTypePciExpressGen2 = 0xAB,\r
434 EfiSlotTypePciExpressGen2X1 = 0xAC,\r
435 EfiSlotTypePciExpressGen2X2 = 0xAD,\r
436 EfiSlotTypePciExpressGen2X4 = 0xAE,\r
437 EfiSlotTypePciExpressGen2X8 = 0xAF,\r
438 EfiSlotTypePciExpressGen2X16 = 0xB0\r
3eb9473e 439} EFI_MISC_SLOT_TYPE;\r
440\r
441typedef enum { \r
442 EfiSlotDataBusWidthOther = 1,\r
443 EfiSlotDataBusWidthUnknown = 2,\r
444 EfiSlotDataBusWidth8Bit = 3,\r
445 EfiSlotDataBusWidth16Bit = 4,\r
446 EfiSlotDataBusWidth32Bit = 5,\r
447 EfiSlotDataBusWidth64Bit = 6,\r
448 EfiSlotDataBusWidth128Bit = 7,\r
449 EfiSlotDataBusWidth1xOrx1 = 8,\r
450 EfiSlotDataBusWidth2xOrx2 = 9,\r
451 EfiSlotDataBusWidth4xOrx4 = 0xA,\r
452 EfiSlotDataBusWidth8xOrx8 = 0xB,\r
453 EfiSlotDataBusWidth12xOrx12 = 0xC,\r
454 EfiSlotDataBusWidth16xOrx16 = 0xD,\r
4cb43192 455 EfiSlotDataBusWidth32xOrx32 = 0xE\r
3eb9473e 456} EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
457\r
458typedef enum { \r
459 EfiSlotUsageOther = 1,\r
460 EfiSlotUsageUnknown = 2,\r
461 EfiSlotUsageAvailable = 3,\r
4cb43192 462 EfiSlotUsageInUse = 4\r
3eb9473e 463} EFI_MISC_SLOT_USAGE;\r
464 \r
465typedef enum { \r
466 EfiSlotLengthOther = 1,\r
467 EfiSlotLengthUnknown = 2,\r
468 EfiSlotLengthShort = 3,\r
469 EfiSlotLengthLong = 4\r
470} EFI_MISC_SLOT_LENGTH;\r
471\r
472typedef struct {\r
473 UINT32 CharacteristicsUnknown :1;\r
474 UINT32 Provides50Volts :1;\r
475 UINT32 Provides33Volts :1;\r
476 UINT32 SharedSlot :1;\r
477 UINT32 PcCard16Supported :1;\r
478 UINT32 CardBusSupported :1;\r
479 UINT32 ZoomVideoSupported :1;\r
480 UINT32 ModemRingResumeSupported:1;\r
481 UINT32 PmeSignalSupported :1;\r
482 UINT32 HotPlugDevicesSupported :1;\r
483 UINT32 SmbusSignalSupported :1;\r
484 UINT32 Reserved :21;\r
485} EFI_MISC_SLOT_CHARACTERISTICS;\r
486\r
487typedef struct {\r
488 STRING_REF SlotDesignation;\r
489 EFI_MISC_SLOT_TYPE SlotType;\r
490 EFI_MISC_SLOT_DATA_BUS_WIDTH SlotDataBusWidth;\r
491 EFI_MISC_SLOT_USAGE SlotUsage;\r
492 EFI_MISC_SLOT_LENGTH SlotLength;\r
493 UINT16 SlotId;\r
494 EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;\r
495 EFI_DEVICE_PATH_PROTOCOL SlotDevicePath;\r
2c40a813 496 UINT16 SegmentGroupNum;\r
497 UINT8 BusNum;\r
498 EFI_MISC_DEV_FUNC_NUM DevFuncNum;\r
3eb9473e 499} EFI_MISC_SYSTEM_SLOT_DESIGNATION; \r
500\r
501//\r
502//////////////////////////////////////////////////////////////////////////////\r
503//\r
504// Misc. Onboard Device - SMBIOS Type 10\r
505//\r
506#define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008\r
507\r
508typedef enum { \r
509 EfiOnBoardDeviceTypeOther = 1,\r
510 EfiOnBoardDeviceTypeUnknown = 2,\r
511 EfiOnBoardDeviceTypeVideo = 3,\r
512 EfiOnBoardDeviceTypeScsiController = 4,\r
513 EfiOnBoardDeviceTypeEthernet = 5,\r
514 EfiOnBoardDeviceTypeTokenRing = 6,\r
515 EfiOnBoardDeviceTypeSound = 7,\r
2c40a813 516 EfiOnBoardDeviceTypePataController = 8,\r
517 EfiOnBoardDeviceTypeSataController = 9,\r
518 EfiOnBoardDeviceTypeSasController = 10\r
3eb9473e 519} EFI_MISC_ONBOARD_DEVICE_TYPE;\r
520\r
521typedef struct {\r
522 UINT32 DeviceType :16;\r
523 UINT32 DeviceEnabled :1;\r
524 UINT32 Reserved :15;\r
525} EFI_MISC_ONBOARD_DEVICE_STATUS;\r
526\r
527typedef struct {\r
528 STRING_REF OnBoardDeviceDescription;\r
529 EFI_MISC_ONBOARD_DEVICE_STATUS OnBoardDeviceStatus;\r
530 EFI_DEVICE_PATH_PROTOCOL OnBoardDevicePath;\r
531} EFI_MISC_ONBOARD_DEVICE;\r
532\r
533//\r
534//////////////////////////////////////////////////////////////////////////////\r
535//\r
536// Misc. BIOS Language Information - SMBIOS Type 11\r
537//\r
538#define EFI_MISC_OEM_STRING_RECORD_NUMBER 0x00000009\r
539\r
540typedef struct {\r
541 STRING_REF OemStringRef[1];\r
542} EFI_MISC_OEM_STRING;\r
543\r
544//\r
545//////////////////////////////////////////////////////////////////////////////\r
546//\r
547// Misc. System Options - SMBIOS Type 12\r
548//\r
549typedef struct {\r
550 STRING_REF SystemOptionStringRef[1];\r
551} EFI_MISC_SYSTEM_OPTION_STRING; \r
552\r
553#define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A\r
554\r
555//\r
556//////////////////////////////////////////////////////////////////////////////\r
557//\r
558// Misc. Number of Installable Languages - SMBIOS Type 13\r
559//\r
560#define EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER 0x0000000B\r
561\r
562typedef struct {\r
563 UINT32 AbbreviatedLanguageFormat :1;\r
564 UINT32 Reserved :31;\r
565} EFI_MISC_LANGUAGE_FLAGS;\r
566\r
567typedef struct {\r
568 UINT16 NumberOfInstallableLanguages;\r
569 EFI_MISC_LANGUAGE_FLAGS LanguageFlags;\r
570 UINT16 CurrentLanguageNumber;\r
571} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES; \r
572\r
573//\r
574//////////////////////////////////////////////////////////////////////////////\r
575//\r
576// Misc. System Language String\r
577//\r
578#define EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER 0x0000000C\r
579\r
580typedef struct {\r
581 UINT16 LanguageId;\r
582 STRING_REF SystemLanguageString;\r
583} EFI_MISC_SYSTEM_LANGUAGE_STRING; \r
584\r
585//\r
586//////////////////////////////////////////////////////////////////////////////\r
587//\r
588// Misc. Group Associations - SMBIOS Type 14\r
589//\r
590#define EFI_MISC_GROUP_NAME_RECORD_NUMBER 0x0000000D\r
591\r
592typedef struct {\r
593 STRING_REF GroupName;\r
594 UINT16 NumberGroupItems;\r
595 UINT16 GroupId;\r
596} EFI_MISC_GROUP_NAME_DATA;\r
597\r
598#define EFI_MISC_GROUP_ITEM_SET_RECORD_NUMBER 0x0000000E\r
599\r
600typedef struct {\r
601 EFI_GUID SubClass;\r
602 EFI_INTER_LINK_DATA GroupLink;\r
603 UINT16 GroupId;\r
604 UINT16 GroupElementId;\r
3e99020d 605 UINT8 ItemType;\r
3eb9473e 606} EFI_MISC_GROUP_ITEM_SET_DATA;\r
607\r
608//\r
609//////////////////////////////////////////////////////////////////////////////\r
610//\r
611// Misc. Pointing Device Type - SMBIOS Type 21\r
612//\r
613#define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F\r
614\r
615typedef enum { \r
616 EfiPointingDeviceTypeOther = 1,\r
617 EfiPointingDeviceTypeUnknown = 2,\r
618 EfiPointingDeviceTypeMouse = 3,\r
619 EfiPointingDeviceTypeTrackBall = 4,\r
620 EfiPointingDeviceTypeTrackPoint = 5,\r
621 EfiPointingDeviceTypeGlidePoint = 6,\r
622 EfiPointingDeviceTouchPad = 7,\r
623 EfiPointingDeviceTouchScreen = 8,\r
4cb43192 624 EfiPointingDeviceOpticalSensor = 9\r
3eb9473e 625} EFI_MISC_POINTING_DEVICE_TYPE;\r
626\r
627typedef enum { \r
628 EfiPointingDeviceInterfaceOther = 1,\r
629 EfiPointingDeviceInterfaceUnknown = 2,\r
630 EfiPointingDeviceInterfaceSerial = 3,\r
631 EfiPointingDeviceInterfacePs2 = 4,\r
632 EfiPointingDeviceInterfaceInfrared = 5,\r
633 EfiPointingDeviceInterfaceHpHil = 6,\r
634 EfiPointingDeviceInterfaceBusMouse = 7,\r
635 EfiPointingDeviceInterfaceADB = 8,\r
636 EfiPointingDeviceInterfaceBusMouseDB9 = 0xA0,\r
637 EfiPointingDeviceInterfaceBusMouseMicroDin = 0xA1,\r
4cb43192 638 EfiPointingDeviceInterfaceUsb = 0xA2\r
3eb9473e 639} EFI_MISC_POINTING_DEVICE_INTERFACE;\r
640\r
641typedef struct {\r
642 EFI_MISC_POINTING_DEVICE_TYPE PointingDeviceType;\r
643 EFI_MISC_POINTING_DEVICE_INTERFACE PointingDeviceInterface;\r
644 UINT16 NumberPointingDeviceButtons;\r
645 EFI_DEVICE_PATH_PROTOCOL PointingDevicePath;\r
646} EFI_MISC_ONBOARD_DEVICE_TYPE_DATA; \r
647\r
648//\r
649//////////////////////////////////////////////////////////////////////////////\r
650//\r
651// Misc. Portable Battery - SMBIOS Type 22\r
652//\r
653#define EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER 0x00000010\r
654\r
655typedef enum { \r
656 EfiPortableBatteryDeviceChemistryOther = 1,\r
657 EfiPortableBatteryDeviceChemistryUnknown = 2,\r
658 EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
659 EfiPortableBatteryDeviceChemistryNickelCadmium = 4,\r
660 EfiPortableBatteryDeviceChemistryNickelMetalHydride = 5,\r
661 EfiPortableBatteryDeviceChemistryLithiumIon = 6,\r
662 EfiPortableBatteryDeviceChemistryZincAir = 7,\r
4cb43192 663 EfiPortableBatteryDeviceChemistryLithiumPolymer = 8\r
3eb9473e 664} EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
665\r
666typedef struct {\r
667 STRING_REF Location;\r
668 STRING_REF Manufacturer;\r
669 STRING_REF ManufactureDate;\r
670 STRING_REF SerialNumber;\r
671 STRING_REF DeviceName;\r
672 EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY DeviceChemistry;\r
673 UINT16 DesignCapacity;\r
674 UINT16 DesignVoltage;\r
675 STRING_REF SBDSVersionNumber;\r
676 UINT8 MaximumError;\r
677 UINT16 SBDSSerialNumber;\r
678 UINT16 SBDSManufactureDate;\r
679 STRING_REF SBDSDeviceChemistry;\r
680 UINT8 DesignCapacityMultiplier;\r
681 UINT32 OEMSpecific; \r
682 UINT8 BatteryNumber; // Temporary \r
683 BOOLEAN Valid; // Is entry valid - Temporary\r
684} EFI_MISC_PORTABLE_BATTERY;\r
685\r
686//\r
687//////////////////////////////////////////////////////////////////////////////\r
688//\r
689// Misc. Reset Capabilities - SMBIOS Type 23\r
690//\r
691#define EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER 0x00000011\r
692\r
693typedef struct {\r
694 UINT32 Status :1;\r
695 UINT32 BootOption :2;\r
696 UINT32 BootOptionOnLimit :2;\r
697 UINT32 WatchdogTimerPresent:1;\r
698 UINT32 Reserved :26;\r
699} EFI_MISC_RESET_CAPABILITIES_TYPE;\r
700\r
701typedef struct {\r
702 EFI_MISC_RESET_CAPABILITIES_TYPE ResetCapabilities;\r
703 UINT16 ResetCount;\r
704 UINT16 ResetLimit;\r
705 UINT16 ResetTimerInterval;\r
706 UINT16 ResetTimeout;\r
707} EFI_MISC_RESET_CAPABILITIES;\r
708 \r
709typedef struct {\r
710 EFI_MISC_RESET_CAPABILITIES ResetCapabilities;\r
711 UINT16 ResetCount;\r
712 UINT16 ResetLimit;\r
713 UINT16 ResetTimerInterval;\r
714 UINT16 ResetTimeout;\r
715} EFI_MISC_RESET_CAPABILITIES_DATA; \r
716\r
717//\r
718//////////////////////////////////////////////////////////////////////////////\r
719//\r
720// Misc. Hardware Security - SMBIOS Type 24\r
721//\r
3e99020d
LG
722#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012\r
723\r
724//\r
725// Backward Compatibility\r
726//\r
727#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER\r
3eb9473e 728\r
729typedef enum {\r
730 EfiHardwareSecurityStatusDisabled = 0,\r
731 EfiHardwareSecurityStatusEnabled = 1,\r
732 EfiHardwareSecurityStatusNotImplemented = 2,\r
733 EfiHardwareSecurityStatusUnknown = 3\r
734} EFI_MISC_HARDWARE_SECURITY_STATUS; \r
735\r
736typedef struct {\r
737 EFI_MISC_HARDWARE_SECURITY_STATUS FrontPanelResetStatus :2; \r
738 EFI_MISC_HARDWARE_SECURITY_STATUS AdministratorPasswordStatus :2; \r
739 EFI_MISC_HARDWARE_SECURITY_STATUS KeyboardPasswordStatus :2; \r
740 EFI_MISC_HARDWARE_SECURITY_STATUS PowerOnPasswordStatus :2; \r
741 EFI_MISC_HARDWARE_SECURITY_STATUS Reserved :24; \r
742} EFI_MISC_HARDWARE_SECURITY_SETTINGS;\r
743\r
744typedef struct {\r
745 EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;\r
746} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA; \r
747\r
748//\r
749//////////////////////////////////////////////////////////////////////////////\r
750//\r
751// Misc. System Power Controls - SMBIOS Type 25\r
752//\r
753#define EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER 0x00000013\r
754\r
755typedef struct {\r
756 UINT8 ScheduledPoweronMonth;\r
757 UINT8 ScheduledPoweronDayOfMonth;\r
758 UINT8 ScheduledPoweronHour;\r
759 UINT8 ScheduledPoweronMinute;\r
760 UINT8 ScheduledPoweronSecond;\r
761} EFI_MISC_SCHEDULED_POWER_ON_MONTH;\r
762\r
763//\r
764//////////////////////////////////////////////////////////////////////////////\r
765//\r
766// Misc. Voltage Probe - SMBIOS Type 26\r
767//\r
768#define EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000014\r
769\r
770typedef struct {\r
771 UINT32 VoltageProbeSite :5;\r
772 UINT32 VoltageProbeStatus :3;\r
773 UINT32 Reserved :24;\r
774} EFI_MISC_VOLTAGE_PROBE_LOCATION;\r
775\r
776typedef struct {\r
777 STRING_REF VoltageProbeDescription;\r
778 EFI_MISC_VOLTAGE_PROBE_LOCATION VoltageProbeLocation;\r
779 UINT16 VoltageProbeMaximumValue;\r
780 UINT16 VoltageProbeMinimumValue;\r
781 UINT16 VoltageProbeResolution;\r
782 UINT16 VoltageProbeTolerance;\r
783 UINT16 VoltageProbeAccuracy;\r
784 UINT16 VoltageProbeNominalValue;\r
785 UINT16 MDLowerNoncriticalThreshold;\r
786 UINT16 MDUpperNoncriticalThreshold;\r
787 UINT16 MDLowerCriticalThreshold;\r
788 UINT16 MDUpperCriticalThreshold;\r
789 UINT16 MDLowerNonrecoverableThreshold;\r
790 UINT16 MDUpperNonrecoverableThreshold;\r
791 UINT32 VoltageProbeOemDefined;\r
792} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION;\r
793\r
794//\r
795//////////////////////////////////////////////////////////////////////////////\r
796//\r
797// Misc. Cooling Device - SMBIOS Type 27\r
798//\r
799#define EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER 0x00000015\r
800\r
801typedef struct {\r
802 UINT32 CoolingDevice :5;\r
803 UINT32 CoolingDeviceStatus :3;\r
804 UINT32 Reserved :24;\r
805} EFI_MISC_COOLING_DEVICE_TYPE;\r
806\r
807typedef struct {\r
808 EFI_MISC_COOLING_DEVICE_TYPE CoolingDeviceType;\r
809 EFI_INTER_LINK_DATA CoolingDeviceTemperatureLink;\r
810 UINT8 CoolingDeviceUnitGroup;\r
811 UINT16 CoolingDeviceNominalSpeed;\r
812 UINT32 CoolingDeviceOemDefined;\r
813} EFI_MISC_COOLING_DEVICE_TEMP_LINK;\r
814\r
815//\r
816//////////////////////////////////////////////////////////////////////////////\r
817//\r
818// Misc. Temperature Probe - SMBIOS Type 28\r
819//\r
820#define EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000016\r
821\r
822typedef struct {\r
823 UINT32 TemperatureProbeSite :5;\r
824 UINT32 TemperatureProbeStatus :3;\r
825 UINT32 Reserved :24;\r
826} EFI_MISC_TEMPERATURE_PROBE_LOCATION;\r
827\r
828typedef struct {\r
829 STRING_REF TemperatureProbeDescription;\r
830 EFI_MISC_TEMPERATURE_PROBE_LOCATION TemperatureProbeLocation;\r
831 UINT16 TemperatureProbeMaximumValue;\r
832 UINT16 TemperatureProbeMinimumValue;\r
833 UINT16 TemperatureProbeResolution;\r
834 UINT16 TemperatureProbeTolerance;\r
835 UINT16 TemperatureProbeAccuracy;\r
836 UINT16 TemperatureProbeNominalValue;\r
837 UINT16 MDLowerNoncriticalThreshold;\r
838 UINT16 MDUpperNoncriticalThreshold;\r
839 UINT16 MDLowerCriticalThreshold;\r
840 UINT16 MDUpperCriticalThreshold;\r
841 UINT16 MDLowerNonrecoverableThreshold;\r
842 UINT16 MDUpperNonrecoverableThreshold;\r
843 UINT32 TemperatureProbeOemDefined;\r
844} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION;\r
845\r
846//\r
847//////////////////////////////////////////////////////////////////////////////\r
848//\r
849// Misc. Electrical Current Probe - SMBIOS Type 29\r
850//\r
851#define EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000017\r
852\r
853typedef struct {\r
854 UINT32 ElectricalCurrentProbeSite :5;\r
855 UINT32 ElectricalCurrentProbeStatus :3;\r
856 UINT32 Reserved :24;\r
857} EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION;\r
858\r
859typedef struct {\r
860 STRING_REF ElectricalCurrentProbeDescription;\r
861 EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION ElectricalCurrentProbeLocation;\r
862 UINT16 ElectricalCurrentProbeMaximumValue;\r
863 UINT16 ElectricalCurrentProbeMinimumValue;\r
864 UINT16 ElectricalCurrentProbeResolution;\r
865 UINT16 ElectricalCurrentProbeTolerance;\r
866 UINT16 ElectricalCurrentProbeAccuracy;\r
867 UINT16 ElectricalCurrentProbeNominalValue;\r
868 UINT16 MDLowerNoncriticalThreshold;\r
869 UINT16 MDUpperNoncriticalThreshold;\r
870 UINT16 MDLowerCriticalThreshold;\r
871 UINT16 MDUpperCriticalThreshold;\r
872 UINT16 MDLowerNonrecoverableThreshold;\r
873 UINT16 MDUpperNonrecoverableThreshold;\r
874 UINT32 ElectricalCurrentProbeOemDefined;\r
875} EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION;\r
876\r
877//\r
878//////////////////////////////////////////////////////////////////////////////\r
879//\r
880// Misc. Out-of-Band Remote Access - SMBIOS Type 30\r
881//\r
882#define EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER 0x00000018\r
883\r
884typedef struct {\r
885 UINT32 InboundConnectionEnabled :1;\r
886 UINT32 OutboundConnectionEnabled :1;\r
887 UINT32 Reserved :30;\r
888} EFI_MISC_REMOTE_ACCESS_CONNECTIONS;\r
889\r
890typedef struct {\r
891 STRING_REF RemoteAccessManufacturerNameDescription;\r
892 EFI_MISC_REMOTE_ACCESS_CONNECTIONS RemoteAccessConnections;\r
893} EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION;\r
894//\r
895//////////////////////////////////////////////////////////////////////////////\r
896//\r
897// Misc. BIS Entry Point - SMBIOS Type 31\r
898//\r
899#define EFI_MISC_BIS_ENTRY_POINT_RECORD_NUMBER 0x00000019\r
900\r
901typedef struct {\r
902 EFI_PHYSICAL_ADDRESS BisEntryPoint;\r
903} EFI_MISC_BIS_ENTRY_POINT; \r
904\r
905//\r
906//////////////////////////////////////////////////////////////////////////////\r
907//\r
908// Misc. Boot Information - SMBIOS Type 32\r
909//\r
910#define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER 0x0000001A\r
911\r
912typedef enum { \r
913 EfiBootInformationStatusNoError = 0,\r
914 EfiBootInformationStatusNoBootableMedia = 1,\r
915 EfiBootInformationStatusNormalOSFailedLoading = 2,\r
916 EfiBootInformationStatusFirmwareDetectedFailure = 3,\r
917 EfiBootInformationStatusOSDetectedFailure = 4,\r
918 EfiBootInformationStatusUserRequestedBoot = 5,\r
919 EfiBootInformationStatusSystemSecurityViolation = 6,\r
920 EfiBootInformationStatusPreviousRequestedImage = 7,\r
921 EfiBootInformationStatusWatchdogTimerExpired = 8,\r
922 EfiBootInformationStatusStartReserved = 9,\r
923 EfiBootInformationStatusStartOemSpecific = 128,\r
4cb43192 924 EfiBootInformationStatusStartProductSpecific = 192\r
3eb9473e 925} EFI_MISC_BOOT_INFORMATION_STATUS_TYPE;\r
926\r
927typedef struct {\r
928 EFI_MISC_BOOT_INFORMATION_STATUS_TYPE BootInformationStatus;\r
929 UINT8 BootInformationData[9];\r
930} EFI_MISC_BOOT_INFORMATION_STATUS;\r
931\r
932//\r
933//////////////////////////////////////////////////////////////////////////////\r
934//\r
935// Misc. Management Device - SMBIOS Type 34\r
936//\r
937#define EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER 0x0000001B\r
938\r
939typedef enum {\r
940 EfiManagementDeviceTypeOther = 1,\r
941 EfiManagementDeviceTypeUnknown = 2,\r
942 EfiManagementDeviceTypeLm75 = 3,\r
943 EfiManagementDeviceTypeLm78 = 4,\r
944 EfiManagementDeviceTypeLm79 = 5,\r
945 EfiManagementDeviceTypeLm80 = 6,\r
946 EfiManagementDeviceTypeLm81 = 7,\r
947 EfiManagementDeviceTypeAdm9240 = 8,\r
948 EfiManagementDeviceTypeDs1780 = 9,\r
949 EfiManagementDeviceTypeMaxim1617 = 0xA,\r
950 EfiManagementDeviceTypeGl518Sm = 0xB,\r
951 EfiManagementDeviceTypeW83781D = 0xC,\r
952 EfiManagementDeviceTypeHt82H791 = 0xD\r
953} EFI_MISC_MANAGEMENT_DEVICE_TYPE;\r
954\r
955typedef enum {\r
956 EfiManagementDeviceAddressTypeOther = 1,\r
957 EfiManagementDeviceAddressTypeUnknown = 2,\r
958 EfiManagementDeviceAddressTypeIOPort = 3,\r
959 EfiManagementDeviceAddressTypeMemory = 4,\r
960 EfiManagementDeviceAddressTypeSmbus = 5\r
961} EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE;\r
962\r
963typedef struct {\r
964 STRING_REF ManagementDeviceDescription;\r
965 EFI_MISC_MANAGEMENT_DEVICE_TYPE ManagementDeviceType;\r
966 UINTN ManagementDeviceAddress;\r
967 EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE ManagementDeviceAddressType;\r
968} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION;\r
969\r
970//\r
971//////////////////////////////////////////////////////////////////////////////\r
972//\r
973// Misc. Management Device Component - SMBIOS Type 35\r
974//\r
975#define EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_RECORD_NUMBER 0x0000001C\r
976\r
977typedef struct {\r
978 STRING_REF ManagementDeviceComponentDescription;\r
979 EFI_INTER_LINK_DATA ManagementDeviceLink;\r
980 EFI_INTER_LINK_DATA ManagementDeviceComponentLink;\r
981 EFI_INTER_LINK_DATA ManagementDeviceThresholdLink;\r
3e99020d 982 UINT8 ComponentType;\r
3eb9473e 983} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;\r
984\r
985//\r
986//////////////////////////////////////////////////////////////////////////////\r
987//\r
988// IPMI Data Record - SMBIOS Type 38\r
989//\r
990typedef enum { \r
991 EfiIpmiOther = 0,\r
992 EfiIpmiKcs = 1,\r
993 EfiIpmiSmic = 2,\r
4cb43192 994 EfiIpmiBt = 3\r
3eb9473e 995} EFI_MISC_IPMI_INTERFACE_TYPE;\r
996\r
997typedef struct {\r
998 UINT16 IpmiSpecLeastSignificantDigit:4;\r
999 UINT16 IpmiSpecMostSignificantDigit:4;\r
1000 UINT16 Reserved:8;\r
1001} EFI_MISC_IPMI_SPECIFICATION_REVISION;\r
1002\r
1003typedef struct {\r
1004 EFI_MISC_IPMI_INTERFACE_TYPE IpmiInterfaceType;\r
1005 EFI_MISC_IPMI_SPECIFICATION_REVISION IpmiSpecificationRevision;\r
1006 UINT16 IpmiI2CSlaveAddress;\r
1007 UINT16 IpmiNvDeviceAddress;\r
1008 UINT64 IpmiBaseAddress;\r
1009 EFI_DEVICE_PATH_PROTOCOL IpmiDevicePath;\r
1010} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
1011 \r
1012#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER 0x0000001D\r
1013\r
1014//\r
1015//////////////////////////////////////////////////////////////////////////////\r
1016//\r
1017//System Power supply Record - SMBIOS Type 39\r
1018//\r
1019typedef struct {\r
1020 UINT16 PowerSupplyHotReplaceable :1;\r
1021 UINT16 PowerSupplyPresent :1;\r
1022 UINT16 PowerSupplyUnplugged :1;\r
1023 UINT16 InputVoltageRangeSwitch :4;\r
1024 UINT16 PowerSupplyStatus :3;\r
1025 UINT16 PowerSupplyType :4;\r
1026 UINT16 Reserved :2;\r
1027} POWER_SUPPLY_CHARACTERISTICS;\r
1028\r
1029typedef struct {\r
3e99020d 1030 UINT16 PowerUnitGroup;\r
3eb9473e 1031 STRING_REF PowerSupplyLocation;\r
1032 STRING_REF PowerSupplyDeviceName;\r
1033 STRING_REF PowerSupplyManufacturer;\r
1034 STRING_REF PowerSupplySerialNumber;\r
1035 STRING_REF PowerSupplyAssetTagNumber;\r
1036 STRING_REF PowerSupplyModelPartNumber;\r
1037 STRING_REF PowerSupplyRevisionLevel;\r
1038 UINT16 PowerSupplyMaxPowerCapacity;\r
1039 POWER_SUPPLY_CHARACTERISTICS PowerSupplyCharacteristics;\r
1040 EFI_INTER_LINK_DATA PowerSupplyInputVoltageProbeLink;\r
1041 EFI_INTER_LINK_DATA PowerSupplyCoolingDeviceLink;\r
1042 EFI_INTER_LINK_DATA PowerSupplyInputCurrentProbeLink;\r
1043} EFI_MISC_SYSTEM_POWER_SUPPLY;\r
1044\r
1045#define EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER 0x0000001E\r
1046\r
2c40a813 1047//\r
1048//////////////////////////////////////////////////////////////////////////////\r
1049//\r
1050//Additional Information Record - SMBIOS Type 40\r
1051//\r
1052typedef struct { \r
1053 UINT8 EntryLength; \r
1054 UINT8 ReferencedSmbiosType;\r
1055 EFI_INTER_LINK_DATA ReferencedLink;\r
1056 UINT8 ReferencedOffset;\r
1057 STRING_REF EntryString;\r
1058 EFI_PHYSICAL_ADDRESS ValueAddress;\r
1059} EFI_MISC_ADDITIONAL_INFORMATION_ENTRY; \r
1060 \r
1061typedef struct {\r
1062 UINT8 NumberOfAdditionalInformationEntries;\r
1063 EFI_PHYSICAL_ADDRESS AdditionalInfoEntriesAddr;\r
1064} EFI_MISC_ADDITIONAL_INFORMATION;\r
1065\r
1066#define EFI_MISC_ADDITIONAL_INFORMATION_RECORD_NUMBER 0x00000022\r
1067\r
1068//\r
1069//////////////////////////////////////////////////////////////////////////////\r
1070//\r
1071//Onboard Devices Extended Infomation Record - SMBIOS Type 41\r
1072//\r
1073typedef struct {\r
1074 UINT8 TypeOfDevice:7;\r
1075 UINT8 DeviceStatus:1;\r
1076} EFI_MISC_DEVICE_TYPE;\r
1077\r
1078typedef struct {\r
1079 STRING_REF ReferenceDesignation;\r
1080 EFI_MISC_DEVICE_TYPE DeviceType;\r
1081 UINT8 DeviceTypeInstance;\r
1082 UINT16 SegmentGroupNum;\r
1083 UINT8 BusNum;\r
1084 EFI_MISC_DEV_FUNC_NUM DevFuncNum;\r
1085} EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION;\r
1086\r
1087#define EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION_RECORD_NUMBER 0x00000023\r
1088\r
3eb9473e 1089//\r
1090//////////////////////////////////////////////////////////////////////////////\r
1091//\r
1092// Generic Data Record - All SMBIOS Type\r
1093// Put smbios raw data into one datahub record directly. Smbios driver would\r
1094// copy smbios raw data into smbios table but not take any translation.\r
1095//\r
1096typedef struct {\r
1097 UINT8 Type;\r
1098 UINT8 Length;\r
1099 UINT16 Handle;\r
1100} SMBIOS_STRUCTURE_HDR;\r
1101\r
1102typedef struct {\r
1103 SMBIOS_STRUCTURE_HDR Header;\r
1104 UINT8 RawData[1];\r
1105} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION; \r
1106\r
1107#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER 0x0000001F \r
1108\r
1109//\r
1110//////////////////////////////////////////////////////////////////////////////\r
1111//\r
1112// Misc. System Event Log - SMBIOS Type 15\r
1113//\r
1114#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x00000020\r
3e99020d
LG
1115\r
1116typedef enum { \r
1117 EfiEventLogTypeReserved1 = 0,\r
1118 EfiEventLogTypeSingleBitEccMemoryError = 1,\r
1119 EfiEventLogTypeMultiBitEccMemoryError = 2,\r
1120 EfiEventLogTypeParityMemoryError = 3,\r
1121 EfiEventLogTypeBusTimeOut = 4,\r
1122 EfiEventLogTypeIoChannelCheck = 5,\r
1123 EfiEventLogTypeSoftwareNmi = 6,\r
1124 EfiEventLogTypePostMemoryResize = 7,\r
1125 EfiEventLogTypePostError = 8,\r
1126 EfiEventLogTypePciParityError = 9,\r
1127 EfiEventLogTypePciSystemError = 0xA,\r
1128 EfiEventLogTypeCpuFailure = 0xB,\r
1129 EfiEventLogTypeEisaFailSafeTimerTimeOut = 0xC,\r
1130 EfiEventLogTypeCorrectableMemoryLogDisabled = 0xD,\r
1131 EfiEventLogTypeLoggingDisabled = 0xE,\r
1132 EfiEventLogTypeReserved2 = 0xF,\r
1133 EfiEventLogTypeSystemLimitExceeded = 0x10,\r
1134 EfiEventLogTypeAsynchronousHardwareTimerExpired = 0x11,\r
1135 EfiEventLogTypeSystemConfigurationInformation = 0x12,\r
1136 EfiEventLogTypeHardDiskInformation = 0x13,\r
1137 EfiEventLogTypeSystemReconfigured = 0x14,\r
1138 EfiEventLogTypeUncorrectableCpuComplexError = 0x15,\r
1139 EfiEventLogTypeLogAreaResetCleared = 0x16,\r
1140 EfiEventLogTypeSystemBoot = 0x17,\r
1141 EfiEventLogTypeEndOfLog = 0xFF\r
1142} EFI_MISC_LOG_TYPE;\r
1143\r
1144typedef enum { \r
1145 EfiEventLogDataFormatTypeNone = 0,\r
1146 EfiEventLogDataFormatTypeHandle = 1,\r
1147 EfiEventLogDataFormatTypeMultipleEvent = 2,\r
1148 EfiEventLogDataFormatTypeMultipleEventHandle = 3,\r
1149 EfiEventLogDataFormatTypePostResultsBitmap = 4,\r
1150 EfiEventLogDataFormatTypeSystemManagement = 5,\r
1151 EfiEventLogDataFormatTypeMultipleEventSystemManagement = 6\r
1152} EFI_MISC_VARIABLE_DATA_FORMAT_TYPE;\r
1153\r
1154typedef struct {\r
1155 UINT8 LogType;\r
1156 UINT8 DataFormatType;\r
1157} EFI_MISC_EVENT_LOG_TYPE;\r
1158\r
3eb9473e 1159typedef struct {\r
3e99020d
LG
1160 UINT16 LogAreaLength;\r
1161 UINT16 LogHeaderStartOffset;\r
1162 UINT16 LogDataStartOffset;\r
1163 UINT8 AccessMethod;\r
1164 UINT8 LogStatus;\r
1165 UINT32 LogChangeToken;\r
1166 UINT32 AccessMethodAddress;\r
1167 UINT8 LogHeaderFormat;\r
1168 UINT8 NumberOfSupportedLogType;\r
1169 UINT8 LengthOfLogDescriptor;\r
1170 EFI_PHYSICAL_ADDRESS EventLogTypeDescriptors; // Pointer to EFI_MISC_EVENT_LOG_TYPE\r
3eb9473e 1171} EFI_MISC_SYSTEM_EVENT_LOG;\r
1172\r
1173//\r
1174// Access Method.\r
1175// 0x00~0x04: as following definition\r
1176// 0x05~0x7f: Available for future assignment.\r
1177// 0x80~0xff: BIOS Vendor/OEM-specific.\r
1178// \r
1179#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT 0x00\r
1180#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT 0X01\r
1181#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT 0X02\r
1182#define ACCESS_MEMORY_MAPPED 0x03\r
1183#define ACCESS_GPNV 0x04\r
1184\r
1185//\r
1186//////////////////////////////////////////////////////////////////////////////\r
1187//\r
1188//Management Device Threshold Data Record - SMBIOS Type 36\r
1189//\r
1190#define EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER 0x00000021\r
1191\r
1192typedef struct {\r
1193 UINT16 LowerThresNonCritical;\r
1194 UINT16 UpperThresNonCritical;\r
1195 UINT16 LowerThresCritical;\r
1196 UINT16 UpperThresCritical;\r
1197 UINT16 LowerThresNonRecover;\r
1198 UINT16 UpperThresNonRecover;\r
1199} EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
1200\r
1201//\r
1202//////////////////////////////////////////////////////////////////////////////\r
1203//\r
1204//\r
1205//\r
1206typedef union {\r
1207 EFI_MISC_LAST_PCI_BUS LastPciBus;\r
1208 EFI_MISC_BIOS_VENDOR MiscBiosVendor;\r
1209 EFI_MISC_SYSTEM_MANUFACTURER MiscSystemManufacturer;\r
1210 EFI_MISC_BASE_BOARD_MANUFACTURER MiscBaseBoardManufacturer;\r
1211 EFI_MISC_CHASSIS_MANUFACTURER MiscChassisManufacturer; \r
1212 EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR MiscPortInternalConnectorDesignator;\r
1213 EFI_MISC_SYSTEM_SLOT_DESIGNATION MiscSystemSlotDesignation;\r
1214 EFI_MISC_ONBOARD_DEVICE MiscOnboardDevice;\r
1215 EFI_MISC_OEM_STRING MiscOemString;\r
1216 EFI_MISC_SYSTEM_OPTION_STRING MiscOptionString;\r
1217 EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES NumberOfInstallableLanguages;\r
1218 EFI_MISC_SYSTEM_LANGUAGE_STRING MiscSystemLanguageString;\r
1219 EFI_MISC_GROUP_NAME_DATA MiscGroupNameData;\r
1220 EFI_MISC_GROUP_ITEM_SET_DATA MiscGroupItemSetData;\r
1221 EFI_MISC_SYSTEM_EVENT_LOG MiscSystemEventLog;\r
1222 EFI_MISC_ONBOARD_DEVICE_TYPE_DATA MiscOnboardDeviceTypeData;\r
1223 EFI_MISC_PORTABLE_BATTERY MiscPortableBattery;\r
1224 EFI_MISC_RESET_CAPABILITIES_DATA MiscResetCapablilitiesData;\r
1225 EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA MiscHardwareSecuritySettingsData;\r
1226 EFI_MISC_SCHEDULED_POWER_ON_MONTH MiscScheduledPowerOnMonth;\r
1227 EFI_MISC_VOLTAGE_PROBE_DESCRIPTION MiscVoltageProbeDescription;\r
1228 EFI_MISC_COOLING_DEVICE_TEMP_LINK MiscCoolingDeviceTempLink;\r
1229 EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION MiscTemperatureProbeDescription;\r
1230 EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION MiscElectricalCurrentProbeDescription;\r
1231 EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION MiscRemoteAccessManufacturerDescription; \r
1232 EFI_MISC_BIS_ENTRY_POINT MiscBisEntryPoint;\r
1233 EFI_MISC_BOOT_INFORMATION_STATUS MiscBootInformationStatus;\r
1234 EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION MiscManagementDeviceDescription;\r
1235 EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION MiscManagementDeviceComponentDescription;\r
1236 EFI_MISC_IPMI_INTERFACE_TYPE_DATA MiscIpmiInterfaceTypeData;\r
1237 EFI_MISC_SYSTEM_POWER_SUPPLY MiscPowerSupplyInfo;\r
1238 EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION MiscSmbiosStructEncapsulation; \r
2c40a813 1239 EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD MiscManagementDeviceThreshold;\r
1240 EFI_MISC_ADDITIONAL_INFORMATION MiscAdditionalInformation;\r
1241 EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION MiscOnBoardDevicesExtendedInformation;\r
3eb9473e 1242} EFI_MISC_SUBCLASS_RECORDS;\r
1243\r
1244//\r
1245//\r
1246//\r
1247typedef struct {\r
1248 EFI_SUBCLASS_TYPE1_HEADER Header;\r
1249 EFI_MISC_SUBCLASS_RECORDS Record;\r
1250} EFI_MISC_SUBCLASS_DRIVER_DATA;\r
1251\r
1252#pragma pack()\r
1253\r
1254#endif /* _DATAHUB_SUBCLASS_MISC_H_ */\r
1255/* eof - DataHubSubClassMisc.h */\r