2 Module to clarify the element info of the smbios structure.
4 Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
5 (C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef _SMBIOS_PRINT_INFO_H_
17 #define _SMBIOS_PRINT_INFO_H_
19 #include <IndustryStandard/SmBios.h>
21 extern UINT8 SmbiosMajorVersion
;
22 extern UINT8 SmbiosMinorVersion
;
24 #define SHOW_NONE 0x00
25 #define SHOW_OUTLINE 0x01
26 #define SHOW_NORMAL 0x02
27 #define SHOW_DETAIL 0x03
29 // SHOW_ALL: WaitEnter() not wait input.
32 #define SHOW_STATISTICS 0x05
34 #define AS_UINT16(pData) (*((UINT16 *) pData))
35 #define AS_UINT32(pData) (*((UINT32 *) pData))
36 #define AS_UINT64(pData) (*((UINT64 *) pData))
39 Print the info of EPS(Entry Point Structure).
41 @param[in] SmbiosTable Pointer to the SMBIOS table entry point.
42 @param[in] Option Display option.
46 IN SMBIOS_TABLE_ENTRY_POINT
*SmbiosTable
,
51 Print the info of 64-bit EPS(Entry Point Structure).
53 @param[in] SmbiosTable Pointer to the SMBIOS table entry point.
54 @param[in] Option Display option.
57 Smbios64BitPrintEPSInfo (
58 IN SMBIOS_TABLE_3_0_ENTRY_POINT
*SmbiosTable
,
63 This function print the content of the structure pointed by Struct.
65 @param[in] Struct Point to the structure to be printed.
66 @param[in] Option Print option of information detail.
68 @retval EFI_SUCCESS Successfully Printing this function.
69 @retval EFI_INVALID_PARAMETER Invalid Structure.
70 @retval EFI_UNSUPPORTED Unsupported.
73 SmbiosPrintStructure (
74 IN SMBIOS_STRUCTURE_POINTER
*Struct
,
79 Display BIOS Information (Type 0) information.
81 @param[in] Chara The information bits.
82 @param[in] Option The optional information.
85 DisplayBiosCharacteristics (
91 Display Bios Characteristice extensions1 information.
93 @param[in] Byte1 The information.
94 @param[in] Option The optional information.
97 DisplayBiosCharacteristicsExt1 (
103 Display Bios Characteristice extensions2 information.
105 @param[in] Byte2 The information.
106 @param[in] Option The optional information.
109 DisplayBiosCharacteristicsExt2 (
115 Display Processor Information (Type 4) information.
117 @param[in] Family The family value.
118 @param[in] Option The option value.
121 DisplayProcessorFamily (
127 Display processor family information.
129 @param[in] Family2 The family value.
130 @param[in] Option The option value.
133 DisplayProcessorFamily2 (
139 Display processor voltage information.
141 @param[in] Voltage The Voltage.
142 Bit 7 Set to 0, indicating 'legacy' mode for processor voltage
143 Bits 6:4 Reserved, must be zero
144 Bits 3:0 Voltage Capability.
145 A Set bit indicates that the voltage is supported.
149 Bit 3 - Reserved, must be zero.
152 Setting of multiple bits indicates the socket is configurable
153 If bit 7 is set to 1, the remaining seven bits of the field are set to
154 contain the processor's current voltage times 10.
155 For example, the field value for a processor voltage of 1.8 volts would be
156 92h = 80h + (1.8 * 10) = 80h + 18 = 80h +12h.
158 @param[in] Option The option.
161 DisplayProcessorVoltage (
167 Display processor information.
169 @param[in] Status The status.
170 Bit 7 Reserved, must be 0
171 Bit 6 CPU Socket Populated
172 1 - CPU Socket Populated
173 0 - CPU Socket Unpopulated
174 Bits 5:3 Reserved, must be zero
178 2h - CPU Disabled by User via BIOS Setup
179 3h - CPU Disabled By BIOS (POST Error)
180 4h - CPU is Idle, waiting to be enabled.
184 @param[in] Option The option
187 DisplayProcessorStatus (
193 Display information about Memory Controller Information (Type 5).
195 @param[in] Size Memory size.
196 @param[in] SlotNum Which slot is this about.
197 @param[in] Option Option for the level of detail output required.
200 DisplayMaxMemoryModuleSize (
207 Display information about memory configuration handles.
209 @param[in] Handles The buffer of handles to output info on.
210 @param[in] SlotNum The number of handles in the above buffer.
211 @param[in] Option Option for the level of detail output required.
214 DisplayMemoryModuleConfigHandles (
221 Display Memory Module Information (Type 6).
223 @param[in] BankConnections
227 DisplayMmBankConnections (
228 IN UINT8 BankConnections
,
233 Display memory informcation.
236 where 2**n is the size in MB with three special-case values:
237 7Dh Not determinable (Installed Size only)
238 7Eh Module is installed, but no memory has been enabled
240 Bit 7 Defines whether the memory module has a single- (0)
241 or double-bank (1) connection.
243 @param[in] Size - The size
244 @param[in] Option - The option
247 DisplayMmMemorySize (
253 Display Cache Configuration.
255 @param[in] CacheConfiguration Cache Configuration.
256 Bits 15:10 Reserved, must be 0
257 Bits 9:8 Operational Mode
260 2h - Varies with Memory Address
262 Bit 7 Enabled/Disabled
270 Bit 4 Reserved, must be zero
275 1 through 8 (For example, an L1 cache would
276 use value 000b and an L3 cache would use 010b.)
278 @param[in] Option The option
281 DisplayCacheConfiguration (
282 IN UINT16 CacheConfiguration
,
287 The Slot ID field of the System Slot structure provides a mechanism to
288 correlate the physical attributes of the slot to its logical access method
289 (which varies based on the Slot Type field).
291 @param[in] SlotId - The slot ID
292 @param[in] SlotType - The slot type
293 @param[in] Option - The Option
296 DisplaySystemSlotId (
303 Display Portable Battery (Type 22) information.
305 The date the cell pack was manufactured, in packed format:
306 Bits 15:9 Year, biased by 1980, in the range 0 to 127.
307 Bits 8:5 Month, in the range 1 to 12.
308 Bits 4:0 Date, in the range 1 to 31.
309 For example, 01 February 2000 would be identified as
310 0010 1000 0100 0001b (0x2841).
312 @param[in] Date The date
313 @param[in] Option The option
316 DisplaySBDSManufactureDate (
322 Display System Reset (Type 23) information.
325 Identifies the system-reset capabilities for the system.
326 Bits 7:6 Reserved for future assignment via this specification, set to 00b.
327 Bit 5 System contains a watchdog timer, either True (1) or False (0).
328 Bits 4:3 Boot Option on Limit.
329 Identifies the system action to be taken when the Reset Limit is reached, one of:
330 00b Reserved, do not use.
333 11b Do not rebootBits
334 2:1 Boot Option. Indicates the action to be taken following a watchdog reset, one of:
335 00b Reserved, do not use.
340 1b The system reset is enabled by the user
341 0b The system reset is not enabled by the user
343 @param[in] Reset Reset
344 @param[in] Option The option
347 DisplaySystemResetCapabilities (
353 Display Hardware Security (Type 24) information.
356 Identifies the password and reset status for the system:
358 Bits 7:6 Power-on Password Status, one of:
363 Bits 5:4 Keyboard Password Status, one of:
368 Bits 3:2 Administrator Password Status, one of:
373 Bits 1:0 Front Panel Reset Status, one of:
379 @param[in] Settings The device settings.
380 @param[in] Option The device options.
383 DisplayHardwareSecuritySettings (
389 Display Out-of-Band Remote Access (Type 30) information.
391 @param[in] Connections The device characteristics.
392 @param[in] Option The device options.
395 DisplayOBRAConnections (
396 IN UINT8 Connections
,
401 Display System Boot Information (Type 32) information.
403 @param[in] Parameter The parameter.
404 @param[in] Option The options.
407 DisplaySystemBootStatus (
413 Display System Power Supply (Type 39) information.
415 @param[in] Characteristics The device characteristics.
416 @param[in] Option The device options.
419 DisplaySPSCharacteristics (
420 IN UINT16 Characteristics
,
425 Display TPM Device (Type 43) Characteristics.
427 @param[in] Chara The information bits.
428 @param[in] Option The optional information.
431 DisplayTpmDeviceCharacteristics (