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 - 2019, 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"
191 L
" Main Server Chassis"
195 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"
595 TABLE_ITEM ProcessorCharacteristicsTable
[] = {
614 L
" Execute Protection"
618 L
" Enhanced Virtualization"
622 L
" Power/Performance Control"
631 TABLE_ITEM McErrorDetectMethodTable
[] = {
666 TABLE_ITEM McErrorCorrectCapabilityTable
[] = {
681 L
"Single Bit Error Correcting"
685 L
"Double Bit Error Correcting"
693 TABLE_ITEM McInterleaveSupportTable
[] = {
704 L
"One Way Interleave"
708 L
"Two Way Interleave"
712 L
"Four Way Interleave"
716 L
"Eight Way Interleave"
720 L
"Sixteen Way Interleave"
724 TABLE_ITEM McMemorySpeedsTable
[] = {
747 TABLE_ITEM MemoryModuleVoltageTable
[] = {
762 TABLE_ITEM MmMemoryTypeTable
[] = {
809 TABLE_ITEM MmErrorStatusTable
[] = {
812 L
" Uncorrectable errors received"
816 L
" Correctable errors received"
820 L
" Error Status obtained from the event log"
824 TABLE_ITEM CacheSRAMTypeTable
[] = {
855 TABLE_ITEM CacheErrCorrectingTypeTable
[] = {
882 TABLE_ITEM CacheSystemCacheTypeTable
[] = {
905 TABLE_ITEM CacheAssociativityTable
[] = {
920 L
"2-way Set-Associative"
924 L
"4-way Set-Associative"
932 L
"8-way Set-Associative"
936 L
"16-way Set-Associative"
940 L
"12-way Set-Associative"
944 L
"24-way Set-Associative"
948 L
"32-way Set-Associative"
952 L
"48-way Set-Associative"
956 L
"64-way Set-Associative"
960 L
"20-way Set-Associative"
964 TABLE_ITEM PortConnectorTypeTable
[] = {
1047 L
"Circular DIN-8 male"
1051 L
"Circular DIN-8 female"
1063 L
"9 Pin Dual Inline (pin 10 cut)"
1067 L
"25 Pin Dual Inline (pin 26 cut)"
1071 L
"50 Pin Dual Inline"
1075 L
"68 Pin Dual Inline"
1079 L
"On Board Sound Input from CD-ROM"
1083 L
"Mini-Centronics Type-14"
1087 L
"Mini-Centronics Type-26"
1091 L
"Mini-jack (headphones)"
1103 L
"SAS/SATA Plug Receptacle"
1107 L
"USB Type-C Receptacle"
1135 TABLE_ITEM PortTypeTable
[] = {
1142 L
"Parallel Port XT/AT Compatible"
1146 L
"Parallel Port PS/2"
1150 L
"Parallel Port ECP"
1154 L
"Parallel Port EPP"
1158 L
"Parallel Port ECP/EPP"
1162 L
"Serial Port XT/AT Compatible"
1166 L
"Serial Port 16450 Compatible"
1170 L
"Serial Port 16550 Compatible"
1174 L
"Serial Port 16550A Compatible"
1206 L
"FireWire (IEEE P1394)"
1274 L
"Multi-Function Display Port (MFDP)"
1286 L
"8251 FIFO Compatible"
1294 TABLE_ITEM SystemSlotTypeTable
[] = {
1333 L
"Processor Card Slot"
1337 L
"Proprietary Memory Card Slot"
1341 L
"I/O Riser Card Slot"
1349 L
"PCI - 66MHz Capable"
1373 L
"M.2 Socket 1-DP (Mechanical Key A)"
1377 L
"M.2 Socket 1-SD (Mechanical Key E)"
1381 L
"M.2 Socket 2 (Mechanical Key B)"
1385 L
"M.2 Socket 3 (Mechanical Key M)"
1397 L
"MXM Type III (standard connector)"
1401 L
"MXM Type III (HE connector)"
1417 L
"PCI Express Gen 2 SFF-8639"
1421 L
"PCI Express Gen 3 SFF-8639"
1425 L
"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs"
1429 L
"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs"
1433 L
"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card"
1436 SlotTypeCXLFlexbus10
,
1485 L
"PCI Express Gen 2"
1489 L
"PCI Express Gen 2 X1"
1493 L
"PCI Express Gen 2 X2"
1497 L
"PCI Express Gen 2 X4"
1501 L
"PCI Express Gen 2 X8"
1505 L
"PCI Express Gen 2 X16"
1509 L
"PCI Express Gen 3"
1513 L
"PCI Express Gen 3 X1"
1517 L
"PCI Express Gen 3 X2"
1521 L
"PCI Express Gen 3 X4"
1525 L
"PCI Express Gen 3 X8"
1529 L
"PCI Express Gen 3 X16"
1532 SlotTypePciExpressGen4
,
1533 L
"PCI Express Gen 4"
1536 SlotTypePciExpressGen4X1
,
1537 L
"PCI Express Gen 4 X1"
1540 SlotTypePciExpressGen4X2
,
1541 L
"PCI Express Gen 4 X2"
1544 SlotTypePciExpressGen4X4
,
1545 L
"PCI Express Gen 4 X4"
1548 SlotTypePciExpressGen4X8
,
1549 L
"PCI Express Gen 4 X8"
1552 SlotTypePciExpressGen4X16
,
1553 L
"PCI Express Gen 4 X16"
1557 TABLE_ITEM SystemSlotDataBusWidthTable
[] = {
1616 TABLE_ITEM SystemSlotCurrentUsageTable
[] = {
1639 TABLE_ITEM SystemSlotLengthTable
[] = {
1658 TABLE_ITEM SlotCharacteristics1Table
[] = {
1661 L
" Characteristics Unknown"
1665 L
" Provides 5.0 Volts"
1669 L
" Provides 3.3 Volts"
1673 L
" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot."
1678 L
" PC Card slot supports PC Card-16"
1682 L
" PC Card slot supports CardBus"
1686 L
" PC Card slot supports Zoom Video "
1690 L
" PC Card slot supports Modem Ring Resume "
1694 TABLE_ITEM SlotCharacteristics2Table
[] = {
1697 L
" PCI slot supports Power Management Enable (PME#) signal"
1701 L
" Slot supports hot-plug devices"
1705 L
" PCI slot supports SMBus signal"
1709 L
" PCIe slot supports bifurcation"
1713 TABLE_ITEM OnboardDeviceTypesTable
[] = {
1756 TABLE_ITEM SELTypesTable
[] = {
1763 L
" Single-bit ECC memory error"
1767 L
" Multi-bit ECC memory error"
1771 L
" Parity memory error"
1779 L
" I/O Channel Check"
1787 L
" POST Memory Resize"
1795 L
" PCI Parity Error"
1799 L
" PCI System Error"
1807 L
" EISA FailSafe Timer time-out"
1811 L
" Correctable memory log disabled"
1815 L
" Logging disabled for a specific Event Type"
1823 L
" System Limit Exceeded"
1827 L
" Asynchronous hardware timer expired and issued a system reset"
1831 L
" System configuration information"
1835 L
" Hard-disk information"
1839 L
" System reconfigured"
1843 L
" Uncorrectable CPU-complex error"
1847 L
" Log Area Reset/Cleared"
1855 L
" Unused by SMBIOS specification"
1859 L
" System and OEM specified"
1867 TABLE_ITEM SELVarDataFormatTypeTable
[] = {
1882 L
" Multiple-Event Handle "
1886 L
" POST Results Bitmap "
1893 L
" System Management Type"
1900 L
" Multiple-Event System Management Type "
1912 TABLE_ITEM PostResultsBitmapDw1Table
[] = {
1915 L
" Channel 2 Timer error "
1919 L
" Master PIC (8259 #1) error "
1923 L
" Slave PIC (8259 #2) error "
1927 L
" CMOS Battery Failure "
1931 L
" CMOS System Options Not Set "
1935 L
" CMOS Checksum Error "
1939 L
" CMOS Configuration Error "
1943 L
" Mouse and Keyboard Swapped "
1947 L
" Keyboard Locked "
1951 L
" Keyboard Not Functional "
1955 L
" Keyboard Controller Not Functional "
1959 L
" CMOS Memory Size Different "
1963 L
" Memory Decreased in Size "
1967 L
" Cache Memory Error "
1971 L
" Floppy Drive 0 Error "
1975 L
" Floppy Drive 1 Error "
1979 L
" Floppy Controller Failure "
1983 L
" Number of ATA Drives Reduced Error "
1987 L
" CMOS Time Not Set "
1991 L
" DDC Monitor Configuration Change "
1995 L
" Reserved, set to 0 "
1999 L
" Reserved, set to 0 "
2003 L
" Reserved, set to 0 "
2007 L
" Reserved, set to 0 "
2011 L
" Second DWORD has valid data "
2015 L
" Reserved, set to 0 "
2019 L
" Reserved, set to 0 "
2023 L
" Reserved, set to 0 "
2027 L
" Normally 0; available for OEM assignment "
2031 L
" Normally 0; available for OEM assignment "
2035 L
" Normally 0; available for OEM assignment "
2039 L
" Normally 0; available for OEM assignment "
2043 TABLE_ITEM PostResultsBitmapDw2Table
[] = {
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 L
" Normally 0; available for OEM assignment "
2062 L
" Normally 0; available for OEM assignment "
2066 L
" Normally 0; available for OEM assignment "
2070 L
" Normally 0; available for OEM assignment "
2074 L
" PCI Memory Conflict "
2078 L
" PCI I/O Conflict "
2082 L
" PCI IRQ Conflict "
2086 L
" PNP Memory Conflict "
2090 L
" PNP 32 bit Memory Conflict "
2094 L
" PNP I/O Conflict "
2098 L
" PNP IRQ Conflict "
2102 L
" PNP DMA Conflict "
2106 L
" Bad PNP Serial ID Checksum "
2110 L
" Bad PNP Resource Data Checksum "
2114 L
" Static Resource Conflict "
2118 L
" NVRAM Checksum Error, NVRAM Cleared "
2122 L
" System Board Device Resource Conflict "
2126 L
" Primary Output Device Not Found "
2130 L
" Primary Input Device Not Found "
2134 L
" Primary Boot Device Not Found "
2138 L
" NVRAM Cleared By Jumper "
2142 L
" NVRAM Data Invalid, NVRAM Cleared "
2146 L
" FDC Resource Conflict "
2150 L
" Primary ATA Controller Resource Conflict "
2154 L
" Secondary ATA Controller Resource Conflict "
2158 L
" Parallel Port Resource Conflict "
2162 L
" Serial Port 1 Resource Conflict "
2166 L
" Serial Port 2 Resource Conflict "
2170 L
" Audio Resource Conflict "
2174 TABLE_ITEM SELSysManagementTypesTable
[] = {
2177 L
" +2.5V Out of range, #2 "
2181 L
" +3.3V Out of range "
2185 L
" +5V Out of range "
2189 L
" -5V Out of range "
2193 L
" +12V Out of range "
2197 L
" -12V Out of range "
2201 L
" Reserved for future out-of-range voltage levels "
2205 L
" System board temperature out of range "
2209 L
" Processor #1 temperature out of range "
2213 L
" Processor #2 temperature out of range "
2217 L
" Processor #3 temperature out of range "
2221 L
" Processor #4 temperature out of range "
2225 L
" Reserved for future out-of-range temperatures"
2229 L
" Fan n (n = 0 to 7) Out of range "
2233 L
" Reserved for future assignment via this specification "
2237 L
" Chassis secure switch activated "
2241 TABLE_ITEM PMALocationTable
[] = {
2252 L
" System board or motherboard"
2260 L
" EISA add-on card"
2272 L
" PCMCIA add-on card"
2276 L
" Proprietary add-on card"
2284 L
" PC-98/C20 add-on card"
2288 L
" PC-98/C24 add-on card"
2292 L
" PC-98/E add-on card"
2296 L
" PC-98/Local bus add-on card"
2299 MemoryArrayLocationCXLFlexbus10AddonCard
,
2300 L
" CXL Flexbus 1.0 add-on card"
2304 TABLE_ITEM PMAUseTable
[] = {
2327 L
" Non-volatile RAM"
2335 TABLE_ITEM PMAErrorCorrectionTypesTable
[] = {
2366 TABLE_ITEM MemoryDeviceFormFactorTable
[] = {
2397 L
" Proprietary Card"
2428 MemoryFormFactorDie
,
2433 TABLE_ITEM MemoryDeviceTypeTable
[] = {
2544 L
" Logical non-volatile device"
2548 L
" HBM (High Bandwidth Memory)"
2552 L
" HBM2 (High Bandwidth Memory Generation 2)"
2564 TABLE_ITEM MemoryDeviceTypeDetailTable
[] = {
2615 L
" Registered(Buffered)"
2619 L
" Unbuffered(Unregistered)"
2623 TABLE_ITEM MemoryDeviceMemoryTechnologyTable
[] = {
2649 MemoryTechnologyIntelPersistentMemory
,
2650 L
" Intel Optane DC Persistent Memory"
2654 TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable
[] = {
2669 L
" Byte-accessible persistent memory"
2673 L
" Block-accessible persistent memory"
2678 TABLE_ITEM MemoryErrorTypeTable
[] = {
2701 L
" Single-bit error"
2705 L
" Double-bit error"
2725 L
" Corrected single-bit error"
2733 L
" Uncorrectable error"
2737 TABLE_ITEM MemoryErrorGranularityTable
[] = {
2752 L
" Memory partition level"
2756 TABLE_ITEM MemoryErrorOperationTable
[] = {
2779 TABLE_ITEM PointingDeviceTypeTable
[] = {
2810 TABLE_ITEM PointingDeviceInterfaceTable
[] = {
2841 L
" ADB(Apple Desktop Bus"
2849 L
" Bus mouse mirco-DIN"
2857 TABLE_ITEM PBDeviceChemistryTable
[] = {
2876 L
" Nickel metal hydride "
2888 L
" Lithium Polymer "
2892 TABLE_ITEM VPLocationTable
[] = {
2915 L
" Non-recoverable "
2919 TABLE_ITEM VPStatusTable
[] = {
2942 L
" System Management Module "
2954 L
" Processor Module "
2966 TABLE_ITEM CoolingDeviceStatusTable
[] = {
2989 L
" Non-recoverable "
2993 TABLE_ITEM CoolingDeviceTypeTable
[] = {
3008 L
" Centrifugal Blower "
3020 L
" Power Supply Fan "
3028 L
" Integrated Refrigeration "
3036 L
" Passive Cooling "
3040 TABLE_ITEM TemperatureProbeStatusTable
[] = {
3063 L
" Non-recoverable "
3067 TABLE_ITEM TemperatureProbeLocTable
[] = {
3090 L
" System Management Module "
3102 L
" Processor Module "
3114 TABLE_ITEM ECPStatusTable
[] = {
3137 L
" Non-recoverable "
3141 TABLE_ITEM ECPLocTable
[] = {
3164 L
" System Management Module "
3176 L
" Processor Module "
3188 TABLE_ITEM MDTypeTable
[] = {
3199 L
" National Semiconductor LM75 "
3203 L
" National Semiconductor LM78 "
3207 L
" National Semiconductor LM79 "
3211 L
" National Semiconductor LM80 "
3215 L
" National Semiconductor LM81 "
3219 L
" Analog Devices ADM9240 "
3223 L
" Dallas Semiconductor DS1780 "
3231 L
" Genesys GL518SM "
3235 L
" Winbond W83781D "
3239 L
" Holtek HT82H791 "
3243 TABLE_ITEM MDAddressTypeTable
[] = {
3266 TABLE_ITEM MemoryChannelTypeTable
[] = {
3285 TABLE_ITEM IPMIDIBMCInterfaceTypeTable
[] = {
3292 L
" KCS: Keyboard Controller Style "
3296 L
" SMIC: Server Management Interface Chip "
3300 L
" BT: Block Transfer "
3304 L
" SSIF: SMBus System Interface "
3308 L
" Reserved for future assignment by this specification "
3312 TABLE_ITEM MCHostInterfaceTypeTable
[] = {
3315 L
" MCTP Host Interface "
3319 L
" Network Host Interface "
3327 TABLE_ITEM ProcessorArchitectureTypesTable
[] = {
3338 L
" x64 (x86-64, intel64, AMD64, EM64T) "
3342 L
" Intel Itanium architecture "
3346 L
" 32-bit ARM (Aarch32) "
3350 L
" 64-bit ARM (Aarch64) "
3354 L
" 32-bit RISC-V (RV32) "
3358 L
" 64-bit RISC-V (RV64) "
3362 L
" 128-bit RISC-V (RV128) "
3366 TABLE_ITEM StructureTypeInfoTable
[] = {
3369 L
" BIOS Information"
3373 L
" System Information"
3377 L
" Base Board Information"
3381 L
" System Enclosure"
3385 L
" Processor Information"
3389 L
" Memory Controller Information "
3393 L
" Memory Module Information "
3397 L
" Cache Information "
3401 L
" Port Connector Information "
3409 L
" On Board Devices Information "
3417 L
" System Configuration Options "
3421 L
" BIOS Language Information "
3425 L
" Group Associations "
3429 L
" System Event Log "
3433 L
" Physical Memory Array "
3441 L
" 32-bit Memory Error Information "
3445 L
" Memory Array Mapped Address "
3449 L
" Memory Device Mapped Address "
3453 L
" Built-in Pointing Device "
3457 L
" Portable Battery "
3465 L
" Hardware Security "
3469 L
" System Power Controls "
3481 L
" Temperature Probe "
3485 L
" Electrical Current Probe "
3489 L
" Out-of-Band Remote Access "
3493 L
" Boot Integrity Services (BIS) Entry Point"
3497 L
" System Boot Information "
3501 L
" 64-bit Memory Error Information "
3505 L
" Management Device "
3509 L
" Management Device Component "
3513 L
" Management Device Threshold Data "
3521 L
" IPMI Device Information "
3525 L
" System Power Supply"
3529 L
" Additional Information"
3533 L
" Onboard Devices Extended Information"
3537 L
" Management Controller Host Interface"
3545 L
" Processor Additional Information"
3559 Given a table and a Key, return the responding info.
3562 Table[Index].Key is change from UINT8 to UINT16,
3563 in order to deal with "0xaa - 0xbb".
3566 DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)
3569 Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.
3570 Then all the Key Value between Low and High gets the same string
3573 @param[in] Table The begin address of table.
3574 @param[in] Number The number of table items.
3575 @param[in] Key The query Key.
3576 @param[in, out] Info Input as empty buffer; output as data buffer.
3577 @param[in] InfoLen The max number of characters for Info.
3579 @return the found Key and Info is valid.
3580 @retval QUERY_TABLE_UNFOUND and Info should be NULL.
3584 IN TABLE_ITEM
*Table
,
3587 IN OUT CHAR16
*Info
,
3593 // High byte and Low byte of word
3598 for (Index
= 0; Index
< Number
; Index
++) {
3599 High
= (UINT8
) (Table
[Index
].Key
>> 8);
3600 Low
= (UINT8
) (Table
[Index
].Key
& 0x00FF);
3603 // Check if Key is in the range
3604 // or if Key == Value in the table
3606 if ((High
> Low
&& Key
>= Low
&& Key
<= High
)
3607 || (Table
[Index
].Key
== Key
)) {
3608 StrnCpyS (Info
, InfoLen
, Table
[Index
].Info
, InfoLen
- 1);
3609 StrnCatS (Info
, InfoLen
, L
"\n", InfoLen
- 1 - StrLen(Info
));
3614 StrCpyS (Info
, InfoLen
, L
"Undefined Value\n");
3615 return QUERY_TABLE_UNFOUND
;
3619 Given a table of bit info and a Key, return the responding info to the Key.
3621 @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
3622 @param[in] Number Number of table items.
3623 @param[in] Bits The Key of query the bit map information.
3627 IN TABLE_ITEM
*Table
,
3633 // Get certain bit of 'Value':
3635 #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
3637 // Clear certain bit of 'Value':
3639 #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
3648 // query the table and print information
3650 for (Index
= 0; Index
< Number
; Index
++) {
3651 if (BIT (Value
, Table
[Index
].Key
) != 0) {
3654 // If it is not first info, print the separator first.
3658 Print (Table
[Index
].Info
);
3662 // clear the bit, for reserved bits test
3664 CLR_BIT (Value
, Table
[Index
].Key
);
3669 // There is no any info if FirstInfo is still TRUE.
3672 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO
), gShellDebug1HiiHandle
);
3676 ShellPrintHiiEx(-1,-1,NULL
,
3677 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET
),
3678 gShellDebug1HiiHandle
,
3686 // //////////////////////////////////////////////////////////////////
3688 // Following uses QueryTable functions to simplify the coding.
3689 // QueryTable(), PrintBitsInfo()
3692 #define PRINT_TABLE_ITEM(Table, Key) \
3696 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3697 ZeroMem (Info, sizeof (Info)); \
3698 QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
3702 #define PRINT_BITS_INFO(Table, bits) \
3705 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3706 PrintBitsInfo (Table, Num, (UINT32) bits); \
3710 Display System Information (Type 1) Type.
3712 @param[in] Type The key of the structure.
3713 @param[in] Option The optional information.
3716 DisplaySystemWakeupType (
3721 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE
), gShellDebug1HiiHandle
);
3722 PRINT_INFO_OPTION (Type
, Option
);
3723 PRINT_TABLE_ITEM (SystemWakeupTypeTable
, Type
);
3727 Display Base Board (Type 2) Feature Flags.
3729 @param[in] FeatureFlags The key of the structure.
3730 @param[in] Option The optional information.
3733 DisplayBaseBoardFeatureFlags (
3734 IN UINT8 FeatureFlags
,
3738 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS
), gShellDebug1HiiHandle
);
3739 PRINT_INFO_OPTION (FeatureFlags
, Option
);
3740 PRINT_BITS_INFO (BaseBoardFeatureFlagsTable
, FeatureFlags
);
3744 Display Base Board (Type 2) Board Type.
3746 @param[in] Type The key of the structure.
3747 @param[in] Option The optional information.
3750 DisplayBaseBoardBoardType(
3755 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE
), gShellDebug1HiiHandle
);
3756 PRINT_INFO_OPTION (Type
, Option
);
3757 PRINT_TABLE_ITEM (BaseBoardBoardTypeTable
, Type
);
3761 Display System Enclosure (Type 3) Enclosure Type.
3763 @param[in] Type The key of the structure.
3764 @param[in] Option The optional information.
3767 DisplaySystemEnclosureType (
3772 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE
), gShellDebug1HiiHandle
);
3773 PRINT_INFO_OPTION (Type
, Option
);
3775 // query table and print info
3777 PRINT_TABLE_ITEM (SystemEnclosureTypeTable
, Type
);
3779 if (BIT (Type
, 7) != 0) {
3780 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT
), gShellDebug1HiiHandle
);
3785 Display System Enclosure (Type 3) Enclosure Status.
3787 @param[in] Status The key of the structure.
3788 @param[in] Option The optional information.
3791 DisplaySystemEnclosureStatus (
3796 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS
), gShellDebug1HiiHandle
);
3797 PRINT_INFO_OPTION (Status
, Option
);
3798 PRINT_TABLE_ITEM (SystemEnclosureStatusTable
, Status
);
3802 Display System Enclosure (Type 3) Security Status.
3804 @param[in] Status The key of the structure.
3805 @param[in] Option The optional information.
3808 DisplaySESecurityStatus (
3813 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY
), gShellDebug1HiiHandle
);
3814 PRINT_INFO_OPTION (Status
, Option
);
3815 PRINT_TABLE_ITEM (SESecurityStatusTable
, Status
);
3819 Display Processor Information (Type 4) Type.
3821 @param[in] Type The key of the structure.
3822 @param[in] Option The optional information.
3825 DisplayProcessorType (
3830 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE
), gShellDebug1HiiHandle
);
3831 PRINT_INFO_OPTION (Type
, Option
);
3832 PRINT_TABLE_ITEM (ProcessorTypeTable
, Type
);
3836 Display Processor Information (Type 4) Upgrade.
3838 @param[in] Upgrade The key of the structure.
3839 @param[in] Option The optional information.
3842 DisplayProcessorUpgrade (
3847 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE
), gShellDebug1HiiHandle
);
3848 PRINT_INFO_OPTION (Upgrade
, Option
);
3849 PRINT_TABLE_ITEM (ProcessorUpgradeTable
, Upgrade
);
3853 Display Processor Information (Type 4) Characteristics.
3855 @param[in] Type The key of the structure.
3856 @param[in] Option The optional information.
3859 DisplayProcessorCharacteristics (
3864 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS
), gShellDebug1HiiHandle
);
3865 PRINT_INFO_OPTION (Type
, Option
);
3866 PRINT_BITS_INFO (ProcessorCharacteristicsTable
, Type
);
3870 Display Memory Controller Information (Type 5) method.
3872 @param[in] Method The key of the structure.
3873 @param[in] Option The optional information.
3876 DisplayMcErrorDetectMethod (
3881 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD
), gShellDebug1HiiHandle
);
3882 PRINT_INFO_OPTION (Method
, Option
);
3883 PRINT_TABLE_ITEM (McErrorDetectMethodTable
, Method
);
3887 Display Memory Controller Information (Type 5) Capability.
3889 @param[in] Capability The key of the structure.
3890 @param[in] Option The optional information.
3893 DisplayMcErrorCorrectCapability (
3894 IN UINT8 Capability
,
3898 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY
), gShellDebug1HiiHandle
);
3899 PRINT_INFO_OPTION (Capability
, Option
);
3900 PRINT_BITS_INFO (McErrorCorrectCapabilityTable
, Capability
);
3904 Display Memory Controller Information (Type 5) Support.
3906 @param[in] Support The key of the structure.
3907 @param[in] Option The optional information.
3910 DisplayMcInterleaveSupport (
3915 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT
), gShellDebug1HiiHandle
);
3916 PRINT_INFO_OPTION (Support
, Option
);
3917 PRINT_TABLE_ITEM (McInterleaveSupportTable
, Support
);
3921 Display Memory Controller Information (Type 5) speeds.
3923 @param[in] Speed The key of the structure.
3924 @param[in] Option The optional information.
3927 DisplayMcMemorySpeeds (
3932 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED
), gShellDebug1HiiHandle
);
3933 PRINT_INFO_OPTION (Speed
, Option
);
3934 PRINT_BITS_INFO (McMemorySpeedsTable
, Speed
);
3938 Display Memory Controller Information (Type 5) voltage.
3940 @param[in] Voltage The key of the structure.
3941 @param[in] Option The optional information.
3944 DisplayMemoryModuleVoltage (
3949 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES
), gShellDebug1HiiHandle
);
3950 PRINT_INFO_OPTION (Voltage
, Option
);
3951 PRINT_BITS_INFO (MemoryModuleVoltageTable
, Voltage
);
3955 Display Memory Module Information (Type 6) type.
3957 @param[in] Type The key of the structure.
3958 @param[in] Option The optional information.
3961 DisplayMmMemoryType (
3966 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE
), gShellDebug1HiiHandle
);
3967 PRINT_INFO_OPTION (Type
, Option
);
3968 PRINT_BITS_INFO (MmMemoryTypeTable
, Type
);
3972 Display Memory Module Information (Type 6) status.
3974 @param[in] Status The key of the structure.
3975 @param[in] Option The optional information.
3978 DisplayMmErrorStatus (
3983 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS
), gShellDebug1HiiHandle
);
3984 PRINT_INFO_OPTION (Status
, Option
);
3985 PRINT_BITS_INFO (MmErrorStatusTable
, Status
);
3989 Display Cache Information (Type 7) SRAM Type.
3991 @param[in] Type The key of the structure.
3992 @param[in] Option The optional information.
3995 DisplayCacheSRAMType (
4000 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE
), gShellDebug1HiiHandle
);
4001 PRINT_INFO_OPTION ((UINT8
) Type
, Option
);
4002 PRINT_BITS_INFO (CacheSRAMTypeTable
, (UINT8
) Type
);
4006 Display Cache Information (Type 7) correcting Type.
4008 @param[in] Type The key of the structure.
4009 @param[in] Option The optional information.
4012 DisplayCacheErrCorrectingType (
4017 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING
), gShellDebug1HiiHandle
);
4018 PRINT_INFO_OPTION (Type
, Option
);
4019 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable
, Type
);
4023 Display Cache Information (Type 7) Type.
4025 @param[in] Type The key of the structure.
4026 @param[in] Option The optional information.
4029 DisplayCacheSystemCacheType (
4034 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE
), gShellDebug1HiiHandle
);
4035 PRINT_INFO_OPTION (Type
, Option
);
4036 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable
, Type
);
4040 Display Cache Information (Type 7) Associativity.
4042 @param[in] Associativity The key of the structure.
4043 @param[in] Option The optional information.
4046 DisplayCacheAssociativity (
4047 IN UINT8 Associativity
,
4051 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY
), gShellDebug1HiiHandle
);
4052 PRINT_INFO_OPTION (Associativity
, Option
);
4053 PRINT_TABLE_ITEM (CacheAssociativityTable
, Associativity
);
4057 Display Port Connector Information (Type 8) type.
4059 @param[in] Type The key of the structure.
4060 @param[in] Option The optional information.
4063 DisplayPortConnectorType (
4068 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE
), gShellDebug1HiiHandle
);
4069 PRINT_INFO_OPTION (Type
, Option
);
4070 PRINT_TABLE_ITEM (PortConnectorTypeTable
, Type
);
4074 Display Port Connector Information (Type 8) port type.
4076 @param[in] Type The key of the structure.
4077 @param[in] Option The optional information.
4085 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE
), gShellDebug1HiiHandle
);
4086 PRINT_INFO_OPTION (Type
, Option
);
4087 PRINT_TABLE_ITEM (PortTypeTable
, Type
);
4091 Display System Slots (Type 9) slot type.
4093 @param[in] Type The key of the structure.
4094 @param[in] Option The optional information.
4097 DisplaySystemSlotType (
4102 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE
), gShellDebug1HiiHandle
);
4103 PRINT_INFO_OPTION (Type
, Option
);
4104 PRINT_TABLE_ITEM (SystemSlotTypeTable
, Type
);
4108 Display System Slots (Type 9) data bus width.
4110 @param[in] Width The key of the structure.
4111 @param[in] Option The optional information.
4114 DisplaySystemSlotDataBusWidth (
4119 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA
), gShellDebug1HiiHandle
);
4120 PRINT_INFO_OPTION (Width
, Option
);
4121 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable
, Width
);
4125 Display System Slots (Type 9) usage information.
4127 @param[in] Usage The key of the structure.
4128 @param[in] Option The optional information.
4131 DisplaySystemSlotCurrentUsage (
4136 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE
), gShellDebug1HiiHandle
);
4137 PRINT_INFO_OPTION (Usage
, Option
);
4138 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable
, Usage
);
4142 Display System Slots (Type 9) slot length.
4144 @param[in] Length The key of the structure.
4145 @param[in] Option The optional information.
4148 DisplaySystemSlotLength (
4153 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH
), gShellDebug1HiiHandle
);
4154 PRINT_INFO_OPTION (Length
, Option
);
4155 PRINT_TABLE_ITEM (SystemSlotLengthTable
, Length
);
4159 Display System Slots (Type 9) characteristics.
4161 @param[in] Chara1 The key of the structure.
4162 @param[in] Option The optional information.
4165 DisplaySlotCharacteristics1 (
4170 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS
), gShellDebug1HiiHandle
);
4171 PRINT_INFO_OPTION (Chara1
, Option
);
4172 PRINT_BITS_INFO (SlotCharacteristics1Table
, Chara1
);
4176 Display System Slots (Type 9) characteristics.
4178 @param[in] Chara2 The key of the structure.
4179 @param[in] Option The optional information.
4182 DisplaySlotCharacteristics2 (
4187 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2
), gShellDebug1HiiHandle
);
4188 PRINT_INFO_OPTION (Chara2
, Option
);
4189 PRINT_BITS_INFO (SlotCharacteristics2Table
, Chara2
);
4193 Display On Board Devices Information (Type 10) types.
4195 @param[in] Type The key of the structure.
4196 @param[in] Option The optional information.
4199 DisplayOnboardDeviceTypes (
4204 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4205 PRINT_INFO_OPTION (Type
, Option
);
4206 PRINT_TABLE_ITEM (OnboardDeviceTypesTable
, Type
);
4210 Display System Event Log (Type 15) types.
4212 @param[in] Type The key of the structure.
4213 @param[in] Option The optional information.
4221 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE
), gShellDebug1HiiHandle
);
4222 PRINT_INFO_OPTION (Type
, Option
);
4223 PRINT_TABLE_ITEM (SELTypesTable
, Type
);
4227 Display System Event Log (Type 15) format type.
4229 @param[in] Type The key of the structure.
4230 @param[in] Option The optional information.
4233 DisplaySELVarDataFormatType (
4238 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT
), gShellDebug1HiiHandle
);
4239 PRINT_INFO_OPTION (Type
, Option
);
4240 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable
, Type
);
4244 Display System Event Log (Type 15) dw1.
4246 @param[in] Key The key of the structure.
4247 @param[in] Option The optional information.
4250 DisplayPostResultsBitmapDw1 (
4255 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP
), gShellDebug1HiiHandle
);
4256 PRINT_INFO_OPTION (Key
, Option
);
4257 PRINT_BITS_INFO (PostResultsBitmapDw1Table
, Key
);
4261 Display System Event Log (Type 15) dw2.
4263 @param[in] Key The key of the structure.
4264 @param[in] Option The optional information.
4267 DisplayPostResultsBitmapDw2 (
4272 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD
), gShellDebug1HiiHandle
);
4273 PRINT_INFO_OPTION (Key
, Option
);
4274 PRINT_BITS_INFO (PostResultsBitmapDw2Table
, Key
);
4278 Display System Event Log (Type 15) type.
4280 @param[in] SMType The key of the structure.
4281 @param[in] Option The optional information.
4284 DisplaySELSysManagementTypes (
4291 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES
), gShellDebug1HiiHandle
);
4292 PRINT_INFO_OPTION (SMType
, Option
);
4295 // Deal with wide range Value
4297 if (SMType
>= 0x80000000) {
4298 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED
), gShellDebug1HiiHandle
);
4299 } else if (SMType
>= 0x00020000) {
4300 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4301 } else if (SMType
>= 0x00010000) {
4302 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE
), gShellDebug1HiiHandle
);
4303 } else if (SMType
>= 0x31) {
4304 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4307 // Deal with One byte data
4309 Temp
= (UINT8
) (SMType
& 0x3F);
4310 PRINT_TABLE_ITEM (SELSysManagementTypesTable
, Temp
);
4315 Display Physical Memory Array (Type 16) Location.
4317 @param[in] Location The key of the structure.
4318 @param[in] Option The optional information.
4321 DisplayPMALocation (
4326 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION
), gShellDebug1HiiHandle
);
4327 PRINT_INFO_OPTION (Location
, Option
);
4328 PRINT_TABLE_ITEM (PMALocationTable
, Location
);
4332 Display Physical Memory Array (Type 16) Use.
4334 @param[in] Use The key of the structure.
4335 @param[in] Option The optional information.
4343 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE
), gShellDebug1HiiHandle
);
4344 PRINT_INFO_OPTION (Use
, Option
);
4345 PRINT_TABLE_ITEM (PMAUseTable
, Use
);
4349 Display Physical Memory Array (Type 16) Types.
4351 @param[in] Type The key of the structure.
4352 @param[in] Option The optional information.
4355 DisplayPMAErrorCorrectionTypes (
4360 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR
), gShellDebug1HiiHandle
);
4361 PRINT_INFO_OPTION (Type
, Option
);
4362 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable
, Type
);
4366 Display Memory Device (Type 17) form factor.
4368 @param[in] FormFactor The key of the structure.
4369 @param[in] Option The optional information.
4372 DisplayMemoryDeviceFormFactor (
4373 IN UINT8 FormFactor
,
4377 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR
), gShellDebug1HiiHandle
);
4378 PRINT_INFO_OPTION (FormFactor
, Option
);
4379 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable
, FormFactor
);
4383 Display Memory Device (Type 17) type.
4385 @param[in] Type The key of the structure.
4386 @param[in] Option The optional information.
4389 DisplayMemoryDeviceType (
4394 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4395 PRINT_INFO_OPTION (Type
, Option
);
4396 PRINT_TABLE_ITEM (MemoryDeviceTypeTable
, Type
);
4400 Display Memory Device (Type 17) details.
4402 @param[in] Para The key of the structure.
4403 @param[in] Option The optional information.
4406 DisplayMemoryDeviceTypeDetail (
4411 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL
), gShellDebug1HiiHandle
);
4412 PRINT_INFO_OPTION (Para
, Option
);
4413 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable
, Para
);
4417 Display Memory Device (Type 17) memory technology.
4419 @param[in] Para The key of the structure.
4420 @param[in] Option The optional information.
4423 DisplayMemoryDeviceMemoryTechnology (
4428 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY
), gShellDebug1HiiHandle
);
4429 PRINT_INFO_OPTION (Para
, Option
);
4430 PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable
, Para
);
4434 Display Memory Device (Type 17) memory operating mode capability.
4436 @param[in] Para The key of the structure.
4437 @param[in] Option The optional information.
4440 DisplayMemoryDeviceMemoryOperatingModeCapability (
4445 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA
), gShellDebug1HiiHandle
);
4446 PRINT_INFO_OPTION (Para
, Option
);
4447 PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable
, Para
);
4451 Display 32-bit Memory Error Information (Type 18) type.
4453 @param[in] ErrorType The key of the structure.
4454 @param[in] Option The optional information.
4457 DisplayMemoryErrorType (
4462 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO
), gShellDebug1HiiHandle
);
4463 PRINT_INFO_OPTION (ErrorType
, Option
);
4464 PRINT_TABLE_ITEM (MemoryErrorTypeTable
, ErrorType
);
4468 Display 32-bit Memory Error Information (Type 18) error granularity.
4470 @param[in] Granularity The key of the structure.
4471 @param[in] Option The optional information.
4474 DisplayMemoryErrorGranularity (
4475 IN UINT8 Granularity
,
4479 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY
), gShellDebug1HiiHandle
);
4480 PRINT_INFO_OPTION (Granularity
, Option
);
4481 PRINT_TABLE_ITEM (MemoryErrorGranularityTable
, Granularity
);
4485 Display 32-bit Memory Error Information (Type 18) error information.
4487 @param[in] Operation The key of the structure.
4488 @param[in] Option The optional information.
4491 DisplayMemoryErrorOperation (
4496 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP
), gShellDebug1HiiHandle
);
4497 PRINT_INFO_OPTION (Operation
, Option
);
4498 PRINT_TABLE_ITEM (MemoryErrorOperationTable
, Operation
);
4502 Display Built-in Pointing Device (Type 21) type information.
4504 @param[in] Type The key of the structure.
4505 @param[in] Option The optional information.
4508 DisplayPointingDeviceType (
4513 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4514 PRINT_INFO_OPTION (Type
, Option
);
4515 PRINT_TABLE_ITEM (PointingDeviceTypeTable
, Type
);
4519 Display Built-in Pointing Device (Type 21) information.
4521 @param[in] Interface The key of the structure.
4522 @param[in] Option The optional information.
4525 DisplayPointingDeviceInterface (
4530 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE
), gShellDebug1HiiHandle
);
4531 PRINT_INFO_OPTION (Interface
, Option
);
4532 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable
, Interface
);
4536 Display Portable Battery (Type 22) information.
4538 @param[in] Key The key of the structure.
4539 @param[in] Option The optional information.
4542 DisplayPBDeviceChemistry (
4547 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM
), gShellDebug1HiiHandle
);
4548 PRINT_INFO_OPTION (Key
, Option
);
4549 PRINT_TABLE_ITEM (PBDeviceChemistryTable
, Key
);
4553 Display Voltage Probe (Type 26) location information.
4555 @param[in] Key The key of the structure.
4556 @param[in] Option The optional information.
4566 Loc
= (UINT8
) ((Key
& 0xE0) >> 5);
4567 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4568 PRINT_INFO_OPTION (Loc
, Option
);
4569 PRINT_TABLE_ITEM (VPLocationTable
, Loc
);
4573 Display Voltage Probe (Type 26) status ype information.
4575 @param[in] Key The key of the structure.
4576 @param[in] Option The optional information.
4586 Status
= (UINT8
) (Key
& 0x1F);
4587 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS
), gShellDebug1HiiHandle
);
4588 PRINT_INFO_OPTION (Status
, Option
);
4589 PRINT_TABLE_ITEM (VPStatusTable
, Status
);
4593 Display Cooling (Type 27) status information.
4595 @param[in] Key The key of the structure.
4596 @param[in] Option The optional information.
4599 DisplayCoolingDeviceStatus (
4606 Status
= (UINT8
) ((Key
& 0xE0) >> 5);
4607 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS
), gShellDebug1HiiHandle
);
4608 PRINT_INFO_OPTION (Status
, Option
);
4609 PRINT_TABLE_ITEM (CoolingDeviceStatusTable
, Status
);
4613 Display Cooling (Type 27) type information.
4615 @param[in] Key The key of the structure.
4616 @param[in] Option The optional information.
4619 DisplayCoolingDeviceType (
4626 Type
= (UINT8
) (Key
& 0x1F);
4627 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE
), gShellDebug1HiiHandle
);
4628 PRINT_INFO_OPTION (Type
, Option
);
4629 PRINT_TABLE_ITEM (CoolingDeviceTypeTable
, Type
);
4633 Display Temperature Probe (Type 28) status information.
4635 @param[in] Key The key of the structure.
4636 @param[in] Option The optional information.
4639 DisplayTemperatureProbeStatus (
4646 Status
= (UINT8
) ((Key
& 0xE0) >> 5);
4647 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE
), gShellDebug1HiiHandle
);
4648 PRINT_INFO_OPTION (Status
, Option
);
4649 PRINT_TABLE_ITEM (TemperatureProbeStatusTable
, Status
);
4653 Display Temperature Probe (Type 28) location information.
4655 @param[in] Key The key of the structure.
4656 @param[in] Option The optional information.
4659 DisplayTemperatureProbeLoc (
4666 Loc
= (UINT8
) (Key
& 0x1F);
4667 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4668 PRINT_INFO_OPTION (Loc
, Option
);
4669 PRINT_TABLE_ITEM (TemperatureProbeLocTable
, Loc
);
4673 Display Electrical Current Probe (Type 29) status information.
4675 @param[in] Key The key of the structure.
4676 @param[in] Option The optional information.
4686 Status
= (UINT8
) ((Key
& 0xE0) >> 5);
4687 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS
), gShellDebug1HiiHandle
);
4688 PRINT_INFO_OPTION (Status
, Option
);
4689 PRINT_TABLE_ITEM (ECPStatusTable
, Status
);
4693 Display Type 29 information.
4695 @param[in] Key The key of the structure.
4696 @param[in] Option The optional information.
4706 Loc
= (UINT8
) (Key
& 0x1F);
4707 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC
), gShellDebug1HiiHandle
);
4708 PRINT_INFO_OPTION (Loc
, Option
);
4709 PRINT_TABLE_ITEM (ECPLocTable
, Loc
);
4713 Display Management Device (Type 34) Type.
4715 @param[in] Key The key of the structure.
4716 @param[in] Option The optional information.
4724 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE
), gShellDebug1HiiHandle
);
4725 PRINT_INFO_OPTION (Key
, Option
);
4726 PRINT_TABLE_ITEM (MDTypeTable
, Key
);
4730 Display Management Device (Type 34) Address Type.
4732 @param[in] Key The key of the structure.
4733 @param[in] Option The optional information.
4736 DisplayMDAddressType (
4741 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE
), gShellDebug1HiiHandle
);
4742 PRINT_INFO_OPTION (Key
, Option
);
4743 PRINT_TABLE_ITEM (MDAddressTypeTable
, Key
);
4747 Display Memory Channel (Type 37) information.
4749 @param[in] Key The key of the structure.
4750 @param[in] Option The optional information.
4753 DisplayMemoryChannelType (
4758 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE
), gShellDebug1HiiHandle
);
4759 PRINT_INFO_OPTION (Key
, Option
);
4760 PRINT_TABLE_ITEM (MemoryChannelTypeTable
, Key
);
4764 Display IPMI Device Information (Type 38) information.
4766 @param[in] Key The key of the structure.
4767 @param[in] Option The optional information.
4770 DisplayIPMIDIBMCInterfaceType (
4775 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
4776 PRINT_INFO_OPTION (Key
, Option
);
4777 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable
, Key
);
4781 Display Management Controller Host Interface (Type 42) information.
4783 @param[in] Key The key of the structure.
4784 @param[in] Option The optional information.
4787 DisplayMCHostInterfaceType (
4792 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
4793 PRINT_INFO_OPTION (Key
, Option
);
4794 PRINT_TABLE_ITEM (MCHostInterfaceTypeTable
, Key
);
4798 Display Processor Architecture Type (Type 44).
4800 @param[in] Key The key of the structure.
4801 @param[in] Option The optional information.
4804 DisplayProcessorArchitectureType (
4809 ShellPrintHiiEx (-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE
), gShellDebug1HiiHandle
);
4810 PRINT_INFO_OPTION (Key
, Option
);
4811 PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable
, Key
);
4815 Display the structure type information.
4817 @param[in] Key The key of the structure.
4818 @param[in] Option The optional information.
4821 DisplayStructureTypeInfo (
4829 ShellPrintHiiEx(-1,-1,NULL
,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE
), gShellDebug1HiiHandle
);
4830 PRINT_INFO_OPTION (Key
, Option
);
4831 PRINT_TABLE_ITEM (StructureTypeInfoTable
, Key
);