X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ShellPkg%2FLibrary%2FUefiShellDebug1CommandsLib%2FSmbiosView%2FPrintInfo.h;h=fd219773de174a2d216618f34a3972f54cc8a9c5;hb=e797a806a8d090a09a782fe10ba2765154579d4b;hp=a6c8ef6ba8d771e931b3d449e24a356a7684d72a;hpb=5d73d92f560b079f41f62e91d15ddc1fda897867;p=mirror_edk2.git diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h index a6c8ef6ba8..fd219773de 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h @@ -1,21 +1,16 @@ /** @file Module to clarify the element info of the smbios structure. - Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.
- This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.
+ (C) Copyright 2017 - 2019 Hewlett Packard Enterprise Development LP
+ SPDX-License-Identifier: BSD-2-Clause-Patent **/ -#ifndef _SMBIOS_PRINT_INFO_H -#define _SMBIOS_PRINT_INFO_H +#ifndef _SMBIOS_PRINT_INFO_H_ +#define _SMBIOS_PRINT_INFO_H_ -#include "LibSmbios.h" +#include extern UINT8 SmbiosMajorVersion; extern UINT8 SmbiosMinorVersion; @@ -34,159 +29,413 @@ extern UINT8 SmbiosMinorVersion; #define AS_UINT32(pData) (*((UINT32 *) pData)) #define AS_UINT64(pData) (*((UINT64 *) pData)) +/** + Print the info of EPS(Entry Point Structure). + + @param[in] SmbiosTable Pointer to the SMBIOS table entry point. + @param[in] Option Display option. +**/ VOID SmbiosPrintEPSInfo ( - IN SMBIOS_STRUCTURE_TABLE *pSmbiosTable, - IN UINT8 Option + IN SMBIOS_TABLE_ENTRY_POINT *SmbiosTable, + IN UINT8 Option + ); + +/** + Print the info of 64-bit EPS(Entry Point Structure). + + @param[in] SmbiosTable Pointer to the SMBIOS table entry point. + @param[in] Option Display option. +**/ +VOID +Smbios64BitPrintEPSInfo ( + IN SMBIOS_TABLE_3_0_ENTRY_POINT *SmbiosTable, + IN UINT8 Option ); +/** + This function print the content of the structure pointed by Struct. + + @param[in] Struct Point to the structure to be printed. + @param[in] Option Print option of information detail. + + @retval EFI_SUCCESS Successfully Printing this function. + @retval EFI_INVALID_PARAMETER Invalid Structure. + @retval EFI_UNSUPPORTED Unsupported. +**/ EFI_STATUS SmbiosPrintStructure ( - IN SMBIOS_STRUCTURE_POINTER *pStruct, + IN SMBIOS_STRUCTURE_POINTER *Struct, IN UINT8 Option ); -// -// BIOS Information (Type 0) -// +/** + Display BIOS Information (Type 0) information. + + @param[in] Chara The information bits. + @param[in] Option The optional information. +**/ VOID DisplayBiosCharacteristics ( - UINT64 chara, - UINT8 Option + IN UINT64 Chara, + IN UINT8 Option ); + +/** + Display Bios Characteristice extensions1 information. + + @param[in] Byte1 The information. + @param[in] Option The optional information. +**/ VOID DisplayBiosCharacteristicsExt1 ( - UINT8 byte1, - UINT8 Option + IN UINT8 Byte1, + IN UINT8 Option ); + +/** + Display Bios Characteristice extensions2 information. + + @param[in] Byte2 The information. + @param[in] Option The optional information. +**/ VOID DisplayBiosCharacteristicsExt2 ( - UINT8 byte2, - UINT8 Option + IN UINT8 Byte2, + IN UINT8 Option ); -// -// Processor Information (Type 4) -// +/** + Display Processor Information (Type 4) information. + + @param[in] Family The family value. + @param[in] Option The option value. +**/ VOID DisplayProcessorFamily ( UINT8 Family, UINT8 Option ); +/** + Display processor family information. + + @param[in] Family2 The family value. + @param[in] Option The option value. +**/ VOID DisplayProcessorFamily2 ( - UINT16 Family2, - UINT8 Option + IN UINT16 Family2, + IN UINT8 Option ); +/** + Display processor voltage information. + + @param[in] Voltage The Voltage. + Bit 7 Set to 0, indicating 'legacy' mode for processor voltage + Bits 6:4 Reserved, must be zero + Bits 3:0 Voltage Capability. + A Set bit indicates that the voltage is supported. + Bit 0 - 5V + Bit 1 - 3.3V + Bit 2 - 2.9V + Bit 3 - Reserved, must be zero. + + Note: + Setting of multiple bits indicates the socket is configurable + If bit 7 is set to 1, the remaining seven bits of the field are set to + contain the processor's current voltage times 10. + For example, the field value for a processor voltage of 1.8 volts would be + 92h = 80h + (1.8 * 10) = 80h + 18 = 80h +12h. + + @param[in] Option The option. +**/ VOID DisplayProcessorVoltage ( - UINT8 Voltage, - UINT8 Option + IN UINT8 Voltage, + IN UINT8 Option ); + +/** + Display processor information. + + @param[in] Status The status. +Bit 7 Reserved, must be 0 +Bit 6 CPU Socket Populated + 1 - CPU Socket Populated + 0 - CPU Socket Unpopulated +Bits 5:3 Reserved, must be zero +Bits 2:0 CPU Status + 0h - Unknown + 1h - CPU Enabled + 2h - CPU Disabled by User via BIOS Setup + 3h - CPU Disabled By BIOS (POST Error) + 4h - CPU is Idle, waiting to be enabled. + 5-6h - Reserved + 7h - Other + + @param[in] Option The option +**/ VOID DisplayProcessorStatus ( - UINT8 Status, - UINT8 Option + IN UINT8 Status, + IN UINT8 Option ); -// -// Memory Controller Information (Type 5) -// +/** + Display information about Memory Controller Information (Type 5). + + @param[in] Size Memory size. + @param[in] SlotNum Which slot is this about. + @param[in] Option Option for the level of detail output required. +**/ VOID DisplayMaxMemoryModuleSize ( - UINT8 Size, - UINT8 SlotNum, - UINT8 Option + IN UINT8 Size, + IN UINT8 SlotNum, + IN UINT8 Option ); + +/** + Display information about memory configuration handles. + + @param[in] Handles The buffer of handles to output info on. + @param[in] SlotNum The number of handles in the above buffer. + @param[in] Option Option for the level of detail output required. +**/ VOID DisplayMemoryModuleConfigHandles ( - UINT16 *pHandles, - UINT8 SlotNum, - UINT8 Option + IN UINT16 *Handles, + IN UINT8 SlotNum, + IN UINT8 Option ); -// -// Memory Module Information (Type 6) -// +/** + Display Memory Module Information (Type 6). + + @param[in] BankConnections + @param[in] Option +**/ VOID DisplayMmBankConnections ( - UINT8 BankConnections, - UINT8 Option + IN UINT8 BankConnections, + IN UINT8 Option ); + +/** + Display memory informcation. + + Bits 0:6 Size (n), + where 2**n is the size in MB with three special-case values: + 7Dh Not determinable (Installed Size only) + 7Eh Module is installed, but no memory has been enabled + 7Fh Not installed + Bit 7 Defines whether the memory module has a single- (0) + or double-bank (1) connection. + + @param[in] Size - The size + @param[in] Option - The option +**/ VOID DisplayMmMemorySize ( - UINT8 Size, - UINT8 Option + IN UINT8 Size, + IN UINT8 Option ); -// -// System Slots (Type 9) -// +/** + Display Cache Configuration. + + @param[in] CacheConfiguration Cache Configuration. +Bits 15:10 Reserved, must be 0 +Bits 9:8 Operational Mode + 0h - Write Through + 1h - Write Back + 2h - Varies with Memory Address + 3h - Unknown +Bit 7 Enabled/Disabled + 1 - Enabled + 0 - Disabled +Bits 6:5 Location + 0h - Internal + 1h - External + 2h - Reserved + 3h - Unknown +Bit 4 Reserved, must be zero +Bit 3 Cache Socketed + 1 - Socketed + 0 - Unsocketed +Bits 2:0 Cache Level + 1 through 8 (For example, an L1 cache would + use value 000b and an L3 cache would use 010b.) + + @param[in] Option The option +**/ +VOID +DisplayCacheConfiguration ( + IN UINT16 CacheConfiguration, + IN UINT8 Option + ); + +/** + The Slot ID field of the System Slot structure provides a mechanism to + correlate the physical attributes of the slot to its logical access method + (which varies based on the Slot Type field). + + @param[in] SlotId - The slot ID + @param[in] SlotType - The slot type + @param[in] Option - The Option +**/ VOID DisplaySystemSlotId ( - UINT16 SlotId, - UINT8 SlotType, - UINT8 Option + IN UINT16 SlotId, + IN UINT8 SlotType, + IN UINT8 Option ); -// -// Physical Memory Array (Type 16) -// Memory Device (Type 17) -// Memory Array Mapped Address (Type 19) -// Memory Device Mapped Address (Type 20) -// Portable Battery (Type 22) -// +/** + Display Portable Battery (Type 22) information. + + The date the cell pack was manufactured, in packed format: + Bits 15:9 Year, biased by 1980, in the range 0 to 127. + Bits 8:5 Month, in the range 1 to 12. + Bits 4:0 Date, in the range 1 to 31. + For example, 01 February 2000 would be identified as + 0010 1000 0100 0001b (0x2841). + + @param[in] Date The date + @param[in] Option The option +**/ VOID DisplaySBDSManufactureDate ( - UINT16 Date, - UINT8 Option + IN UINT16 Date, + IN UINT8 Option ); -// -// System Reset (Type 23) -// +/** + Display System Reset (Type 23) information. + + Routine Description: + Identifies the system-reset capabilities for the system. + Bits 7:6 Reserved for future assignment via this specification, set to 00b. + Bit 5 System contains a watchdog timer, either True (1) or False (0). + Bits 4:3 Boot Option on Limit. + Identifies the system action to be taken when the Reset Limit is reached, one of: + 00b Reserved, do not use. + 01b Operating system + 10b System utilities + 11b Do not rebootBits + 2:1 Boot Option. Indicates the action to be taken following a watchdog reset, one of: + 00b Reserved, do not use. + 01b Operating system + 10b System utilities + 11b Do not reboot + Bit 0 Status. + 1b The system reset is enabled by the user + 0b The system reset is not enabled by the user + + @param[in] Reset Reset + @param[in] Option The option +**/ VOID DisplaySystemResetCapabilities ( - UINT8 Reset, - UINT8 Option + IN UINT8 Reset, + IN UINT8 Option ); -// -// Hardware Security (Type 24) -// +/** + Display Hardware Security (Type 24) information. + + Routine Description: + Identifies the password and reset status for the system: + + Bits 7:6 Power-on Password Status, one of: + 00b Disabled + 01b Enabled + 10b Not Implemented + 11b Unknown + Bits 5:4 Keyboard Password Status, one of: + 00b Disabled + 01b Enabled + 10b Not Implemented + 11b Unknown + Bits 3:2 Administrator Password Status, one of: + 00b Disabled + 01b Enabled + 10b Not Implemented + 11b Unknown + Bits 1:0 Front Panel Reset Status, one of: + 00b Disabled + 01b Enabled + 10b Not Implemented + 11b Unknown + + @param[in] Settings The device settings. + @param[in] Option The device options. +**/ VOID DisplayHardwareSecuritySettings ( - UINT8 Settings, - UINT8 Option + IN UINT8 Settings, + IN UINT8 Option ); -// -// Out-of-Band Remote Access (Type 30) -// +/** + Display Out-of-Band Remote Access (Type 30) information. + + @param[in] Connections The device characteristics. + @param[in] Option The device options. +**/ VOID DisplayOBRAConnections ( - UINT8 Connections, - UINT8 Option + IN UINT8 Connections, + IN UINT8 Option ); -// -// System Boot Information (Type 32) -// +/** + Display System Boot Information (Type 32) information. + + @param[in] Parameter The parameter. + @param[in] Option The options. +**/ VOID DisplaySystemBootStatus ( - UINT8 Parameter, - UINT8 Option + IN UINT8 Parameter, + IN UINT8 Option ); -// -// System Power Supply (Type 39) -// +/** + Display System Power Supply (Type 39) information. + + @param[in] Characteristics The device characteristics. + @param[in] Option The device options. +**/ VOID DisplaySPSCharacteristics ( - UINT16 Characteristics, - UINT8 Option + IN UINT16 Characteristics, + IN UINT8 Option ); +/** + Display TPM Device (Type 43) Characteristics. + + @param[in] Chara The information bits. + @param[in] Option The optional information. +**/ +VOID +DisplayTpmDeviceCharacteristics ( + IN UINT64 Chara, + IN UINT8 Option + ); + +/** + Display Processor Architecture Type (Type 44). + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorArchitectureType ( + IN UINT8 Key, + IN UINT8 Option + ); #endif