2 Module to clarify the element info of the smbios structure.
4 Copyright (c) 2005 - 2011, 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 "LibSmbios.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_STRUCTURE_TABLE
*SmbiosTable
,
50 This function print the content of the structure pointed by Struct.
52 @param[in] Struct Point to the structure to be printed.
53 @param[in] Option Print option of information detail.
55 @retval EFI_SUCCESS Successfully Printing this function.
56 @retval EFI_INVALID_PARAMETER Invalid Structure.
57 @retval EFI_UNSUPPORTED Unsupported.
60 SmbiosPrintStructure (
61 IN SMBIOS_STRUCTURE_POINTER
*Struct
,
66 Display BIOS Information (Type 0) information.
68 @param[in] Chara The information bits.
69 @param[in] Option The optional information.
72 DisplayBiosCharacteristics (
78 Display Bios Characteristice extensions1 information.
80 @param[in] Byte1 The information.
81 @param[in] Option The optional information.
84 DisplayBiosCharacteristicsExt1 (
90 Display Bios Characteristice extensions2 information.
92 @param[in] Byte2 The information.
93 @param[in] Option The optional information.
96 DisplayBiosCharacteristicsExt2 (
102 Display Processor Information (Type 4) information.
104 @param[in] Family The family value.
105 @param[in] Option The option value.
108 DisplayProcessorFamily (
114 Display processor family information.
116 @param[in] Family2 The family value.
117 @param[in] Option The option value.
120 DisplayProcessorFamily2 (
126 Display processor voltage information.
128 @param[in] Voltage The Voltage.
129 Bit 7 Set to 0, indicating 'legacy' mode for processor voltage
130 Bits 6:4 Reserved, must be zero
131 Bits 3:0 Voltage Capability.
132 A Set bit indicates that the voltage is supported.
136 Bit 3 - Reserved, must be zero.
139 Setting of multiple bits indicates the socket is configurable
140 If bit 7 is set to 1, the remaining seven bits of the field are set to
141 contain the processor's current voltage times 10.
142 For example, the field value for a processor voltage of 1.8 volts would be
143 92h = 80h + (1.8 * 10) = 80h + 18 = 80h +12h.
145 @param[in] Option The option.
148 DisplayProcessorVoltage (
154 Display processor information.
156 @param[in] Status The status.
157 Bit 7 Reserved, must be 0
158 Bit 6 CPU Socket Populated
159 1 - CPU Socket Populated
160 0 - CPU Socket UnpopulatedBits
161 5:3 Reserved, must be zero
165 2h - CPU Disabled by User via BIOS Setup
166 3h - CPU Disabled By BIOS (POST Error)
167 4h - CPU is Idle, waiting to be enabled.
171 @param[in] Option The option
174 DisplayProcessorStatus (
180 Display information about Memory Controller Information (Type 5).
182 @param[in] Size Memory size.
183 @param[in] SlotNum Which slot is this about.
184 @param[in] Option Option for the level of detail output required.
187 DisplayMaxMemoryModuleSize (
194 Display information about memory configuration handles.
196 @param[in] Handles The buffer of handles to output info on.
197 @param[in] SlotNum The number of handles in the above buffer.
198 @param[in] Option Option for the level of detail output required.
201 DisplayMemoryModuleConfigHandles (
208 Display Memory Module Information (Type 6).
210 @param[in] BankConnections
214 DisplayMmBankConnections (
215 IN UINT8 BankConnections
,
220 Display memory informcation.
223 where 2**n is the size in MB with three special-case values:
224 7Dh Not determinable (Installed Size only)
225 7Eh Module is installed, but no memory has been enabled
227 Bit 7 Defines whether the memory module has a single- (0)
228 or double-bank (1) connection.
230 @param[in] Size - The size
231 @param[in] Option - The option
234 DisplayMmMemorySize (
240 The Slot ID field of the System Slot structure provides a mechanism to
241 correlate the physical attributes of the slot to its logical access method
242 (which varies based on the Slot Type field).
244 @param[in] SlotId - The slot ID
245 @param[in] SlotType - The slot type
246 @param[in] Option - The Option
249 DisplaySystemSlotId (
256 Display Portable Battery (Type 22) information.
258 The date the cell pack was manufactured, in packed format:
259 Bits 15:9 Year, biased by 1980, in the range 0 to 127.
260 Bits 8:5 Month, in the range 1 to 12.
261 Bits 4:0 Date, in the range 1 to 31.
262 For example, 01 February 2000 would be identified as
263 0010 1000 0100 0001b (0x2841).
265 @param[in] Date The date
266 @param[in] Option The option
269 DisplaySBDSManufactureDate (
275 Display System Reset (Type 23) information.
278 Identifies the system-reset capabilities for the system.
279 Bits 7:6 Reserved for future assignment via this specification, set to 00b.
280 Bit 5 System contains a watchdog timer, either True (1) or False (0).
281 Bits 4:3 Boot Option on Limit.
282 Identifies the system action to be taken when the Reset Limit is reached, one of:
283 00b Reserved, do not use.
286 11b Do not rebootBits
287 2:1 Boot Option. Indicates the action to be taken following a watchdog reset, one of:
288 00b Reserved, do not use.
293 1b The system reset is enabled by the user
294 0b The system reset is not enabled by the user
296 @param[in] Reset Reset
297 @param[in] Option The option
300 DisplaySystemResetCapabilities (
306 Display Hardware Security (Type 24) information.
309 Identifies the password and reset status for the system:
311 Bits 7:6 Power-on Password Status, one of:
316 Bits 5:4 Keyboard Password Status, one of:
321 Bits 3:2 Administrator Password Status, one of:
326 Bits 1:0 Front Panel Reset Status, one of:
332 @param[in] Settings The device settings.
333 @param[in] Option The device options.
336 DisplayHardwareSecuritySettings (
342 Display Out-of-Band Remote Access (Type 30) information.
344 @param[in] Connections The device characteristics.
345 @param[in] Option The device options.
348 DisplayOBRAConnections (
349 IN UINT8 Connections
,
354 Display System Boot Information (Type 32) information.
356 @param[in] Parameter The parameter.
357 @param[in] Option The options.
360 DisplaySystemBootStatus (
366 Display System Power Supply (Type 39) information.
368 @param[in] Characteristics The device characteristics.
369 @param[in] Option The device options.
372 DisplaySPSCharacteristics (
373 IN UINT16 Characteristics
,