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"
643 TABLE_ITEM ProcessorCharacteristicsTable
[] = {
662 L
" Execute Protection"
666 L
" Enhanced Virtualization"
670 L
" Power/Performance Control"
682 TABLE_ITEM McErrorDetectMethodTable
[] = {
717 TABLE_ITEM McErrorCorrectCapabilityTable
[] = {
732 L
"Single Bit Error Correcting"
736 L
"Double Bit Error Correcting"
744 TABLE_ITEM McInterleaveSupportTable
[] = {
755 L
"One Way Interleave"
759 L
"Two Way Interleave"
763 L
"Four Way Interleave"
767 L
"Eight Way Interleave"
771 L
"Sixteen Way Interleave"
775 TABLE_ITEM McMemorySpeedsTable
[] = {
798 TABLE_ITEM MemoryModuleVoltageTable
[] = {
813 TABLE_ITEM MmMemoryTypeTable
[] = {
860 TABLE_ITEM MmErrorStatusTable
[] = {
863 L
" Uncorrectable errors received"
867 L
" Correctable errors received"
871 L
" Error Status obtained from the event log"
875 TABLE_ITEM CacheSRAMTypeTable
[] = {
906 TABLE_ITEM CacheErrCorrectingTypeTable
[] = {
933 TABLE_ITEM CacheSystemCacheTypeTable
[] = {
956 TABLE_ITEM CacheAssociativityTable
[] = {
971 L
"2-way Set-Associative"
975 L
"4-way Set-Associative"
983 L
"8-way Set-Associative"
987 L
"16-way Set-Associative"
991 L
"12-way Set-Associative"
995 L
"24-way Set-Associative"
999 L
"32-way Set-Associative"
1003 L
"48-way Set-Associative"
1007 L
"64-way Set-Associative"
1011 L
"20-way Set-Associative"
1015 TABLE_ITEM PortConnectorTypeTable
[] = {
1098 L
"Circular DIN-8 male"
1102 L
"Circular DIN-8 female"
1114 L
"9 Pin Dual Inline (pin 10 cut)"
1118 L
"25 Pin Dual Inline (pin 26 cut)"
1122 L
"50 Pin Dual Inline"
1126 L
"68 Pin Dual Inline"
1130 L
"On Board Sound Input from CD-ROM"
1134 L
"Mini-Centronics Type-14"
1138 L
"Mini-Centronics Type-26"
1142 L
"Mini-jack (headphones)"
1154 L
"SAS/SATA Plug Receptacle"
1158 L
"USB Type-C Receptacle"
1186 TABLE_ITEM PortTypeTable
[] = {
1193 L
"Parallel Port XT/AT Compatible"
1197 L
"Parallel Port PS/2"
1201 L
"Parallel Port ECP"
1205 L
"Parallel Port EPP"
1209 L
"Parallel Port ECP/EPP"
1213 L
"Serial Port XT/AT Compatible"
1217 L
"Serial Port 16450 Compatible"
1221 L
"Serial Port 16550 Compatible"
1225 L
"Serial Port 16550A Compatible"
1257 L
"FireWire (IEEE P1394)"
1325 L
"Multi-Function Display Port (MFDP)"
1337 L
"8251 FIFO Compatible"
1345 TABLE_ITEM SystemSlotTypeTable
[] = {
1384 L
"Processor Card Slot"
1388 L
"Proprietary Memory Card Slot"
1392 L
"I/O Riser Card Slot"
1400 L
"PCI - 66MHz Capable"
1424 L
"M.2 Socket 1-DP (Mechanical Key A)"
1428 L
"M.2 Socket 1-SD (Mechanical Key E)"
1432 L
"M.2 Socket 2 (Mechanical Key B)"
1436 L
"M.2 Socket 3 (Mechanical Key M)"
1448 L
"MXM Type III (standard connector)"
1452 L
"MXM Type III (HE connector)"
1468 L
"PCI Express Gen 2 SFF-8639"
1472 L
"PCI Express Gen 3 SFF-8639"
1476 L
"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs"
1480 L
"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs"
1484 L
"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card"
1488 L
"PCI Express Gen 4 SFF-8639 (U.2)"
1492 L
"PCI Express Gen 5 SFF-8639 (U.2)"
1496 L
"OCP NIC 3.0 Small Form Factor (SFF)"
1500 L
"OCP NIC 3.0 Large Form Factor (LFF)"
1504 L
"OCP NIC Prior to 3.0"
1507 SlotTypeCXLFlexbus10
,
1556 L
"PCI Express Gen 2"
1560 L
"PCI Express Gen 2 X1"
1564 L
"PCI Express Gen 2 X2"
1568 L
"PCI Express Gen 2 X4"
1572 L
"PCI Express Gen 2 X8"
1576 L
"PCI Express Gen 2 X16"
1580 L
"PCI Express Gen 3"
1584 L
"PCI Express Gen 3 X1"
1588 L
"PCI Express Gen 3 X2"
1592 L
"PCI Express Gen 3 X4"
1596 L
"PCI Express Gen 3 X8"
1600 L
"PCI Express Gen 3 X16"
1603 SlotTypePciExpressGen4
,
1604 L
"PCI Express Gen 4"
1607 SlotTypePciExpressGen4X1
,
1608 L
"PCI Express Gen 4 X1"
1611 SlotTypePciExpressGen4X2
,
1612 L
"PCI Express Gen 4 X2"
1615 SlotTypePciExpressGen4X4
,
1616 L
"PCI Express Gen 4 X4"
1619 SlotTypePciExpressGen4X8
,
1620 L
"PCI Express Gen 4 X8"
1623 SlotTypePciExpressGen4X16
,
1624 L
"PCI Express Gen 4 X16"
1627 SlotTypePCIExpressGen5
,
1628 L
"PCI Express Gen 5"
1631 SlotTypePCIExpressGen5X1
,
1632 L
"PCI Express Gen 5 x1"
1635 SlotTypePCIExpressGen5X2
,
1636 L
"PCI Express Gen 5 x2"
1639 SlotTypePCIExpressGen5X4
,
1640 L
"PCI Express Gen 5 x4"
1643 SlotTypePCIExpressGen5X8
,
1644 L
"PCI Express Gen 5 x8"
1647 SlotTypePCIExpressGen5X16
,
1648 L
"PCI Express Gen 5 x16"
1651 SlotTypePCIExpressGen6andBeyond
,
1652 L
"PCI Express Gen 6 and Beyond"
1655 SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot
,
1656 L
"Enterprise and Datacenter 1U E1 Form Factor Slot"
1659 SlotTypeEnterpriseandDatacenter3E3FormFactorSlot
,
1660 L
"Enterprise and Datacenter 3'E3 Form Factor Slot"
1664 TABLE_ITEM SystemSlotDataBusWidthTable
[] = {
1723 TABLE_ITEM SystemSlotPhysicalWidthTable
[] = {
1782 TABLE_ITEM SystemSlotInformationTable
[] = {
1813 TABLE_ITEM SystemSlotCurrentUsageTable
[] = {
1836 TABLE_ITEM SystemSlotLengthTable
[] = {
1855 TABLE_ITEM SystemSlotHeightTable
[] = {
1878 TABLE_ITEM SlotCharacteristics1Table
[] = {
1881 L
" Characteristics Unknown"
1885 L
" Provides 5.0 Volts"
1889 L
" Provides 3.3 Volts"
1893 L
" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot."
1898 L
" PC Card slot supports PC Card-16"
1902 L
" PC Card slot supports CardBus"
1906 L
" PC Card slot supports Zoom Video "
1910 L
" PC Card slot supports Modem Ring Resume "
1914 TABLE_ITEM SlotCharacteristics2Table
[] = {
1917 L
" PCI slot supports Power Management Enable (PME#) signal"
1921 L
" Slot supports hot-plug devices"
1925 L
" PCI slot supports SMBus signal"
1929 L
" PCIe slot supports bifurcation"
1933 L
" Slot supports async/surprise removal"
1937 L
" Flexbus slot, CXL 1.0 capable"
1941 L
" Flexbus slot, CXL 2.0 capable"
1949 TABLE_ITEM OnboardDeviceTypesTable
[] = {
2004 L
" embedded Multi-Media Controller"
2016 TABLE_ITEM SELTypesTable
[] = {
2023 L
" Single-bit ECC memory error"
2027 L
" Multi-bit ECC memory error"
2031 L
" Parity memory error"
2039 L
" I/O Channel Check"
2047 L
" POST Memory Resize"
2055 L
" PCI Parity Error"
2059 L
" PCI System Error"
2067 L
" EISA FailSafe Timer time-out"
2071 L
" Correctable memory log disabled"
2075 L
" Logging disabled for a specific Event Type"
2083 L
" System Limit Exceeded"
2087 L
" Asynchronous hardware timer expired and issued a system reset"
2091 L
" System configuration information"
2095 L
" Hard-disk information"
2099 L
" System reconfigured"
2103 L
" Uncorrectable CPU-complex error"
2107 L
" Log Area Reset/Cleared"
2115 L
" Unused by SMBIOS specification"
2119 L
" System and OEM specified"
2127 TABLE_ITEM SELVarDataFormatTypeTable
[] = {
2142 L
" Multiple-Event Handle "
2146 L
" POST Results Bitmap "
2153 L
" System Management Type"
2160 L
" Multiple-Event System Management Type "
2172 TABLE_ITEM PostResultsBitmapDw1Table
[] = {
2175 L
" Channel 2 Timer error "
2179 L
" Master PIC (8259 #1) error "
2183 L
" Slave PIC (8259 #2) error "
2187 L
" CMOS Battery Failure "
2191 L
" CMOS System Options Not Set "
2195 L
" CMOS Checksum Error "
2199 L
" CMOS Configuration Error "
2203 L
" Mouse and Keyboard Swapped "
2207 L
" Keyboard Locked "
2211 L
" Keyboard Not Functional "
2215 L
" Keyboard Controller Not Functional "
2219 L
" CMOS Memory Size Different "
2223 L
" Memory Decreased in Size "
2227 L
" Cache Memory Error "
2231 L
" Floppy Drive 0 Error "
2235 L
" Floppy Drive 1 Error "
2239 L
" Floppy Controller Failure "
2243 L
" Number of ATA Drives Reduced Error "
2247 L
" CMOS Time Not Set "
2251 L
" DDC Monitor Configuration Change "
2255 L
" Reserved, set to 0 "
2259 L
" Reserved, set to 0 "
2263 L
" Reserved, set to 0 "
2267 L
" Reserved, set to 0 "
2271 L
" Second DWORD has valid data "
2275 L
" Reserved, set to 0 "
2279 L
" Reserved, set to 0 "
2283 L
" Reserved, set to 0 "
2287 L
" Normally 0; available for OEM assignment "
2291 L
" Normally 0; available for OEM assignment "
2295 L
" Normally 0; available for OEM assignment "
2299 L
" Normally 0; available for OEM assignment "
2303 TABLE_ITEM PostResultsBitmapDw2Table
[] = {
2306 L
" Normally 0; available for OEM assignment "
2310 L
" Normally 0; available for OEM assignment "
2314 L
" Normally 0; available for OEM assignment "
2318 L
" Normally 0; available for OEM assignment "
2322 L
" Normally 0; available for OEM assignment "
2326 L
" Normally 0; available for OEM assignment "
2330 L
" Normally 0; available for OEM assignment "
2334 L
" PCI Memory Conflict "
2338 L
" PCI I/O Conflict "
2342 L
" PCI IRQ Conflict "
2346 L
" PNP Memory Conflict "
2350 L
" PNP 32 bit Memory Conflict "
2354 L
" PNP I/O Conflict "
2358 L
" PNP IRQ Conflict "
2362 L
" PNP DMA Conflict "
2366 L
" Bad PNP Serial ID Checksum "
2370 L
" Bad PNP Resource Data Checksum "
2374 L
" Static Resource Conflict "
2378 L
" NVRAM Checksum Error, NVRAM Cleared "
2382 L
" System Board Device Resource Conflict "
2386 L
" Primary Output Device Not Found "
2390 L
" Primary Input Device Not Found "
2394 L
" Primary Boot Device Not Found "
2398 L
" NVRAM Cleared By Jumper "
2402 L
" NVRAM Data Invalid, NVRAM Cleared "
2406 L
" FDC Resource Conflict "
2410 L
" Primary ATA Controller Resource Conflict "
2414 L
" Secondary ATA Controller Resource Conflict "
2418 L
" Parallel Port Resource Conflict "
2422 L
" Serial Port 1 Resource Conflict "
2426 L
" Serial Port 2 Resource Conflict "
2430 L
" Audio Resource Conflict "
2434 TABLE_ITEM SELSysManagementTypesTable
[] = {
2437 L
" +2.5V Out of range, #2 "
2441 L
" +3.3V Out of range "
2445 L
" +5V Out of range "
2449 L
" -5V Out of range "
2453 L
" +12V Out of range "
2457 L
" -12V Out of range "
2461 L
" Reserved for future out-of-range voltage levels "
2465 L
" System board temperature out of range "
2469 L
" Processor #1 temperature out of range "
2473 L
" Processor #2 temperature out of range "
2477 L
" Processor #3 temperature out of range "
2481 L
" Processor #4 temperature out of range "
2485 L
" Reserved for future out-of-range temperatures"
2489 L
" Fan n (n = 0 to 7) Out of range "
2493 L
" Reserved for future assignment via this specification "
2497 L
" Chassis secure switch activated "
2501 TABLE_ITEM PMALocationTable
[] = {
2512 L
" System board or motherboard"
2520 L
" EISA add-on card"
2532 L
" PCMCIA add-on card"
2536 L
" Proprietary add-on card"
2544 L
" PC-98/C20 add-on card"
2548 L
" PC-98/C24 add-on card"
2552 L
" PC-98/E add-on card"
2556 L
" PC-98/Local bus add-on card"
2559 MemoryArrayLocationCXLAddonCard
,
2564 TABLE_ITEM PMAUseTable
[] = {
2587 L
" Non-volatile RAM"
2595 TABLE_ITEM PMAErrorCorrectionTypesTable
[] = {
2626 TABLE_ITEM MemoryDeviceFormFactorTable
[] = {
2657 L
" Proprietary Card"
2688 MemoryFormFactorDie
,
2693 TABLE_ITEM MemoryDeviceTypeTable
[] = {
2804 L
" Logical non-volatile device"
2808 L
" HBM (High Bandwidth Memory)"
2812 L
" HBM2 (High Bandwidth Memory Generation 2)"
2824 TABLE_ITEM MemoryDeviceTypeDetailTable
[] = {
2875 L
" Registered(Buffered)"
2879 L
" Unbuffered(Unregistered)"
2883 TABLE_ITEM MemoryDeviceMemoryTechnologyTable
[] = {
2909 MemoryTechnologyIntelOptanePersistentMemory
,
2910 L
" Intel Optane Persistent Memory"
2914 TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable
[] = {
2929 L
" Byte-accessible persistent memory"
2933 L
" Block-accessible persistent memory"
2937 TABLE_ITEM MemoryErrorTypeTable
[] = {
2960 L
" Single-bit error"
2964 L
" Double-bit error"
2984 L
" Corrected single-bit error"
2992 L
" Uncorrectable error"
2996 TABLE_ITEM MemoryErrorGranularityTable
[] = {
3011 L
" Memory partition level"
3015 TABLE_ITEM MemoryErrorOperationTable
[] = {
3038 TABLE_ITEM PointingDeviceTypeTable
[] = {
3069 TABLE_ITEM PointingDeviceInterfaceTable
[] = {
3100 L
" ADB(Apple Desktop Bus"
3108 L
" Bus mouse mirco-DIN"
3116 TABLE_ITEM PBDeviceChemistryTable
[] = {
3135 L
" Nickel metal hydride "
3147 L
" Lithium Polymer "
3151 TABLE_ITEM VPLocationTable
[] = {
3174 L
" Non-recoverable "
3178 TABLE_ITEM VPStatusTable
[] = {
3201 L
" System Management Module "
3213 L
" Processor Module "
3225 TABLE_ITEM CoolingDeviceStatusTable
[] = {
3248 L
" Non-recoverable "
3252 TABLE_ITEM CoolingDeviceTypeTable
[] = {
3267 L
" Centrifugal Blower "
3279 L
" Power Supply Fan "
3287 L
" Integrated Refrigeration "
3295 L
" Passive Cooling "
3299 TABLE_ITEM TemperatureProbeStatusTable
[] = {
3322 L
" Non-recoverable "
3326 TABLE_ITEM TemperatureProbeLocTable
[] = {
3349 L
" System Management Module "
3361 L
" Processor Module "
3373 TABLE_ITEM ECPStatusTable
[] = {
3396 L
" Non-recoverable "
3400 TABLE_ITEM ECPLocTable
[] = {
3423 L
" System Management Module "
3435 L
" Processor Module "
3447 TABLE_ITEM MDTypeTable
[] = {
3458 L
" National Semiconductor LM75 "
3462 L
" National Semiconductor LM78 "
3466 L
" National Semiconductor LM79 "
3470 L
" National Semiconductor LM80 "
3474 L
" National Semiconductor LM81 "
3478 L
" Analog Devices ADM9240 "
3482 L
" Dallas Semiconductor DS1780 "
3490 L
" Genesys GL518SM "
3494 L
" Winbond W83781D "
3498 L
" Holtek HT82H791 "
3502 TABLE_ITEM MDAddressTypeTable
[] = {
3525 TABLE_ITEM MemoryChannelTypeTable
[] = {
3544 TABLE_ITEM IPMIDIBMCInterfaceTypeTable
[] = {
3551 L
" KCS: Keyboard Controller Style "
3555 L
" SMIC: Server Management Interface Chip "
3559 L
" BT: Block Transfer "
3563 L
" SSIF: SMBus System Interface "
3567 L
" Reserved for future assignment by this specification "
3571 TABLE_ITEM MCHostInterfaceTypeTable
[] = {
3574 L
" MCTP Host Interface "
3578 L
" Network Host Interface "
3586 TABLE_ITEM ProcessorArchitectureTypesTable
[] = {
3597 L
" x64 (x86-64, intel64, AMD64, EM64T) "
3601 L
" Intel Itanium architecture "
3605 L
" 32-bit ARM (Aarch32) "
3609 L
" 64-bit ARM (Aarch64) "
3613 L
" 32-bit RISC-V (RV32) "
3617 L
" 64-bit RISC-V (RV64) "
3621 L
" 128-bit RISC-V (RV128) "
3625 TABLE_ITEM StructureTypeInfoTable
[] = {
3628 L
" BIOS Information"
3632 L
" System Information"
3636 L
" Base Board Information"
3640 L
" System Enclosure"
3644 L
" Processor Information"
3648 L
" Memory Controller Information "
3652 L
" Memory Module Information "
3656 L
" Cache Information "
3660 L
" Port Connector Information "
3668 L
" On Board Devices Information "
3676 L
" System Configuration Options "
3680 L
" BIOS Language Information "
3684 L
" Group Associations "
3688 L
" System Event Log "
3692 L
" Physical Memory Array "
3700 L
" 32-bit Memory Error Information "
3704 L
" Memory Array Mapped Address "
3708 L
" Memory Device Mapped Address "
3712 L
" Built-in Pointing Device "
3716 L
" Portable Battery "
3724 L
" Hardware Security "
3728 L
" System Power Controls "
3740 L
" Temperature Probe "
3744 L
" Electrical Current Probe "
3748 L
" Out-of-Band Remote Access "
3752 L
" Boot Integrity Services (BIS) Entry Point"
3756 L
" System Boot Information "
3760 L
" 64-bit Memory Error Information "
3764 L
" Management Device "
3768 L
" Management Device Component "
3772 L
" Management Device Threshold Data "
3780 L
" IPMI Device Information "
3784 L
" System Power Supply"
3788 L
" Additional Information"
3792 L
" Onboard Devices Extended Information"
3796 L
" Management Controller Host Interface"
3804 L
" Processor Additional Information"
3817 Given a table and a Key, return the responding info.
3820 Table[Index].Key is change from UINT8 to UINT16,
3821 in order to deal with "0xaa - 0xbb".
3824 DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)
3827 Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.
3828 Then all the Key Value between Low and High gets the same string
3831 @param[in] Table The begin address of table.
3832 @param[in] Number The number of table items.
3833 @param[in] Key The query Key.
3834 @param[in, out] Info Input as empty buffer; output as data buffer.
3835 @param[in] InfoLen The max number of characters for Info.
3837 @return the found Key and Info is valid.
3838 @retval QUERY_TABLE_UNFOUND and Info should be NULL.
3842 IN TABLE_ITEM
*Table
,
3845 IN OUT CHAR16
*Info
,
3851 // High byte and Low byte of word
3856 for (Index
= 0; Index
< Number
; Index
++) {
3857 High
= (UINT8
)(Table
[Index
].Key
>> 8);
3858 Low
= (UINT8
)(Table
[Index
].Key
& 0x00FF);
3861 // Check if Key is in the range
3862 // or if Key == Value in the table
3864 if ( ((High
> Low
) && (Key
>= Low
) && (Key
<= High
))
3865 || (Table
[Index
].Key
== Key
))
3867 StrnCpyS (Info
, InfoLen
, Table
[Index
].Info
, InfoLen
- 1);
3868 StrnCatS (Info
, InfoLen
, L
"\n", InfoLen
- 1 - StrLen (Info
));
3873 StrCpyS (Info
, InfoLen
, L
"Undefined Value\n");
3874 return QUERY_TABLE_UNFOUND
;
3878 Given a table of bit info and a Key, return the responding info to the Key.
3880 @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
3881 @param[in] Number Number of table items.
3882 @param[in] Bits The Key of query the bit map information.
3886 IN TABLE_ITEM
*Table
,
3892 // Get certain bit of 'Value':
3894 #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
3896 // Clear certain bit of 'Value':
3898 #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
3907 // query the table and print information
3909 for (Index
= 0; Index
< Number
; Index
++) {
3910 if (BIT (Value
, Table
[Index
].Key
) != 0) {
3913 // If it is not first info, print the separator first.
3918 Print (Table
[Index
].Info
);
3922 // clear the bit, for reserved bits test
3924 CLR_BIT (Value
, Table
[Index
].Key
);
3929 // There is no any info if FirstInfo is still TRUE.
3932 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO
), gShellDebug1HiiHandle
);
3940 STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET
),
3941 gShellDebug1HiiHandle
,
3950 // //////////////////////////////////////////////////////////////////
3952 // Following uses QueryTable functions to simplify the coding.
3953 // QueryTable(), PrintBitsInfo()
3956 #define PRINT_TABLE_ITEM(Table, Key) \
3960 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3961 ZeroMem (Info, sizeof (Info)); \
3962 QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
3966 #define PRINT_BITS_INFO(Table, bits) \
3969 Num = sizeof (Table) / sizeof (TABLE_ITEM); \
3970 PrintBitsInfo (Table, Num, (UINT32) bits); \
3974 Display System Information (Type 1) Type.
3976 @param[in] Type The key of the structure.
3977 @param[in] Option The optional information.
3980 DisplaySystemWakeupType (
3985 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE
), gShellDebug1HiiHandle
);
3986 PRINT_INFO_OPTION (Type
, Option
);
3987 PRINT_TABLE_ITEM (SystemWakeupTypeTable
, Type
);
3991 Display Base Board (Type 2) Feature Flags.
3993 @param[in] FeatureFlags The key of the structure.
3994 @param[in] Option The optional information.
3997 DisplayBaseBoardFeatureFlags (
3998 IN UINT8 FeatureFlags
,
4002 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS
), gShellDebug1HiiHandle
);
4003 PRINT_INFO_OPTION (FeatureFlags
, Option
);
4004 PRINT_BITS_INFO (BaseBoardFeatureFlagsTable
, FeatureFlags
);
4008 Display Base Board (Type 2) Board Type.
4010 @param[in] Type The key of the structure.
4011 @param[in] Option The optional information.
4014 DisplayBaseBoardBoardType (
4019 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE
), gShellDebug1HiiHandle
);
4020 PRINT_INFO_OPTION (Type
, Option
);
4021 PRINT_TABLE_ITEM (BaseBoardBoardTypeTable
, Type
);
4025 Display System Enclosure (Type 3) Enclosure Type.
4027 @param[in] Type The key of the structure.
4028 @param[in] Option The optional information.
4031 DisplaySystemEnclosureType (
4036 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE
), gShellDebug1HiiHandle
);
4037 PRINT_INFO_OPTION (Type
, Option
);
4039 // query table and print info
4041 PRINT_TABLE_ITEM (SystemEnclosureTypeTable
, Type
);
4043 if (BIT (Type
, 7) != 0) {
4044 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT
), gShellDebug1HiiHandle
);
4049 Display System Enclosure (Type 3) Enclosure Status.
4051 @param[in] Status The key of the structure.
4052 @param[in] Option The optional information.
4055 DisplaySystemEnclosureStatus (
4060 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS
), gShellDebug1HiiHandle
);
4061 PRINT_INFO_OPTION (Status
, Option
);
4062 PRINT_TABLE_ITEM (SystemEnclosureStatusTable
, Status
);
4066 Display System Enclosure (Type 3) Security Status.
4068 @param[in] Status The key of the structure.
4069 @param[in] Option The optional information.
4072 DisplaySESecurityStatus (
4077 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY
), gShellDebug1HiiHandle
);
4078 PRINT_INFO_OPTION (Status
, Option
);
4079 PRINT_TABLE_ITEM (SESecurityStatusTable
, Status
);
4083 Display Processor Information (Type 4) Type.
4085 @param[in] Type The key of the structure.
4086 @param[in] Option The optional information.
4089 DisplayProcessorType (
4094 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE
), gShellDebug1HiiHandle
);
4095 PRINT_INFO_OPTION (Type
, Option
);
4096 PRINT_TABLE_ITEM (ProcessorTypeTable
, Type
);
4100 Display Processor Information (Type 4) Upgrade.
4102 @param[in] Upgrade The key of the structure.
4103 @param[in] Option The optional information.
4106 DisplayProcessorUpgrade (
4111 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE
), gShellDebug1HiiHandle
);
4112 PRINT_INFO_OPTION (Upgrade
, Option
);
4113 PRINT_TABLE_ITEM (ProcessorUpgradeTable
, Upgrade
);
4117 Display Processor Information (Type 4) Characteristics.
4119 @param[in] Type The key of the structure.
4120 @param[in] Option The optional information.
4123 DisplayProcessorCharacteristics (
4128 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS
), gShellDebug1HiiHandle
);
4129 PRINT_INFO_OPTION (Type
, Option
);
4130 PRINT_BITS_INFO (ProcessorCharacteristicsTable
, Type
);
4134 Display Memory Controller Information (Type 5) method.
4136 @param[in] Method The key of the structure.
4137 @param[in] Option The optional information.
4140 DisplayMcErrorDetectMethod (
4145 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD
), gShellDebug1HiiHandle
);
4146 PRINT_INFO_OPTION (Method
, Option
);
4147 PRINT_TABLE_ITEM (McErrorDetectMethodTable
, Method
);
4151 Display Memory Controller Information (Type 5) Capability.
4153 @param[in] Capability The key of the structure.
4154 @param[in] Option The optional information.
4157 DisplayMcErrorCorrectCapability (
4158 IN UINT8 Capability
,
4162 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY
), gShellDebug1HiiHandle
);
4163 PRINT_INFO_OPTION (Capability
, Option
);
4164 PRINT_BITS_INFO (McErrorCorrectCapabilityTable
, Capability
);
4168 Display Memory Controller Information (Type 5) Support.
4170 @param[in] Support The key of the structure.
4171 @param[in] Option The optional information.
4174 DisplayMcInterleaveSupport (
4179 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT
), gShellDebug1HiiHandle
);
4180 PRINT_INFO_OPTION (Support
, Option
);
4181 PRINT_TABLE_ITEM (McInterleaveSupportTable
, Support
);
4185 Display Memory Controller Information (Type 5) speeds.
4187 @param[in] Speed The key of the structure.
4188 @param[in] Option The optional information.
4191 DisplayMcMemorySpeeds (
4196 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED
), gShellDebug1HiiHandle
);
4197 PRINT_INFO_OPTION (Speed
, Option
);
4198 PRINT_BITS_INFO (McMemorySpeedsTable
, Speed
);
4202 Display Memory Controller Information (Type 5) voltage.
4204 @param[in] Voltage The key of the structure.
4205 @param[in] Option The optional information.
4208 DisplayMemoryModuleVoltage (
4213 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES
), gShellDebug1HiiHandle
);
4214 PRINT_INFO_OPTION (Voltage
, Option
);
4215 PRINT_BITS_INFO (MemoryModuleVoltageTable
, Voltage
);
4219 Display Memory Module Information (Type 6) type.
4221 @param[in] Type The key of the structure.
4222 @param[in] Option The optional information.
4225 DisplayMmMemoryType (
4230 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE
), gShellDebug1HiiHandle
);
4231 PRINT_INFO_OPTION (Type
, Option
);
4232 PRINT_BITS_INFO (MmMemoryTypeTable
, Type
);
4236 Display Memory Module Information (Type 6) status.
4238 @param[in] Status The key of the structure.
4239 @param[in] Option The optional information.
4242 DisplayMmErrorStatus (
4247 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS
), gShellDebug1HiiHandle
);
4248 PRINT_INFO_OPTION (Status
, Option
);
4249 PRINT_BITS_INFO (MmErrorStatusTable
, Status
);
4253 Display Cache Information (Type 7) SRAM Type.
4255 @param[in] Type The key of the structure.
4256 @param[in] Option The optional information.
4259 DisplayCacheSRAMType (
4264 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE
), gShellDebug1HiiHandle
);
4265 PRINT_INFO_OPTION ((UINT8
)Type
, Option
);
4266 PRINT_BITS_INFO (CacheSRAMTypeTable
, (UINT8
)Type
);
4270 Display Cache Information (Type 7) correcting Type.
4272 @param[in] Type The key of the structure.
4273 @param[in] Option The optional information.
4276 DisplayCacheErrCorrectingType (
4281 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING
), gShellDebug1HiiHandle
);
4282 PRINT_INFO_OPTION (Type
, Option
);
4283 PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable
, Type
);
4287 Display Cache Information (Type 7) Type.
4289 @param[in] Type The key of the structure.
4290 @param[in] Option The optional information.
4293 DisplayCacheSystemCacheType (
4298 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE
), gShellDebug1HiiHandle
);
4299 PRINT_INFO_OPTION (Type
, Option
);
4300 PRINT_TABLE_ITEM (CacheSystemCacheTypeTable
, Type
);
4304 Display Cache Information (Type 7) Associativity.
4306 @param[in] Associativity The key of the structure.
4307 @param[in] Option The optional information.
4310 DisplayCacheAssociativity (
4311 IN UINT8 Associativity
,
4315 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY
), gShellDebug1HiiHandle
);
4316 PRINT_INFO_OPTION (Associativity
, Option
);
4317 PRINT_TABLE_ITEM (CacheAssociativityTable
, Associativity
);
4321 Display Port Connector Information (Type 8) type.
4323 @param[in] Type The key of the structure.
4324 @param[in] Option The optional information.
4327 DisplayPortConnectorType (
4332 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE
), gShellDebug1HiiHandle
);
4333 PRINT_INFO_OPTION (Type
, Option
);
4334 PRINT_TABLE_ITEM (PortConnectorTypeTable
, Type
);
4338 Display Port Connector Information (Type 8) port type.
4340 @param[in] Type The key of the structure.
4341 @param[in] Option The optional information.
4349 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE
), gShellDebug1HiiHandle
);
4350 PRINT_INFO_OPTION (Type
, Option
);
4351 PRINT_TABLE_ITEM (PortTypeTable
, Type
);
4355 Display System Slots (Type 9) slot type.
4357 @param[in] Type The key of the structure.
4358 @param[in] Option The optional information.
4361 DisplaySystemSlotType (
4366 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE
), gShellDebug1HiiHandle
);
4367 PRINT_INFO_OPTION (Type
, Option
);
4368 PRINT_TABLE_ITEM (SystemSlotTypeTable
, Type
);
4372 Display System Slots (Type 9) data bus width.
4374 @param[in] Width The key of the structure.
4375 @param[in] Option The optional information.
4378 DisplaySystemSlotDataBusWidth (
4383 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA
), gShellDebug1HiiHandle
);
4384 PRINT_INFO_OPTION (Width
, Option
);
4385 PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable
, Width
);
4389 Display System Slots (Type 9) usage information.
4391 @param[in] Usage The key of the structure.
4392 @param[in] Option The optional information.
4395 DisplaySystemSlotCurrentUsage (
4400 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE
), gShellDebug1HiiHandle
);
4401 PRINT_INFO_OPTION (Usage
, Option
);
4402 PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable
, Usage
);
4406 Display System Slots (Type 9) slot length.
4408 @param[in] Length The key of the structure.
4409 @param[in] Option The optional information.
4412 DisplaySystemSlotLength (
4417 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH
), gShellDebug1HiiHandle
);
4418 PRINT_INFO_OPTION (Length
, Option
);
4419 PRINT_TABLE_ITEM (SystemSlotLengthTable
, Length
);
4423 Display System Slots (Type 9) characteristics.
4425 @param[in] Chara1 The key of the structure.
4426 @param[in] Option The optional information.
4429 DisplaySlotCharacteristics1 (
4434 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS
), gShellDebug1HiiHandle
);
4435 PRINT_INFO_OPTION (Chara1
, Option
);
4436 PRINT_BITS_INFO (SlotCharacteristics1Table
, Chara1
);
4440 Display System Slots (Type 9) characteristics.
4442 @param[in] Chara2 The key of the structure.
4443 @param[in] Option The optional information.
4446 DisplaySlotCharacteristics2 (
4451 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2
), gShellDebug1HiiHandle
);
4452 PRINT_INFO_OPTION (Chara2
, Option
);
4453 PRINT_BITS_INFO (SlotCharacteristics2Table
, Chara2
);
4457 Display System Slots (Type 9) Information.
4459 @param[in] Width The key of the structure.
4460 @param[in] Option The optional information.
4463 DisplaySystemSlotInformation (
4468 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION
), gShellDebug1HiiHandle
);
4469 PRINT_INFO_OPTION (Width
, Option
);
4470 PRINT_TABLE_ITEM (SystemSlotInformationTable
, Width
);
4474 Display System Slots (Type 9) Physical Width.
4476 @param[in] Width The key of the structure.
4477 @param[in] Option The optional information.
4480 DisplaySystemSlotPhysicalWidth (
4485 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH
), gShellDebug1HiiHandle
);
4486 PRINT_INFO_OPTION (Width
, Option
);
4487 PRINT_TABLE_ITEM (SystemSlotPhysicalWidthTable
, Width
);
4491 Display System Slots (Type 9) slot height.
4493 @param[in] Length The key of the structure.
4494 @param[in] Option The optional information.
4497 DisplaySystemSlotHeight (
4502 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT
), gShellDebug1HiiHandle
);
4503 PRINT_INFO_OPTION (Length
, Option
);
4504 PRINT_TABLE_ITEM (SystemSlotHeightTable
, Length
);
4508 Display On Board Devices Information (Type 10) types.
4510 @param[in] Type The key of the structure.
4511 @param[in] Option The optional information.
4514 DisplayOnboardDeviceTypes (
4519 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4520 PRINT_INFO_OPTION (Type
, Option
);
4521 PRINT_TABLE_ITEM (OnboardDeviceTypesTable
, Type
);
4525 Display System Event Log (Type 15) types.
4527 @param[in] Type The key of the structure.
4528 @param[in] Option The optional information.
4536 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE
), gShellDebug1HiiHandle
);
4537 PRINT_INFO_OPTION (Type
, Option
);
4538 PRINT_TABLE_ITEM (SELTypesTable
, Type
);
4542 Display System Event Log (Type 15) format type.
4544 @param[in] Type The key of the structure.
4545 @param[in] Option The optional information.
4548 DisplaySELVarDataFormatType (
4553 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT
), gShellDebug1HiiHandle
);
4554 PRINT_INFO_OPTION (Type
, Option
);
4555 PRINT_TABLE_ITEM (SELVarDataFormatTypeTable
, Type
);
4559 Display System Event Log (Type 15) dw1.
4561 @param[in] Key The key of the structure.
4562 @param[in] Option The optional information.
4565 DisplayPostResultsBitmapDw1 (
4570 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP
), gShellDebug1HiiHandle
);
4571 PRINT_INFO_OPTION (Key
, Option
);
4572 PRINT_BITS_INFO (PostResultsBitmapDw1Table
, Key
);
4576 Display System Event Log (Type 15) dw2.
4578 @param[in] Key The key of the structure.
4579 @param[in] Option The optional information.
4582 DisplayPostResultsBitmapDw2 (
4587 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD
), gShellDebug1HiiHandle
);
4588 PRINT_INFO_OPTION (Key
, Option
);
4589 PRINT_BITS_INFO (PostResultsBitmapDw2Table
, Key
);
4593 Display System Event Log (Type 15) type.
4595 @param[in] SMType The key of the structure.
4596 @param[in] Option The optional information.
4599 DisplaySELSysManagementTypes (
4606 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES
), gShellDebug1HiiHandle
);
4607 PRINT_INFO_OPTION (SMType
, Option
);
4610 // Deal with wide range Value
4612 if (SMType
>= 0x80000000) {
4613 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED
), gShellDebug1HiiHandle
);
4614 } else if (SMType
>= 0x00020000) {
4615 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4616 } else if (SMType
>= 0x00010000) {
4617 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE
), gShellDebug1HiiHandle
);
4618 } else if (SMType
>= 0x31) {
4619 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN
), gShellDebug1HiiHandle
);
4622 // Deal with One byte data
4624 Temp
= (UINT8
)(SMType
& 0x3F);
4625 PRINT_TABLE_ITEM (SELSysManagementTypesTable
, Temp
);
4630 Display Physical Memory Array (Type 16) Location.
4632 @param[in] Location The key of the structure.
4633 @param[in] Option The optional information.
4636 DisplayPMALocation (
4641 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION
), gShellDebug1HiiHandle
);
4642 PRINT_INFO_OPTION (Location
, Option
);
4643 PRINT_TABLE_ITEM (PMALocationTable
, Location
);
4647 Display Physical Memory Array (Type 16) Use.
4649 @param[in] Use The key of the structure.
4650 @param[in] Option The optional information.
4658 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE
), gShellDebug1HiiHandle
);
4659 PRINT_INFO_OPTION (Use
, Option
);
4660 PRINT_TABLE_ITEM (PMAUseTable
, Use
);
4664 Display Physical Memory Array (Type 16) Types.
4666 @param[in] Type The key of the structure.
4667 @param[in] Option The optional information.
4670 DisplayPMAErrorCorrectionTypes (
4675 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR
), gShellDebug1HiiHandle
);
4676 PRINT_INFO_OPTION (Type
, Option
);
4677 PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable
, Type
);
4681 Display Memory Device (Type 17) form factor.
4683 @param[in] FormFactor The key of the structure.
4684 @param[in] Option The optional information.
4687 DisplayMemoryDeviceFormFactor (
4688 IN UINT8 FormFactor
,
4692 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR
), gShellDebug1HiiHandle
);
4693 PRINT_INFO_OPTION (FormFactor
, Option
);
4694 PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable
, FormFactor
);
4698 Display Memory Device (Type 17) type.
4700 @param[in] Type The key of the structure.
4701 @param[in] Option The optional information.
4704 DisplayMemoryDeviceType (
4709 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4710 PRINT_INFO_OPTION (Type
, Option
);
4711 PRINT_TABLE_ITEM (MemoryDeviceTypeTable
, Type
);
4715 Display Memory Device (Type 17) details.
4717 @param[in] Para The key of the structure.
4718 @param[in] Option The optional information.
4721 DisplayMemoryDeviceTypeDetail (
4726 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL
), gShellDebug1HiiHandle
);
4727 PRINT_INFO_OPTION (Para
, Option
);
4728 PRINT_BITS_INFO (MemoryDeviceTypeDetailTable
, Para
);
4732 Display Memory Device (Type 17) memory technology.
4734 @param[in] Para The key of the structure.
4735 @param[in] Option The optional information.
4738 DisplayMemoryDeviceMemoryTechnology (
4743 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY
), gShellDebug1HiiHandle
);
4744 PRINT_INFO_OPTION (Para
, Option
);
4745 PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable
, Para
);
4749 Display Memory Device (Type 17) memory operating mode capability.
4751 @param[in] Para The key of the structure.
4752 @param[in] Option The optional information.
4755 DisplayMemoryDeviceMemoryOperatingModeCapability (
4760 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA
), gShellDebug1HiiHandle
);
4761 PRINT_INFO_OPTION (Para
, Option
);
4762 PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable
, Para
);
4766 Display 32-bit Memory Error Information (Type 18) type.
4768 @param[in] ErrorType The key of the structure.
4769 @param[in] Option The optional information.
4772 DisplayMemoryErrorType (
4777 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO
), gShellDebug1HiiHandle
);
4778 PRINT_INFO_OPTION (ErrorType
, Option
);
4779 PRINT_TABLE_ITEM (MemoryErrorTypeTable
, ErrorType
);
4783 Display 32-bit Memory Error Information (Type 18) error granularity.
4785 @param[in] Granularity The key of the structure.
4786 @param[in] Option The optional information.
4789 DisplayMemoryErrorGranularity (
4790 IN UINT8 Granularity
,
4794 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY
), gShellDebug1HiiHandle
);
4795 PRINT_INFO_OPTION (Granularity
, Option
);
4796 PRINT_TABLE_ITEM (MemoryErrorGranularityTable
, Granularity
);
4800 Display 32-bit Memory Error Information (Type 18) error information.
4802 @param[in] Operation The key of the structure.
4803 @param[in] Option The optional information.
4806 DisplayMemoryErrorOperation (
4811 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP
), gShellDebug1HiiHandle
);
4812 PRINT_INFO_OPTION (Operation
, Option
);
4813 PRINT_TABLE_ITEM (MemoryErrorOperationTable
, Operation
);
4817 Display Built-in Pointing Device (Type 21) type information.
4819 @param[in] Type The key of the structure.
4820 @param[in] Option The optional information.
4823 DisplayPointingDeviceType (
4828 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE
), gShellDebug1HiiHandle
);
4829 PRINT_INFO_OPTION (Type
, Option
);
4830 PRINT_TABLE_ITEM (PointingDeviceTypeTable
, Type
);
4834 Display Built-in Pointing Device (Type 21) information.
4836 @param[in] Interface The key of the structure.
4837 @param[in] Option The optional information.
4840 DisplayPointingDeviceInterface (
4845 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE
), gShellDebug1HiiHandle
);
4846 PRINT_INFO_OPTION (Interface
, Option
);
4847 PRINT_TABLE_ITEM (PointingDeviceInterfaceTable
, Interface
);
4851 Display Portable Battery (Type 22) information.
4853 @param[in] Key The key of the structure.
4854 @param[in] Option The optional information.
4857 DisplayPBDeviceChemistry (
4862 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM
), gShellDebug1HiiHandle
);
4863 PRINT_INFO_OPTION (Key
, Option
);
4864 PRINT_TABLE_ITEM (PBDeviceChemistryTable
, Key
);
4868 Display Voltage Probe (Type 26) location information.
4870 @param[in] Key The key of the structure.
4871 @param[in] Option The optional information.
4881 Loc
= (UINT8
)((Key
& 0xE0) >> 5);
4882 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4883 PRINT_INFO_OPTION (Loc
, Option
);
4884 PRINT_TABLE_ITEM (VPLocationTable
, Loc
);
4888 Display Voltage Probe (Type 26) status ype information.
4890 @param[in] Key The key of the structure.
4891 @param[in] Option The optional information.
4901 Status
= (UINT8
)(Key
& 0x1F);
4902 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS
), gShellDebug1HiiHandle
);
4903 PRINT_INFO_OPTION (Status
, Option
);
4904 PRINT_TABLE_ITEM (VPStatusTable
, Status
);
4908 Display Cooling (Type 27) status information.
4910 @param[in] Key The key of the structure.
4911 @param[in] Option The optional information.
4914 DisplayCoolingDeviceStatus (
4921 Status
= (UINT8
)((Key
& 0xE0) >> 5);
4922 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS
), gShellDebug1HiiHandle
);
4923 PRINT_INFO_OPTION (Status
, Option
);
4924 PRINT_TABLE_ITEM (CoolingDeviceStatusTable
, Status
);
4928 Display Cooling (Type 27) type information.
4930 @param[in] Key The key of the structure.
4931 @param[in] Option The optional information.
4934 DisplayCoolingDeviceType (
4941 Type
= (UINT8
)(Key
& 0x1F);
4942 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE
), gShellDebug1HiiHandle
);
4943 PRINT_INFO_OPTION (Type
, Option
);
4944 PRINT_TABLE_ITEM (CoolingDeviceTypeTable
, Type
);
4948 Display Temperature Probe (Type 28) status information.
4950 @param[in] Key The key of the structure.
4951 @param[in] Option The optional information.
4954 DisplayTemperatureProbeStatus (
4961 Status
= (UINT8
)((Key
& 0xE0) >> 5);
4962 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE
), gShellDebug1HiiHandle
);
4963 PRINT_INFO_OPTION (Status
, Option
);
4964 PRINT_TABLE_ITEM (TemperatureProbeStatusTable
, Status
);
4968 Display Temperature Probe (Type 28) location information.
4970 @param[in] Key The key of the structure.
4971 @param[in] Option The optional information.
4974 DisplayTemperatureProbeLoc (
4981 Loc
= (UINT8
)(Key
& 0x1F);
4982 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC
), gShellDebug1HiiHandle
);
4983 PRINT_INFO_OPTION (Loc
, Option
);
4984 PRINT_TABLE_ITEM (TemperatureProbeLocTable
, Loc
);
4988 Display Electrical Current Probe (Type 29) status information.
4990 @param[in] Key The key of the structure.
4991 @param[in] Option The optional information.
5001 Status
= (UINT8
)((Key
& 0xE0) >> 5);
5002 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS
), gShellDebug1HiiHandle
);
5003 PRINT_INFO_OPTION (Status
, Option
);
5004 PRINT_TABLE_ITEM (ECPStatusTable
, Status
);
5008 Display Type 29 information.
5010 @param[in] Key The key of the structure.
5011 @param[in] Option The optional information.
5021 Loc
= (UINT8
)(Key
& 0x1F);
5022 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC
), gShellDebug1HiiHandle
);
5023 PRINT_INFO_OPTION (Loc
, Option
);
5024 PRINT_TABLE_ITEM (ECPLocTable
, Loc
);
5028 Display Management Device (Type 34) Type.
5030 @param[in] Key The key of the structure.
5031 @param[in] Option The optional information.
5039 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE
), gShellDebug1HiiHandle
);
5040 PRINT_INFO_OPTION (Key
, Option
);
5041 PRINT_TABLE_ITEM (MDTypeTable
, Key
);
5045 Display Management Device (Type 34) Address Type.
5047 @param[in] Key The key of the structure.
5048 @param[in] Option The optional information.
5051 DisplayMDAddressType (
5056 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE
), gShellDebug1HiiHandle
);
5057 PRINT_INFO_OPTION (Key
, Option
);
5058 PRINT_TABLE_ITEM (MDAddressTypeTable
, Key
);
5062 Display Memory Channel (Type 37) information.
5064 @param[in] Key The key of the structure.
5065 @param[in] Option The optional information.
5068 DisplayMemoryChannelType (
5073 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE
), gShellDebug1HiiHandle
);
5074 PRINT_INFO_OPTION (Key
, Option
);
5075 PRINT_TABLE_ITEM (MemoryChannelTypeTable
, Key
);
5079 Display IPMI Device Information (Type 38) information.
5081 @param[in] Key The key of the structure.
5082 @param[in] Option The optional information.
5085 DisplayIPMIDIBMCInterfaceType (
5090 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
5091 PRINT_INFO_OPTION (Key
, Option
);
5092 PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable
, Key
);
5096 Display Management Controller Host Interface (Type 42) information.
5098 @param[in] Key The key of the structure.
5099 @param[in] Option The optional information.
5102 DisplayMCHostInterfaceType (
5107 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE
), gShellDebug1HiiHandle
);
5108 PRINT_INFO_OPTION (Key
, Option
);
5109 PRINT_TABLE_ITEM (MCHostInterfaceTypeTable
, Key
);
5113 Display Processor Architecture Type (Type 44).
5115 @param[in] Key The key of the structure.
5116 @param[in] Option The optional information.
5119 DisplayProcessorArchitectureType (
5124 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE
), gShellDebug1HiiHandle
);
5125 PRINT_INFO_OPTION (Key
, Option
);
5126 PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable
, Key
);
5130 Display the structure type information.
5132 @param[in] Key The key of the structure.
5133 @param[in] Option The optional information.
5136 DisplayStructureTypeInfo (
5144 ShellPrintHiiEx (-1, -1, NULL
, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE
), gShellDebug1HiiHandle
);
5145 PRINT_INFO_OPTION (Key
, Option
);
5146 PRINT_TABLE_ITEM (StructureTypeInfoTable
, Key
);