]> git.proxmox.com Git - mirror_edk2.git/blame - ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h
CorebootPayloadPkg: Add APRIORI file in FDF file
[mirror_edk2.git] / ShellPkg / Library / UefiShellDebug1CommandsLib / SmbiosView / PrintInfo.h
CommitLineData
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
20extern UINT8 SmbiosMajorVersion;\r
21extern 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 43VOID\r
44SmbiosPrintEPSInfo (\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
55VOID\r
56Smbios64BitPrintEPSInfo (\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 71EFI_STATUS\r
72SmbiosPrintStructure (\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 83VOID\r
84DisplayBiosCharacteristics (\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 95VOID\r
96DisplayBiosCharacteristicsExt1 (\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 107VOID\r
108DisplayBiosCharacteristicsExt2 (\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 119VOID\r
120DisplayProcessorFamily (\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 131VOID\r
132DisplayProcessorFamily2 (\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 159VOID\r
160DisplayProcessorVoltage (\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
169Bit 7 Reserved, must be 0\r
170Bit 6 CPU Socket Populated\r
171 1 - CPU Socket Populated\r
172 0 - CPU Socket Unpopulated\r
173Bits 5:3 Reserved, must be zero\r
174Bits 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 185VOID\r
186DisplayProcessorStatus (\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 198VOID\r
199DisplayMaxMemoryModuleSize (\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 212VOID\r
213DisplayMemoryModuleConfigHandles (\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 225VOID\r
226DisplayMmBankConnections (\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 245VOID\r
246DisplayMmMemorySize (\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
255Bits 15:10 Reserved, must be 0\r
256Bits 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
261Bit 7 Enabled/Disabled\r
262 1 - Enabled\r
263 0 - Disabled\r
264Bits 6:5 Location\r
265 0h - Internal\r
266 1h - External\r
267 2h - Reserved\r
268 3h - Unknown\r
269Bit 4 Reserved, must be zero\r
270Bit 3 Cache Socketed\r
271 1 - Socketed\r
272 0 - Unsocketed\r
273Bits 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
279VOID\r
280DisplayCacheConfiguration (\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 294VOID\r
295DisplaySystemSlotId (\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 314VOID\r
315DisplaySBDSManufactureDate (\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 345VOID\r
346DisplaySystemResetCapabilities (\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 381VOID\r
382DisplayHardwareSecuritySettings (\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 393VOID\r
394DisplayOBRAConnections (\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 405VOID\r
406DisplaySystemBootStatus (\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 417VOID\r
418DisplaySPSCharacteristics (\r
a1d4bfcc 419 IN UINT16 Characteristics,\r
420 IN UINT8 Option\r
5d73d92f 421 );\r
422\r
423#endif\r