2 Module to clarify the element info of the smbios structure.
4 Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _SMBIOS_PRINT_INFO_H_
16 #define _SMBIOS_PRINT_INFO_H_
18 #include <IndustryStandard/SmBios.h>
20 extern UINT8 SmbiosMajorVersion
;
21 extern UINT8 SmbiosMinorVersion
;
23 #define SHOW_NONE 0x00
24 #define SHOW_OUTLINE 0x01
25 #define SHOW_NORMAL 0x02
26 #define SHOW_DETAIL 0x03
28 // SHOW_ALL: WaitEnter() not wait input.
31 #define SHOW_STATISTICS 0x05
33 #define AS_UINT16(pData) (*((UINT16 *) pData))
34 #define AS_UINT32(pData) (*((UINT32 *) pData))
35 #define AS_UINT64(pData) (*((UINT64 *) pData))
38 Print the info of EPS(Entry Point Structure).
40 @param[in] SmbiosTable Pointer to the SMBIOS table entry point.
41 @param[in] Option Display option.
45 IN SMBIOS_TABLE_ENTRY_POINT
*SmbiosTable
,
50 Print the info of 64-bit EPS(Entry Point Structure).
52 @param[in] SmbiosTable Pointer to the SMBIOS table entry point.
53 @param[in] Option Display option.
56 Smbios64BitPrintEPSInfo (
57 IN SMBIOS_TABLE_3_0_ENTRY_POINT
*SmbiosTable
,
62 This function print the content of the structure pointed by Struct.
64 @param[in] Struct Point to the structure to be printed.
65 @param[in] Option Print option of information detail.
67 @retval EFI_SUCCESS Successfully Printing this function.
68 @retval EFI_INVALID_PARAMETER Invalid Structure.
69 @retval EFI_UNSUPPORTED Unsupported.
72 SmbiosPrintStructure (
73 IN SMBIOS_STRUCTURE_POINTER
*Struct
,
78 Display BIOS Information (Type 0) information.
80 @param[in] Chara The information bits.
81 @param[in] Option The optional information.
84 DisplayBiosCharacteristics (
90 Display Bios Characteristice extensions1 information.
92 @param[in] Byte1 The information.
93 @param[in] Option The optional information.
96 DisplayBiosCharacteristicsExt1 (
102 Display Bios Characteristice extensions2 information.
104 @param[in] Byte2 The information.
105 @param[in] Option The optional information.
108 DisplayBiosCharacteristicsExt2 (
114 Display Processor Information (Type 4) information.
116 @param[in] Family The family value.
117 @param[in] Option The option value.
120 DisplayProcessorFamily (
126 Display processor family information.
128 @param[in] Family2 The family value.
129 @param[in] Option The option value.
132 DisplayProcessorFamily2 (
138 Display processor voltage information.
140 @param[in] Voltage The Voltage.
141 Bit 7 Set to 0, indicating 'legacy' mode for processor voltage
142 Bits 6:4 Reserved, must be zero
143 Bits 3:0 Voltage Capability.
144 A Set bit indicates that the voltage is supported.
148 Bit 3 - Reserved, must be zero.
151 Setting of multiple bits indicates the socket is configurable
152 If bit 7 is set to 1, the remaining seven bits of the field are set to
153 contain the processor's current voltage times 10.
154 For example, the field value for a processor voltage of 1.8 volts would be
155 92h = 80h + (1.8 * 10) = 80h + 18 = 80h +12h.
157 @param[in] Option The option.
160 DisplayProcessorVoltage (
166 Display processor information.
168 @param[in] Status The status.
169 Bit 7 Reserved, must be 0
170 Bit 6 CPU Socket Populated
171 1 - CPU Socket Populated
172 0 - CPU Socket Unpopulated
173 Bits 5:3 Reserved, must be zero
177 2h - CPU Disabled by User via BIOS Setup
178 3h - CPU Disabled By BIOS (POST Error)
179 4h - CPU is Idle, waiting to be enabled.
183 @param[in] Option The option
186 DisplayProcessorStatus (
192 Display information about Memory Controller Information (Type 5).
194 @param[in] Size Memory size.
195 @param[in] SlotNum Which slot is this about.
196 @param[in] Option Option for the level of detail output required.
199 DisplayMaxMemoryModuleSize (
206 Display information about memory configuration handles.
208 @param[in] Handles The buffer of handles to output info on.
209 @param[in] SlotNum The number of handles in the above buffer.
210 @param[in] Option Option for the level of detail output required.
213 DisplayMemoryModuleConfigHandles (
220 Display Memory Module Information (Type 6).
222 @param[in] BankConnections
226 DisplayMmBankConnections (
227 IN UINT8 BankConnections
,
232 Display memory informcation.
235 where 2**n is the size in MB with three special-case values:
236 7Dh Not determinable (Installed Size only)
237 7Eh Module is installed, but no memory has been enabled
239 Bit 7 Defines whether the memory module has a single- (0)
240 or double-bank (1) connection.
242 @param[in] Size - The size
243 @param[in] Option - The option
246 DisplayMmMemorySize (
252 Display Cache Configuration.
254 @param[in] CacheConfiguration Cache Configuration.
255 Bits 15:10 Reserved, must be 0
256 Bits 9:8 Operational Mode
259 2h - Varies with Memory Address
261 Bit 7 Enabled/Disabled
269 Bit 4 Reserved, must be zero
274 1 through 8 (For example, an L1 cache would
275 use value 000b and an L3 cache would use 010b.)
277 @param[in] Option The option
280 DisplayCacheConfiguration (
281 IN UINT16 CacheConfiguration
,
286 The Slot ID field of the System Slot structure provides a mechanism to
287 correlate the physical attributes of the slot to its logical access method
288 (which varies based on the Slot Type field).
290 @param[in] SlotId - The slot ID
291 @param[in] SlotType - The slot type
292 @param[in] Option - The Option
295 DisplaySystemSlotId (
302 Display Portable Battery (Type 22) information.
304 The date the cell pack was manufactured, in packed format:
305 Bits 15:9 Year, biased by 1980, in the range 0 to 127.
306 Bits 8:5 Month, in the range 1 to 12.
307 Bits 4:0 Date, in the range 1 to 31.
308 For example, 01 February 2000 would be identified as
309 0010 1000 0100 0001b (0x2841).
311 @param[in] Date The date
312 @param[in] Option The option
315 DisplaySBDSManufactureDate (
321 Display System Reset (Type 23) information.
324 Identifies the system-reset capabilities for the system.
325 Bits 7:6 Reserved for future assignment via this specification, set to 00b.
326 Bit 5 System contains a watchdog timer, either True (1) or False (0).
327 Bits 4:3 Boot Option on Limit.
328 Identifies the system action to be taken when the Reset Limit is reached, one of:
329 00b Reserved, do not use.
332 11b Do not rebootBits
333 2:1 Boot Option. Indicates the action to be taken following a watchdog reset, one of:
334 00b Reserved, do not use.
339 1b The system reset is enabled by the user
340 0b The system reset is not enabled by the user
342 @param[in] Reset Reset
343 @param[in] Option The option
346 DisplaySystemResetCapabilities (
352 Display Hardware Security (Type 24) information.
355 Identifies the password and reset status for the system:
357 Bits 7:6 Power-on Password Status, one of:
362 Bits 5:4 Keyboard Password Status, one of:
367 Bits 3:2 Administrator Password Status, one of:
372 Bits 1:0 Front Panel Reset Status, one of:
378 @param[in] Settings The device settings.
379 @param[in] Option The device options.
382 DisplayHardwareSecuritySettings (
388 Display Out-of-Band Remote Access (Type 30) information.
390 @param[in] Connections The device characteristics.
391 @param[in] Option The device options.
394 DisplayOBRAConnections (
395 IN UINT8 Connections
,
400 Display System Boot Information (Type 32) information.
402 @param[in] Parameter The parameter.
403 @param[in] Option The options.
406 DisplaySystemBootStatus (
412 Display System Power Supply (Type 39) information.
414 @param[in] Characteristics The device characteristics.
415 @param[in] Option The device options.
418 DisplaySPSCharacteristics (
419 IN UINT16 Characteristics
,