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