2 Build a table, each item is (Key, Info) pair.
3 And give a interface of query a string out of a table.
5 Copyright (c) 2005 - 2021, Intel Corporation. All rights reserved.<BR>
6 (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
11 #include "UefiShellDebug1CommandsLib.h"
12 #include "QueryTable.h"
13 #include "PrintInfo.h"
15 TABLE_ITEM SystemWakeupTypeTable
[] = {
50 TABLE_ITEM BaseBoardFeatureFlagsTable
[] = {
57 L
" Requires at least one daughter board or auxiliary card"
73 TABLE_ITEM BaseBoardBoardTypeTable
[] = {
88 L
" Connectivity Switch"
92 L
" System Management Module"
116 L
" Processor/Memory Module"
120 L
" Processor/IO Module"
124 L
" Interconnect Board"
128 TABLE_ITEM SystemEnclosureTypeTable
[] = {
143 L
" Low Profile Desktop"
195 L
" Main Server Chassis"
199 L
" Expansion Chassis"
207 L
" Bus Expansion Chassis"
211 L
" Peripheral Chassis"
219 L
" Rack Mount Chassis"
227 L
" Multi-system Chassis"
275 TABLE_ITEM SystemEnclosureStatusTable
[] = {
302 TABLE_ITEM SESecurityStatusTable
[] = {
317 L
" External interface locked out"
321 L
" External interface enabled"
325 TABLE_ITEM ProcessorTypeTable
[] = {
336 L
" Central Processor"
352 TABLE_ITEM ProcessorUpgradeTable
[] = {
371 L
"Replaceable Piggy Back"
607 TABLE_ITEM ProcessorCharacteristicsTable
[] = {
626 L
" Execute Protection"
630 L
" Enhanced Virtualization"
634 L
" Power/Performance Control"
646 TABLE_ITEM McErrorDetectMethodTable
[] = {
681 TABLE_ITEM McErrorCorrectCapabilityTable
[] = {
696 L
"Single Bit Error Correcting"
700 L
"Double Bit Error Correcting"
708 TABLE_ITEM McInterleaveSupportTable
[] = {
719 L
"One Way Interleave"
723 L
"Two Way Interleave"
727 L
"Four Way Interleave"
731 L
"Eight Way Interleave"
735 L
"Sixteen Way Interleave"
739 TABLE_ITEM McMemorySpeedsTable
[] = {
762 TABLE_ITEM MemoryModuleVoltageTable
[] = {
777 TABLE_ITEM MmMemoryTypeTable
[] = {
824 TABLE_ITEM MmErrorStatusTable
[] = {
827 L
" Uncorrectable errors received"
831 L
" Correctable errors received"
835 L
" Error Status obtained from the event log"
839 TABLE_ITEM CacheSRAMTypeTable
[] = {
870 TABLE_ITEM CacheErrCorrectingTypeTable
[] = {
897 TABLE_ITEM CacheSystemCacheTypeTable
[] = {
920 TABLE_ITEM CacheAssociativityTable
[] = {
935 L
"2-way Set-Associative"
939 L
"4-way Set-Associative"
947 L
"8-way Set-Associative"
951 L
"16-way Set-Associative"
955 L
"12-way Set-Associative"
959 L
"24-way Set-Associative"
963 L
"32-way Set-Associative"
967 L
"48-way Set-Associative"
971 L
"64-way Set-Associative"
975 L
"20-way Set-Associative"
979 TABLE_ITEM PortConnectorTypeTable
[] = {
1062 L
"Circular DIN-8 male"
1066 L
"Circular DIN-8 female"
1078 L
"9 Pin Dual Inline (pin 10 cut)"
1082 L
"25 Pin Dual Inline (pin 26 cut)"
1086 L
"50 Pin Dual Inline"
1090 L
"68 Pin Dual Inline"
1094 L
"On Board Sound Input from CD-ROM"
1098 L
"Mini-Centronics Type-14"
1102 L
"Mini-Centronics Type-26"
1106 L
"Mini-jack (headphones)"
1118 L
"SAS/SATA Plug Receptacle"
1122 L
"USB Type-C Receptacle"
1150 TABLE_ITEM PortTypeTable
[] = {
1157 L
"Parallel Port XT/AT Compatible"
1161 L
"Parallel Port PS/2"
1165 L
"Parallel Port ECP"
1169 L
"Parallel Port EPP"
1173 L
"Parallel Port ECP/EPP"
1177 L
"Serial Port XT/AT Compatible"
1181 L
"Serial Port 16450 Compatible"
1185 L
"Serial Port 16550 Compatible"
1189 L
"Serial Port 16550A Compatible"
1221 L
"FireWire (IEEE P1394)"
1289 L
"Multi-Function Display Port (MFDP)"
1301 L
"8251 FIFO Compatible"
1309 TABLE_ITEM SystemSlotTypeTable
[] = {
1348 L
"Processor Card Slot"
1352 L
"Proprietary Memory Card Slot"
1356 L
"I/O Riser Card Slot"
1364 L
"PCI - 66MHz Capable"
1388 L
"M.2 Socket 1-DP (Mechanical Key A)"
1392 L
"M.2 Socket 1-SD (Mechanical Key E)"
1396 L
"M.2 Socket 2 (Mechanical Key B)"
1400 L
"M.2 Socket 3 (Mechanical Key M)"
1412 L
"MXM Type III (standard connector)"
1416 L
"MXM Type III (HE connector)"
1432 L
"PCI Express Gen 2 SFF-8639"
1436 L
"PCI Express Gen 3 SFF-8639"
1440 L
"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs"
1444 L
"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs"
1448 L
"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card"
1451 SlotTypeCXLFlexbus10
,
1500 L
"PCI Express Gen 2"
1504 L
"PCI Express Gen 2 X1"
1508 L
"PCI Express Gen 2 X2"
1512 L
"PCI Express Gen 2 X4"
1516 L
"PCI Express Gen 2 X8"
1520 L
"PCI Express Gen 2 X16"
1524 L
"PCI Express Gen 3"
1528 L
"PCI Express Gen 3 X1"
1532 L
"PCI Express Gen 3 X2"
1536 L
"PCI Express Gen 3 X4"
1540 L
"PCI Express Gen 3 X8"
1544 L
"PCI Express Gen 3 X16"
1547 SlotTypePciExpressGen4
,
1548 L
"PCI Express Gen 4"
1551 SlotTypePciExpressGen4X1
,
1552 L
"PCI Express Gen 4 X1"
1555 SlotTypePciExpressGen4X2
,
1556 L
"PCI Express Gen 4 X2"
1559 SlotTypePciExpressGen4X4
,
1560 L
"PCI Express Gen 4 X4"
1563 SlotTypePciExpressGen4X8
,
1564 L
"PCI Express Gen 4 X8"
1567 SlotTypePciExpressGen4X16
,
1568 L
"PCI Express Gen 4 X16"
1572 TABLE_ITEM SystemSlotDataBusWidthTable
[] = {
1631 TABLE_ITEM SystemSlotCurrentUsageTable
[] = {
1654 TABLE_ITEM SystemSlotLengthTable
[] = {
1673 TABLE_ITEM SlotCharacteristics1Table
[] = {
1676 L
" Characteristics Unknown"
1680 L
" Provides 5.0 Volts"
1684 L
" Provides 3.3 Volts"
1688 L
" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot."
1693 L
" PC Card slot supports PC Card-16"
1697 L
" PC Card slot supports CardBus"
1701 L
" PC Card slot supports Zoom Video "
1705 L
" PC Card slot supports Modem Ring Resume "
1709 TABLE_ITEM SlotCharacteristics2Table
[] = {
1712 L
" PCI slot supports Power Management Enable (PME#) signal"
1716 L
" Slot supports hot-plug devices"
1720 L
" PCI slot supports SMBus signal"
1724 L
" PCIe slot supports bifurcation"
1728 TABLE_ITEM OnboardDeviceTypesTable
[] = {
1771 TABLE_ITEM SELTypesTable
[] = {
1778 L
" Single-bit ECC memory error"
1782 L
" Multi-bit ECC memory error"
1786 L
" Parity memory error"
1794 L
" I/O Channel Check"
1802 L
" POST Memory Resize"
1810 L
" PCI Parity Error"
1814 L
" PCI System Error"
1822 L
" EISA FailSafe Timer time-out"
1826 L
" Correctable memory log disabled"
1830 L
" Logging disabled for a specific Event Type"
1838 L
" System Limit Exceeded"
1842 L
" Asynchronous hardware timer expired and issued a system reset"
1846 L
" System configuration information"
1850 L
" Hard-disk information"
1854 L
" System reconfigured"
1858 L
" Uncorrectable CPU-complex error"
1862 L
" Log Area Reset/Cleared"
1870 L
" Unused by SMBIOS specification"
1874 L
" System and OEM specified"
1882 TABLE_ITEM SELVarDataFormatTypeTable
[] = {
1897 L
" Multiple-Event Handle "
1901 L
" POST Results Bitmap "
1908 L
" System Management Type"
1915 L
" Multiple-Event System Management Type "
1927 TABLE_ITEM PostResultsBitmapDw1Table
[] = {
1930 L
" Channel 2 Timer error "
1934 L
" Master PIC (8259 #1) error "
1938 L
" Slave PIC (8259 #2) error "
1942 L
" CMOS Battery Failure "
1946 L
" CMOS System Options Not Set "
1950 L
" CMOS Checksum Error "
1954 L
" CMOS Configuration Error "
1958 L
" Mouse and Keyboard Swapped "
1962 L
" Keyboard Locked "
1966 L
" Keyboard Not Functional "
1970 L
" Keyboard Controller Not Functional "
1974 L
" CMOS Memory Size Different "
1978 L
" Memory Decreased in Size "
1982 L
" Cache Memory Error "
1986 L
" Floppy Drive 0 Error "
1990 L
" Floppy Drive 1 Error "
1994 L
" Floppy Controller Failure "
1998 L
" Number of ATA Drives Reduced Error "
2002 L
" CMOS Time Not Set "
2006 L
" DDC Monitor Configuration Change "
2010 L
" Reserved, set to 0 "
2014 L
" Reserved, set to 0 "
2018 L
" Reserved, set to 0 "
2022 L
" Reserved, set to 0 "
2026 L
" Second DWORD has valid data "
2030 L
" Reserved, set to 0 "
2034 L
" Reserved, set to 0 "
2038 L
" Reserved, set to 0 "
2042 L
" Normally 0; available for OEM assignment "
2046 L
" Normally 0; available for OEM assignment "
2050 L
" Normally 0; available for OEM assignment "
2054 L
" Normally 0; available for OEM assignment "
2058 TABLE_ITEM PostResultsBitmapDw2Table
[] = {
2061 L
" Normally 0; available for OEM assignment "
2065 L
" Normally 0; available for OEM assignment "
2069 L
" Normally 0; available for OEM assignment "
2073 L
" Normally 0; available for OEM assignment "
2077 L
" Normally 0; available for OEM assignment "
2081 L
" Normally 0; available for OEM assignment "
2085 L
" Normally 0; available for OEM assignment "
2089 L
" PCI Memory Conflict "
2093 L
" PCI I/O Conflict "
2097 L
" PCI IRQ Conflict "
2101 L
" PNP Memory Conflict "
2105 L
" PNP 32 bit Memory Conflict "
2109 L
" PNP I/O Conflict "
2113 L
" PNP IRQ Conflict "
2117 L
" PNP DMA Conflict "
2121 L
" Bad PNP Serial ID Checksum "
2125 L
" Bad PNP Resource Data Checksum "
2129 L
" Static Resource Conflict "
2133 L
" NVRAM Checksum Error, NVRAM Cleared "
2137 L
" System Board Device Resource Conflict "
2141 L
" Primary Output Device Not Found "
2145 L
" Primary Input Device Not Found "
2149 L
" Primary Boot Device Not Found "
2153 L
" NVRAM Cleared By Jumper "
2157 L
" NVRAM Data Invalid, NVRAM Cleared "
2161 L
" FDC Resource Conflict "
2165 L
" Primary ATA Controller Resource Conflict "
2169 L
" Secondary ATA Controller Resource Conflict "
2173 L
" Parallel Port Resource Conflict "
2177 L
" Serial Port 1 Resource Conflict "
2181 L
" Serial Port 2 Resource Conflict "
2185 L
" Audio Resource Conflict "
2189 TABLE_ITEM SELSysManagementTypesTable
[] = {
2192 L
" +2.5V Out of range, #2 "
2196 L
" +3.3V Out of range "
2200 L
" +5V Out of range "
2204 L
" -5V Out of range "
2208 L
" +12V Out of range "
2212 L
" -12V Out of range "
2216 L
" Reserved for future out-of-range voltage levels "
2220 L
" System board temperature out of range "
2224 L
" Processor #1 temperature out of range "
2228 L
" Processor #2 temperature out of range "
2232 L
" Processor #3 temperature out of range "
2236 L
" Processor #4 temperature out of range "
2240 L
" Reserved for future out-of-range temperatures"
2244 L
" Fan n (n = 0 to 7) Out of range "
2248 L
" Reserved for future assignment via this specification "
2252 L
" Chassis secure switch activated "
2256 TABLE_ITEM PMALocationTable
[] = {
2267 L
" System board or motherboard"
2275 L
" EISA add-on card"
2287 L
" PCMCIA add-on card"
2291 L
" Proprietary add-on card"
2299 L
" PC-98/C20 add-on card"
2303 L
" PC-98/C24 add-on card"
2307 L
" PC-98/E add-on card"
2311 L
" PC-98/Local bus add-on card"
2314 MemoryArrayLocationCXLAddonCard
,
2319 TABLE_ITEM PMAUseTable
[] = {
2342 L
" Non-volatile RAM"
2350 TABLE_ITEM PMAErrorCorrectionTypesTable
[] = {
2381 TABLE_ITEM MemoryDeviceFormFactorTable
[] = {
2412 L
" Proprietary Card"
2443 MemoryFormFactorDie
,
2448 TABLE_ITEM MemoryDeviceTypeTable
[] = {
2559 L
" Logical non-volatile device"
2563 L
" HBM (High Bandwidth Memory)"
2567 L
" HBM2 (High Bandwidth Memory Generation 2)"
2579 TABLE_ITEM MemoryDeviceTypeDetailTable
[] = {
2630 L
" Registered(Buffered)"
2634 L
" Unbuffered(Unregistered)"
2638 TABLE_ITEM MemoryDeviceMemoryTechnologyTable
[] = {
2664 MemoryTechnologyIntelOptanePersistentMemory
,
2665 L
" Intel Optane Persistent Memory"
2669 TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable
[] = {
2684 L
" Byte-accessible persistent memory"
2688 L
" Block-accessible persistent memory"
2692 TABLE_ITEM MemoryErrorTypeTable
[] = {
2715 L
" Single-bit error"
2719 L
" Double-bit error"
2739 L
" Corrected single-bit error"
2747 L
" Uncorrectable error"
2751 TABLE_ITEM MemoryErrorGranularityTable
[] = {
2766 L
" Memory partition level"
2770 TABLE_ITEM MemoryErrorOperationTable
[] = {
2793 TABLE_ITEM PointingDeviceTypeTable
[] = {
2824 TABLE_ITEM PointingDeviceInterfaceTable
[] = {
2855 L
" ADB(Apple Desktop Bus"
2863 L
" Bus mouse mirco-DIN"
2871 TABLE_ITEM PBDeviceChemistryTable
[] = {
2890 L
" Nickel metal hydride "
2902 L
" Lithium Polymer "
2906 TABLE_ITEM VPLocationTable
[] = {
2929 L
" Non-recoverable "
2933 TABLE_ITEM VPStatusTable
[] = {
2956 L
" System Management Module "
2968 L
" Processor Module "
2980 TABLE_ITEM CoolingDeviceStatusTable
[] = {
3003 L
" Non-recoverable "
3007 TABLE_ITEM CoolingDeviceTypeTable
[] = {
3022 L
" Centrifugal Blower "
3034 L
" Power Supply Fan "
3042 L
" Integrated Refrigeration "
3050 L
" Passive Cooling "
3054 TABLE_ITEM TemperatureProbeStatusTable
[] = {
3077 L
" Non-recoverable "
3081 TABLE_ITEM TemperatureProbeLocTable
[] = {
3104 L
" System Management Module "
3116 L
" Processor Module "
3128 TABLE_ITEM ECPStatusTable
[] = {
3151 L
" Non-recoverable "
3155 TABLE_ITEM ECPLocTable
[] = {
3178 L
" System Management Module "
3190 L
" Processor Module "
3202 TABLE_ITEM MDTypeTable
[] = {
3213 L
" National Semiconductor LM75 "
3217 L
" National Semiconductor LM78 "
3221 L
" National Semiconductor LM79 "
3225 L
" National Semiconductor LM80 "
3229 L
" National Semiconductor LM81 "
3233 L
" Analog Devices ADM9240 "
3237 L
" Dallas Semiconductor DS1780 "
3245 L
" Genesys GL518SM "
3249 L
" Winbond W83781D "
3253 L
" Holtek HT82H791 "
3257 TABLE_ITEM MDAddressTypeTable
[] = {
3280 TABLE_ITEM MemoryChannelTypeTable
[] = {
3299 TABLE_ITEM IPMIDIBMCInterfaceTypeTable
[] = {
3306 L
" KCS: Keyboard Controller Style "
3310 L
" SMIC: Server Management Interface Chip "
3314 L
" BT: Block Transfer "
3318 L
" SSIF: SMBus System Interface "
3322 L
" Reserved for future assignment by this specification "
3326 TABLE_ITEM MCHostInterfaceTypeTable
[] = {
3329 L
" MCTP Host Interface "
3333 L
" Network Host Interface "
3341 TABLE_ITEM ProcessorArchitectureTypesTable
[] = {
3352 L
" x64 (x86-64, intel64, AMD64, EM64T) "
3356 L
" Intel Itanium architecture "
3360 L
" 32-bit ARM (Aarch32) "
3364 L
" 64-bit ARM (Aarch64) "
3368 L
" 32-bit RISC-V (RV32) "
3372 L
" 64-bit RISC-V (RV64) "
3376 L
" 128-bit RISC-V (RV128) "
3380 TABLE_ITEM StructureTypeInfoTable
[] = {
3383 L
" BIOS Information"
3387 L
" System Information"
3391 L
" Base Board Information"
3395 L
" System Enclosure"
3399 L
" Processor Information"
3403 L
" Memory Controller Information "
3407 L
" Memory Module Information "
3411 L
" Cache Information "
3415 L
" Port Connector Information "
3423 L
" On Board Devices Information "
3431 L
" System Configuration Options "
3435 L
" BIOS Language Information "
3439 L
" Group Associations "
3443 L
" System Event Log "
3447 L
" Physical Memory Array "
3455 L
" 32-bit Memory Error Information "
3459 L
" Memory Array Mapped Address "
3463 L
" Memory Device Mapped Address "
3467 L
" Built-in Pointing Device "
3471 L
" Portable Battery "
3479 L
" Hardware Security "
3483 L
" System Power Controls "
3495 L
" Temperature Probe "
3499 L
" Electrical Current Probe "
3503 L
" Out-of-Band Remote Access "
3507 L
" Boot Integrity Services (BIS) Entry Point"
3511 L
" System Boot Information "
3515 L
" 64-bit Memory Error Information "
3519 L
" Management Device "
3523 L
" Management Device Component "
3527 L
" Management Device Threshold Data "
3535 L
" IPMI Device Information "
3539 L
" System Power Supply"
3543 L
" Additional Information"
3547 L
" Onboard Devices Extended Information"
3551 L
" Management Controller Host Interface"
3559 L
" Processor Additional Information"
3572 Given a table and a Key, return the responding info.
3575 Table[Index].Key is change from UINT8 to UINT16,
3576 in order to deal with "0xaa - 0xbb".
3579 DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)
3582 Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.
3583 Then all the Key Value between Low and High gets the same string
3586 @param[in] Table The begin address of table.
3587 @param[in] Number The number of table items.
3588 @param[in] Key The query Key.
3589 @param[in, out] Info Input as empty buffer; output as data buffer.
3590 @param[in] InfoLen The max number of characters for Info.
3592 @return the found Key and Info is valid.
3593 @retval QUERY_TABLE_UNFOUND and Info should be NULL.
3597 IN TABLE_ITEM
*Table
,
3600 IN OUT CHAR16
*Info
,
3606 // High byte and Low byte of word
3611 for (Index
= 0; Index
< Number
; Index
++) {
3612 High
= (UINT8
)(Table
[Index
].Key
>> 8);
3613 Low
= (UINT8
)(Table
[Index
].Key
& 0x00FF);
3616 // Check if Key is in the range
3617 // or if Key == Value in the table
3619 if ( ((High
> Low
) && (Key
>= Low
) && (Key
<= High
))
3620 || (Table
[Index
].Key
== Key
))
3622 StrnCpyS (Info
, InfoLen
, Table
[Index
].Info
, InfoLen
- 1);
3623 StrnCatS (Info
, InfoLen
, L
"\n", InfoLen
- 1 - StrLen (Info
));
3628 StrCpyS (Info
, InfoLen
, L
"Undefined Value\n");
3629 return QUERY_TABLE_UNFOUND
;
3633 Given a table of bit info and a Key, return the responding info to the Key.
3635 @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
3636 @param[in] Number Number of table items.
3637 @param[in] Bits The Key of query the bit map information.
3641 IN TABLE_ITEM
*Table
,
3647 // Get certain bit of 'Value':
3649 #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
3651 // Clear certain bit of 'Value':
3653 #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
3662 // query the table and print information
3664 for (Index
= 0; Index
< Number
; Index
++) {
3665 if (BIT (Value
, Table
[Index
].Key
) != 0) {
3668 // If it is not first info, print the separator first.
3673 Print (Table
[Index
].Info
);
3677 // clear the bit, for reserved bits test
3679 CLR_BIT (Value
, Table
[Index
].Key
);
3684 // There is no any info if FirstInfo is still TRUE.
3687 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO
), gShellDebug1HiiHandle
);
3695 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET
),
3696 gShellDebug1HiiHandle
,
3705 // //////////////////////////////////////////////////////////////////
3707 // Following uses QueryTable functions to simplify the coding.
3708 // QueryTable(), PrintBitsInfo()
3711 #define PRINT_TABLE_ITEM(Table, Key) \
3715 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3716 ZeroMem (Info, sizeof (Info)); \
3717 QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
3721 #define PRINT_BITS_INFO(Table, bits) \
3724 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3725 PrintBitsInfo (Table, Num, (UINT32) bits); \
3729 Display System Information (Type 1) Type.
3731 @param[in] Type The key of the structure.
3732 @param[in] Option The optional information.
3735 DisplaySystemWakeupType (
3740 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE
), gShellDebug1HiiHandle
);
3741 PRINT_INFO_OPTION (Type
, Option
);
3742 PRINT_TABLE_ITEM (SystemWakeupTypeTable
, Type
);
3746 Display Base Board (Type 2) Feature Flags.
3748 @param[in] FeatureFlags The key of the structure.
3749 @param[in] Option The optional information.
3752 DisplayBaseBoardFeatureFlags (
3753 IN UINT8 FeatureFlags
,
3757 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS
), gShellDebug1HiiHandle
);
3758 PRINT_INFO_OPTION (FeatureFlags
, Option
);
3759 PRINT_BITS_INFO (BaseBoardFeatureFlagsTable
, FeatureFlags
);
3763 Display Base Board (Type 2) Board Type.
3765 @param[in] Type The key of the structure.
3766 @param[in] Option The optional information.
3769 DisplayBaseBoardBoardType (
3774 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE
), gShellDebug1HiiHandle
);
3775 PRINT_INFO_OPTION (Type
, Option
);
3776 PRINT_TABLE_ITEM (BaseBoardBoardTypeTable
, Type
);
3780 Display System Enclosure (Type 3) Enclosure Type.
3782 @param[in] Type The key of the structure.
3783 @param[in] Option The optional information.
3786 DisplaySystemEnclosureType (
3791 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE
), gShellDebug1HiiHandle
);
3792 PRINT_INFO_OPTION (Type
, Option
);
3794 // query table and print info
3796 PRINT_TABLE_ITEM (SystemEnclosureTypeTable
, Type
);
3798 if (BIT (Type
, 7) != 0) {
3799 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT
), gShellDebug1HiiHandle
);
3804 Display System Enclosure (Type 3) Enclosure Status.
3806 @param[in] Status The key of the structure.
3807 @param[in] Option The optional information.
3810 DisplaySystemEnclosureStatus (
3815 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS
), gShellDebug1HiiHandle
);
3816 PRINT_INFO_OPTION (Status
, Option
);
3817 PRINT_TABLE_ITEM (SystemEnclosureStatusTable
, Status
);
3821 Display System Enclosure (Type 3) Security Status.
3823 @param[in] Status The key of the structure.
3824 @param[in] Option The optional information.
3827 DisplaySESecurityStatus (
3832 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY
), gShellDebug1HiiHandle
);
3833 PRINT_INFO_OPTION (Status
, Option
);
3834 PRINT_TABLE_ITEM (SESecurityStatusTable
, Status
);
3838 Display Processor Information (Type 4) Type.
3840 @param[in] Type The key of the structure.
3841 @param[in] Option The optional information.
3844 DisplayProcessorType (
3849 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE
), gShellDebug1HiiHandle
);
3850 PRINT_INFO_OPTION (Type
, Option
);
3851 PRINT_TABLE_ITEM (ProcessorTypeTable
, Type
);
3855 Display Processor Information (Type 4) Upgrade.
3857 @param[in] Upgrade The key of the structure.
3858 @param[in] Option The optional information.
3861 DisplayProcessorUpgrade (
3866 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE
), gShellDebug1HiiHandle
);
3867 PRINT_INFO_OPTION (Upgrade
, Option
);
3868 PRINT_TABLE_ITEM (ProcessorUpgradeTable
, Upgrade
);
3872 Display Processor Information (Type 4) Characteristics.
3874 @param[in] Type The key of the structure.
3875 @param[in] Option The optional information.
3878 DisplayProcessorCharacteristics (
3883 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS
), gShellDebug1HiiHandle
);
3884 PRINT_INFO_OPTION (Type
, Option
);
3885 PRINT_BITS_INFO (ProcessorCharacteristicsTable
, Type
);
3889 Display Memory Controller Information (Type 5) method.
3891 @param[in] Method The key of the structure.
3892 @param[in] Option The optional information.
3895 DisplayMcErrorDetectMethod (
3900 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD
), gShellDebug1HiiHandle
);
3901 PRINT_INFO_OPTION (Method
, Option
);
3902 PRINT_TABLE_ITEM (McErrorDetectMethodTable
, Method
);
3906 Display Memory Controller Information (Type 5) Capability.
3908 @param[in] Capability The key of the structure.
3909 @param[in] Option The optional information.
3912 DisplayMcErrorCorrectCapability (
3913 IN UINT8 Capability
,
3917 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY
), gShellDebug1HiiHandle
);
3918 PRINT_INFO_OPTION (Capability
, Option
);
3919 PRINT_BITS_INFO (McErrorCorrectCapabilityTable
, Capability
);
3923 Display Memory Controller Information (Type 5) Support.
3925 @param[in] Support The key of the structure.
3926 @param[in] Option The optional information.
3929 DisplayMcInterleaveSupport (
3934 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT
), gShellDebug1HiiHandle
);
3935 PRINT_INFO_OPTION (Support
, Option
);
3936 PRINT_TABLE_ITEM (McInterleaveSupportTable
, Support
);
3940 Display Memory Controller Information (Type 5) speeds.
3942 @param[in] Speed The key of the structure.
3943 @param[in] Option The optional information.
3946 DisplayMcMemorySpeeds (
3951 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED
), gShellDebug1HiiHandle
);
3952 PRINT_INFO_OPTION (Speed
, Option
);
3953 PRINT_BITS_INFO (McMemorySpeedsTable
, Speed
);
3957 Display Memory Controller Information (Type 5) voltage.
3959 @param[in] Voltage The key of the structure.
3960 @param[in] Option The optional information.
3963 DisplayMemoryModuleVoltage (
3968 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES
), gShellDebug1HiiHandle
);
3969 PRINT_INFO_OPTION (Voltage
, Option
);
3970 PRINT_BITS_INFO (MemoryModuleVoltageTable
, Voltage
);
3974 Display Memory Module Information (Type 6) type.
3976 @param[in] Type The key of the structure.
3977 @param[in] Option The optional information.
3980 DisplayMmMemoryType (
3985 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE
), gShellDebug1HiiHandle
);
3986 PRINT_INFO_OPTION (Type
, Option
);
3987 PRINT_BITS_INFO (MmMemoryTypeTable
, Type
);
3991 Display Memory Module Information (Type 6) status.
3993 @param[in] Status The key of the structure.
3994 @param[in] Option The optional information.
3997 DisplayMmErrorStatus (
4002 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS
), gShellDebug1HiiHandle
);
4003 PRINT_INFO_OPTION (Status
, Option
);
4004 PRINT_BITS_INFO (MmErrorStatusTable
, Status
);
4008 Display Cache Information (Type 7) SRAM Type.
4010 @param[in] Type The key of the structure.
4011 @param[in] Option The optional information.
4014 DisplayCacheSRAMType (
4019 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE
), gShellDebug1HiiHandle
);
4020 PRINT_INFO_OPTION ((UINT8
)Type
, Option
);
4021 PRINT_BITS_INFO (CacheSRAMTypeTable
, (UINT8
)Type
);
4025 Display Cache Information (Type 7) correcting Type.
4027 @param[in] Type The key of the structure.
4028 @param[in] Option The optional information.
4031 DisplayCacheErrCorrectingType (
4036 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING
), gShellDebug1HiiHandle
);
4037 PRINT_INFO_OPTION (Type
, Option
);
4038 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable
, Type
);
4042 Display Cache Information (Type 7) Type.
4044 @param[in] Type The key of the structure.
4045 @param[in] Option The optional information.
4048 DisplayCacheSystemCacheType (
4053 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE
), gShellDebug1HiiHandle
);
4054 PRINT_INFO_OPTION (Type
, Option
);
4055 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable
, Type
);
4059 Display Cache Information (Type 7) Associativity.
4061 @param[in] Associativity The key of the structure.
4062 @param[in] Option The optional information.
4065 DisplayCacheAssociativity (
4066 IN UINT8 Associativity
,
4070 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY
), gShellDebug1HiiHandle
);
4071 PRINT_INFO_OPTION (Associativity
, Option
);
4072 PRINT_TABLE_ITEM (CacheAssociativityTable
, Associativity
);
4076 Display Port Connector Information (Type 8) type.
4078 @param[in] Type The key of the structure.
4079 @param[in] Option The optional information.
4082 DisplayPortConnectorType (
4087 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE
), gShellDebug1HiiHandle
);
4088 PRINT_INFO_OPTION (Type
, Option
);
4089 PRINT_TABLE_ITEM (PortConnectorTypeTable
, Type
);
4093 Display Port Connector Information (Type 8) port type.
4095 @param[in] Type The key of the structure.
4096 @param[in] Option The optional information.
4104 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE
), gShellDebug1HiiHandle
);
4105 PRINT_INFO_OPTION (Type
, Option
);
4106 PRINT_TABLE_ITEM (PortTypeTable
, Type
);
4110 Display System Slots (Type 9) slot type.
4112 @param[in] Type The key of the structure.
4113 @param[in] Option The optional information.
4116 DisplaySystemSlotType (
4121 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE
), gShellDebug1HiiHandle
);
4122 PRINT_INFO_OPTION (Type
, Option
);
4123 PRINT_TABLE_ITEM (SystemSlotTypeTable
, Type
);
4127 Display System Slots (Type 9) data bus width.
4129 @param[in] Width The key of the structure.
4130 @param[in] Option The optional information.
4133 DisplaySystemSlotDataBusWidth (
4138 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA
), gShellDebug1HiiHandle
);
4139 PRINT_INFO_OPTION (Width
, Option
);
4140 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable
, Width
);
4144 Display System Slots (Type 9) usage information.
4146 @param[in] Usage The key of the structure.
4147 @param[in] Option The optional information.
4150 DisplaySystemSlotCurrentUsage (
4155 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE
), gShellDebug1HiiHandle
);
4156 PRINT_INFO_OPTION (Usage
, Option
);
4157 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable
, Usage
);
4161 Display System Slots (Type 9) slot length.
4163 @param[in] Length The key of the structure.
4164 @param[in] Option The optional information.
4167 DisplaySystemSlotLength (
4172 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH
), gShellDebug1HiiHandle
);
4173 PRINT_INFO_OPTION (Length
, Option
);
4174 PRINT_TABLE_ITEM (SystemSlotLengthTable
, Length
);
4178 Display System Slots (Type 9) characteristics.
4180 @param[in] Chara1 The key of the structure.
4181 @param[in] Option The optional information.
4184 DisplaySlotCharacteristics1 (
4189 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS
), gShellDebug1HiiHandle
);
4190 PRINT_INFO_OPTION (Chara1
, Option
);
4191 PRINT_BITS_INFO (SlotCharacteristics1Table
, Chara1
);
4195 Display System Slots (Type 9) characteristics.
4197 @param[in] Chara2 The key of the structure.
4198 @param[in] Option The optional information.
4201 DisplaySlotCharacteristics2 (
4206 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2
), gShellDebug1HiiHandle
);
4207 PRINT_INFO_OPTION (Chara2
, Option
);
4208 PRINT_BITS_INFO (SlotCharacteristics2Table
, Chara2
);
4212 Display On Board Devices Information (Type 10) types.
4214 @param[in] Type The key of the structure.
4215 @param[in] Option The optional information.
4218 DisplayOnboardDeviceTypes (
4223 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4224 PRINT_INFO_OPTION (Type
, Option
);
4225 PRINT_TABLE_ITEM (OnboardDeviceTypesTable
, Type
);
4229 Display System Event Log (Type 15) types.
4231 @param[in] Type The key of the structure.
4232 @param[in] Option The optional information.
4240 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE
), gShellDebug1HiiHandle
);
4241 PRINT_INFO_OPTION (Type
, Option
);
4242 PRINT_TABLE_ITEM (SELTypesTable
, Type
);
4246 Display System Event Log (Type 15) format type.
4248 @param[in] Type The key of the structure.
4249 @param[in] Option The optional information.
4252 DisplaySELVarDataFormatType (
4257 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT
), gShellDebug1HiiHandle
);
4258 PRINT_INFO_OPTION (Type
, Option
);
4259 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable
, Type
);
4263 Display System Event Log (Type 15) dw1.
4265 @param[in] Key The key of the structure.
4266 @param[in] Option The optional information.
4269 DisplayPostResultsBitmapDw1 (
4274 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP
), gShellDebug1HiiHandle
);
4275 PRINT_INFO_OPTION (Key
, Option
);
4276 PRINT_BITS_INFO (PostResultsBitmapDw1Table
, Key
);
4280 Display System Event Log (Type 15) dw2.
4282 @param[in] Key The key of the structure.
4283 @param[in] Option The optional information.
4286 DisplayPostResultsBitmapDw2 (
4291 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD
), gShellDebug1HiiHandle
);
4292 PRINT_INFO_OPTION (Key
, Option
);
4293 PRINT_BITS_INFO (PostResultsBitmapDw2Table
, Key
);
4297 Display System Event Log (Type 15) type.
4299 @param[in] SMType The key of the structure.
4300 @param[in] Option The optional information.
4303 DisplaySELSysManagementTypes (
4310 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES
), gShellDebug1HiiHandle
);
4311 PRINT_INFO_OPTION (SMType
, Option
);
4314 // Deal with wide range Value
4316 if (SMType
>= 0x80000000) {
4317 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED
), gShellDebug1HiiHandle
);
4318 } else if (SMType
>= 0x00020000) {
4319 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4320 } else if (SMType
>= 0x00010000) {
4321 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE
), gShellDebug1HiiHandle
);
4322 } else if (SMType
>= 0x31) {
4323 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4326 // Deal with One byte data
4328 Temp
= (UINT8
)(SMType
& 0x3F);
4329 PRINT_TABLE_ITEM (SELSysManagementTypesTable
, Temp
);
4334 Display Physical Memory Array (Type 16) Location.
4336 @param[in] Location The key of the structure.
4337 @param[in] Option The optional information.
4340 DisplayPMALocation (
4345 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION
), gShellDebug1HiiHandle
);
4346 PRINT_INFO_OPTION (Location
, Option
);
4347 PRINT_TABLE_ITEM (PMALocationTable
, Location
);
4351 Display Physical Memory Array (Type 16) Use.
4353 @param[in] Use The key of the structure.
4354 @param[in] Option The optional information.
4362 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE
), gShellDebug1HiiHandle
);
4363 PRINT_INFO_OPTION (Use
, Option
);
4364 PRINT_TABLE_ITEM (PMAUseTable
, Use
);
4368 Display Physical Memory Array (Type 16) Types.
4370 @param[in] Type The key of the structure.
4371 @param[in] Option The optional information.
4374 DisplayPMAErrorCorrectionTypes (
4379 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR
), gShellDebug1HiiHandle
);
4380 PRINT_INFO_OPTION (Type
, Option
);
4381 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable
, Type
);
4385 Display Memory Device (Type 17) form factor.
4387 @param[in] FormFactor The key of the structure.
4388 @param[in] Option The optional information.
4391 DisplayMemoryDeviceFormFactor (
4392 IN UINT8 FormFactor
,
4396 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR
), gShellDebug1HiiHandle
);
4397 PRINT_INFO_OPTION (FormFactor
, Option
);
4398 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable
, FormFactor
);
4402 Display Memory Device (Type 17) type.
4404 @param[in] Type The key of the structure.
4405 @param[in] Option The optional information.
4408 DisplayMemoryDeviceType (
4413 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4414 PRINT_INFO_OPTION (Type
, Option
);
4415 PRINT_TABLE_ITEM (MemoryDeviceTypeTable
, Type
);
4419 Display Memory Device (Type 17) details.
4421 @param[in] Para The key of the structure.
4422 @param[in] Option The optional information.
4425 DisplayMemoryDeviceTypeDetail (
4430 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL
), gShellDebug1HiiHandle
);
4431 PRINT_INFO_OPTION (Para
, Option
);
4432 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable
, Para
);
4436 Display Memory Device (Type 17) memory technology.
4438 @param[in] Para The key of the structure.
4439 @param[in] Option The optional information.
4442 DisplayMemoryDeviceMemoryTechnology (
4447 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY
), gShellDebug1HiiHandle
);
4448 PRINT_INFO_OPTION (Para
, Option
);
4449 PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable
, Para
);
4453 Display Memory Device (Type 17) memory operating mode capability.
4455 @param[in] Para The key of the structure.
4456 @param[in] Option The optional information.
4459 DisplayMemoryDeviceMemoryOperatingModeCapability (
4464 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA
), gShellDebug1HiiHandle
);
4465 PRINT_INFO_OPTION (Para
, Option
);
4466 PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable
, Para
);
4470 Display 32-bit Memory Error Information (Type 18) type.
4472 @param[in] ErrorType The key of the structure.
4473 @param[in] Option The optional information.
4476 DisplayMemoryErrorType (
4481 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO
), gShellDebug1HiiHandle
);
4482 PRINT_INFO_OPTION (ErrorType
, Option
);
4483 PRINT_TABLE_ITEM (MemoryErrorTypeTable
, ErrorType
);
4487 Display 32-bit Memory Error Information (Type 18) error granularity.
4489 @param[in] Granularity The key of the structure.
4490 @param[in] Option The optional information.
4493 DisplayMemoryErrorGranularity (
4494 IN UINT8 Granularity
,
4498 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY
), gShellDebug1HiiHandle
);
4499 PRINT_INFO_OPTION (Granularity
, Option
);
4500 PRINT_TABLE_ITEM (MemoryErrorGranularityTable
, Granularity
);
4504 Display 32-bit Memory Error Information (Type 18) error information.
4506 @param[in] Operation The key of the structure.
4507 @param[in] Option The optional information.
4510 DisplayMemoryErrorOperation (
4515 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP
), gShellDebug1HiiHandle
);
4516 PRINT_INFO_OPTION (Operation
, Option
);
4517 PRINT_TABLE_ITEM (MemoryErrorOperationTable
, Operation
);
4521 Display Built-in Pointing Device (Type 21) type information.
4523 @param[in] Type The key of the structure.
4524 @param[in] Option The optional information.
4527 DisplayPointingDeviceType (
4532 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4533 PRINT_INFO_OPTION (Type
, Option
);
4534 PRINT_TABLE_ITEM (PointingDeviceTypeTable
, Type
);
4538 Display Built-in Pointing Device (Type 21) information.
4540 @param[in] Interface The key of the structure.
4541 @param[in] Option The optional information.
4544 DisplayPointingDeviceInterface (
4549 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE
), gShellDebug1HiiHandle
);
4550 PRINT_INFO_OPTION (Interface
, Option
);
4551 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable
, Interface
);
4555 Display Portable Battery (Type 22) information.
4557 @param[in] Key The key of the structure.
4558 @param[in] Option The optional information.
4561 DisplayPBDeviceChemistry (
4566 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM
), gShellDebug1HiiHandle
);
4567 PRINT_INFO_OPTION (Key
, Option
);
4568 PRINT_TABLE_ITEM (PBDeviceChemistryTable
, Key
);
4572 Display Voltage Probe (Type 26) location information.
4574 @param[in] Key The key of the structure.
4575 @param[in] Option The optional information.
4585 Loc
= (UINT8
)((Key
& 0xE0) >> 5);
4586 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4587 PRINT_INFO_OPTION (Loc
, Option
);
4588 PRINT_TABLE_ITEM (VPLocationTable
, Loc
);
4592 Display Voltage Probe (Type 26) status ype information.
4594 @param[in] Key The key of the structure.
4595 @param[in] Option The optional information.
4605 Status
= (UINT8
)(Key
& 0x1F);
4606 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS
), gShellDebug1HiiHandle
);
4607 PRINT_INFO_OPTION (Status
, Option
);
4608 PRINT_TABLE_ITEM (VPStatusTable
, Status
);
4612 Display Cooling (Type 27) status information.
4614 @param[in] Key The key of the structure.
4615 @param[in] Option The optional information.
4618 DisplayCoolingDeviceStatus (
4625 Status
= (UINT8
)((Key
& 0xE0) >> 5);
4626 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS
), gShellDebug1HiiHandle
);
4627 PRINT_INFO_OPTION (Status
, Option
);
4628 PRINT_TABLE_ITEM (CoolingDeviceStatusTable
, Status
);
4632 Display Cooling (Type 27) type information.
4634 @param[in] Key The key of the structure.
4635 @param[in] Option The optional information.
4638 DisplayCoolingDeviceType (
4645 Type
= (UINT8
)(Key
& 0x1F);
4646 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE
), gShellDebug1HiiHandle
);
4647 PRINT_INFO_OPTION (Type
, Option
);
4648 PRINT_TABLE_ITEM (CoolingDeviceTypeTable
, Type
);
4652 Display Temperature Probe (Type 28) status information.
4654 @param[in] Key The key of the structure.
4655 @param[in] Option The optional information.
4658 DisplayTemperatureProbeStatus (
4665 Status
= (UINT8
)((Key
& 0xE0) >> 5);
4666 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE
), gShellDebug1HiiHandle
);
4667 PRINT_INFO_OPTION (Status
, Option
);
4668 PRINT_TABLE_ITEM (TemperatureProbeStatusTable
, Status
);
4672 Display Temperature Probe (Type 28) location information.
4674 @param[in] Key The key of the structure.
4675 @param[in] Option The optional information.
4678 DisplayTemperatureProbeLoc (
4685 Loc
= (UINT8
)(Key
& 0x1F);
4686 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4687 PRINT_INFO_OPTION (Loc
, Option
);
4688 PRINT_TABLE_ITEM (TemperatureProbeLocTable
, Loc
);
4692 Display Electrical Current Probe (Type 29) status information.
4694 @param[in] Key The key of the structure.
4695 @param[in] Option The optional information.
4705 Status
= (UINT8
)((Key
& 0xE0) >> 5);
4706 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS
), gShellDebug1HiiHandle
);
4707 PRINT_INFO_OPTION (Status
, Option
);
4708 PRINT_TABLE_ITEM (ECPStatusTable
, Status
);
4712 Display Type 29 information.
4714 @param[in] Key The key of the structure.
4715 @param[in] Option The optional information.
4725 Loc
= (UINT8
)(Key
& 0x1F);
4726 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC
), gShellDebug1HiiHandle
);
4727 PRINT_INFO_OPTION (Loc
, Option
);
4728 PRINT_TABLE_ITEM (ECPLocTable
, Loc
);
4732 Display Management Device (Type 34) Type.
4734 @param[in] Key The key of the structure.
4735 @param[in] Option The optional information.
4743 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE
), gShellDebug1HiiHandle
);
4744 PRINT_INFO_OPTION (Key
, Option
);
4745 PRINT_TABLE_ITEM (MDTypeTable
, Key
);
4749 Display Management Device (Type 34) Address Type.
4751 @param[in] Key The key of the structure.
4752 @param[in] Option The optional information.
4755 DisplayMDAddressType (
4760 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE
), gShellDebug1HiiHandle
);
4761 PRINT_INFO_OPTION (Key
, Option
);
4762 PRINT_TABLE_ITEM (MDAddressTypeTable
, Key
);
4766 Display Memory Channel (Type 37) information.
4768 @param[in] Key The key of the structure.
4769 @param[in] Option The optional information.
4772 DisplayMemoryChannelType (
4777 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE
), gShellDebug1HiiHandle
);
4778 PRINT_INFO_OPTION (Key
, Option
);
4779 PRINT_TABLE_ITEM (MemoryChannelTypeTable
, Key
);
4783 Display IPMI Device Information (Type 38) information.
4785 @param[in] Key The key of the structure.
4786 @param[in] Option The optional information.
4789 DisplayIPMIDIBMCInterfaceType (
4794 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
4795 PRINT_INFO_OPTION (Key
, Option
);
4796 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable
, Key
);
4800 Display Management Controller Host Interface (Type 42) information.
4802 @param[in] Key The key of the structure.
4803 @param[in] Option The optional information.
4806 DisplayMCHostInterfaceType (
4811 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
4812 PRINT_INFO_OPTION (Key
, Option
);
4813 PRINT_TABLE_ITEM (MCHostInterfaceTypeTable
, Key
);
4817 Display Processor Architecture Type (Type 44).
4819 @param[in] Key The key of the structure.
4820 @param[in] Option The optional information.
4823 DisplayProcessorArchitectureType (
4828 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE
), gShellDebug1HiiHandle
);
4829 PRINT_INFO_OPTION (Key
, Option
);
4830 PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable
, Key
);
4834 Display the structure type information.
4836 @param[in] Key The key of the structure.
4837 @param[in] Option The optional information.
4840 DisplayStructureTypeInfo (
4848 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE
), gShellDebug1HiiHandle
);
4849 PRINT_INFO_OPTION (Key
, Option
);
4850 PRINT_TABLE_ITEM (StructureTypeInfoTable
, Key
);