]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/PlatformSmbiosDxe/SmbiosTable.c
BaseTools/BinToPcd: Fix Python 2.7.x compatibility issue
[mirror_edk2.git] / EmulatorPkg / PlatformSmbiosDxe / SmbiosTable.c
CommitLineData
f58ba9ed
JJ
1/** @file\r
2 Static SMBIOS Table for platform\r
3\r
4 Note SMBIOS 2.7.1 Required structures:\r
5 BIOS Information (Type 0)\r
6 System Information (Type 1)\r
7 System Enclosure (Type 3)\r
8 Processor Information (Type 4) - CPU Driver\r
9 Cache Information (Type 7) - For cache that is external to processor\r
10 System Slots (Type 9) - If system has slots\r
11 Physical Memory Array (Type 16) \r
12 Memory Device (Type 17) - For each socketed system-memory Device\r
13 Memory Array Mapped Address (Type 19) - One per contiguous block per Physical Memroy Array\r
14 System Boot Information (Type 32)\r
15\r
16 Copyright (c) 2012, Apple Inc. All rights reserved.<BR>\r
17 This program and the accompanying materials\r
18 are licensed and made available under the terms and conditions of the BSD License\r
19 which accompanies this distribution. The full text of the license may be found at\r
20 http://opensource.org/licenses/bsd-license.php\r
21\r
22 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
23 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
24\r
25**/\r
26\r
27#include <PiDxe.h>\r
28#include <IndustryStandard/SmBios.h>\r
29#include <Protocol/Smbios.h>\r
30#include <Library/SmbiosLib.h>\r
31\r
32\r
33SMBIOS_TABLE_TYPE0 gSmbiosType0Template = {\r
34 { EFI_SMBIOS_TYPE_BIOS_INFORMATION, sizeof (SMBIOS_TABLE_TYPE0), 0 },\r
35 1, // Vendor String\r
36 2, // BiosVersion String\r
37 0xE000, // BiosSegment\r
38 3, // BiosReleaseDate String\r
39 0x7F, // BiosSize\r
40 { // BiosCharacteristics\r
41 0, // Reserved :2; ///< Bits 0-1.\r
42 0, // Unknown :1;\r
43 0, // BiosCharacteristicsNotSupported :1;\r
44 0, // IsaIsSupported :1;\r
45 0, // McaIsSupported :1;\r
46 0, // EisaIsSupported :1;\r
47 1, // PciIsSupported :1;\r
48 0, // PcmciaIsSupported :1;\r
49 0, // PlugAndPlayIsSupported :1;\r
50 0, // ApmIsSupported :1;\r
51 1, // BiosIsUpgradable :1;\r
52 1, // BiosShadowingAllowed :1;\r
53 0, // VlVesaIsSupported :1;\r
54 0, // EscdSupportIsAvailable :1;\r
55 0, // BootFromCdIsSupported :1;\r
56 1, // SelectableBootIsSupported :1;\r
57 0, // RomBiosIsSocketed :1;\r
58 0, // BootFromPcmciaIsSupported :1;\r
59 0, // EDDSpecificationIsSupported :1;\r
60 0, // JapaneseNecFloppyIsSupported :1;\r
61 0, // JapaneseToshibaFloppyIsSupported :1;\r
62 0, // Floppy525_360IsSupported :1;\r
63 0, // Floppy525_12IsSupported :1;\r
64 0, // Floppy35_720IsSupported :1;\r
65 0, // Floppy35_288IsSupported :1;\r
66 0, // PrintScreenIsSupported :1;\r
67 0, // Keyboard8042IsSupported :1;\r
68 0, // SerialIsSupported :1;\r
69 0, // PrinterIsSupported :1;\r
70 0, // CgaMonoIsSupported :1;\r
71 0, // NecPc98 :1;\r
72 0 // ReservedForVendor :32; ///< Bits 32-63. Bits 32-47 reserved for BIOS vendor \r
73 ///< and bits 48-63 reserved for System Vendor. \r
74 }, \r
75 { // BIOSCharacteristicsExtensionBytes[]\r
76 0x81, // AcpiIsSupported :1;\r
77 // UsbLegacyIsSupported :1;\r
78 // AgpIsSupported :1;\r
79 // I2OBootIsSupported :1;\r
80 // Ls120BootIsSupported :1;\r
81 // AtapiZipDriveBootIsSupported :1;\r
82 // Boot1394IsSupported :1;\r
83 // SmartBatteryIsSupported :1;\r
84 // BIOSCharacteristicsExtensionBytes[1]\r
85 0x0a, // BiosBootSpecIsSupported :1;\r
86 // FunctionKeyNetworkBootIsSupported :1;\r
87 // TargetContentDistributionEnabled :1;\r
88 // UefiSpecificationSupported :1;\r
89 // VirtualMachineSupported :1;\r
90 // ExtensionByte2Reserved :3;\r
91 },\r
92 0x00, // SystemBiosMajorRelease\r
93 0x01, // SystemBiosMinorRelease\r
94 0xFF, // EmbeddedControllerFirmwareMajorRelease\r
95 0xFF, // EmbeddedControllerFirmwareMinorRelease\r
96};\r
97CHAR8 *gSmbiosType0Strings[] = {\r
dff5a05b 98 "http://www.tianocore.org/edk2/", // Vendor String\r
f58ba9ed
JJ
99 __TIME__, // BiosVersion String\r
100 __DATE__, // BiosReleaseDate String\r
101 NULL\r
102};\r
103\r
104SMBIOS_TABLE_TYPE1 gSmbiosType1Template = {\r
105 { EFI_SMBIOS_TYPE_SYSTEM_INFORMATION, sizeof (SMBIOS_TABLE_TYPE1), 0 },\r
106 1, // Manufacturer String\r
107 2, // ProductName String\r
108 3, // Version String\r
109 4, // SerialNumber String\r
110 { 0x25EF0280, 0xEC82, 0x42B0, { 0x8F, 0xB6, 0x10, 0xAD, 0xCC, 0xC6, 0x7C, 0x02 } },\r
111 SystemWakeupTypePowerSwitch, \r
112 5, // SKUNumber String\r
113 6, // Family String\r
114};\r
115CHAR8 *gSmbiosType1Strings[] = {\r
dff5a05b 116 "http://www.tianocore.org/edk2/",\r
f58ba9ed
JJ
117 "EmulatorPkg",\r
118 "1.0",\r
119 "System Serial#",\r
120 "System SKU#",\r
121 "edk2",\r
122 NULL \r
123};\r
124\r
125SMBIOS_TABLE_TYPE2 gSmbiosType2Template = {\r
126 { EFI_SMBIOS_TYPE_BASEBOARD_INFORMATION, sizeof (SMBIOS_TABLE_TYPE2), 0 },\r
127 1, // Manufacturer String\r
128 2, // ProductName String\r
129 3, // Version String\r
130 4, // SerialNumber String\r
131 5, // AssetTag String\r
132 { // FeatureFlag\r
133 1, // Motherboard :1;\r
134 0, // RequiresDaughterCard :1;\r
135 0, // Removable :1;\r
136 0, // Replaceable :1;\r
137 0, // HotSwappable :1;\r
138 0, // Reserved :3;\r
139 },\r
140 6, // LocationInChassis String\r
141 0, // ChassisHandle;\r
142 BaseBoardTypeMotherBoard, // BoardType; \r
143 0, // NumberOfContainedObjectHandles;\r
144 { 0 } // ContainedObjectHandles[1];\r
145};\r
146CHAR8 *gSmbiosType2Strings[] = {\r
dff5a05b 147 "http://www.tianocore.org/edk2/",\r
f58ba9ed
JJ
148 "EmulatorPkg",\r
149 "1.0",\r
150 "Base Board Serial#",\r
151 "Base Board Asset Tag#",\r
152 "Part Component",\r
153 NULL \r
154};\r
155\r
156SMBIOS_TABLE_TYPE3 gSmbiosType3Template = {\r
157 { EFI_SMBIOS_TYPE_SYSTEM_ENCLOSURE, sizeof (SMBIOS_TABLE_TYPE3), 0 },\r
158 1, // Manufacturer String\r
159 MiscChassisTypeLapTop, // Type;\r
160 2, // Version String\r
161 3, // SerialNumber String\r
162 4, // AssetTag String\r
163 ChassisStateSafe, // BootupState; \r
164 ChassisStateSafe, // PowerSupplyState; \r
165 ChassisStateSafe, // ThermalState; \r
166 ChassisSecurityStatusNone,// SecurityStatus; \r
167 { 0, 0, 0, 0 }, // OemDefined[4];\r
168 0, // Height;\r
169 0, // NumberofPowerCords;\r
170 0, // ContainedElementCount;\r
171 0, // ContainedElementRecordLength;\r
0cecbe56 172 { { 0 } }, // ContainedElements[1];\r
f58ba9ed
JJ
173};\r
174CHAR8 *gSmbiosType3Strings[] = {\r
dff5a05b 175 "http://www.tianocore.org/edk2/",\r
f58ba9ed
JJ
176 "EmulatorPkg",\r
177 "Chassis Board Serial#",\r
178 "Chassis Board Asset Tag#",\r
179 NULL \r
180};\r
181\r
182SMBIOS_TABLE_TYPE8 gSmbiosType8Template1 = {\r
183 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
184 0, // InternalReferenceDesignator String\r
185 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
186 1, // ExternalReferenceDesignator String\r
187 PortConnectorTypeNone, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
188 PortTypeOther, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
189};\r
190CHAR8 *gSmbiosType8Strings1[] = {\r
191 "Mini DisplayPort",\r
192 NULL\r
193};\r
194\r
195SMBIOS_TABLE_TYPE8 gSmbiosType8Template2 = {\r
196 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
197 0, // InternalReferenceDesignator String\r
198 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
199 1, // ExternalReferenceDesignator String\r
200 PortConnectorTypeNone, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
201 PortTypeFireWire, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
202};\r
203CHAR8 *gSmbiosType8Strings2[] = {\r
204 "FireWire 800",\r
205 NULL\r
206};\r
207\r
208\r
209SMBIOS_TABLE_TYPE8 gSmbiosType8Template3 = {\r
210 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
211 0, // InternalReferenceDesignator String\r
212 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
213 1, // ExternalReferenceDesignator String\r
214 PortConnectorTypeRJ45, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
215 PortTypeNetworkPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
216};\r
217CHAR8 *gSmbiosType8Strings3[] = {\r
218 "Ethernet",\r
219 NULL\r
220};\r
221\r
222SMBIOS_TABLE_TYPE8 gSmbiosType8Template4 = {\r
223 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
224 0, // InternalReferenceDesignator String\r
225 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
226 1, // ExternalReferenceDesignator String\r
227 PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
228 PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
229};\r
230CHAR8 *gSmbiosType8Strings4[] = {\r
231 "USB0",\r
232 NULL\r
233};\r
234\r
235SMBIOS_TABLE_TYPE8 gSmbiosType8Template5 = {\r
236 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
237 0, // InternalReferenceDesignator String\r
238 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
239 1, // ExternalReferenceDesignator String\r
240 PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
241 PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
242};\r
243CHAR8 *gSmbiosType8Strings5[] = {\r
244 "USB1",\r
245 NULL\r
246};\r
247\r
248SMBIOS_TABLE_TYPE8 gSmbiosType8Template6 = {\r
249 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
250 0, // InternalReferenceDesignator String\r
251 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
252 1, // ExternalReferenceDesignator String\r
253 PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
254 PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
255};\r
256CHAR8 *gSmbiosType8Strings6[] = {\r
257 "USB2",\r
258 NULL\r
259};\r
260\r
261SMBIOS_TABLE_TYPE8 gSmbiosType8Template7 = {\r
262 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
263 0, // InternalReferenceDesignator String\r
264 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
265 1, // ExternalReferenceDesignator String\r
266 PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
267 PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
268};\r
269CHAR8 *gSmbiosType8Strings7[] = {\r
270 "USB3",\r
271 NULL\r
272};\r
273\r
274SMBIOS_TABLE_TYPE8 gSmbiosType8Template8 = {\r
275 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
276 0, // InternalReferenceDesignator String\r
277 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
278 1, // ExternalReferenceDesignator String\r
279 PortConnectorTypeHeadPhoneMiniJack, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
280 PortTypeAudioPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
281};\r
282CHAR8 *gSmbiosType8Strings8[] = {\r
283 "Audio Line In",\r
284 NULL\r
285};\r
286\r
287SMBIOS_TABLE_TYPE8 gSmbiosType8Template9 = {\r
288 { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r
289 0, // InternalReferenceDesignator String\r
290 PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
291 1, // ExternalReferenceDesignator String\r
292 PortConnectorTypeHeadPhoneMiniJack, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r
293 PortTypeAudioPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r
294};\r
295CHAR8 *gSmbiosType8Strings9[] = {\r
296 "Audio Line Out",\r
297 NULL\r
298};\r
299\r
300SMBIOS_TABLE_TYPE9 gSmbiosType9Template = {\r
301 { EFI_SMBIOS_TYPE_SYSTEM_SLOTS, sizeof (SMBIOS_TABLE_TYPE9), 0 },\r
302 1, // SlotDesignation String\r
303 SlotTypeOther, // SlotType; ///< The enumeration value from MISC_SLOT_TYPE.\r
304 SlotDataBusWidthOther, // SlotDataBusWidth; ///< The enumeration value from MISC_SLOT_DATA_BUS_WIDTH.\r
305 SlotUsageAvailable, // CurrentUsage; ///< The enumeration value from MISC_SLOT_USAGE.\r
306 SlotLengthOther, // SlotLength; ///< The enumeration value from MISC_SLOT_LENGTH.\r
307 0, // SlotID;\r
308 { // SlotCharacteristics1;\r
309 1, // CharacteristicsUnknown :1;\r
310 0, // Provides50Volts :1;\r
311 0, // Provides33Volts :1;\r
312 0, // SharedSlot :1;\r
313 0, // PcCard16Supported :1;\r
314 0, // CardBusSupported :1;\r
315 0, // ZoomVideoSupported :1;\r
316 0, // ModemRingResumeSupported:1;\r
317 },\r
318 { // SlotCharacteristics2;\r
319 0, // PmeSignalSupported :1;\r
320 0, // HotPlugDevicesSupported :1;\r
321 0, // SmbusSignalSupported :1;\r
322 0, // Reserved :5; ///< Set to 0.\r
323 },\r
324 0, // SegmentGroupNum;\r
325 0, // BusNum;\r
326 0, // DevFuncNum;\r
327};\r
328CHAR8 *gSmbiosType9Strings[] = {\r
329 "SD Card",\r
330 NULL\r
331};\r
332\r
333SMBIOS_TABLE_TYPE11 gSmbiosType11Template = {\r
334 { EFI_SMBIOS_TYPE_OEM_STRINGS, sizeof (SMBIOS_TABLE_TYPE11), 0 },\r
335 1 // StringCount\r
336};\r
337CHAR8 *gSmbiosType11Strings[] = {\r
dff5a05b 338 "https://svn.code.sf.net/p/edk2/code/trunk/edk2/EmulatorPkg/",\r
f58ba9ed
JJ
339 NULL\r
340};\r
341\r
342\r
343SMBIOS_TABLE_TYPE12 gSmbiosType12Template = {\r
344 { EFI_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS, sizeof (SMBIOS_TABLE_TYPE12), 0 },\r
345 1 // StringCount\r
346};\r
347CHAR8 *gSmbiosType12Strings[] = {\r
dff5a05b 348 "https://svn.code.sf.net/p/edk2/code/trunk/edk2/EmulatorPkg/EmulatorPkg.dsc",\r
f58ba9ed
JJ
349 NULL\r
350};\r
351\r
352SMBIOS_TABLE_TYPE16 gSmbiosType16Template = {\r
353 { EFI_SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY, sizeof (SMBIOS_TABLE_TYPE16), 0 },\r
354 MemoryArrayLocationSystemBoard, // Location; ///< The enumeration value from MEMORY_ARRAY_LOCATION.\r
355 MemoryArrayUseSystemMemory, // Use; ///< The enumeration value from MEMORY_ARRAY_USE.\r
356 MemoryErrorCorrectionUnknown, // MemoryErrorCorrection; ///< The enumeration value from MEMORY_ERROR_CORRECTION.\r
357 0x80000000, // MaximumCapacity;\r
358 0xFFFE, // MemoryErrorInformationHandle;\r
359 1, // NumberOfMemoryDevices;\r
360 0x3fffffffffffffffULL, // ExtendedMaximumCapacity;\r
361};\r
362\r
363SMBIOS_TABLE_TYPE17 gSmbiosType17Template = {\r
364 { EFI_SMBIOS_TYPE_MEMORY_DEVICE, sizeof (SMBIOS_TABLE_TYPE17), 0 },\r
365 0, // MemoryArrayHandle;\r
366 0xFFFE, // MemoryErrorInformationHandle;\r
367 0xFFFF, // TotalWidth;\r
368 0xFFFF, // DataWidth;\r
369 0xFFFF, // Size;\r
370 MemoryFormFactorUnknown, // FormFactor; ///< The enumeration value from MEMORY_FORM_FACTOR.\r
371 0xff, // DeviceSet;\r
372 1, // DeviceLocator String\r
373 2, // BankLocator String\r
374 MemoryTypeDram, // MemoryType; ///< The enumeration value from MEMORY_DEVICE_TYPE.\r
375 { // TypeDetail;\r
376 0, // Reserved :1;\r
377 0, // Other :1;\r
378 1, // Unknown :1;\r
379 0, // FastPaged :1;\r
380 0, // StaticColumn :1;\r
381 0, // PseudoStatic :1;\r
382 0, // Rambus :1;\r
383 0, // Synchronous :1;\r
384 0, // Cmos :1;\r
385 0, // Edo :1;\r
386 0, // WindowDram :1;\r
387 0, // CacheDram :1;\r
388 0, // Nonvolatile :1;\r
389 0, // Registered :1;\r
390 0, // Unbuffered :1;\r
391 0, // Reserved1 :1;\r
392 },\r
393 0, // Speed;\r
394 3, // Manufacturer String\r
395 0, // SerialNumber String\r
396 0, // AssetTag String\r
397 0, // PartNumber String\r
398 0, // Attributes;\r
399 0, // ExtendedSize;\r
400 0, // ConfiguredMemoryClockSpeed;\r
401};\r
402CHAR8 *gSmbiosType17Strings[] = {\r
403 "OS Virtual Memory",\r
404 "malloc",\r
405 "OSV",\r
406 NULL\r
407};\r
408\r
409SMBIOS_TABLE_TYPE23 gSmbiosType23Template = {\r
410 { EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION, sizeof (SMBIOS_TABLE_TYPE23), 0 },\r
411 0, // Capabilities;\r
412 0, // ResetCount;\r
413 0, // ResetLimit;\r
414 0, // TimerInterval;\r
415 0 // Timeout;\r
416};\r
417\r
418SMBIOS_TABLE_TYPE32 gSmbiosType32Template = {\r
419 { EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION, sizeof (SMBIOS_TABLE_TYPE32), 0 },\r
420 { 0, 0, 0, 0, 0, 0 }, // Reserved[6];\r
421 BootInformationStatusNoError // BootStatus\r
422};\r
423\r
424\r
425\r
426SMBIOS_TEMPLATE_ENTRY gSmbiosTemplate[] = {\r
427 { (SMBIOS_STRUCTURE *)&gSmbiosType0Template, gSmbiosType0Strings },\r
428 { (SMBIOS_STRUCTURE *)&gSmbiosType1Template, gSmbiosType1Strings },\r
429 { (SMBIOS_STRUCTURE *)&gSmbiosType2Template, gSmbiosType2Strings },\r
430 { (SMBIOS_STRUCTURE *)&gSmbiosType3Template, gSmbiosType3Strings },\r
431 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template1, gSmbiosType8Strings1 },\r
432 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template2, gSmbiosType8Strings2 },\r
433 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template3, gSmbiosType8Strings3 },\r
434 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template4, gSmbiosType8Strings4 },\r
435 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template5, gSmbiosType8Strings5 },\r
436 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template6, gSmbiosType8Strings6 },\r
437 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template7, gSmbiosType8Strings7 },\r
438 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template8, gSmbiosType8Strings8 },\r
439 { (SMBIOS_STRUCTURE *)&gSmbiosType8Template9, gSmbiosType8Strings9 },\r
440 { (SMBIOS_STRUCTURE *)&gSmbiosType9Template, gSmbiosType9Strings },\r
441 { (SMBIOS_STRUCTURE *)&gSmbiosType11Template, gSmbiosType11Strings },\r
442 { (SMBIOS_STRUCTURE *)&gSmbiosType12Template, gSmbiosType12Strings },\r
443 { (SMBIOS_STRUCTURE *)&gSmbiosType16Template, NULL },\r
444 { (SMBIOS_STRUCTURE *)&gSmbiosType17Template, gSmbiosType17Strings },\r
445 { (SMBIOS_STRUCTURE *)&gSmbiosType23Template, NULL },\r
446 { (SMBIOS_STRUCTURE *)&gSmbiosType32Template, NULL },\r
447 { NULL, NULL }\r
448};\r