]>
Commit | Line | Data |
---|---|---|
5d73d92f | 1 | /** @file\r |
2 | Module to clarify the element info of the smbios structure.\r | |
3 | \r | |
ec8a502e | 4 | Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>\r |
5d73d92f | 5 | This program and the accompanying materials\r |
6 | are licensed and made available under the terms and conditions of the BSD License\r | |
7 | which accompanies this distribution. The full text of the license may be found at\r | |
8 | http://opensource.org/licenses/bsd-license.php\r | |
9 | \r | |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
12 | \r | |
13 | **/\r | |
14 | \r | |
a1d4bfcc | 15 | #ifndef _SMBIOS_PRINT_INFO_H_\r |
16 | #define _SMBIOS_PRINT_INFO_H_\r | |
5d73d92f | 17 | \r |
187cb3dd | 18 | #include <IndustryStandard/SmBios.h>\r |
5d73d92f | 19 | \r |
20 | extern UINT8 SmbiosMajorVersion;\r | |
21 | extern UINT8 SmbiosMinorVersion;\r | |
22 | \r | |
23 | #define SHOW_NONE 0x00\r | |
24 | #define SHOW_OUTLINE 0x01\r | |
25 | #define SHOW_NORMAL 0x02\r | |
26 | #define SHOW_DETAIL 0x03\r | |
27 | //\r | |
28 | // SHOW_ALL: WaitEnter() not wait input.\r | |
29 | //\r | |
30 | #define SHOW_ALL 0x04\r | |
31 | #define SHOW_STATISTICS 0x05\r | |
32 | \r | |
33 | #define AS_UINT16(pData) (*((UINT16 *) pData))\r | |
34 | #define AS_UINT32(pData) (*((UINT32 *) pData))\r | |
35 | #define AS_UINT64(pData) (*((UINT64 *) pData))\r | |
36 | \r | |
a1d4bfcc | 37 | /**\r |
38 | Print the info of EPS(Entry Point Structure).\r | |
39 | \r | |
40 | @param[in] SmbiosTable Pointer to the SMBIOS table entry point.\r | |
41 | @param[in] Option Display option.\r | |
42 | **/\r | |
5d73d92f | 43 | VOID\r |
44 | SmbiosPrintEPSInfo (\r | |
187cb3dd SZ |
45 | IN SMBIOS_TABLE_ENTRY_POINT *SmbiosTable,\r |
46 | IN UINT8 Option\r | |
ec8a502e EL |
47 | );\r |
48 | \r | |
49 | /**\r | |
50 | Print the info of 64-bit EPS(Entry Point Structure).\r | |
51 | \r | |
52 | @param[in] SmbiosTable Pointer to the SMBIOS table entry point.\r | |
53 | @param[in] Option Display option.\r | |
54 | **/\r | |
55 | VOID\r | |
56 | Smbios64BitPrintEPSInfo (\r | |
57 | IN SMBIOS_TABLE_3_0_ENTRY_POINT *SmbiosTable,\r | |
58 | IN UINT8 Option\r | |
5d73d92f | 59 | );\r |
60 | \r | |
a1d4bfcc | 61 | /**\r |
62 | This function print the content of the structure pointed by Struct.\r | |
63 | \r | |
64 | @param[in] Struct Point to the structure to be printed.\r | |
65 | @param[in] Option Print option of information detail.\r | |
66 | \r | |
67 | @retval EFI_SUCCESS Successfully Printing this function.\r | |
68 | @retval EFI_INVALID_PARAMETER Invalid Structure.\r | |
69 | @retval EFI_UNSUPPORTED Unsupported.\r | |
70 | **/\r | |
5d73d92f | 71 | EFI_STATUS\r |
72 | SmbiosPrintStructure (\r | |
a1d4bfcc | 73 | IN SMBIOS_STRUCTURE_POINTER *Struct,\r |
5d73d92f | 74 | IN UINT8 Option\r |
75 | );\r | |
76 | \r | |
a1d4bfcc | 77 | /**\r |
78 | Display BIOS Information (Type 0) information.\r | |
79 | \r | |
80 | @param[in] Chara The information bits.\r | |
81 | @param[in] Option The optional information.\r | |
82 | **/\r | |
5d73d92f | 83 | VOID\r |
84 | DisplayBiosCharacteristics (\r | |
a1d4bfcc | 85 | IN UINT64 Chara,\r |
86 | IN UINT8 Option\r | |
5d73d92f | 87 | );\r |
a1d4bfcc | 88 | \r |
89 | /**\r | |
90 | Display Bios Characteristice extensions1 information.\r | |
91 | \r | |
92 | @param[in] Byte1 The information.\r | |
93 | @param[in] Option The optional information.\r | |
94 | **/\r | |
5d73d92f | 95 | VOID\r |
96 | DisplayBiosCharacteristicsExt1 (\r | |
a1d4bfcc | 97 | IN UINT8 Byte1,\r |
98 | IN UINT8 Option\r | |
5d73d92f | 99 | );\r |
a1d4bfcc | 100 | \r |
101 | /**\r | |
102 | Display Bios Characteristice extensions2 information.\r | |
103 | \r | |
104 | @param[in] Byte2 The information.\r | |
105 | @param[in] Option The optional information.\r | |
106 | **/\r | |
5d73d92f | 107 | VOID\r |
108 | DisplayBiosCharacteristicsExt2 (\r | |
a1d4bfcc | 109 | IN UINT8 Byte2,\r |
110 | IN UINT8 Option\r | |
5d73d92f | 111 | );\r |
112 | \r | |
a1d4bfcc | 113 | /**\r |
114 | Display Processor Information (Type 4) information.\r | |
115 | \r | |
116 | @param[in] Family The family value.\r | |
117 | @param[in] Option The option value.\r | |
118 | **/\r | |
5d73d92f | 119 | VOID\r |
120 | DisplayProcessorFamily (\r | |
121 | UINT8 Family,\r | |
122 | UINT8 Option\r | |
123 | );\r | |
124 | \r | |
a1d4bfcc | 125 | /**\r |
126 | Display processor family information.\r | |
127 | \r | |
128 | @param[in] Family2 The family value.\r | |
129 | @param[in] Option The option value.\r | |
130 | **/\r | |
5d73d92f | 131 | VOID\r |
132 | DisplayProcessorFamily2 (\r | |
a1d4bfcc | 133 | IN UINT16 Family2,\r |
134 | IN UINT8 Option\r | |
5d73d92f | 135 | );\r |
136 | \r | |
a1d4bfcc | 137 | /**\r |
138 | Display processor voltage information.\r | |
139 | \r | |
140 | @param[in] Voltage The Voltage.\r | |
141 | Bit 7 Set to 0, indicating 'legacy' mode for processor voltage\r | |
142 | Bits 6:4 Reserved, must be zero\r | |
143 | Bits 3:0 Voltage Capability.\r | |
144 | A Set bit indicates that the voltage is supported.\r | |
145 | Bit 0 - 5V\r | |
146 | Bit 1 - 3.3V\r | |
147 | Bit 2 - 2.9V\r | |
148 | Bit 3 - Reserved, must be zero.\r | |
149 | \r | |
150 | Note:\r | |
151 | Setting of multiple bits indicates the socket is configurable\r | |
152 | If bit 7 is set to 1, the remaining seven bits of the field are set to\r | |
153 | contain the processor's current voltage times 10.\r | |
154 | For example, the field value for a processor voltage of 1.8 volts would be\r | |
155 | 92h = 80h + (1.8 * 10) = 80h + 18 = 80h +12h.\r | |
156 | \r | |
157 | @param[in] Option The option.\r | |
158 | **/\r | |
5d73d92f | 159 | VOID\r |
160 | DisplayProcessorVoltage (\r | |
a1d4bfcc | 161 | IN UINT8 Voltage,\r |
162 | IN UINT8 Option\r | |
5d73d92f | 163 | );\r |
a1d4bfcc | 164 | \r |
165 | /**\r | |
166 | Display processor information.\r | |
167 | \r | |
168 | @param[in] Status The status.\r | |
187cb3dd SZ |
169 | Bit 7 Reserved, must be 0\r |
170 | Bit 6 CPU Socket Populated\r | |
171 | 1 - CPU Socket Populated\r | |
172 | 0 - CPU Socket Unpopulated\r | |
173 | Bits 5:3 Reserved, must be zero\r | |
174 | Bits 2:0 CPU Status\r | |
175 | 0h - Unknown\r | |
176 | 1h - CPU Enabled\r | |
177 | 2h - CPU Disabled by User via BIOS Setup\r | |
178 | 3h - CPU Disabled By BIOS (POST Error)\r | |
179 | 4h - CPU is Idle, waiting to be enabled.\r | |
180 | 5-6h - Reserved\r | |
181 | 7h - Other\r | |
a1d4bfcc | 182 | \r |
183 | @param[in] Option The option\r | |
184 | **/\r | |
5d73d92f | 185 | VOID\r |
186 | DisplayProcessorStatus (\r | |
a1d4bfcc | 187 | IN UINT8 Status,\r |
188 | IN UINT8 Option\r | |
5d73d92f | 189 | );\r |
190 | \r | |
a1d4bfcc | 191 | /**\r |
192 | Display information about Memory Controller Information (Type 5).\r | |
193 | \r | |
194 | @param[in] Size Memory size.\r | |
195 | @param[in] SlotNum Which slot is this about.\r | |
196 | @param[in] Option Option for the level of detail output required.\r | |
197 | **/\r | |
5d73d92f | 198 | VOID\r |
199 | DisplayMaxMemoryModuleSize (\r | |
a1d4bfcc | 200 | IN UINT8 Size,\r |
201 | IN UINT8 SlotNum,\r | |
202 | IN UINT8 Option\r | |
5d73d92f | 203 | );\r |
a1d4bfcc | 204 | \r |
205 | /**\r | |
206 | Display information about memory configuration handles.\r | |
207 | \r | |
208 | @param[in] Handles The buffer of handles to output info on.\r | |
209 | @param[in] SlotNum The number of handles in the above buffer.\r | |
210 | @param[in] Option Option for the level of detail output required.\r | |
211 | **/\r | |
5d73d92f | 212 | VOID\r |
213 | DisplayMemoryModuleConfigHandles (\r | |
a1d4bfcc | 214 | IN UINT16 *Handles,\r |
215 | IN UINT8 SlotNum,\r | |
216 | IN UINT8 Option\r | |
5d73d92f | 217 | );\r |
218 | \r | |
a1d4bfcc | 219 | /**\r |
220 | Display Memory Module Information (Type 6).\r | |
221 | \r | |
222 | @param[in] BankConnections\r | |
223 | @param[in] Option\r | |
224 | **/\r | |
5d73d92f | 225 | VOID\r |
226 | DisplayMmBankConnections (\r | |
a1d4bfcc | 227 | IN UINT8 BankConnections,\r |
228 | IN UINT8 Option\r | |
5d73d92f | 229 | );\r |
a1d4bfcc | 230 | \r |
231 | /**\r | |
232 | Display memory informcation.\r | |
233 | \r | |
234 | Bits 0:6 Size (n),\r | |
235 | where 2**n is the size in MB with three special-case values:\r | |
236 | 7Dh Not determinable (Installed Size only)\r | |
237 | 7Eh Module is installed, but no memory has been enabled\r | |
238 | 7Fh Not installed\r | |
239 | Bit 7 Defines whether the memory module has a single- (0)\r | |
240 | or double-bank (1) connection.\r | |
241 | \r | |
242 | @param[in] Size - The size\r | |
243 | @param[in] Option - The option\r | |
244 | **/\r | |
5d73d92f | 245 | VOID\r |
246 | DisplayMmMemorySize (\r | |
a1d4bfcc | 247 | IN UINT8 Size,\r |
248 | IN UINT8 Option\r | |
5d73d92f | 249 | );\r |
250 | \r | |
187cb3dd SZ |
251 | /**\r |
252 | Display Cache Configuration.\r | |
253 | \r | |
254 | @param[in] CacheConfiguration Cache Configuration.\r | |
255 | Bits 15:10 Reserved, must be 0\r | |
256 | Bits 9:8 Operational Mode\r | |
257 | 0h - Write Through\r | |
258 | 1h - Write Back\r | |
259 | 2h - Varies with Memory Address\r | |
260 | 3h - Unknown\r | |
261 | Bit 7 Enabled/Disabled\r | |
262 | 1 - Enabled\r | |
263 | 0 - Disabled\r | |
264 | Bits 6:5 Location\r | |
265 | 0h - Internal\r | |
266 | 1h - External\r | |
267 | 2h - Reserved\r | |
268 | 3h - Unknown\r | |
269 | Bit 4 Reserved, must be zero\r | |
270 | Bit 3 Cache Socketed\r | |
271 | 1 - Socketed\r | |
272 | 0 - Unsocketed\r | |
273 | Bits 2:0 Cache Level\r | |
274 | 1 through 8 (For example, an L1 cache would\r | |
275 | use value 000b and an L3 cache would use 010b.)\r | |
276 | \r | |
277 | @param[in] Option The option\r | |
278 | **/\r | |
279 | VOID\r | |
280 | DisplayCacheConfiguration (\r | |
281 | IN UINT16 CacheConfiguration,\r | |
282 | IN UINT8 Option\r | |
283 | );\r | |
284 | \r | |
a1d4bfcc | 285 | /**\r |
286 | The Slot ID field of the System Slot structure provides a mechanism to\r | |
287 | correlate the physical attributes of the slot to its logical access method\r | |
288 | (which varies based on the Slot Type field).\r | |
289 | \r | |
290 | @param[in] SlotId - The slot ID\r | |
291 | @param[in] SlotType - The slot type\r | |
292 | @param[in] Option - The Option\r | |
293 | **/\r | |
5d73d92f | 294 | VOID\r |
295 | DisplaySystemSlotId (\r | |
a1d4bfcc | 296 | IN UINT16 SlotId,\r |
297 | IN UINT8 SlotType,\r | |
298 | IN UINT8 Option\r | |
5d73d92f | 299 | );\r |
300 | \r | |
a1d4bfcc | 301 | /**\r |
302 | Display Portable Battery (Type 22) information.\r | |
303 | \r | |
304 | The date the cell pack was manufactured, in packed format:\r | |
305 | Bits 15:9 Year, biased by 1980, in the range 0 to 127.\r | |
306 | Bits 8:5 Month, in the range 1 to 12.\r | |
307 | Bits 4:0 Date, in the range 1 to 31.\r | |
308 | For example, 01 February 2000 would be identified as\r | |
309 | 0010 1000 0100 0001b (0x2841).\r | |
310 | \r | |
311 | @param[in] Date The date\r | |
312 | @param[in] Option The option\r | |
313 | **/\r | |
5d73d92f | 314 | VOID\r |
315 | DisplaySBDSManufactureDate (\r | |
a1d4bfcc | 316 | IN UINT16 Date,\r |
317 | IN UINT8 Option\r | |
5d73d92f | 318 | );\r |
319 | \r | |
a1d4bfcc | 320 | /**\r |
321 | Display System Reset (Type 23) information.\r | |
322 | \r | |
323 | Routine Description:\r | |
324 | Identifies the system-reset capabilities for the system.\r | |
325 | Bits 7:6 Reserved for future assignment via this specification, set to 00b.\r | |
326 | Bit 5 System contains a watchdog timer, either True (1) or False (0).\r | |
327 | Bits 4:3 Boot Option on Limit.\r | |
328 | Identifies the system action to be taken when the Reset Limit is reached, one of:\r | |
329 | 00b Reserved, do not use.\r | |
330 | 01b Operating system\r | |
331 | 10b System utilities\r | |
332 | 11b Do not rebootBits\r | |
333 | 2:1 Boot Option. Indicates the action to be taken following a watchdog reset, one of:\r | |
334 | 00b Reserved, do not use.\r | |
335 | 01b Operating system\r | |
336 | 10b System utilities\r | |
337 | 11b Do not reboot\r | |
338 | Bit 0 Status.\r | |
339 | 1b The system reset is enabled by the user\r | |
340 | 0b The system reset is not enabled by the user\r | |
341 | \r | |
342 | @param[in] Reset Reset\r | |
343 | @param[in] Option The option\r | |
344 | **/\r | |
5d73d92f | 345 | VOID\r |
346 | DisplaySystemResetCapabilities (\r | |
a1d4bfcc | 347 | IN UINT8 Reset,\r |
348 | IN UINT8 Option\r | |
5d73d92f | 349 | );\r |
350 | \r | |
a1d4bfcc | 351 | /**\r |
352 | Display Hardware Security (Type 24) information.\r | |
353 | \r | |
354 | Routine Description:\r | |
355 | Identifies the password and reset status for the system:\r | |
356 | \r | |
357 | Bits 7:6 Power-on Password Status, one of:\r | |
358 | 00b Disabled\r | |
359 | 01b Enabled\r | |
360 | 10b Not Implemented\r | |
361 | 11b Unknown\r | |
362 | Bits 5:4 Keyboard Password Status, one of:\r | |
363 | 00b Disabled\r | |
364 | 01b Enabled\r | |
365 | 10b Not Implemented\r | |
366 | 11b Unknown\r | |
367 | Bits 3:2 Administrator Password Status, one of:\r | |
368 | 00b Disabled\r | |
369 | 01b Enabled\r | |
370 | 10b Not Implemented\r | |
371 | 11b Unknown\r | |
372 | Bits 1:0 Front Panel Reset Status, one of:\r | |
373 | 00b Disabled\r | |
374 | 01b Enabled\r | |
375 | 10b Not Implemented\r | |
376 | 11b Unknown\r | |
377 | \r | |
378 | @param[in] Settings The device settings.\r | |
379 | @param[in] Option The device options.\r | |
380 | **/\r | |
5d73d92f | 381 | VOID\r |
382 | DisplayHardwareSecuritySettings (\r | |
a1d4bfcc | 383 | IN UINT8 Settings,\r |
384 | IN UINT8 Option\r | |
5d73d92f | 385 | );\r |
386 | \r | |
a1d4bfcc | 387 | /**\r |
388 | Display Out-of-Band Remote Access (Type 30) information.\r | |
389 | \r | |
390 | @param[in] Connections The device characteristics.\r | |
391 | @param[in] Option The device options.\r | |
392 | **/\r | |
5d73d92f | 393 | VOID\r |
394 | DisplayOBRAConnections (\r | |
a1d4bfcc | 395 | IN UINT8 Connections,\r |
396 | IN UINT8 Option\r | |
5d73d92f | 397 | );\r |
398 | \r | |
a1d4bfcc | 399 | /**\r |
400 | Display System Boot Information (Type 32) information.\r | |
401 | \r | |
402 | @param[in] Parameter The parameter.\r | |
403 | @param[in] Option The options.\r | |
404 | **/\r | |
5d73d92f | 405 | VOID\r |
406 | DisplaySystemBootStatus (\r | |
a1d4bfcc | 407 | IN UINT8 Parameter,\r |
408 | IN UINT8 Option\r | |
5d73d92f | 409 | );\r |
410 | \r | |
a1d4bfcc | 411 | /**\r |
412 | Display System Power Supply (Type 39) information.\r | |
413 | \r | |
414 | @param[in] Characteristics The device characteristics.\r | |
415 | @param[in] Option The device options.\r | |
416 | **/\r | |
5d73d92f | 417 | VOID\r |
418 | DisplaySPSCharacteristics (\r | |
a1d4bfcc | 419 | IN UINT16 Characteristics,\r |
420 | IN UINT8 Option\r | |
5d73d92f | 421 | );\r |
422 | \r | |
423 | #endif\r |