]>
Commit | Line | Data |
---|---|---|
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 | |
a550d468 | 26 | SMBIOS_TABLE_TYPE0 gSmbiosType0Template = {\r |
f58ba9ed JJ |
27 | { EFI_SMBIOS_TYPE_BIOS_INFORMATION, sizeof (SMBIOS_TABLE_TYPE0), 0 },\r |
28 | 1, // Vendor String\r | |
29 | 2, // BiosVersion String\r | |
30 | 0xE000, // BiosSegment\r | |
31 | 3, // BiosReleaseDate String\r | |
32 | 0x7F, // BiosSize\r | |
a550d468 | 33 | { // BiosCharacteristics\r |
f58ba9ed JJ |
34 | 0, // Reserved :2; ///< Bits 0-1.\r |
35 | 0, // Unknown :1;\r | |
36 | 0, // BiosCharacteristicsNotSupported :1;\r | |
37 | 0, // IsaIsSupported :1;\r | |
38 | 0, // McaIsSupported :1;\r | |
39 | 0, // EisaIsSupported :1;\r | |
40 | 1, // PciIsSupported :1;\r | |
41 | 0, // PcmciaIsSupported :1;\r | |
42 | 0, // PlugAndPlayIsSupported :1;\r | |
43 | 0, // ApmIsSupported :1;\r | |
44 | 1, // BiosIsUpgradable :1;\r | |
45 | 1, // BiosShadowingAllowed :1;\r | |
46 | 0, // VlVesaIsSupported :1;\r | |
47 | 0, // EscdSupportIsAvailable :1;\r | |
48 | 0, // BootFromCdIsSupported :1;\r | |
49 | 1, // SelectableBootIsSupported :1;\r | |
50 | 0, // RomBiosIsSocketed :1;\r | |
51 | 0, // BootFromPcmciaIsSupported :1;\r | |
52 | 0, // EDDSpecificationIsSupported :1;\r | |
53 | 0, // JapaneseNecFloppyIsSupported :1;\r | |
54 | 0, // JapaneseToshibaFloppyIsSupported :1;\r | |
55 | 0, // Floppy525_360IsSupported :1;\r | |
56 | 0, // Floppy525_12IsSupported :1;\r | |
57 | 0, // Floppy35_720IsSupported :1;\r | |
58 | 0, // Floppy35_288IsSupported :1;\r | |
59 | 0, // PrintScreenIsSupported :1;\r | |
60 | 0, // Keyboard8042IsSupported :1;\r | |
61 | 0, // SerialIsSupported :1;\r | |
62 | 0, // PrinterIsSupported :1;\r | |
63 | 0, // CgaMonoIsSupported :1;\r | |
64 | 0, // NecPc98 :1;\r | |
79e4f2a5 | 65 | 0 // ReservedForVendor :32; ///< Bits 32-63. Bits 32-47 reserved for BIOS vendor\r |
a550d468 | 66 | ///< and bits 48-63 reserved for System Vendor.\r |
79e4f2a5 | 67 | },\r |
f58ba9ed JJ |
68 | { // BIOSCharacteristicsExtensionBytes[]\r |
69 | 0x81, // AcpiIsSupported :1;\r | |
70 | // UsbLegacyIsSupported :1;\r | |
71 | // AgpIsSupported :1;\r | |
72 | // I2OBootIsSupported :1;\r | |
73 | // Ls120BootIsSupported :1;\r | |
74 | // AtapiZipDriveBootIsSupported :1;\r | |
75 | // Boot1394IsSupported :1;\r | |
76 | // SmartBatteryIsSupported :1;\r | |
a550d468 | 77 | // BIOSCharacteristicsExtensionBytes[1]\r |
f58ba9ed JJ |
78 | 0x0a, // BiosBootSpecIsSupported :1;\r |
79 | // FunctionKeyNetworkBootIsSupported :1;\r | |
80 | // TargetContentDistributionEnabled :1;\r | |
81 | // UefiSpecificationSupported :1;\r | |
82 | // VirtualMachineSupported :1;\r | |
83 | // ExtensionByte2Reserved :3;\r | |
84 | },\r | |
85 | 0x00, // SystemBiosMajorRelease\r | |
86 | 0x01, // SystemBiosMinorRelease\r | |
87 | 0xFF, // EmbeddedControllerFirmwareMajorRelease\r | |
88 | 0xFF, // EmbeddedControllerFirmwareMinorRelease\r | |
89 | };\r | |
a550d468 MK |
90 | CHAR8 *gSmbiosType0Strings[] = {\r |
91 | "http://www.tianocore.org/edk2/", // Vendor String\r | |
92 | __TIME__, // BiosVersion String\r | |
93 | __DATE__, // BiosReleaseDate String\r | |
f58ba9ed JJ |
94 | NULL\r |
95 | };\r | |
96 | \r | |
a550d468 MK |
97 | SMBIOS_TABLE_TYPE1 gSmbiosType1Template = {\r |
98 | { EFI_SMBIOS_TYPE_SYSTEM_INFORMATION, sizeof (SMBIOS_TABLE_TYPE1), 0 },\r | |
f58ba9ed JJ |
99 | 1, // Manufacturer String\r |
100 | 2, // ProductName String\r | |
101 | 3, // Version String\r | |
102 | 4, // SerialNumber String\r | |
a550d468 MK |
103 | { 0x25EF0280, 0xEC82, 0x42B0, { 0x8F, 0xB6, 0x10, 0xAD, 0xCC, 0xC6, 0x7C, 0x02}\r |
104 | },\r | |
79e4f2a5 | 105 | SystemWakeupTypePowerSwitch,\r |
f58ba9ed JJ |
106 | 5, // SKUNumber String\r |
107 | 6, // Family String\r | |
108 | };\r | |
a550d468 | 109 | CHAR8 *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 | |
119 | SMBIOS_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 | |
a550d468 MK |
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 | |
f58ba9ed | 133 | },\r |
a550d468 | 134 | 6, // LocationInChassis String\r |
f58ba9ed | 135 | 0, // ChassisHandle;\r |
79e4f2a5 | 136 | BaseBoardTypeMotherBoard, // BoardType;\r |
f58ba9ed JJ |
137 | 0, // NumberOfContainedObjectHandles;\r |
138 | { 0 } // ContainedObjectHandles[1];\r | |
139 | };\r | |
a550d468 | 140 | CHAR8 *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 | |
150 | SMBIOS_TABLE_TYPE3 gSmbiosType3Template = {\r | |
151 | { EFI_SMBIOS_TYPE_SYSTEM_ENCLOSURE, sizeof (SMBIOS_TABLE_TYPE3), 0 },\r | |
a550d468 MK |
152 | 1, // Manufacturer String\r |
153 | MiscChassisTypeLapTop, // Type;\r | |
154 | 2, // Version String\r | |
155 | 3, // SerialNumber String\r | |
156 | 4, // AssetTag String\r | |
157 | ChassisStateSafe, // BootupState;\r | |
158 | ChassisStateSafe, // PowerSupplyState;\r | |
159 | ChassisStateSafe, // ThermalState;\r | |
160 | ChassisSecurityStatusNone, // SecurityStatus;\r | |
161 | { 0, 0, 0, 0}, // OemDefined[4];\r | |
162 | 0, // Height;\r | |
163 | 0, // NumberofPowerCords;\r | |
164 | 0, // ContainedElementCount;\r | |
165 | 0, // ContainedElementRecordLength;\r | |
166 | {\r | |
167 | { 0 }\r | |
168 | }, // ContainedElements[1];\r | |
169 | };\r | |
170 | CHAR8 *gSmbiosType3Strings[] = {\r | |
dff5a05b | 171 | "http://www.tianocore.org/edk2/",\r |
f58ba9ed JJ |
172 | "EmulatorPkg",\r |
173 | "Chassis Board Serial#",\r | |
174 | "Chassis Board Asset Tag#",\r | |
79e4f2a5 | 175 | NULL\r |
f58ba9ed JJ |
176 | };\r |
177 | \r | |
178 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template1 = {\r | |
179 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
180 | 0, // InternalReferenceDesignator String\r | |
181 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
182 | 1, // ExternalReferenceDesignator String\r | |
183 | PortConnectorTypeNone, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
184 | PortTypeOther, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
185 | };\r | |
a550d468 | 186 | CHAR8 *gSmbiosType8Strings1[] = {\r |
f58ba9ed JJ |
187 | "Mini DisplayPort",\r |
188 | NULL\r | |
189 | };\r | |
190 | \r | |
191 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template2 = {\r | |
192 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
193 | 0, // InternalReferenceDesignator String\r | |
194 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
195 | 1, // ExternalReferenceDesignator String\r | |
196 | PortConnectorTypeNone, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
197 | PortTypeFireWire, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
198 | };\r | |
a550d468 | 199 | CHAR8 *gSmbiosType8Strings2[] = {\r |
f58ba9ed JJ |
200 | "FireWire 800",\r |
201 | NULL\r | |
202 | };\r | |
203 | \r | |
f58ba9ed JJ |
204 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template3 = {\r |
205 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
206 | 0, // InternalReferenceDesignator String\r | |
207 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
208 | 1, // ExternalReferenceDesignator String\r | |
209 | PortConnectorTypeRJ45, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
210 | PortTypeNetworkPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
211 | };\r | |
a550d468 | 212 | CHAR8 *gSmbiosType8Strings3[] = {\r |
f58ba9ed JJ |
213 | "Ethernet",\r |
214 | NULL\r | |
215 | };\r | |
216 | \r | |
217 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template4 = {\r | |
218 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
219 | 0, // InternalReferenceDesignator String\r | |
220 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
221 | 1, // ExternalReferenceDesignator String\r | |
222 | PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
223 | PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
224 | };\r | |
a550d468 | 225 | CHAR8 *gSmbiosType8Strings4[] = {\r |
f58ba9ed JJ |
226 | "USB0",\r |
227 | NULL\r | |
228 | };\r | |
229 | \r | |
230 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template5 = {\r | |
231 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
232 | 0, // InternalReferenceDesignator String\r | |
233 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
234 | 1, // ExternalReferenceDesignator String\r | |
235 | PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
236 | PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
237 | };\r | |
a550d468 | 238 | CHAR8 *gSmbiosType8Strings5[] = {\r |
f58ba9ed JJ |
239 | "USB1",\r |
240 | NULL\r | |
241 | };\r | |
242 | \r | |
243 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template6 = {\r | |
244 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
245 | 0, // InternalReferenceDesignator String\r | |
246 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
247 | 1, // ExternalReferenceDesignator String\r | |
248 | PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
249 | PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
250 | };\r | |
a550d468 | 251 | CHAR8 *gSmbiosType8Strings6[] = {\r |
f58ba9ed JJ |
252 | "USB2",\r |
253 | NULL\r | |
254 | };\r | |
255 | \r | |
256 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template7 = {\r | |
257 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
258 | 0, // InternalReferenceDesignator String\r | |
259 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
260 | 1, // ExternalReferenceDesignator String\r | |
261 | PortConnectorTypeUsb, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
262 | PortTypeUsb, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
263 | };\r | |
a550d468 | 264 | CHAR8 *gSmbiosType8Strings7[] = {\r |
f58ba9ed JJ |
265 | "USB3",\r |
266 | NULL\r | |
267 | };\r | |
268 | \r | |
269 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template8 = {\r | |
270 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
a550d468 MK |
271 | 0, // InternalReferenceDesignator String\r |
272 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
273 | 1, // ExternalReferenceDesignator String\r | |
f58ba9ed JJ |
274 | PortConnectorTypeHeadPhoneMiniJack, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r |
275 | PortTypeAudioPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
276 | };\r | |
a550d468 | 277 | CHAR8 *gSmbiosType8Strings8[] = {\r |
f58ba9ed JJ |
278 | "Audio Line In",\r |
279 | NULL\r | |
280 | };\r | |
281 | \r | |
282 | SMBIOS_TABLE_TYPE8 gSmbiosType8Template9 = {\r | |
283 | { EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION, sizeof (SMBIOS_TABLE_TYPE8), 0 },\r | |
a550d468 MK |
284 | 0, // InternalReferenceDesignator String\r |
285 | PortConnectorTypeNone, // InternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r | |
286 | 1, // ExternalReferenceDesignator String\r | |
f58ba9ed JJ |
287 | PortConnectorTypeHeadPhoneMiniJack, // ExternalConnectorType; ///< The enumeration value from MISC_PORT_CONNECTOR_TYPE.\r |
288 | PortTypeAudioPort, // PortType; ///< The enumeration value from MISC_PORT_TYPE.\r | |
289 | };\r | |
a550d468 | 290 | CHAR8 *gSmbiosType8Strings9[] = {\r |
f58ba9ed JJ |
291 | "Audio Line Out",\r |
292 | NULL\r | |
293 | };\r | |
294 | \r | |
295 | SMBIOS_TABLE_TYPE9 gSmbiosType9Template = {\r | |
296 | { EFI_SMBIOS_TYPE_SYSTEM_SLOTS, sizeof (SMBIOS_TABLE_TYPE9), 0 },\r | |
a550d468 MK |
297 | 1, // SlotDesignation String\r |
298 | SlotTypeOther, // SlotType; ///< The enumeration value from MISC_SLOT_TYPE.\r | |
299 | SlotDataBusWidthOther, // SlotDataBusWidth; ///< The enumeration value from MISC_SLOT_DATA_BUS_WIDTH.\r | |
f58ba9ed | 300 | SlotUsageAvailable, // CurrentUsage; ///< The enumeration value from MISC_SLOT_USAGE.\r |
a550d468 MK |
301 | SlotLengthOther, // SlotLength; ///< The enumeration value from MISC_SLOT_LENGTH.\r |
302 | 0, // SlotID;\r | |
f58ba9ed | 303 | { // SlotCharacteristics1;\r |
a550d468 MK |
304 | 1, // CharacteristicsUnknown :1;\r |
305 | 0, // Provides50Volts :1;\r | |
306 | 0, // Provides33Volts :1;\r | |
307 | 0, // SharedSlot :1;\r | |
308 | 0, // PcCard16Supported :1;\r | |
309 | 0, // CardBusSupported :1;\r | |
310 | 0, // ZoomVideoSupported :1;\r | |
311 | 0, // ModemRingResumeSupported:1;\r | |
f58ba9ed JJ |
312 | },\r |
313 | { // SlotCharacteristics2;\r | |
314 | 0, // PmeSignalSupported :1;\r | |
315 | 0, // HotPlugDevicesSupported :1;\r | |
316 | 0, // SmbusSignalSupported :1;\r | |
317 | 0, // Reserved :5; ///< Set to 0.\r | |
318 | },\r | |
319 | 0, // SegmentGroupNum;\r | |
320 | 0, // BusNum;\r | |
321 | 0, // DevFuncNum;\r | |
322 | };\r | |
a550d468 | 323 | CHAR8 *gSmbiosType9Strings[] = {\r |
f58ba9ed JJ |
324 | "SD Card",\r |
325 | NULL\r | |
326 | };\r | |
327 | \r | |
a550d468 | 328 | SMBIOS_TABLE_TYPE11 gSmbiosType11Template = {\r |
f58ba9ed JJ |
329 | { EFI_SMBIOS_TYPE_OEM_STRINGS, sizeof (SMBIOS_TABLE_TYPE11), 0 },\r |
330 | 1 // StringCount\r | |
331 | };\r | |
a550d468 | 332 | CHAR8 *gSmbiosType11Strings[] = {\r |
dff5a05b | 333 | "https://svn.code.sf.net/p/edk2/code/trunk/edk2/EmulatorPkg/",\r |
f58ba9ed JJ |
334 | NULL\r |
335 | };\r | |
336 | \r | |
a550d468 | 337 | SMBIOS_TABLE_TYPE12 gSmbiosType12Template = {\r |
f58ba9ed JJ |
338 | { EFI_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS, sizeof (SMBIOS_TABLE_TYPE12), 0 },\r |
339 | 1 // StringCount\r | |
340 | };\r | |
a550d468 | 341 | CHAR8 *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 | |
a550d468 | 346 | SMBIOS_TABLE_TYPE16 gSmbiosType16Template = {\r |
f58ba9ed JJ |
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 | |
a550d468 | 357 | SMBIOS_TABLE_TYPE17 gSmbiosType17Template = {\r |
f58ba9ed | 358 | { EFI_SMBIOS_TYPE_MEMORY_DEVICE, sizeof (SMBIOS_TABLE_TYPE17), 0 },\r |
a550d468 MK |
359 | 0, // MemoryArrayHandle;\r |
360 | 0xFFFE, // MemoryErrorInformationHandle;\r | |
361 | 0xFFFF, // TotalWidth;\r | |
362 | 0xFFFF, // DataWidth;\r | |
363 | 0xFFFF, // Size;\r | |
f58ba9ed | 364 | MemoryFormFactorUnknown, // FormFactor; ///< The enumeration value from MEMORY_FORM_FACTOR.\r |
a550d468 MK |
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 | |
f58ba9ed JJ |
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 | |
a550d468 | 396 | CHAR8 *gSmbiosType17Strings[] = {\r |
f58ba9ed JJ |
397 | "OS Virtual Memory",\r |
398 | "malloc",\r | |
399 | "OSV",\r | |
400 | NULL\r | |
401 | };\r | |
402 | \r | |
a550d468 | 403 | SMBIOS_TABLE_TYPE23 gSmbiosType23Template = {\r |
f58ba9ed JJ |
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 | |
a550d468 | 412 | SMBIOS_TABLE_TYPE32 gSmbiosType32Template = {\r |
f58ba9ed | 413 | { EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION, sizeof (SMBIOS_TABLE_TYPE32), 0 },\r |
a550d468 MK |
414 | { 0, 0, 0, 0, 0, 0}, // Reserved[6];\r |
415 | BootInformationStatusNoError // BootStatus\r | |
f58ba9ed JJ |
416 | };\r |
417 | \r | |
a550d468 MK |
418 | SMBIOS_TEMPLATE_ENTRY gSmbiosTemplate[] = {\r |
419 | { (SMBIOS_STRUCTURE *)&gSmbiosType0Template, gSmbiosType0Strings },\r | |
420 | { (SMBIOS_STRUCTURE *)&gSmbiosType1Template, gSmbiosType1Strings },\r | |
421 | { (SMBIOS_STRUCTURE *)&gSmbiosType2Template, gSmbiosType2Strings },\r | |
422 | { (SMBIOS_STRUCTURE *)&gSmbiosType3Template, gSmbiosType3Strings },\r | |
423 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template1, gSmbiosType8Strings1 },\r | |
424 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template2, gSmbiosType8Strings2 },\r | |
425 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template3, gSmbiosType8Strings3 },\r | |
426 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template4, gSmbiosType8Strings4 },\r | |
427 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template5, gSmbiosType8Strings5 },\r | |
428 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template6, gSmbiosType8Strings6 },\r | |
429 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template7, gSmbiosType8Strings7 },\r | |
430 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template8, gSmbiosType8Strings8 },\r | |
431 | { (SMBIOS_STRUCTURE *)&gSmbiosType8Template9, gSmbiosType8Strings9 },\r | |
432 | { (SMBIOS_STRUCTURE *)&gSmbiosType9Template, gSmbiosType9Strings },\r | |
433 | { (SMBIOS_STRUCTURE *)&gSmbiosType11Template, gSmbiosType11Strings },\r | |
434 | { (SMBIOS_STRUCTURE *)&gSmbiosType12Template, gSmbiosType12Strings },\r | |
435 | { (SMBIOS_STRUCTURE *)&gSmbiosType16Template, NULL },\r | |
436 | { (SMBIOS_STRUCTURE *)&gSmbiosType17Template, gSmbiosType17Strings },\r | |
437 | { (SMBIOS_STRUCTURE *)&gSmbiosType23Template, NULL },\r | |
438 | { (SMBIOS_STRUCTURE *)&gSmbiosType32Template, NULL },\r | |
439 | { NULL, NULL }\r | |
f58ba9ed | 440 | };\r |