diff options
Diffstat (limited to 'ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c')
| -rw-r--r-- | ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c | 10592 |
1 files changed, 5296 insertions, 5296 deletions
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c index 36f8739d6c..ab345cffc3 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c @@ -1,5296 +1,5296 @@ -/** @file
- Build a table, each item is (Key, Info) pair.
- And give a interface of query a string out of a table.
-
- Copyright (c) 2005 - 2024, Intel Corporation. All rights reserved.<BR>
- (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>
- Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "UefiShellDebug1CommandsLib.h"
-#include "QueryTable.h"
-#include "PrintInfo.h"
-
-TABLE_ITEM SystemWakeupTypeTable[] = {
- {
- 0x0,
- L" Reserved"
- },
- {
- 0x1,
- L" Other"
- },
- {
- 0x2,
- L" Unknown"
- },
- {
- 0x3,
- L" APM Timer"
- },
- {
- 0x4,
- L" Modem Ring"
- },
- {
- 0x5,
- L" LAN Remote"
- },
- {
- 0x6,
- L" Power Switch"
- },
- {
- 0x7,
- L" AC Power Restored"
- }
-};
-
-TABLE_ITEM BaseBoardFeatureFlagsTable[] = {
- {
- 0,
- L" Hosting board"
- },
- {
- 1,
- L" Requires at least one daughter board or auxiliary card"
- },
- {
- 2,
- L" Removable"
- },
- {
- 3,
- L" Replaceable"
- },
- {
- 4,
- L" Hot swappable"
- }
-};
-
-TABLE_ITEM BaseBoardBoardTypeTable[] = {
- {
- 0x01,
- L" Unknown"
- },
- {
- 0x02,
- L" Other"
- },
- {
- 0x03,
- L" Server Blade"
- },
- {
- 0x04,
- L" Connectivity Switch"
- },
- {
- 0x05,
- L" System Management Module"
- },
- {
- 0x06,
- L" Processor Module"
- },
- {
- 0x07,
- L" I/O Module"
- },
- {
- 0x08,
- L" Memory Module"
- },
- {
- 0x09,
- L" Daughter board"
- },
- {
- 0x0A,
- L" Motherboard"
- },
- {
- 0x0B,
- L" Processor/Memory Module"
- },
- {
- 0x0C,
- L" Processor/IO Module"
- },
- {
- 0x0D,
- L" Interconnect Board"
- }
-};
-
-TABLE_ITEM SystemEnclosureTypeTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Desktop"
- },
- {
- 0x04,
- L" Low Profile Desktop"
- },
- {
- 0x05,
- L" Pizza Box"
- },
- {
- 0x06,
- L" Mini Tower"
- },
- {
- 0x07,
- L" Tower"
- },
- {
- 0x08,
- L" Portable"
- },
- {
- 0x09,
- L" Laptop"
- },
- {
- 0x0A,
- L" Notebook"
- },
- {
- 0x0B,
- L" Hand Held"
- },
- {
- 0x0C,
- L" Docking Station"
- },
- {
- 0x0D,
- L" All in One"
- },
- {
- 0x0E,
- L" Sub Notebook"
- },
- {
- 0x0F,
- L" Space-saving"
- },
- {
- 0x10,
- L" Lunch Box"
- },
- {
- 0x11,
- L" Main Server Chassis"
- },
- {
- 0x12,
- L" Expansion Chassis"
- },
- {
- 0x13,
- L" SubChassis"
- },
- {
- 0x14,
- L" Bus Expansion Chassis"
- },
- {
- 0x15,
- L" Peripheral Chassis"
- },
- {
- 0x16,
- L" RAID Chassis"
- },
- {
- 0x17,
- L" Rack Mount Chassis"
- },
- {
- 0x18,
- L" Sealed-case PC"
- },
- {
- 0x19,
- L" Multi-system Chassis"
- },
- {
- 0x1A,
- L" CompactPCI"
- },
- {
- 0x1B,
- L" AdvancedTCA"
- },
- {
- 0x1C,
- L" Blade"
- },
- {
- 0x1D,
- L" Blade Enclosure"
- },
- {
- 0x1E,
- L" Tablet"
- },
- {
- 0x1F,
- L" Convertible"
- },
- {
- 0x20,
- L" Detachable"
- },
- {
- 0x21,
- L" IoT Gateway"
- },
- {
- 0x22,
- L" Embedded PC"
- },
- {
- 0x23,
- L" Mini PC"
- },
- {
- 0x24,
- L" Stick PC"
- },
-};
-
-TABLE_ITEM SystemEnclosureStatusTable[] = {
- {
- 0x1,
- L" Other"
- },
- {
- 0x2,
- L" Unknown"
- },
- {
- 0x3,
- L" Safe"
- },
- {
- 0x4,
- L" Warning"
- },
- {
- 0x5,
- L" Critical"
- },
- {
- 0x6,
- L" Non-recoverable"
- }
-};
-
-TABLE_ITEM SESecurityStatusTable[] = {
- {
- 0x1,
- L" Other"
- },
- {
- 0x2,
- L" Unknown"
- },
- {
- 0x3,
- L" None"
- },
- {
- 0x4,
- L" External interface locked out"
- },
- {
- 0x5,
- L" External interface enabled"
- }
-};
-
-TABLE_ITEM ProcessorTypeTable[] = {
- {
- 0x1,
- L" Other"
- },
- {
- 0x2,
- L" Unknown"
- },
- {
- 0x3,
- L" Central Processor"
- },
- {
- 0x4,
- L" Math Processor"
- },
- {
- 0x5,
- L" DSP Processor"
- },
- {
- 0x6,
- L" Video Processor "
- },
-};
-
-TABLE_ITEM ProcessorUpgradeTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"Daughter Board"
- },
- {
- 0x04,
- L"ZIF Socket"
- },
- {
- 0x05,
- L"Replaceable Piggy Back"
- },
- {
- 0x06,
- L"None"
- },
- {
- 0x07,
- L"LIF Socket"
- },
- {
- 0x08,
- L"Slot 1"
- },
- {
- 0x09,
- L"Slot 2"
- },
- {
- 0x0A,
- L"370-pin socket"
- },
- {
- 0x0B,
- L"Slot A"
- },
- {
- 0x0C,
- L"Slot M"
- },
- {
- 0x0D,
- L"Socket 423"
- },
- {
- 0x0E,
- L"Socket A"
- },
- {
- 0x0F,
- L"Socket 478"
- },
- {
- 0x10,
- L"Socket 754"
- },
- {
- 0x11,
- L"Socket 940"
- },
- {
- 0x12,
- L"Socket 939"
- },
- {
- 0x13,
- L"Socket mPGA604"
- },
- {
- 0x14,
- L"Socket LGA771"
- },
- {
- 0x15,
- L"Socket LGA775"
- },
- {
- 0x16,
- L"Socket S1"
- },
- {
- 0x17,
- L"Socket AM2"
- },
- {
- 0x18,
- L"Socket F"
- },
- {
- 0x19,
- L"Socket LGA1366"
- },
- {
- 0x1A,
- L"Socket G34"
- },
- {
- 0x1B,
- L"Socket AM3"
- },
- {
- 0x1C,
- L"Socket C32"
- },
- {
- 0x1D,
- L"Socket LGA1156"
- },
- {
- 0x1E,
- L"Socket LGA1567"
- },
- {
- 0x1F,
- L"Socket PGA988A"
- },
- {
- 0x20,
- L"Socket BGA1288"
- },
- {
- 0x21,
- L"Socket rPGA988B"
- },
- {
- 0x22,
- L"Socket BGA1023"
- },
- {
- 0x23,
- L"Socket BGA1224"
- },
- {
- 0x24,
- L"Socket LGA1155"
- },
- {
- 0x25,
- L"Socket LGA1356"
- },
- {
- 0x26,
- L"Socket LGA2011"
- },
- {
- 0x27,
- L"Socket FS1"
- },
- {
- 0x28,
- L"Socket FS2"
- },
- {
- 0x29,
- L"Socket FM1"
- },
- {
- 0x2A,
- L"Socket FM2"
- },
- {
- 0x2B,
- L"Socket LGA2011-3"
- },
- {
- 0x2C,
- L"Socket LGA1356-3"
- },
- {
- 0x2D,
- L"Socket LGA1150"
- },
- {
- 0x2E,
- L"Socket BGA1168"
- },
- {
- 0x2F,
- L"Socket BGA1234"
- },
- {
- 0x30,
- L"Socket BGA1364"
- },
- {
- 0x31,
- L"Socket AM4"
- },
- {
- 0x32,
- L"Socket LGA1151"
- },
- {
- 0x33,
- L"Socket BGA1356"
- },
- {
- 0x34,
- L"Socket BGA1440"
- },
- {
- 0x35,
- L"Socket BGA1515"
- },
- {
- 0x36,
- L"Socket LGA3647-1"
- },
- {
- 0x37,
- L"Socket SP3"
- },
- {
- 0x38,
- L"Socket SP3r2"
- },
- {
- 0x39,
- L"Socket LGA2066"
- },
- {
- 0x3A,
- L"Socket BGA1392"
- },
- {
- 0x3B,
- L"Socket BGA1510"
- },
- {
- 0x3C,
- L"Socket BGA1528"
- },
- {
- 0x3D,
- L"Socket LGA4189"
- },
- {
- 0x3E,
- L"Socket LGA1200"
- },
- {
- 0x3F,
- L"Socket LGA4677"
- },
- {
- 0x40,
- L"Socket LGA1700"
- },
- {
- 0x41,
- L"Socket BGA1744"
- },
- {
- 0x42,
- L"Socket BGA1781"
- },
- {
- 0x43,
- L"Socket BGA1211"
- },
- {
- 0x44,
- L"Socket BGA2422"
- },
- {
- 0x45,
- L"Socket LGA1211"
- },
- {
- 0x46,
- L"Socket LGA2422"
- },
- {
- 0x47,
- L"Socket LGA5773"
- },
- {
- 0x48,
- L"Socket BGA5773"
- },
- {
- 0x49,
- L"Socket AM5"
- },
- {
- 0x4A,
- L"Socket SP5"
- },
- {
- 0x4B,
- L"Socket SP6"
- },
- {
- 0x4C,
- L"Socket BGA883"
- },
- {
- 0x4D,
- L"Socket BGA1190"
- },
- {
- 0x4E,
- L"Socket BGA4129"
- },
- {
- 0x4F,
- L"Socket LGA4710"
- },
- {
- 0x50,
- L"Socket LGA7529"
- },
- {
- 0x51,
- L"Socket BGA1964"
- },
- {
- 0x52,
- L"Socket BGA1792"
- },
- {
- 0x53,
- L"Socket BGA2049"
- },
- {
- 0x54,
- L"Socket BGA2551"
- },
- {
- 0x55,
- L"Socket LGA1851"
- },
- {
- 0x56,
- L"Socket BGA2114"
- },
- {
- 0x57,
- L"Socket BGA2833"
- }
-};
-
-TABLE_ITEM ProcessorCharacteristicsTable[] = {
- {
- 1,
- L" Unknown"
- },
- {
- 2,
- L" 64-bit Capable"
- },
- {
- 3,
- L" Multi-Core"
- },
- {
- 4,
- L" Hardware Thread"
- },
- {
- 5,
- L" Execute Protection"
- },
- {
- 6,
- L" Enhanced Virtualization"
- },
- {
- 7,
- L" Power/Performance Control"
- },
- {
- 8,
- L" 128-bit Capable"
- },
- {
- 9,
- L" ARM64 SoC ID"
- }
-};
-
-TABLE_ITEM McErrorDetectMethodTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"None"
- },
- {
- 0x04,
- L"8-bit Parity"
- },
- {
- 0x05,
- L"32-bit ECC"
- },
- {
- 0x06,
- L"64-bit ECC"
- },
- {
- 0x07,
- L"128-bit ECC"
- },
- {
- 0x08,
- L"CRC"
- },
-};
-
-TABLE_ITEM McErrorCorrectCapabilityTable[] = {
- {
- 0,
- L"Other"
- },
- {
- 1,
- L"Unknown"
- },
- {
- 2,
- L"None"
- },
- {
- 3,
- L"Single Bit Error Correcting"
- },
- {
- 4,
- L"Double Bit Error Correcting"
- },
- {
- 5,
- L"Error Scrubbing"
- },
-};
-
-TABLE_ITEM McInterleaveSupportTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"One Way Interleave"
- },
- {
- 0x04,
- L"Two Way Interleave"
- },
- {
- 0x05,
- L"Four Way Interleave"
- },
- {
- 0x06,
- L"Eight Way Interleave"
- },
- {
- 0x07,
- L"Sixteen Way Interleave"
- }
-};
-
-TABLE_ITEM McMemorySpeedsTable[] = {
- {
- 0,
- L" Other"
- },
- {
- 1,
- L" Unknown"
- },
- {
- 2,
- L" 70ns"
- },
- {
- 3,
- L" 60ns"
- },
- {
- 4,
- L" 50ns"
- },
-};
-
-TABLE_ITEM MemoryModuleVoltageTable[] = {
- {
- 0,
- L" 5V"
- },
- {
- 1,
- L" 3.3V"
- },
- {
- 2,
- L" 2.9V"
- },
-};
-
-TABLE_ITEM MmMemoryTypeTable[] = {
- {
- 0,
- L" Other"
- },
- {
- 1,
- L" Unknown"
- },
- {
- 2,
- L" Standard"
- },
- {
- 3,
- L" Fast Page Mode"
- },
- {
- 4,
- L" EDO"
- },
- {
- 5,
- L" Parity"
- },
- {
- 6,
- L" ECC "
- },
- {
- 7,
- L" SIMM"
- },
- {
- 8,
- L" DIMM"
- },
- {
- 9,
- L" Burst EDO"
- },
- {
- 10,
- L" SDRAM"
- }
-};
-
-TABLE_ITEM MmErrorStatusTable[] = {
- {
- 0,
- L" Uncorrectable errors received"
- },
- {
- 1,
- L" Correctable errors received"
- },
- {
- 2,
- L" Error Status obtained from the event log"
- }
-};
-
-TABLE_ITEM CacheSRAMTypeTable[] = {
- {
- 0,
- L" Other"
- },
- {
- 1,
- L" Unknown"
- },
- {
- 2,
- L" Non-Burst"
- },
- {
- 3,
- L" Burst"
- },
- {
- 4,
- L" Pipeline Burst"
- },
- {
- 5,
- L" Synchronous"
- },
- {
- 6,
- L" Asynchronous"
- },
-};
-
-TABLE_ITEM CacheErrCorrectingTypeTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"None"
- },
- {
- 0x04,
- L"Parity"
- },
- {
- 0x05,
- L"Single-bit ECC"
- },
- {
- 0x06,
- L"Multi-bit ECC"
- }
-};
-
-TABLE_ITEM CacheSystemCacheTypeTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"Instruction"
- },
- {
- 0x04,
- L"Data"
- },
- {
- 0x05,
- L"Unified"
- }
-};
-
-TABLE_ITEM CacheAssociativityTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"Direct Mapped"
- },
- {
- 0x04,
- L"2-way Set-Associative"
- },
- {
- 0x05,
- L"4-way Set-Associative"
- },
- {
- 0x06,
- L"Fully Associative"
- },
- {
- 0x07,
- L"8-way Set-Associative"
- },
- {
- 0x08,
- L"16-way Set-Associative"
- },
- {
- 0x09,
- L"12-way Set-Associative"
- },
- {
- 0x0A,
- L"24-way Set-Associative"
- },
- {
- 0x0B,
- L"32-way Set-Associative"
- },
- {
- 0x0C,
- L"48-way Set-Associative"
- },
- {
- 0x0D,
- L"64-way Set-Associative"
- },
- {
- 0x0E,
- L"20-way Set-Associative"
- }
-};
-
-TABLE_ITEM PortConnectorTypeTable[] = {
- {
- 0x00,
- L"None"
- },
- {
- 0x01,
- L"Centronics"
- },
- {
- 0x02,
- L"Mini Centronics"
- },
- {
- 0x03,
- L"Proprietary"
- },
- {
- 0x04,
- L"DB-25 pin male"
- },
- {
- 0x05,
- L"DB-25 pin female"
- },
- {
- 0x06,
- L"DB-15 pin male"
- },
- {
- 0x07,
- L"DB-15 pin female"
- },
- {
- 0x08,
- L"DB-9 pin male"
- },
- {
- 0x09,
- L"DB-9 pin female"
- },
- {
- 0x0A,
- L"RJ-11"
- },
- {
- 0x0B,
- L"RJ-45"
- },
- {
- 0x0C,
- L"50 Pin MiniSCSI"
- },
- {
- 0x0D,
- L"Mini-DIN"
- },
- {
- 0x0E,
- L"Micro-DIN"
- },
- {
- 0x0F,
- L"PS/2"
- },
- {
- 0x10,
- L"Infrared"
- },
- {
- 0x11,
- L"HP-HIL"
- },
- {
- 0x12,
- L"Access Bus (USB)"
- },
- {
- 0x13,
- L"SSA SCSI"
- },
- {
- 0x14,
- L"Circular DIN-8 male"
- },
- {
- 0x15,
- L"Circular DIN-8 female"
- },
- {
- 0x16,
- L"On Board IDE"
- },
- {
- 0x17,
- L"On Board Floppy"
- },
- {
- 0x18,
- L"9 Pin Dual Inline (pin 10 cut)"
- },
- {
- 0x19,
- L"25 Pin Dual Inline (pin 26 cut)"
- },
- {
- 0x1A,
- L"50 Pin Dual Inline"
- },
- {
- 0x1B,
- L"68 Pin Dual Inline"
- },
- {
- 0x1C,
- L"On Board Sound Input from CD-ROM"
- },
- {
- 0x1D,
- L"Mini-Centronics Type-14"
- },
- {
- 0x1E,
- L"Mini-Centronics Type-26"
- },
- {
- 0x1F,
- L"Mini-jack (headphones)"
- },
- {
- 0x20,
- L"BNC"
- },
- {
- 0x21,
- L"1394"
- },
- {
- 0x22,
- L"SAS/SATA Plug Receptacle"
- },
- {
- 0x23,
- L"USB Type-C Receptacle"
- },
- {
- 0xA0,
- L"PC-98"
- },
- {
- 0xA1,
- L"PC-98Hireso"
- },
- {
- 0xA2,
- L"PC-H98"
- },
- {
- 0xA3,
- L"PC-98Note"
- },
- {
- 0xA4,
- L"PC-98Full"
- },
- {
- 0xFF,
- L"Other"
- },
-};
-
-TABLE_ITEM PortTypeTable[] = {
- {
- 0x00,
- L"None"
- },
- {
- 0x01,
- L"Parallel Port XT/AT Compatible"
- },
- {
- 0x02,
- L"Parallel Port PS/2"
- },
- {
- 0x03,
- L"Parallel Port ECP"
- },
- {
- 0x04,
- L"Parallel Port EPP"
- },
- {
- 0x05,
- L"Parallel Port ECP/EPP"
- },
- {
- 0x06,
- L"Serial Port XT/AT Compatible"
- },
- {
- 0x07,
- L"Serial Port 16450 Compatible"
- },
- {
- 0x08,
- L"Serial Port 16550 Compatible"
- },
- {
- 0x09,
- L"Serial Port 16550A Compatible"
- },
- {
- 0x0A,
- L"SCSI Port"
- },
- {
- 0x0B,
- L"MIDI Port"
- },
- {
- 0x0C,
- L"Joy Stick Port"
- },
- {
- 0x0D,
- L"Keyboard Port"
- },
- {
- 0x0E,
- L"Mouse Port"
- },
- {
- 0x0F,
- L"SSA SCSI"
- },
- {
- 0x10,
- L"USB"
- },
- {
- 0x11,
- L"FireWire (IEEE P1394)"
- },
- {
- 0x12,
- L"PCMCIA Type II"
- },
- {
- 0x13,
- L"PCMCIA Type II"
- },
- {
- 0x14,
- L"PCMCIA Type III"
- },
- {
- 0x15,
- L"Cardbus"
- },
- {
- 0x16,
- L"Access Bus Port"
- },
- {
- 0x17,
- L"SCSI II"
- },
- {
- 0x18,
- L"SCSI Wide"
- },
- {
- 0x19,
- L"PC-98"
- },
- {
- 0x1A,
- L"PC-98-Hireso"
- },
- {
- 0x1B,
- L"PC-H98"
- },
- {
- 0x1C,
- L"Video Port"
- },
- {
- 0x1D,
- L"Audio Port"
- },
- {
- 0x1E,
- L"Modem Port"
- },
- {
- 0x1F,
- L"Network Port"
- },
- {
- 0x20,
- L"SATA Port"
- },
- {
- 0x21,
- L"SAS Port"
- },
- {
- 0x22,
- L"Multi-Function Display Port (MFDP)"
- },
- {
- 0x23,
- L"Thunderbolt"
- },
- {
- 0xA0,
- L"8251 Compatible"
- },
- {
- 0xA1,
- L"8251 FIFO Compatible"
- },
- {
- 0xFF,
- L"Other "
- },
-};
-
-TABLE_ITEM SystemSlotTypeTable[] = {
- {
- 0x01,
- L"Other"
- },
- {
- 0x02,
- L"Unknown"
- },
- {
- 0x03,
- L"ISA"
- },
- {
- 0x04,
- L"MCA"
- },
- {
- 0x05,
- L"EISA"
- },
- {
- 0x06,
- L"PCI"
- },
- {
- 0x07,
- L"PC Card (PCMCIA)"
- },
- {
- 0x08,
- L"VL-VESA"
- },
- {
- 0x09,
- L"Proprietary"
- },
- {
- 0x0A,
- L"Processor Card Slot"
- },
- {
- 0x0B,
- L"Proprietary Memory Card Slot"
- },
- {
- 0x0C,
- L"I/O Riser Card Slot"
- },
- {
- 0x0D,
- L"NuBus"
- },
- {
- 0x0E,
- L"PCI - 66MHz Capable"
- },
- {
- 0x0F,
- L"AGP"
- },
- {
- 0x10,
- L"AGP 2X"
- },
- {
- 0x11,
- L"AGP 4X"
- },
- {
- 0x12,
- L"PCI-X"
- },
- {
- 0x13,
- L"AGP 8X"
- },
- {
- 0x14,
- L"M.2 Socket 1-DP (Mechanical Key A)"
- },
- {
- 0x15,
- L"M.2 Socket 1-SD (Mechanical Key E)"
- },
- {
- 0x16,
- L"M.2 Socket 2 (Mechanical Key B)"
- },
- {
- 0x17,
- L"M.2 Socket 3 (Mechanical Key M)"
- },
- {
- 0x18,
- L"MXM Type I"
- },
- {
- 0x19,
- L"MXM Type II"
- },
- {
- 0x1A,
- L"MXM Type III (standard connector)"
- },
- {
- 0x1B,
- L"MXM Type III (HE connector)"
- },
- {
- 0x1C,
- L"MXM Type IV"
- },
- {
- 0x1D,
- L"MXM 3.0 Type A"
- },
- {
- 0x1E,
- L"MXM 3.0 Type B"
- },
- {
- 0x1F,
- L"PCI Express Gen 2 SFF-8639"
- },
- {
- 0x20,
- L"PCI Express Gen 3 SFF-8639"
- },
- {
- 0x21,
- L"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs"
- },
- {
- 0x22,
- L"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs"
- },
- {
- 0x23,
- L"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card"
- },
- {
- 0x24,
- L"PCI Express Gen 4 SFF-8639 (U.2)"
- },
- {
- 0x25,
- L"PCI Express Gen 5 SFF-8639 (U.2)"
- },
- {
- 0x26,
- L"OCP NIC 3.0 Small Form Factor (SFF)"
- },
- {
- 0x27,
- L"OCP NIC 3.0 Large Form Factor (LFF)"
- },
- {
- 0x28,
- L"OCP NIC Prior to 3.0"
- },
- {
- SlotTypeCXLFlexbus10,
- L"CXL Flexbus 1.0"
- },
- {
- 0xA0,
- L"PC-98/C20 "
- },
- {
- 0xA1,
- L"PC-98/C24 "
- },
- {
- 0xA2,
- L"PC-98/E "
- },
- {
- 0xA3,
- L"PC-98/Local Bus "
- },
- {
- 0xA4,
- L"PC-98/Card "
- },
- {
- 0xA5,
- L"PCI Express "
- },
- {
- 0xA6,
- L"PCI Express X1"
- },
- {
- 0xA7,
- L"PCI Express X2"
- },
- {
- 0xA8,
- L"PCI Express X4"
- },
- {
- 0xA9,
- L"PCI Express X8"
- },
- {
- 0xAA,
- L"PCI Express X16"
- },
- {
- 0xAB,
- L"PCI Express Gen 2"
- },
- {
- 0xAC,
- L"PCI Express Gen 2 X1"
- },
- {
- 0xAD,
- L"PCI Express Gen 2 X2"
- },
- {
- 0xAE,
- L"PCI Express Gen 2 X4"
- },
- {
- 0xAF,
- L"PCI Express Gen 2 X8"
- },
- {
- 0xB0,
- L"PCI Express Gen 2 X16"
- },
- {
- 0xB1,
- L"PCI Express Gen 3"
- },
- {
- 0xB2,
- L"PCI Express Gen 3 X1"
- },
- {
- 0xB3,
- L"PCI Express Gen 3 X2"
- },
- {
- 0xB4,
- L"PCI Express Gen 3 X4"
- },
- {
- 0xB5,
- L"PCI Express Gen 3 X8"
- },
- {
- 0xB6,
- L"PCI Express Gen 3 X16"
- },
- {
- SlotTypePciExpressGen4,
- L"PCI Express Gen 4"
- },
- {
- SlotTypePciExpressGen4X1,
- L"PCI Express Gen 4 X1"
- },
- {
- SlotTypePciExpressGen4X2,
- L"PCI Express Gen 4 X2"
- },
- {
- SlotTypePciExpressGen4X4,
- L"PCI Express Gen 4 X4"
- },
- {
- SlotTypePciExpressGen4X8,
- L"PCI Express Gen 4 X8"
- },
- {
- SlotTypePciExpressGen4X16,
- L"PCI Express Gen 4 X16"
- },
- {
- SlotTypePCIExpressGen5,
- L"PCI Express Gen 5"
- },
- {
- SlotTypePCIExpressGen5X1,
- L"PCI Express Gen 5 x1"
- },
- {
- SlotTypePCIExpressGen5X2,
- L"PCI Express Gen 5 x2"
- },
- {
- SlotTypePCIExpressGen5X4,
- L"PCI Express Gen 5 x4"
- },
- {
- SlotTypePCIExpressGen5X8,
- L"PCI Express Gen 5 x8"
- },
- {
- SlotTypePCIExpressGen5X16,
- L"PCI Express Gen 5 x16"
- },
- {
- SlotTypePCIExpressGen6andBeyond,
- L"PCI Express Gen 6 and Beyond"
- },
- {
- SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot,
- L"Enterprise and Datacenter 1U E1 Form Factor Slot"
- },
- {
- SlotTypeEnterpriseandDatacenter3E3FormFactorSlot,
- L"Enterprise and Datacenter 3'E3 Form Factor Slot"
- }
-};
-
-TABLE_ITEM SystemSlotDataBusWidthTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" 8 bit"
- },
- {
- 0x04,
- L" 16 bit"
- },
- {
- 0x05,
- L" 32 bit"
- },
- {
- 0x06,
- L" 64 bit"
- },
- {
- 0x07,
- L" 128 bit"
- },
- {
- 0x08,
- L" 1x or x1"
- },
- {
- 0x09,
- L" 2x or x2"
- },
- {
- 0x0A,
- L" 4x or x4"
- },
- {
- 0x0B,
- L" 8x or x8"
- },
- {
- 0x0C,
- L" 12x or x12"
- },
- {
- 0x0D,
- L" 16x or x16"
- },
- {
- 0x0E,
- L" 32x or x32"
- }
-};
-
-TABLE_ITEM SystemSlotPhysicalWidthTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" 8 bit"
- },
- {
- 0x04,
- L" 16 bit"
- },
- {
- 0x05,
- L" 32 bit"
- },
- {
- 0x06,
- L" 64 bit"
- },
- {
- 0x07,
- L" 128 bit"
- },
- {
- 0x08,
- L" 1x or x1"
- },
- {
- 0x09,
- L" 2x or x2"
- },
- {
- 0x0A,
- L" 4x or x4"
- },
- {
- 0x0B,
- L" 8x or x8"
- },
- {
- 0x0C,
- L" 12x or x12"
- },
- {
- 0x0D,
- L" 16x or x16"
- },
- {
- 0x0E,
- L" 32x or x32"
- }
-};
-
-TABLE_ITEM SystemSlotInformationTable[] = {
- {
- 0x00,
- L" Others"
- },
- {
- 0x01,
- L" Gen 1"
- },
- {
- 0x02,
- L" Gen 2"
- },
- {
- 0x03,
- L" Gen 3"
- },
- {
- 0x04,
- L" Gen 4"
- },
- {
- 0x05,
- L" Gen 5"
- },
- {
- 0x06,
- L" Gen 6"
- }
-};
-
-TABLE_ITEM SystemSlotCurrentUsageTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Available"
- },
- {
- 0x04,
- L" In use"
- },
- {
- 0x05,
- L" Unavailable"
- }
-};
-
-TABLE_ITEM SystemSlotLengthTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Short length"
- },
- {
- 0x04,
- L" Long Length"
- },
-};
-
-TABLE_ITEM SystemSlotHeightTable[] = {
- {
- 0x00,
- L" Not applicable"
- },
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unkown"
- },
- {
- 0x03,
- L" Full height"
- },
- {
- 0x04,
- L" Low-Profile"
- },
-};
-
-TABLE_ITEM SlotCharacteristics1Table[] = {
- {
- 0,
- L" Characteristics Unknown"
- },
- {
- 1,
- L" Provides 5.0 Volts"
- },
- {
- 2,
- L" Provides 3.3 Volts"
- },
- {
- 3,
- L" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot."
- },
-
- {
- 4,
- L" PC Card slot supports PC Card-16"
- },
- {
- 5,
- L" PC Card slot supports CardBus"
- },
- {
- 6,
- L" PC Card slot supports Zoom Video "
- },
- {
- 7,
- L" PC Card slot supports Modem Ring Resume "
- }
-};
-
-TABLE_ITEM SlotCharacteristics2Table[] = {
- {
- 0,
- L" PCI slot supports Power Management Enable (PME#) signal"
- },
- {
- 1,
- L" Slot supports hot-plug devices"
- },
- {
- 2,
- L" PCI slot supports SMBus signal"
- },
- {
- 3,
- L" PCIe slot supports bifurcation"
- },
- {
- 4,
- L" Slot supports async/surprise removal"
- },
- {
- 5,
- L" Flexbus slot, CXL 1.0 capable"
- },
- {
- 6,
- L" Flexbus slot, CXL 2.0 capable"
- },
- {
- 7,
- L" Reserved"
- }
-};
-
-TABLE_ITEM OnboardDeviceTypesTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Video"
- },
- {
- 0x04,
- L" SCSI Controller"
- },
- {
- 0x05,
- L" Ethernet"
- },
- {
- 0x06,
- L" Token Ring"
- },
- {
- 0x07,
- L" Sound"
- },
- {
- 0x08,
- L" Pata Controller"
- },
- {
- 0x09,
- L" Sata Controller"
- },
- {
- 0x0A,
- L" Sas Controller"
- },
- {
- 0x0B,
- L" Wireless LAN"
- },
- {
- 0x0C,
- L" Bluetooth"
- },
- {
- 0x0D,
- L" WWAN"
- },
- {
- 0x0E,
- L" embedded Multi-Media Controller"
- },
- {
- 0x0F,
- L" NVMe Controller"
- },
- {
- 0x10,
- L" UFS Controller"
- }
-};
-
-TABLE_ITEM SELTypesTable[] = {
- {
- 0x00,
- L" Reserved."
- },
- {
- 0x01,
- L" Single-bit ECC memory error"
- },
- {
- 0x02,
- L" Multi-bit ECC memory error"
- },
- {
- 0x03,
- L" Parity memory error"
- },
- {
- 0x04,
- L" Bus time-out"
- },
- {
- 0x05,
- L" I/O Channel Check"
- },
- {
- 0x06,
- L" Software NMI"
- },
- {
- 0x07,
- L" POST Memory Resize"
- },
- {
- 0x08,
- L" POST Error"
- },
- {
- 0x09,
- L" PCI Parity Error"
- },
- {
- 0x0A,
- L" PCI System Error"
- },
- {
- 0x0B,
- L" CPU Failure"
- },
- {
- 0x0C,
- L" EISA FailSafe Timer time-out"
- },
- {
- 0x0D,
- L" Correctable memory log disabled"
- },
- {
- 0x0E,
- L" Logging disabled for a specific Event Type"
- },
- {
- 0x0F,
- L" Reserved"
- },
- {
- 0x10,
- L" System Limit Exceeded"
- },
- {
- 0x11,
- L" Asynchronous hardware timer expired and issued a system reset"
- },
- {
- 0x12,
- L" System configuration information"
- },
- {
- 0x13,
- L" Hard-disk information"
- },
- {
- 0x14,
- L" System reconfigured"
- },
- {
- 0x15,
- L" Uncorrectable CPU-complex error"
- },
- {
- 0x16,
- L" Log Area Reset/Cleared"
- },
- {
- 0x17,
- L" System boot"
- },
- {
- 0x7F18,
- L" Unused by SMBIOS specification"
- },
- {
- 0xFE80,
- L" System and OEM specified"
- },
- {
- 0xFF,
- L" End-of-log"
- },
-};
-
-TABLE_ITEM SELVarDataFormatTypeTable[] = {
- {
- 0x00,
- L" None "
- },
- {
- 0x01,
- L" Handle "
- },
- {
- 0x02,
- L" Multiple-Event "
- },
- {
- 0x03,
- L" Multiple-Event Handle "
- },
- {
- 0x04,
- L" POST Results Bitmap "
- },
- //
- // Defined below
- //
- {
- 0x05,
- L" System Management Type"
- },
- //
- // Defined below
- //
- {
- 0x06,
- L" Multiple-Event System Management Type "
- },
- {
- 0x7F07,
- L" Unused "
- },
- {
- 0xFF80,
- L" OEM assigned "
- },
-};
-
-TABLE_ITEM PostResultsBitmapDw1Table[] = {
- {
- 0,
- L" Channel 2 Timer error "
- },
- {
- 1,
- L" Master PIC (8259 #1) error "
- },
- {
- 2,
- L" Slave PIC (8259 #2) error "
- },
- {
- 3,
- L" CMOS Battery Failure "
- },
- {
- 4,
- L" CMOS System Options Not Set "
- },
- {
- 5,
- L" CMOS Checksum Error "
- },
- {
- 6,
- L" CMOS Configuration Error "
- },
- {
- 7,
- L" Mouse and Keyboard Swapped "
- },
- {
- 8,
- L" Keyboard Locked "
- },
- {
- 9,
- L" Keyboard Not Functional "
- },
- {
- 10,
- L" Keyboard Controller Not Functional "
- },
- {
- 11,
- L" CMOS Memory Size Different "
- },
- {
- 12,
- L" Memory Decreased in Size "
- },
- {
- 13,
- L" Cache Memory Error "
- },
- {
- 14,
- L" Floppy Drive 0 Error "
- },
- {
- 15,
- L" Floppy Drive 1 Error "
- },
- {
- 16,
- L" Floppy Controller Failure "
- },
- {
- 17,
- L" Number of ATA Drives Reduced Error "
- },
- {
- 18,
- L" CMOS Time Not Set "
- },
- {
- 19,
- L" DDC Monitor Configuration Change "
- },
- {
- 20,
- L" Reserved, set to 0 "
- },
- {
- 21,
- L" Reserved, set to 0 "
- },
- {
- 22,
- L" Reserved, set to 0 "
- },
- {
- 23,
- L" Reserved, set to 0 "
- },
- {
- 24,
- L" Second DWORD has valid data "
- },
- {
- 25,
- L" Reserved, set to 0 "
- },
- {
- 26,
- L" Reserved, set to 0 "
- },
- {
- 27,
- L" Reserved, set to 0 "
- },
- {
- 28,
- L" Normally 0; available for OEM assignment "
- },
- {
- 29,
- L" Normally 0; available for OEM assignment "
- },
- {
- 30,
- L" Normally 0; available for OEM assignment "
- },
- {
- 31,
- L" Normally 0; available for OEM assignment "
- },
-};
-
-TABLE_ITEM PostResultsBitmapDw2Table[] = {
- {
- 0,
- L" Normally 0; available for OEM assignment "
- },
- {
- 1,
- L" Normally 0; available for OEM assignment "
- },
- {
- 2,
- L" Normally 0; available for OEM assignment "
- },
- {
- 3,
- L" Normally 0; available for OEM assignment "
- },
- {
- 4,
- L" Normally 0; available for OEM assignment "
- },
- {
- 5,
- L" Normally 0; available for OEM assignment "
- },
- {
- 6,
- L" Normally 0; available for OEM assignment "
- },
- {
- 7,
- L" PCI Memory Conflict "
- },
- {
- 8,
- L" PCI I/O Conflict "
- },
- {
- 9,
- L" PCI IRQ Conflict "
- },
- {
- 10,
- L" PNP Memory Conflict "
- },
- {
- 11,
- L" PNP 32 bit Memory Conflict "
- },
- {
- 12,
- L" PNP I/O Conflict "
- },
- {
- 13,
- L" PNP IRQ Conflict "
- },
- {
- 14,
- L" PNP DMA Conflict "
- },
- {
- 15,
- L" Bad PNP Serial ID Checksum "
- },
- {
- 16,
- L" Bad PNP Resource Data Checksum "
- },
- {
- 17,
- L" Static Resource Conflict "
- },
- {
- 18,
- L" NVRAM Checksum Error, NVRAM Cleared "
- },
- {
- 19,
- L" System Board Device Resource Conflict "
- },
- {
- 20,
- L" Primary Output Device Not Found "
- },
- {
- 21,
- L" Primary Input Device Not Found "
- },
- {
- 22,
- L" Primary Boot Device Not Found "
- },
- {
- 23,
- L" NVRAM Cleared By Jumper "
- },
- {
- 24,
- L" NVRAM Data Invalid, NVRAM Cleared "
- },
- {
- 25,
- L" FDC Resource Conflict "
- },
- {
- 26,
- L" Primary ATA Controller Resource Conflict "
- },
- {
- 27,
- L" Secondary ATA Controller Resource Conflict "
- },
- {
- 28,
- L" Parallel Port Resource Conflict "
- },
- {
- 29,
- L" Serial Port 1 Resource Conflict "
- },
- {
- 30,
- L" Serial Port 2 Resource Conflict "
- },
- {
- 31,
- L" Audio Resource Conflict "
- },
-};
-
-TABLE_ITEM SELSysManagementTypesTable[] = {
- {
- 0x01,
- L" +2.5V Out of range, #2 "
- },
- {
- 0x02,
- L" +3.3V Out of range "
- },
- {
- 0x03,
- L" +5V Out of range "
- },
- {
- 0x04,
- L" -5V Out of range "
- },
- {
- 0x05,
- L" +12V Out of range "
- },
- {
- 0x06,
- L" -12V Out of range "
- },
- {
- 0x0F07,
- L" Reserved for future out-of-range voltage levels "
- },
- {
- 0x10,
- L" System board temperature out of range "
- },
- {
- 0x11,
- L" Processor #1 temperature out of range "
- },
- {
- 0x12,
- L" Processor #2 temperature out of range "
- },
- {
- 0x13,
- L" Processor #3 temperature out of range "
- },
- {
- 0x14,
- L" Processor #4 temperature out of range "
- },
- {
- 0x1F15,
- L" Reserved for future out-of-range temperatures"
- },
- {
- 0x2720,
- L" Fan n (n = 0 to 7) Out of range "
- },
- {
- 0x2F28,
- L" Reserved for future assignment via this specification "
- },
- {
- 0x30,
- L" Chassis secure switch activated "
- },
-};
-
-TABLE_ITEM PMALocationTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" System board or motherboard"
- },
- {
- 0x04,
- L" ISA add-on card"
- },
- {
- 0x05,
- L" EISA add-on card"
- },
- {
- 0x06,
- L" PCI add-on card"
- },
- {
- 0x07,
- L" MCA add-on card"
- },
- {
- 0x08,
- L" PCMCIA add-on card"
- },
- {
- 0x09,
- L" Proprietary add-on card"
- },
- {
- 0x0A,
- L" NuBus"
- },
- {
- 0xA0,
- L" PC-98/C20 add-on card"
- },
- {
- 0xA1,
- L" PC-98/C24 add-on card"
- },
- {
- 0xA2,
- L" PC-98/E add-on card"
- },
- {
- 0xA3,
- L" PC-98/Local bus add-on card"
- },
- {
- MemoryArrayLocationCXLAddonCard,
- L" CXL add-on card"
- }
-};
-
-TABLE_ITEM PMAUseTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" System memory"
- },
- {
- 0x04,
- L" Video memory"
- },
- {
- 0x05,
- L" Flash memory"
- },
- {
- 0x06,
- L" Non-volatile RAM"
- },
- {
- 0x07,
- L" Cache memory"
- }
-};
-
-TABLE_ITEM PMAErrorCorrectionTypesTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" None"
- },
- {
- 0x04,
- L" Parity"
- },
- {
- 0x05,
- L" Single-bit ECC"
- },
- {
- 0x06,
- L" Multi-bit ECC"
- },
- {
- 0x07,
- L" CRC"
- }
-};
-
-TABLE_ITEM MemoryDeviceFormFactorTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" SIMM"
- },
- {
- 0x04,
- L" SIP"
- },
- {
- 0x05,
- L" Chip"
- },
- {
- 0x06,
- L" DIP"
- },
- {
- 0x07,
- L" ZIP"
- },
- {
- 0x08,
- L" Proprietary Card"
- },
- {
- 0x09,
- L" DIMM"
- },
- {
- 0x0A,
- L" TSOP"
- },
- {
- 0x0B,
- L" Row of chips"
- },
- {
- 0x0C,
- L" RIMM"
- },
- {
- 0x0D,
- L" SODIMM"
- },
- {
- 0x0E,
- L" SRIMM"
- },
- {
- 0x0F,
- L" FB-DIMM"
- },
- {
- MemoryFormFactorDie,
- L" Die"
- }
-};
-
-TABLE_ITEM MemoryDeviceTypeTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" DRAM"
- },
- {
- 0x04,
- L" EDRAM"
- },
- {
- 0x05,
- L" VRAM"
- },
- {
- 0x06,
- L" SRAM"
- },
- {
- 0x07,
- L" RAM"
- },
- {
- 0x08,
- L" ROM"
- },
- {
- 0x09,
- L" FLASH"
- },
- {
- 0x0A,
- L" EEPROM"
- },
- {
- 0x0B,
- L" FEPROM"
- },
- {
- 0x0C,
- L" EPROM"
- },
- {
- 0x0D,
- L" CDRAM"
- },
- {
- 0x0E,
- L" 3DRAM"
- },
- {
- 0x0F,
- L" SDRAM"
- },
- {
- 0x10,
- L" SGRAM"
- },
- {
- 0x11,
- L" RDRAM"
- },
- {
- 0x12,
- L" DDR"
- },
- {
- 0x13,
- L" DDR2"
- },
- {
- 0x14,
- L" DDR2 FB-DIMM"
- },
- {
- 0x18,
- L" DDR3"
- },
- {
- 0x19,
- L" FBD2"
- },
- {
- 0x1A,
- L" DDR4"
- },
- {
- 0x1B,
- L" LPDDR"
- },
- {
- 0x1C,
- L" LPDDR2"
- },
- {
- 0x1D,
- L" LPDDR3"
- },
- {
- 0x1E,
- L" LPDDR4"
- },
- {
- 0x1F,
- L" Logical non-volatile device"
- },
- {
- MemoryTypeHBM,
- L" HBM (High Bandwidth Memory)"
- },
- {
- MemoryTypeHBM2,
- L" HBM2 (High Bandwidth Memory Generation 2)"
- },
- {
- MemoryTypeDdr5,
- L" DDR5"
- },
- {
- MemoryTypeLpddr5,
- L" LPDDR5"
- }
-};
-
-TABLE_ITEM MemoryDeviceTypeDetailTable[] = {
- {
- 1,
- L" Other"
- },
- {
- 2,
- L" Unknown"
- },
- {
- 3,
- L" Fast-paged"
- },
- {
- 4,
- L" Static column"
- },
- {
- 5,
- L" Pseudo-STATIC"
- },
- {
- 6,
- L" RAMBUS "
- },
- {
- 7,
- L" Synchronous"
- },
- {
- 8,
- L" CMOS"
- },
- {
- 9,
- L" EDO"
- },
- {
- 10,
- L" Window DRAM"
- },
- {
- 11,
- L" Cache DRAM"
- },
- {
- 12,
- L" Non-volatile"
- },
- {
- 13,
- L" Registered(Buffered)"
- },
- {
- 14,
- L" Unbuffered(Unregistered)"
- }
-};
-
-TABLE_ITEM MemoryDeviceMemoryTechnologyTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" DRAM"
- },
- {
- 0x04,
- L" NVDIMM-N"
- },
- {
- 0x05,
- L" NVDIMM-F"
- },
- {
- 0x06,
- L" NVDIMM-P"
- },
- {
- MemoryTechnologyIntelOptanePersistentMemory,
- L" Intel Optane Persistent Memory"
- }
-};
-
-TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable[] = {
- {
- 1,
- L" Other"
- },
- {
- 2,
- L" Unknown"
- },
- {
- 3,
- L" Volatile memory"
- },
- {
- 4,
- L" Byte-accessible persistent memory"
- },
- {
- 5,
- L" Block-accessible persistent memory"
- }
-};
-
-TABLE_ITEM MemoryErrorTypeTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" OK"
- },
- {
- 0x04,
- L" Bad read"
- },
- {
- 0x05,
- L" Parity error"
- },
- {
- 0x06,
- L" Single-bit error"
- },
- {
- 0x07,
- L" Double-bit error"
- },
- {
- 0x08,
- L" Multi-bit error"
- },
- {
- 0x09,
- L" Nibble error"
- },
- {
- 0x0A,
- L" Checksum error"
- },
- {
- 0x0B,
- L" CRC error"
- },
- {
- 0x0C,
- L" Corrected single-bit error"
- },
- {
- 0x0D,
- L" Corrected error"
- },
- {
- 0x0E,
- L" Uncorrectable error"
- },
-};
-
-TABLE_ITEM MemoryErrorGranularityTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Device level"
- },
- {
- 0x04,
- L" Memory partition level"
- },
-};
-
-TABLE_ITEM MemoryErrorOperationTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Read"
- },
- {
- 0x04,
- L" Write"
- },
- {
- 0x05,
- L" Partial Write"
- },
-};
-
-TABLE_ITEM PointingDeviceTypeTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Mouse"
- },
- {
- 0x04,
- L" Track Ball"
- },
- {
- 0x05,
- L" Track Point"
- },
- {
- 0x06,
- L" Glide Point"
- },
- {
- 0x07,
- L" Touch Pad"
- },
-};
-
-TABLE_ITEM PointingDeviceInterfaceTable[] = {
- {
- 0x01,
- L" Other"
- },
- {
- 0x02,
- L" Unknown"
- },
- {
- 0x03,
- L" Serial"
- },
- {
- 0x04,
- L" PS/2"
- },
- {
- 0x05,
- L" Infrared"
- },
- {
- 0x06,
- L" HP-HIL"
- },
- {
- 0x07,
- L" Bus mouse"
- },
- {
- 0x08,
- L" ADB(Apple Desktop Bus"
- },
- {
- 0xA0,
- L" Bus mouse DB-9"
- },
- {
- 0xA1,
- L" Bus mouse mirco-DIN"
- },
- {
- 0xA2,
- L" USB"
- },
-};
-
-TABLE_ITEM PBDeviceChemistryTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" Lead Acid "
- },
- {
- 0x04,
- L" Nickel Cadmium "
- },
- {
- 0x05,
- L" Nickel metal hydride "
- },
- {
- 0x06,
- L" Lithium-ion "
- },
- {
- 0x07,
- L" Zinc air "
- },
- {
- 0x08,
- L" Lithium Polymer "
- },
-};
-
-TABLE_ITEM VPLocationTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" OK "
- },
- {
- 0x04,
- L" Non-critical "
- },
- {
- 0x05,
- L" Critical "
- },
- {
- 0x06,
- L" Non-recoverable "
- },
-};
-
-TABLE_ITEM VPStatusTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" Processor "
- },
- {
- 0x04,
- L" Disk "
- },
- {
- 0x05,
- L" Peripheral Bay "
- },
- {
- 0x06,
- L" System Management Module "
- },
- {
- 0x07,
- L" Motherboard "
- },
- {
- 0x08,
- L" Memory Module "
- },
- {
- 0x09,
- L" Processor Module "
- },
- {
- 0x0A,
- L" Power Unit "
- },
- {
- 0x0B,
- L" Add-in Card "
- },
-};
-
-TABLE_ITEM CoolingDeviceStatusTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" OK "
- },
- {
- 0x04,
- L" Non-critical "
- },
- {
- 0x05,
- L" Critical "
- },
- {
- 0x06,
- L" Non-recoverable "
- },
-};
-
-TABLE_ITEM CoolingDeviceTypeTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" Fan "
- },
- {
- 0x04,
- L" Centrifugal Blower "
- },
- {
- 0x05,
- L" Chip Fan "
- },
- {
- 0x06,
- L" Cabinet Fan "
- },
- {
- 0x07,
- L" Power Supply Fan "
- },
- {
- 0x08,
- L" Heat Pipe "
- },
- {
- 0x09,
- L" Integrated Refrigeration "
- },
- {
- 0x10,
- L" Active Cooling "
- },
- {
- 0x11,
- L" Passive Cooling "
- },
-};
-
-TABLE_ITEM TemperatureProbeStatusTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" OK "
- },
- {
- 0x04,
- L" Non-critical "
- },
- {
- 0x05,
- L" Critical "
- },
- {
- 0x06,
- L" Non-recoverable "
- },
-};
-
-TABLE_ITEM TemperatureProbeLocTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" Processor "
- },
- {
- 0x04,
- L" Disk "
- },
- {
- 0x05,
- L" Peripheral Bay "
- },
- {
- 0x06,
- L" System Management Module "
- },
- {
- 0x07,
- L" Motherboard "
- },
- {
- 0x08,
- L" Memory Module "
- },
- {
- 0x09,
- L" Processor Module "
- },
- {
- 0x0A,
- L" Power Unit "
- },
- {
- 0x0B,
- L" Add-in Card "
- },
-};
-
-TABLE_ITEM ECPStatusTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" OK "
- },
- {
- 0x04,
- L" Non-critical "
- },
- {
- 0x05,
- L" Critical "
- },
- {
- 0x06,
- L" Non-recoverable "
- },
-};
-
-TABLE_ITEM ECPLocTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" Processor "
- },
- {
- 0x04,
- L" Disk "
- },
- {
- 0x05,
- L" Peripheral Bay "
- },
- {
- 0x06,
- L" System Management Module "
- },
- {
- 0x07,
- L" Motherboard "
- },
- {
- 0x08,
- L" Memory Module "
- },
- {
- 0x09,
- L" Processor Module "
- },
- {
- 0x0A,
- L" Power Unit "
- },
- {
- 0x0B,
- L" Add-in Card "
- },
-};
-
-TABLE_ITEM MDTypeTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" National Semiconductor LM75 "
- },
- {
- 0x04,
- L" National Semiconductor LM78 "
- },
- {
- 0x05,
- L" National Semiconductor LM79 "
- },
- {
- 0x06,
- L" National Semiconductor LM80 "
- },
- {
- 0x07,
- L" National Semiconductor LM81 "
- },
- {
- 0x08,
- L" Analog Devices ADM9240 "
- },
- {
- 0x09,
- L" Dallas Semiconductor DS1780 "
- },
- {
- 0x0A,
- L" Maxim 1617 "
- },
- {
- 0x0B,
- L" Genesys GL518SM "
- },
- {
- 0x0C,
- L" Winbond W83781D "
- },
- {
- 0x0D,
- L" Holtek HT82H791 "
- },
-};
-
-TABLE_ITEM MDAddressTypeTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" I/O Port "
- },
- {
- 0x04,
- L" Memory "
- },
- {
- 0x05,
- L" SM Bus "
- },
-};
-
-TABLE_ITEM MemoryChannelTypeTable[] = {
- {
- 0x01,
- L" Other "
- },
- {
- 0x02,
- L" Unknown "
- },
- {
- 0x03,
- L" RamBus "
- },
- {
- 0x04,
- L" SyncLink "
- },
-};
-
-TABLE_ITEM IPMIDIBMCInterfaceTypeTable[] = {
- {
- 0x00,
- L" Unknown "
- },
- {
- 0x01,
- L" KCS: Keyboard Controller Style "
- },
- {
- 0x02,
- L" SMIC: Server Management Interface Chip "
- },
- {
- 0x03,
- L" BT: Block Transfer "
- },
- {
- 0x04,
- L" SSIF: SMBus System Interface "
- },
- {
- 0xFF05,
- L" Reserved for future assignment by this specification "
- },
-};
-
-TABLE_ITEM MCHostInterfaceTypeTable[] = {
- {
- 0x3F00,
- L" MCTP Host Interface "
- },
- {
- 0x40,
- L" Network Host Interface "
- },
- {
- 0xF0,
- L" OEM defined "
- },
-};
-
-TABLE_ITEM ProcessorArchitectureTypesTable[] = {
- {
- 0,
- L" Reserved "
- },
- {
- 1,
- L" IA32 (x86) "
- },
- {
- 2,
- L" x64 (x86-64, intel64, AMD64, EM64T) "
- },
- {
- 3,
- L" Intel Itanium architecture "
- },
- {
- 4,
- L" 32-bit ARM (Aarch32) "
- },
- {
- 5,
- L" 64-bit ARM (Aarch64) "
- },
- {
- 6,
- L" 32-bit RISC-V (RV32) "
- },
- {
- 7,
- L" 64-bit RISC-V (RV64) "
- },
- {
- 8,
- L" 128-bit RISC-V (RV128) "
- },
- {
- 9,
- L" 32-bit LoongArch (LoongArch32) "
- },
- {
- 10,
- L" 64-bit LoongArch (LoongArch64) "
- }
-};
-
-TABLE_ITEM FirmwareInventoryCharTable[] = {
- {
- 0,
- L"Updatable"
- },
- {
- 1,
- L"Write-Protect"
- }
-};
-
-TABLE_ITEM FirmwareInventoryStateTable[] = {
- {
- 1,
- L" Other"
- },
- {
- 2,
- L" Unknown "
- },
- {
- 3,
- L" Disabled: This firmware component is disabled. "
- },
- {
- 4,
- L" Enabled: This firmware component is enabled. "
- },
- {
- 5,
- L" Absent: This firmware component is either not present or not detected "
- },
- {
- 6,
- L" StandbyOffline: This firmware is enabled but awaits an external action to activate it. "
- },
- {
- 7,
- L" StandbySpare: This firmware is part of a redundancy set and awaits a failover or other external action to activate it. "
- },
- {
- 8,
- L" UnavailableOffline: This firmware component is present but cannot be used. "
- },
-};
-
-TABLE_ITEM StructureTypeInfoTable[] = {
- {
- 0,
- L" BIOS Information"
- },
- {
- 1,
- L" System Information"
- },
- {
- 2,
- L" Base Board Information"
- },
- {
- 3,
- L" System Enclosure"
- },
- {
- 4,
- L" Processor Information"
- },
- {
- 5,
- L" Memory Controller Information "
- },
- {
- 6,
- L" Memory Module Information "
- },
- {
- 7,
- L" Cache Information "
- },
- {
- 8,
- L" Port Connector Information "
- },
- {
- 9,
- L" System Slots "
- },
- {
- 10,
- L" On Board Devices Information "
- },
- {
- 11,
- L" OEM Strings"
- },
- {
- 12,
- L" System Configuration Options "
- },
- {
- 13,
- L" BIOS Language Information "
- },
- {
- 14,
- L" Group Associations "
- },
- {
- 15,
- L" System Event Log "
- },
- {
- 16,
- L" Physical Memory Array "
- },
- {
- 17,
- L" Memory Device "
- },
- {
- 18,
- L" 32-bit Memory Error Information "
- },
- {
- 19,
- L" Memory Array Mapped Address "
- },
- {
- 20,
- L" Memory Device Mapped Address "
- },
- {
- 21,
- L" Built-in Pointing Device "
- },
- {
- 22,
- L" Portable Battery "
- },
- {
- 23,
- L" System Reset "
- },
- {
- 24,
- L" Hardware Security "
- },
- {
- 25,
- L" System Power Controls "
- },
- {
- 26,
- L" Voltage Probe "
- },
- {
- 27,
- L" Cooling Device "
- },
- {
- 28,
- L" Temperature Probe "
- },
- {
- 29,
- L" Electrical Current Probe "
- },
- {
- 30,
- L" Out-of-Band Remote Access "
- },
- {
- 31,
- L" Boot Integrity Services (BIS) Entry Point"
- },
- {
- 32,
- L" System Boot Information "
- },
- {
- 33,
- L" 64-bit Memory Error Information "
- },
- {
- 34,
- L" Management Device "
- },
- {
- 35,
- L" Management Device Component "
- },
- {
- 36,
- L" Management Device Threshold Data "
- },
- {
- 37,
- L" Memory Channel "
- },
- {
- 38,
- L" IPMI Device Information "
- },
- {
- 39,
- L" System Power Supply"
- },
- {
- 40,
- L" Additional Information"
- },
- {
- 41,
- L" Onboard Devices Extended Information"
- },
- {
- 42,
- L" Management Controller Host Interface"
- },
- {
- 43,
- L" TPM Device"
- },
- {
- 44,
- L" Processor Additional Information"
- },
- {
- 0x7E,
- L" Inactive"
- },
- {
- 0x7F,
- L" End-of-Table "
- },
-};
-
-/**
- Given a table and a Key, return the responding info.
-
- Notes:
- Table[Index].Key is change from UINT8 to UINT16,
- in order to deal with "0xaa - 0xbb".
-
- For example:
- DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option)
- has a item:
- "0x07-0x7F, Unused"
- Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07.
- Then all the Key Value between Low and High gets the same string
- L"Unused".
-
- @param[in] Table The begin address of table.
- @param[in] Number The number of table items.
- @param[in] Key The query Key.
- @param[in, out] Info Input as empty buffer; output as data buffer.
- @param[in] InfoLen The max number of characters for Info.
-
- @return the found Key and Info is valid.
- @retval QUERY_TABLE_UNFOUND and Info should be NULL.
-**/
-UINT8
-QueryTable (
- IN TABLE_ITEM *Table,
- IN UINTN Number,
- IN UINT8 Key,
- IN OUT CHAR16 *Info,
- IN UINTN InfoLen
- )
-{
- UINTN Index;
- //
- // High byte and Low byte of word
- //
- UINT8 High;
- UINT8 Low;
-
- for (Index = 0; Index < Number; Index++) {
- High = (UINT8)(Table[Index].Key >> 8);
- Low = (UINT8)(Table[Index].Key & 0x00FF);
-
- //
- // Check if Key is in the range
- // or if Key == Value in the table
- //
- if ( ((High > Low) && (Key >= Low) && (Key <= High))
- || (Table[Index].Key == Key))
- {
- StrnCpyS (Info, InfoLen, Table[Index].Info, InfoLen - 1);
- StrnCatS (Info, InfoLen, L"\n", InfoLen - 1 - StrLen (Info));
- return Key;
- }
- }
-
- StrCpyS (Info, InfoLen, L"Undefined Value\n");
- return QUERY_TABLE_UNFOUND;
-}
-
-/**
- Given a table of bit info and a Key, return the responding info to the Key.
-
- @param[in] Table Point to a table which maintains a map of 'bit' to 'message'.
- @param[in] Number Number of table items.
- @param[in] Bits The Key of query the bit map information.
-**/
-VOID
-PrintBitsInfo (
- IN TABLE_ITEM *Table,
- IN UINTN Number,
- IN UINT32 Bits
- )
-{
- //
- // Get certain bit of 'Value':
- //
- #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit))
- //
- // Clear certain bit of 'Value':
- //
- #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit)))
-
- UINTN Index;
- UINT32 Value;
- BOOLEAN FirstInfo;
-
- FirstInfo = TRUE;
- Value = Bits;
- //
- // query the table and print information
- //
- for (Index = 0; Index < Number; Index++) {
- if (BIT (Value, Table[Index].Key) != 0) {
- if (!FirstInfo) {
- //
- // If it is not first info, print the separator first.
- //
- Print (L" | ");
- }
-
- Print (Table[Index].Info);
-
- FirstInfo = FALSE;
- //
- // clear the bit, for reserved bits test
- //
- CLR_BIT (Value, Table[Index].Key);
- }
- }
-
- //
- // There is no any info if FirstInfo is still TRUE.
- //
- if (FirstInfo) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gShellDebug1HiiHandle);
- }
-
- if (Value != 0) {
- ShellPrintHiiEx (
- -1,
- -1,
- NULL,
- STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET),
- gShellDebug1HiiHandle,
- Value
- );
- }
-
- Print (L"\n");
-}
-
-//
-// //////////////////////////////////////////////////////////////////
-//
-// Following uses QueryTable functions to simplify the coding.
-// QueryTable(), PrintBitsInfo()
-//
-//
-#define PRINT_TABLE_ITEM(Table, Key) \
- do { \
- UINTN Num; \
- CHAR16 Info[66]; \
- Num = sizeof (Table) / sizeof (TABLE_ITEM); \
- ZeroMem (Info, sizeof (Info)); \
- QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \
- Print (Info); \
- } while (0);
-
-#define PRINT_BITS_INFO(Table, bits) \
- do { \
- UINTN Num; \
- Num = sizeof (Table) / sizeof (TABLE_ITEM); \
- PrintBitsInfo (Table, Num, (UINT32) bits); \
- } while (0);
-
-/**
- Display System Information (Type 1) Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemWakeupType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type);
-}
-
-/**
- Display Base Board (Type 2) Feature Flags.
-
- @param[in] FeatureFlags The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayBaseBoardFeatureFlags (
- IN UINT8 FeatureFlags,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (FeatureFlags, Option);
- PRINT_BITS_INFO (BaseBoardFeatureFlagsTable, FeatureFlags);
-}
-
-/**
- Display Base Board (Type 2) Board Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayBaseBoardBoardType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (BaseBoardBoardTypeTable, Type);
-}
-
-/**
- Display System Enclosure (Type 3) Enclosure Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemEnclosureType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- //
- // query table and print info
- //
- PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type);
-
- if (BIT (Type, 7) != 0) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gShellDebug1HiiHandle);
- }
-}
-
-/**
- Display System Enclosure (Type 3) Enclosure Status.
-
- @param[in] Status The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemEnclosureStatus (
- IN UINT8 Status,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (SystemEnclosureStatusTable, Status);
-}
-
-/**
- Display System Enclosure (Type 3) Security Status.
-
- @param[in] Status The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySESecurityStatus (
- IN UINT8 Status,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (SESecurityStatusTable, Status);
-}
-
-/**
- Display Processor Information (Type 4) Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayProcessorType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (ProcessorTypeTable, Type);
-}
-
-/**
- Display Processor Information (Type 4) Upgrade.
-
- @param[in] Upgrade The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayProcessorUpgrade (
- IN UINT8 Upgrade,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Upgrade, Option);
- PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade);
-}
-
-/**
- Display Processor Information (Type 4) Characteristics.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayProcessorCharacteristics (
- IN UINT16 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_BITS_INFO (ProcessorCharacteristicsTable, Type);
-}
-
-/**
- Display Memory Controller Information (Type 5) method.
-
- @param[in] Method The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMcErrorDetectMethod (
- IN UINT8 Method,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Method, Option);
- PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method);
-}
-
-/**
- Display Memory Controller Information (Type 5) Capability.
-
- @param[in] Capability The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMcErrorCorrectCapability (
- IN UINT8 Capability,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Capability, Option);
- PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability);
-}
-
-/**
- Display Memory Controller Information (Type 5) Support.
-
- @param[in] Support The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMcInterleaveSupport (
- IN UINT8 Support,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Support, Option);
- PRINT_TABLE_ITEM (McInterleaveSupportTable, Support);
-}
-
-/**
- Display Memory Controller Information (Type 5) speeds.
-
- @param[in] Speed The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMcMemorySpeeds (
- IN UINT16 Speed,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Speed, Option);
- PRINT_BITS_INFO (McMemorySpeedsTable, Speed);
-}
-
-/**
- Display Memory Controller Information (Type 5) voltage.
-
- @param[in] Voltage The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryModuleVoltage (
- IN UINT8 Voltage,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Voltage, Option);
- PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage);
-}
-
-/**
- Display Memory Module Information (Type 6) type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMmMemoryType (
- IN UINT16 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_BITS_INFO (MmMemoryTypeTable, Type);
-}
-
-/**
- Display Memory Module Information (Type 6) status.
-
- @param[in] Status The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMmErrorStatus (
- IN UINT8 Status,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_BITS_INFO (MmErrorStatusTable, Status);
-}
-
-/**
- Display Cache Information (Type 7) SRAM Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCacheSRAMType (
- IN UINT16 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION ((UINT8)Type, Option);
- PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8)Type);
-}
-
-/**
- Display Cache Information (Type 7) correcting Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCacheErrCorrectingType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type);
-}
-
-/**
- Display Cache Information (Type 7) Type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCacheSystemCacheType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type);
-}
-
-/**
- Display Cache Information (Type 7) Associativity.
-
- @param[in] Associativity The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCacheAssociativity (
- IN UINT8 Associativity,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Associativity, Option);
- PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity);
-}
-
-/**
- Display Port Connector Information (Type 8) type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPortConnectorType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (PortConnectorTypeTable, Type);
-}
-
-/**
- Display Port Connector Information (Type 8) port type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPortType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (PortTypeTable, Type);
-}
-
-/**
- Display System Slots (Type 9) slot type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (SystemSlotTypeTable, Type);
-}
-
-/**
- Display System Slots (Type 9) data bus width.
-
- @param[in] Width The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotDataBusWidth (
- IN UINT8 Width,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Width, Option);
- PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width);
-}
-
-/**
- Display System Slots (Type 9) usage information.
-
- @param[in] Usage The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotCurrentUsage (
- IN UINT8 Usage,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Usage, Option);
- PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage);
-}
-
-/**
- Display System Slots (Type 9) slot length.
-
- @param[in] Length The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotLength (
- IN UINT8 Length,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Length, Option);
- PRINT_TABLE_ITEM (SystemSlotLengthTable, Length);
-}
-
-/**
- Display System Slots (Type 9) characteristics.
-
- @param[in] Chara1 The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySlotCharacteristics1 (
- IN UINT8 Chara1,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Chara1, Option);
- PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1);
-}
-
-/**
- Display System Slots (Type 9) characteristics.
-
- @param[in] Chara2 The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySlotCharacteristics2 (
- IN UINT8 Chara2,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Chara2, Option);
- PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2);
-}
-
-/**
- Display System Slots (Type 9) Information.
-
- @param[in] Width The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotInformation (
- IN UINT8 Width,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Width, Option);
- PRINT_TABLE_ITEM (SystemSlotInformationTable, Width);
-}
-
-/**
- Display System Slots (Type 9) Physical Width.
-
- @param[in] Width The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotPhysicalWidth (
- IN UINT8 Width,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Width, Option);
- PRINT_TABLE_ITEM (SystemSlotPhysicalWidthTable, Width);
-}
-
-/**
- Display System Slots (Type 9) slot height.
-
- @param[in] Length The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySystemSlotHeight (
- IN UINT8 Length,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Length, Option);
- PRINT_TABLE_ITEM (SystemSlotHeightTable, Length);
-}
-
-/**
- Display On Board Devices Information (Type 10) types.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayOnboardDeviceTypes (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type);
-}
-
-/**
- Display System Event Log (Type 15) types.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySELTypes (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (SELTypesTable, Type);
-}
-
-/**
- Display System Event Log (Type 15) format type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySELVarDataFormatType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type);
-}
-
-/**
- Display System Event Log (Type 15) dw1.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPostResultsBitmapDw1 (
- IN UINT32 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key);
-}
-
-/**
- Display System Event Log (Type 15) dw2.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPostResultsBitmapDw2 (
- IN UINT32 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key);
-}
-
-/**
- Display System Event Log (Type 15) type.
-
- @param[in] SMType The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplaySELSysManagementTypes (
- IN UINT32 SMType,
- IN UINT8 Option
- )
-{
- UINT8 Temp;
-
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (SMType, Option);
-
- //
- // Deal with wide range Value
- //
- if (SMType >= 0x80000000) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gShellDebug1HiiHandle);
- } else if (SMType >= 0x00020000) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
- } else if (SMType >= 0x00010000) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gShellDebug1HiiHandle);
- } else if (SMType >= 0x31) {
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);
- } else {
- //
- // Deal with One byte data
- //
- Temp = (UINT8)(SMType & 0x3F);
- PRINT_TABLE_ITEM (SELSysManagementTypesTable, Temp);
- }
-}
-
-/**
- Display Physical Memory Array (Type 16) Location.
-
- @param[in] Location The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPMALocation (
- IN UINT8 Location,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Location, Option);
- PRINT_TABLE_ITEM (PMALocationTable, Location);
-}
-
-/**
- Display Physical Memory Array (Type 16) Use.
-
- @param[in] Use The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPMAUse (
- IN UINT8 Use,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Use, Option);
- PRINT_TABLE_ITEM (PMAUseTable, Use);
-}
-
-/**
- Display Physical Memory Array (Type 16) Types.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPMAErrorCorrectionTypes (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type);
-}
-
-/**
- Display Memory Device (Type 17) form factor.
-
- @param[in] FormFactor The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryDeviceFormFactor (
- IN UINT8 FormFactor,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (FormFactor, Option);
- PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor);
-}
-
-/**
- Display Memory Device (Type 17) type.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryDeviceType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type);
-}
-
-/**
- Display Memory Device (Type 17) details.
-
- @param[in] Para The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryDeviceTypeDetail (
- IN UINT16 Para,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Para, Option);
- PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, Para);
-}
-
-/**
- Display Memory Device (Type 17) memory technology.
-
- @param[in] Para The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryDeviceMemoryTechnology (
- IN UINT8 Para,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Para, Option);
- PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable, Para);
-}
-
-/**
- Display Memory Device (Type 17) memory operating mode capability.
-
- @param[in] Para The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryDeviceMemoryOperatingModeCapability (
- IN UINT16 Para,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Para, Option);
- PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable, Para);
-}
-
-/**
- Display 32-bit Memory Error Information (Type 18) type.
-
- @param[in] ErrorType The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryErrorType (
- IN UINT8 ErrorType,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (ErrorType, Option);
- PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType);
-}
-
-/**
- Display 32-bit Memory Error Information (Type 18) error granularity.
-
- @param[in] Granularity The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryErrorGranularity (
- IN UINT8 Granularity,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Granularity, Option);
- PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity);
-}
-
-/**
- Display 32-bit Memory Error Information (Type 18) error information.
-
- @param[in] Operation The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryErrorOperation (
- IN UINT8 Operation,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Operation, Option);
- PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation);
-}
-
-/**
- Display Built-in Pointing Device (Type 21) type information.
-
- @param[in] Type The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPointingDeviceType (
- IN UINT8 Type,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type);
-}
-
-/**
- Display Built-in Pointing Device (Type 21) information.
-
- @param[in] Interface The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPointingDeviceInterface (
- IN UINT8 Interface,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Interface, Option);
- PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface);
-}
-
-/**
- Display Portable Battery (Type 22) information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayPBDeviceChemistry (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key);
-}
-
-/**
- Display Voltage Probe (Type 26) location information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayVPLocation (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Loc;
-
- Loc = (UINT8)((Key & 0xE0) >> 5);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Loc, Option);
- PRINT_TABLE_ITEM (VPLocationTable, Loc);
-}
-
-/**
- Display Voltage Probe (Type 26) status ype information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayVPStatus (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Status;
-
- Status = (UINT8)(Key & 0x1F);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (VPStatusTable, Status);
-}
-
-/**
- Display Cooling (Type 27) status information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCoolingDeviceStatus (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Status;
-
- Status = (UINT8)((Key & 0xE0) >> 5);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status);
-}
-
-/**
- Display Cooling (Type 27) type information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayCoolingDeviceType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Type;
-
- Type = (UINT8)(Key & 0x1F);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Type, Option);
- PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type);
-}
-
-/**
- Display Temperature Probe (Type 28) status information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayTemperatureProbeStatus (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Status;
-
- Status = (UINT8)((Key & 0xE0) >> 5);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status);
-}
-
-/**
- Display Temperature Probe (Type 28) location information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayTemperatureProbeLoc (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Loc;
-
- Loc = (UINT8)(Key & 0x1F);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Loc, Option);
- PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc);
-}
-
-/**
- Display Electrical Current Probe (Type 29) status information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayECPStatus (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Status;
-
- Status = (UINT8)((Key & 0xE0) >> 5);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Status, Option);
- PRINT_TABLE_ITEM (ECPStatusTable, Status);
-}
-
-/**
- Display Type 29 information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayECPLoc (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- UINT8 Loc;
-
- Loc = (UINT8)(Key & 0x1F);
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Loc, Option);
- PRINT_TABLE_ITEM (ECPLocTable, Loc);
-}
-
-/**
- Display Management Device (Type 34) Type.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMDType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (MDTypeTable, Key);
-}
-
-/**
- Display Management Device (Type 34) Address Type.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMDAddressType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (MDAddressTypeTable, Key);
-}
-
-/**
- Display Memory Channel (Type 37) information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMemoryChannelType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key);
-}
-
-/**
- Display IPMI Device Information (Type 38) information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayIPMIDIBMCInterfaceType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key);
-}
-
-/**
- Display Management Controller Host Interface (Type 42) information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayMCHostInterfaceType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (MCHostInterfaceTypeTable, Key);
-}
-
-/**
- Display Processor Architecture Type (Type 44).
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayProcessorArchitectureType (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key);
-}
-
-/**
- Display Firmware Characteristics (Type 45) details.
-
- @param[in] Chara The information bits.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayFirmwareCharacteristics (
- IN UINT16 Chara,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_FIRMWARE_INVENTORY_CHAR), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Chara, Option);
- PRINT_BITS_INFO (FirmwareInventoryCharTable, Chara);
-}
-
-/**
- Display Firmware state (Type 45) details.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayFirmwareState (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_FIRMWARE_INVENTORY_STATE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (FirmwareInventoryStateTable, Key);
-}
-
-/**
- Display the structure type information.
-
- @param[in] Key The key of the structure.
- @param[in] Option The optional information.
-**/
-VOID
-DisplayStructureTypeInfo (
- IN UINT8 Key,
- IN UINT8 Option
- )
-{
- //
- // display
- //
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gShellDebug1HiiHandle);
- PRINT_INFO_OPTION (Key, Option);
- PRINT_TABLE_ITEM (StructureTypeInfoTable, Key);
-}
+/** @file + Build a table, each item is (Key, Info) pair. + And give a interface of query a string out of a table. + + Copyright (c) 2005 - 2024, Intel Corporation. All rights reserved.<BR> + (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR> + Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "UefiShellDebug1CommandsLib.h" +#include "QueryTable.h" +#include "PrintInfo.h" + +TABLE_ITEM SystemWakeupTypeTable[] = { + { + 0x0, + L" Reserved" + }, + { + 0x1, + L" Other" + }, + { + 0x2, + L" Unknown" + }, + { + 0x3, + L" APM Timer" + }, + { + 0x4, + L" Modem Ring" + }, + { + 0x5, + L" LAN Remote" + }, + { + 0x6, + L" Power Switch" + }, + { + 0x7, + L" AC Power Restored" + } +}; + +TABLE_ITEM BaseBoardFeatureFlagsTable[] = { + { + 0, + L" Hosting board" + }, + { + 1, + L" Requires at least one daughter board or auxiliary card" + }, + { + 2, + L" Removable" + }, + { + 3, + L" Replaceable" + }, + { + 4, + L" Hot swappable" + } +}; + +TABLE_ITEM BaseBoardBoardTypeTable[] = { + { + 0x01, + L" Unknown" + }, + { + 0x02, + L" Other" + }, + { + 0x03, + L" Server Blade" + }, + { + 0x04, + L" Connectivity Switch" + }, + { + 0x05, + L" System Management Module" + }, + { + 0x06, + L" Processor Module" + }, + { + 0x07, + L" I/O Module" + }, + { + 0x08, + L" Memory Module" + }, + { + 0x09, + L" Daughter board" + }, + { + 0x0A, + L" Motherboard" + }, + { + 0x0B, + L" Processor/Memory Module" + }, + { + 0x0C, + L" Processor/IO Module" + }, + { + 0x0D, + L" Interconnect Board" + } +}; + +TABLE_ITEM SystemEnclosureTypeTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Desktop" + }, + { + 0x04, + L" Low Profile Desktop" + }, + { + 0x05, + L" Pizza Box" + }, + { + 0x06, + L" Mini Tower" + }, + { + 0x07, + L" Tower" + }, + { + 0x08, + L" Portable" + }, + { + 0x09, + L" Laptop" + }, + { + 0x0A, + L" Notebook" + }, + { + 0x0B, + L" Hand Held" + }, + { + 0x0C, + L" Docking Station" + }, + { + 0x0D, + L" All in One" + }, + { + 0x0E, + L" Sub Notebook" + }, + { + 0x0F, + L" Space-saving" + }, + { + 0x10, + L" Lunch Box" + }, + { + 0x11, + L" Main Server Chassis" + }, + { + 0x12, + L" Expansion Chassis" + }, + { + 0x13, + L" SubChassis" + }, + { + 0x14, + L" Bus Expansion Chassis" + }, + { + 0x15, + L" Peripheral Chassis" + }, + { + 0x16, + L" RAID Chassis" + }, + { + 0x17, + L" Rack Mount Chassis" + }, + { + 0x18, + L" Sealed-case PC" + }, + { + 0x19, + L" Multi-system Chassis" + }, + { + 0x1A, + L" CompactPCI" + }, + { + 0x1B, + L" AdvancedTCA" + }, + { + 0x1C, + L" Blade" + }, + { + 0x1D, + L" Blade Enclosure" + }, + { + 0x1E, + L" Tablet" + }, + { + 0x1F, + L" Convertible" + }, + { + 0x20, + L" Detachable" + }, + { + 0x21, + L" IoT Gateway" + }, + { + 0x22, + L" Embedded PC" + }, + { + 0x23, + L" Mini PC" + }, + { + 0x24, + L" Stick PC" + }, +}; + +TABLE_ITEM SystemEnclosureStatusTable[] = { + { + 0x1, + L" Other" + }, + { + 0x2, + L" Unknown" + }, + { + 0x3, + L" Safe" + }, + { + 0x4, + L" Warning" + }, + { + 0x5, + L" Critical" + }, + { + 0x6, + L" Non-recoverable" + } +}; + +TABLE_ITEM SESecurityStatusTable[] = { + { + 0x1, + L" Other" + }, + { + 0x2, + L" Unknown" + }, + { + 0x3, + L" None" + }, + { + 0x4, + L" External interface locked out" + }, + { + 0x5, + L" External interface enabled" + } +}; + +TABLE_ITEM ProcessorTypeTable[] = { + { + 0x1, + L" Other" + }, + { + 0x2, + L" Unknown" + }, + { + 0x3, + L" Central Processor" + }, + { + 0x4, + L" Math Processor" + }, + { + 0x5, + L" DSP Processor" + }, + { + 0x6, + L" Video Processor " + }, +}; + +TABLE_ITEM ProcessorUpgradeTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"Daughter Board" + }, + { + 0x04, + L"ZIF Socket" + }, + { + 0x05, + L"Replaceable Piggy Back" + }, + { + 0x06, + L"None" + }, + { + 0x07, + L"LIF Socket" + }, + { + 0x08, + L"Slot 1" + }, + { + 0x09, + L"Slot 2" + }, + { + 0x0A, + L"370-pin socket" + }, + { + 0x0B, + L"Slot A" + }, + { + 0x0C, + L"Slot M" + }, + { + 0x0D, + L"Socket 423" + }, + { + 0x0E, + L"Socket A" + }, + { + 0x0F, + L"Socket 478" + }, + { + 0x10, + L"Socket 754" + }, + { + 0x11, + L"Socket 940" + }, + { + 0x12, + L"Socket 939" + }, + { + 0x13, + L"Socket mPGA604" + }, + { + 0x14, + L"Socket LGA771" + }, + { + 0x15, + L"Socket LGA775" + }, + { + 0x16, + L"Socket S1" + }, + { + 0x17, + L"Socket AM2" + }, + { + 0x18, + L"Socket F" + }, + { + 0x19, + L"Socket LGA1366" + }, + { + 0x1A, + L"Socket G34" + }, + { + 0x1B, + L"Socket AM3" + }, + { + 0x1C, + L"Socket C32" + }, + { + 0x1D, + L"Socket LGA1156" + }, + { + 0x1E, + L"Socket LGA1567" + }, + { + 0x1F, + L"Socket PGA988A" + }, + { + 0x20, + L"Socket BGA1288" + }, + { + 0x21, + L"Socket rPGA988B" + }, + { + 0x22, + L"Socket BGA1023" + }, + { + 0x23, + L"Socket BGA1224" + }, + { + 0x24, + L"Socket LGA1155" + }, + { + 0x25, + L"Socket LGA1356" + }, + { + 0x26, + L"Socket LGA2011" + }, + { + 0x27, + L"Socket FS1" + }, + { + 0x28, + L"Socket FS2" + }, + { + 0x29, + L"Socket FM1" + }, + { + 0x2A, + L"Socket FM2" + }, + { + 0x2B, + L"Socket LGA2011-3" + }, + { + 0x2C, + L"Socket LGA1356-3" + }, + { + 0x2D, + L"Socket LGA1150" + }, + { + 0x2E, + L"Socket BGA1168" + }, + { + 0x2F, + L"Socket BGA1234" + }, + { + 0x30, + L"Socket BGA1364" + }, + { + 0x31, + L"Socket AM4" + }, + { + 0x32, + L"Socket LGA1151" + }, + { + 0x33, + L"Socket BGA1356" + }, + { + 0x34, + L"Socket BGA1440" + }, + { + 0x35, + L"Socket BGA1515" + }, + { + 0x36, + L"Socket LGA3647-1" + }, + { + 0x37, + L"Socket SP3" + }, + { + 0x38, + L"Socket SP3r2" + }, + { + 0x39, + L"Socket LGA2066" + }, + { + 0x3A, + L"Socket BGA1392" + }, + { + 0x3B, + L"Socket BGA1510" + }, + { + 0x3C, + L"Socket BGA1528" + }, + { + 0x3D, + L"Socket LGA4189" + }, + { + 0x3E, + L"Socket LGA1200" + }, + { + 0x3F, + L"Socket LGA4677" + }, + { + 0x40, + L"Socket LGA1700" + }, + { + 0x41, + L"Socket BGA1744" + }, + { + 0x42, + L"Socket BGA1781" + }, + { + 0x43, + L"Socket BGA1211" + }, + { + 0x44, + L"Socket BGA2422" + }, + { + 0x45, + L"Socket LGA1211" + }, + { + 0x46, + L"Socket LGA2422" + }, + { + 0x47, + L"Socket LGA5773" + }, + { + 0x48, + L"Socket BGA5773" + }, + { + 0x49, + L"Socket AM5" + }, + { + 0x4A, + L"Socket SP5" + }, + { + 0x4B, + L"Socket SP6" + }, + { + 0x4C, + L"Socket BGA883" + }, + { + 0x4D, + L"Socket BGA1190" + }, + { + 0x4E, + L"Socket BGA4129" + }, + { + 0x4F, + L"Socket LGA4710" + }, + { + 0x50, + L"Socket LGA7529" + }, + { + 0x51, + L"Socket BGA1964" + }, + { + 0x52, + L"Socket BGA1792" + }, + { + 0x53, + L"Socket BGA2049" + }, + { + 0x54, + L"Socket BGA2551" + }, + { + 0x55, + L"Socket LGA1851" + }, + { + 0x56, + L"Socket BGA2114" + }, + { + 0x57, + L"Socket BGA2833" + } +}; + +TABLE_ITEM ProcessorCharacteristicsTable[] = { + { + 1, + L" Unknown" + }, + { + 2, + L" 64-bit Capable" + }, + { + 3, + L" Multi-Core" + }, + { + 4, + L" Hardware Thread" + }, + { + 5, + L" Execute Protection" + }, + { + 6, + L" Enhanced Virtualization" + }, + { + 7, + L" Power/Performance Control" + }, + { + 8, + L" 128-bit Capable" + }, + { + 9, + L" ARM64 SoC ID" + } +}; + +TABLE_ITEM McErrorDetectMethodTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"None" + }, + { + 0x04, + L"8-bit Parity" + }, + { + 0x05, + L"32-bit ECC" + }, + { + 0x06, + L"64-bit ECC" + }, + { + 0x07, + L"128-bit ECC" + }, + { + 0x08, + L"CRC" + }, +}; + +TABLE_ITEM McErrorCorrectCapabilityTable[] = { + { + 0, + L"Other" + }, + { + 1, + L"Unknown" + }, + { + 2, + L"None" + }, + { + 3, + L"Single Bit Error Correcting" + }, + { + 4, + L"Double Bit Error Correcting" + }, + { + 5, + L"Error Scrubbing" + }, +}; + +TABLE_ITEM McInterleaveSupportTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"One Way Interleave" + }, + { + 0x04, + L"Two Way Interleave" + }, + { + 0x05, + L"Four Way Interleave" + }, + { + 0x06, + L"Eight Way Interleave" + }, + { + 0x07, + L"Sixteen Way Interleave" + } +}; + +TABLE_ITEM McMemorySpeedsTable[] = { + { + 0, + L" Other" + }, + { + 1, + L" Unknown" + }, + { + 2, + L" 70ns" + }, + { + 3, + L" 60ns" + }, + { + 4, + L" 50ns" + }, +}; + +TABLE_ITEM MemoryModuleVoltageTable[] = { + { + 0, + L" 5V" + }, + { + 1, + L" 3.3V" + }, + { + 2, + L" 2.9V" + }, +}; + +TABLE_ITEM MmMemoryTypeTable[] = { + { + 0, + L" Other" + }, + { + 1, + L" Unknown" + }, + { + 2, + L" Standard" + }, + { + 3, + L" Fast Page Mode" + }, + { + 4, + L" EDO" + }, + { + 5, + L" Parity" + }, + { + 6, + L" ECC " + }, + { + 7, + L" SIMM" + }, + { + 8, + L" DIMM" + }, + { + 9, + L" Burst EDO" + }, + { + 10, + L" SDRAM" + } +}; + +TABLE_ITEM MmErrorStatusTable[] = { + { + 0, + L" Uncorrectable errors received" + }, + { + 1, + L" Correctable errors received" + }, + { + 2, + L" Error Status obtained from the event log" + } +}; + +TABLE_ITEM CacheSRAMTypeTable[] = { + { + 0, + L" Other" + }, + { + 1, + L" Unknown" + }, + { + 2, + L" Non-Burst" + }, + { + 3, + L" Burst" + }, + { + 4, + L" Pipeline Burst" + }, + { + 5, + L" Synchronous" + }, + { + 6, + L" Asynchronous" + }, +}; + +TABLE_ITEM CacheErrCorrectingTypeTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"None" + }, + { + 0x04, + L"Parity" + }, + { + 0x05, + L"Single-bit ECC" + }, + { + 0x06, + L"Multi-bit ECC" + } +}; + +TABLE_ITEM CacheSystemCacheTypeTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"Instruction" + }, + { + 0x04, + L"Data" + }, + { + 0x05, + L"Unified" + } +}; + +TABLE_ITEM CacheAssociativityTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"Direct Mapped" + }, + { + 0x04, + L"2-way Set-Associative" + }, + { + 0x05, + L"4-way Set-Associative" + }, + { + 0x06, + L"Fully Associative" + }, + { + 0x07, + L"8-way Set-Associative" + }, + { + 0x08, + L"16-way Set-Associative" + }, + { + 0x09, + L"12-way Set-Associative" + }, + { + 0x0A, + L"24-way Set-Associative" + }, + { + 0x0B, + L"32-way Set-Associative" + }, + { + 0x0C, + L"48-way Set-Associative" + }, + { + 0x0D, + L"64-way Set-Associative" + }, + { + 0x0E, + L"20-way Set-Associative" + } +}; + +TABLE_ITEM PortConnectorTypeTable[] = { + { + 0x00, + L"None" + }, + { + 0x01, + L"Centronics" + }, + { + 0x02, + L"Mini Centronics" + }, + { + 0x03, + L"Proprietary" + }, + { + 0x04, + L"DB-25 pin male" + }, + { + 0x05, + L"DB-25 pin female" + }, + { + 0x06, + L"DB-15 pin male" + }, + { + 0x07, + L"DB-15 pin female" + }, + { + 0x08, + L"DB-9 pin male" + }, + { + 0x09, + L"DB-9 pin female" + }, + { + 0x0A, + L"RJ-11" + }, + { + 0x0B, + L"RJ-45" + }, + { + 0x0C, + L"50 Pin MiniSCSI" + }, + { + 0x0D, + L"Mini-DIN" + }, + { + 0x0E, + L"Micro-DIN" + }, + { + 0x0F, + L"PS/2" + }, + { + 0x10, + L"Infrared" + }, + { + 0x11, + L"HP-HIL" + }, + { + 0x12, + L"Access Bus (USB)" + }, + { + 0x13, + L"SSA SCSI" + }, + { + 0x14, + L"Circular DIN-8 male" + }, + { + 0x15, + L"Circular DIN-8 female" + }, + { + 0x16, + L"On Board IDE" + }, + { + 0x17, + L"On Board Floppy" + }, + { + 0x18, + L"9 Pin Dual Inline (pin 10 cut)" + }, + { + 0x19, + L"25 Pin Dual Inline (pin 26 cut)" + }, + { + 0x1A, + L"50 Pin Dual Inline" + }, + { + 0x1B, + L"68 Pin Dual Inline" + }, + { + 0x1C, + L"On Board Sound Input from CD-ROM" + }, + { + 0x1D, + L"Mini-Centronics Type-14" + }, + { + 0x1E, + L"Mini-Centronics Type-26" + }, + { + 0x1F, + L"Mini-jack (headphones)" + }, + { + 0x20, + L"BNC" + }, + { + 0x21, + L"1394" + }, + { + 0x22, + L"SAS/SATA Plug Receptacle" + }, + { + 0x23, + L"USB Type-C Receptacle" + }, + { + 0xA0, + L"PC-98" + }, + { + 0xA1, + L"PC-98Hireso" + }, + { + 0xA2, + L"PC-H98" + }, + { + 0xA3, + L"PC-98Note" + }, + { + 0xA4, + L"PC-98Full" + }, + { + 0xFF, + L"Other" + }, +}; + +TABLE_ITEM PortTypeTable[] = { + { + 0x00, + L"None" + }, + { + 0x01, + L"Parallel Port XT/AT Compatible" + }, + { + 0x02, + L"Parallel Port PS/2" + }, + { + 0x03, + L"Parallel Port ECP" + }, + { + 0x04, + L"Parallel Port EPP" + }, + { + 0x05, + L"Parallel Port ECP/EPP" + }, + { + 0x06, + L"Serial Port XT/AT Compatible" + }, + { + 0x07, + L"Serial Port 16450 Compatible" + }, + { + 0x08, + L"Serial Port 16550 Compatible" + }, + { + 0x09, + L"Serial Port 16550A Compatible" + }, + { + 0x0A, + L"SCSI Port" + }, + { + 0x0B, + L"MIDI Port" + }, + { + 0x0C, + L"Joy Stick Port" + }, + { + 0x0D, + L"Keyboard Port" + }, + { + 0x0E, + L"Mouse Port" + }, + { + 0x0F, + L"SSA SCSI" + }, + { + 0x10, + L"USB" + }, + { + 0x11, + L"FireWire (IEEE P1394)" + }, + { + 0x12, + L"PCMCIA Type II" + }, + { + 0x13, + L"PCMCIA Type II" + }, + { + 0x14, + L"PCMCIA Type III" + }, + { + 0x15, + L"Cardbus" + }, + { + 0x16, + L"Access Bus Port" + }, + { + 0x17, + L"SCSI II" + }, + { + 0x18, + L"SCSI Wide" + }, + { + 0x19, + L"PC-98" + }, + { + 0x1A, + L"PC-98-Hireso" + }, + { + 0x1B, + L"PC-H98" + }, + { + 0x1C, + L"Video Port" + }, + { + 0x1D, + L"Audio Port" + }, + { + 0x1E, + L"Modem Port" + }, + { + 0x1F, + L"Network Port" + }, + { + 0x20, + L"SATA Port" + }, + { + 0x21, + L"SAS Port" + }, + { + 0x22, + L"Multi-Function Display Port (MFDP)" + }, + { + 0x23, + L"Thunderbolt" + }, + { + 0xA0, + L"8251 Compatible" + }, + { + 0xA1, + L"8251 FIFO Compatible" + }, + { + 0xFF, + L"Other " + }, +}; + +TABLE_ITEM SystemSlotTypeTable[] = { + { + 0x01, + L"Other" + }, + { + 0x02, + L"Unknown" + }, + { + 0x03, + L"ISA" + }, + { + 0x04, + L"MCA" + }, + { + 0x05, + L"EISA" + }, + { + 0x06, + L"PCI" + }, + { + 0x07, + L"PC Card (PCMCIA)" + }, + { + 0x08, + L"VL-VESA" + }, + { + 0x09, + L"Proprietary" + }, + { + 0x0A, + L"Processor Card Slot" + }, + { + 0x0B, + L"Proprietary Memory Card Slot" + }, + { + 0x0C, + L"I/O Riser Card Slot" + }, + { + 0x0D, + L"NuBus" + }, + { + 0x0E, + L"PCI - 66MHz Capable" + }, + { + 0x0F, + L"AGP" + }, + { + 0x10, + L"AGP 2X" + }, + { + 0x11, + L"AGP 4X" + }, + { + 0x12, + L"PCI-X" + }, + { + 0x13, + L"AGP 8X" + }, + { + 0x14, + L"M.2 Socket 1-DP (Mechanical Key A)" + }, + { + 0x15, + L"M.2 Socket 1-SD (Mechanical Key E)" + }, + { + 0x16, + L"M.2 Socket 2 (Mechanical Key B)" + }, + { + 0x17, + L"M.2 Socket 3 (Mechanical Key M)" + }, + { + 0x18, + L"MXM Type I" + }, + { + 0x19, + L"MXM Type II" + }, + { + 0x1A, + L"MXM Type III (standard connector)" + }, + { + 0x1B, + L"MXM Type III (HE connector)" + }, + { + 0x1C, + L"MXM Type IV" + }, + { + 0x1D, + L"MXM 3.0 Type A" + }, + { + 0x1E, + L"MXM 3.0 Type B" + }, + { + 0x1F, + L"PCI Express Gen 2 SFF-8639" + }, + { + 0x20, + L"PCI Express Gen 3 SFF-8639" + }, + { + 0x21, + L"PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs" + }, + { + 0x22, + L"PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs" + }, + { + 0x23, + L"PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card" + }, + { + 0x24, + L"PCI Express Gen 4 SFF-8639 (U.2)" + }, + { + 0x25, + L"PCI Express Gen 5 SFF-8639 (U.2)" + }, + { + 0x26, + L"OCP NIC 3.0 Small Form Factor (SFF)" + }, + { + 0x27, + L"OCP NIC 3.0 Large Form Factor (LFF)" + }, + { + 0x28, + L"OCP NIC Prior to 3.0" + }, + { + SlotTypeCXLFlexbus10, + L"CXL Flexbus 1.0" + }, + { + 0xA0, + L"PC-98/C20 " + }, + { + 0xA1, + L"PC-98/C24 " + }, + { + 0xA2, + L"PC-98/E " + }, + { + 0xA3, + L"PC-98/Local Bus " + }, + { + 0xA4, + L"PC-98/Card " + }, + { + 0xA5, + L"PCI Express " + }, + { + 0xA6, + L"PCI Express X1" + }, + { + 0xA7, + L"PCI Express X2" + }, + { + 0xA8, + L"PCI Express X4" + }, + { + 0xA9, + L"PCI Express X8" + }, + { + 0xAA, + L"PCI Express X16" + }, + { + 0xAB, + L"PCI Express Gen 2" + }, + { + 0xAC, + L"PCI Express Gen 2 X1" + }, + { + 0xAD, + L"PCI Express Gen 2 X2" + }, + { + 0xAE, + L"PCI Express Gen 2 X4" + }, + { + 0xAF, + L"PCI Express Gen 2 X8" + }, + { + 0xB0, + L"PCI Express Gen 2 X16" + }, + { + 0xB1, + L"PCI Express Gen 3" + }, + { + 0xB2, + L"PCI Express Gen 3 X1" + }, + { + 0xB3, + L"PCI Express Gen 3 X2" + }, + { + 0xB4, + L"PCI Express Gen 3 X4" + }, + { + 0xB5, + L"PCI Express Gen 3 X8" + }, + { + 0xB6, + L"PCI Express Gen 3 X16" + }, + { + SlotTypePciExpressGen4, + L"PCI Express Gen 4" + }, + { + SlotTypePciExpressGen4X1, + L"PCI Express Gen 4 X1" + }, + { + SlotTypePciExpressGen4X2, + L"PCI Express Gen 4 X2" + }, + { + SlotTypePciExpressGen4X4, + L"PCI Express Gen 4 X4" + }, + { + SlotTypePciExpressGen4X8, + L"PCI Express Gen 4 X8" + }, + { + SlotTypePciExpressGen4X16, + L"PCI Express Gen 4 X16" + }, + { + SlotTypePCIExpressGen5, + L"PCI Express Gen 5" + }, + { + SlotTypePCIExpressGen5X1, + L"PCI Express Gen 5 x1" + }, + { + SlotTypePCIExpressGen5X2, + L"PCI Express Gen 5 x2" + }, + { + SlotTypePCIExpressGen5X4, + L"PCI Express Gen 5 x4" + }, + { + SlotTypePCIExpressGen5X8, + L"PCI Express Gen 5 x8" + }, + { + SlotTypePCIExpressGen5X16, + L"PCI Express Gen 5 x16" + }, + { + SlotTypePCIExpressGen6andBeyond, + L"PCI Express Gen 6 and Beyond" + }, + { + SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot, + L"Enterprise and Datacenter 1U E1 Form Factor Slot" + }, + { + SlotTypeEnterpriseandDatacenter3E3FormFactorSlot, + L"Enterprise and Datacenter 3'E3 Form Factor Slot" + } +}; + +TABLE_ITEM SystemSlotDataBusWidthTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" 8 bit" + }, + { + 0x04, + L" 16 bit" + }, + { + 0x05, + L" 32 bit" + }, + { + 0x06, + L" 64 bit" + }, + { + 0x07, + L" 128 bit" + }, + { + 0x08, + L" 1x or x1" + }, + { + 0x09, + L" 2x or x2" + }, + { + 0x0A, + L" 4x or x4" + }, + { + 0x0B, + L" 8x or x8" + }, + { + 0x0C, + L" 12x or x12" + }, + { + 0x0D, + L" 16x or x16" + }, + { + 0x0E, + L" 32x or x32" + } +}; + +TABLE_ITEM SystemSlotPhysicalWidthTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" 8 bit" + }, + { + 0x04, + L" 16 bit" + }, + { + 0x05, + L" 32 bit" + }, + { + 0x06, + L" 64 bit" + }, + { + 0x07, + L" 128 bit" + }, + { + 0x08, + L" 1x or x1" + }, + { + 0x09, + L" 2x or x2" + }, + { + 0x0A, + L" 4x or x4" + }, + { + 0x0B, + L" 8x or x8" + }, + { + 0x0C, + L" 12x or x12" + }, + { + 0x0D, + L" 16x or x16" + }, + { + 0x0E, + L" 32x or x32" + } +}; + +TABLE_ITEM SystemSlotInformationTable[] = { + { + 0x00, + L" Others" + }, + { + 0x01, + L" Gen 1" + }, + { + 0x02, + L" Gen 2" + }, + { + 0x03, + L" Gen 3" + }, + { + 0x04, + L" Gen 4" + }, + { + 0x05, + L" Gen 5" + }, + { + 0x06, + L" Gen 6" + } +}; + +TABLE_ITEM SystemSlotCurrentUsageTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Available" + }, + { + 0x04, + L" In use" + }, + { + 0x05, + L" Unavailable" + } +}; + +TABLE_ITEM SystemSlotLengthTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Short length" + }, + { + 0x04, + L" Long Length" + }, +}; + +TABLE_ITEM SystemSlotHeightTable[] = { + { + 0x00, + L" Not applicable" + }, + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unkown" + }, + { + 0x03, + L" Full height" + }, + { + 0x04, + L" Low-Profile" + }, +}; + +TABLE_ITEM SlotCharacteristics1Table[] = { + { + 0, + L" Characteristics Unknown" + }, + { + 1, + L" Provides 5.0 Volts" + }, + { + 2, + L" Provides 3.3 Volts" + }, + { + 3, + L" Slot's opening is shared with another slot, e.g. PCI/EISA shared slot." + }, + + { + 4, + L" PC Card slot supports PC Card-16" + }, + { + 5, + L" PC Card slot supports CardBus" + }, + { + 6, + L" PC Card slot supports Zoom Video " + }, + { + 7, + L" PC Card slot supports Modem Ring Resume " + } +}; + +TABLE_ITEM SlotCharacteristics2Table[] = { + { + 0, + L" PCI slot supports Power Management Enable (PME#) signal" + }, + { + 1, + L" Slot supports hot-plug devices" + }, + { + 2, + L" PCI slot supports SMBus signal" + }, + { + 3, + L" PCIe slot supports bifurcation" + }, + { + 4, + L" Slot supports async/surprise removal" + }, + { + 5, + L" Flexbus slot, CXL 1.0 capable" + }, + { + 6, + L" Flexbus slot, CXL 2.0 capable" + }, + { + 7, + L" Reserved" + } +}; + +TABLE_ITEM OnboardDeviceTypesTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Video" + }, + { + 0x04, + L" SCSI Controller" + }, + { + 0x05, + L" Ethernet" + }, + { + 0x06, + L" Token Ring" + }, + { + 0x07, + L" Sound" + }, + { + 0x08, + L" Pata Controller" + }, + { + 0x09, + L" Sata Controller" + }, + { + 0x0A, + L" Sas Controller" + }, + { + 0x0B, + L" Wireless LAN" + }, + { + 0x0C, + L" Bluetooth" + }, + { + 0x0D, + L" WWAN" + }, + { + 0x0E, + L" embedded Multi-Media Controller" + }, + { + 0x0F, + L" NVMe Controller" + }, + { + 0x10, + L" UFS Controller" + } +}; + +TABLE_ITEM SELTypesTable[] = { + { + 0x00, + L" Reserved." + }, + { + 0x01, + L" Single-bit ECC memory error" + }, + { + 0x02, + L" Multi-bit ECC memory error" + }, + { + 0x03, + L" Parity memory error" + }, + { + 0x04, + L" Bus time-out" + }, + { + 0x05, + L" I/O Channel Check" + }, + { + 0x06, + L" Software NMI" + }, + { + 0x07, + L" POST Memory Resize" + }, + { + 0x08, + L" POST Error" + }, + { + 0x09, + L" PCI Parity Error" + }, + { + 0x0A, + L" PCI System Error" + }, + { + 0x0B, + L" CPU Failure" + }, + { + 0x0C, + L" EISA FailSafe Timer time-out" + }, + { + 0x0D, + L" Correctable memory log disabled" + }, + { + 0x0E, + L" Logging disabled for a specific Event Type" + }, + { + 0x0F, + L" Reserved" + }, + { + 0x10, + L" System Limit Exceeded" + }, + { + 0x11, + L" Asynchronous hardware timer expired and issued a system reset" + }, + { + 0x12, + L" System configuration information" + }, + { + 0x13, + L" Hard-disk information" + }, + { + 0x14, + L" System reconfigured" + }, + { + 0x15, + L" Uncorrectable CPU-complex error" + }, + { + 0x16, + L" Log Area Reset/Cleared" + }, + { + 0x17, + L" System boot" + }, + { + 0x7F18, + L" Unused by SMBIOS specification" + }, + { + 0xFE80, + L" System and OEM specified" + }, + { + 0xFF, + L" End-of-log" + }, +}; + +TABLE_ITEM SELVarDataFormatTypeTable[] = { + { + 0x00, + L" None " + }, + { + 0x01, + L" Handle " + }, + { + 0x02, + L" Multiple-Event " + }, + { + 0x03, + L" Multiple-Event Handle " + }, + { + 0x04, + L" POST Results Bitmap " + }, + // + // Defined below + // + { + 0x05, + L" System Management Type" + }, + // + // Defined below + // + { + 0x06, + L" Multiple-Event System Management Type " + }, + { + 0x7F07, + L" Unused " + }, + { + 0xFF80, + L" OEM assigned " + }, +}; + +TABLE_ITEM PostResultsBitmapDw1Table[] = { + { + 0, + L" Channel 2 Timer error " + }, + { + 1, + L" Master PIC (8259 #1) error " + }, + { + 2, + L" Slave PIC (8259 #2) error " + }, + { + 3, + L" CMOS Battery Failure " + }, + { + 4, + L" CMOS System Options Not Set " + }, + { + 5, + L" CMOS Checksum Error " + }, + { + 6, + L" CMOS Configuration Error " + }, + { + 7, + L" Mouse and Keyboard Swapped " + }, + { + 8, + L" Keyboard Locked " + }, + { + 9, + L" Keyboard Not Functional " + }, + { + 10, + L" Keyboard Controller Not Functional " + }, + { + 11, + L" CMOS Memory Size Different " + }, + { + 12, + L" Memory Decreased in Size " + }, + { + 13, + L" Cache Memory Error " + }, + { + 14, + L" Floppy Drive 0 Error " + }, + { + 15, + L" Floppy Drive 1 Error " + }, + { + 16, + L" Floppy Controller Failure " + }, + { + 17, + L" Number of ATA Drives Reduced Error " + }, + { + 18, + L" CMOS Time Not Set " + }, + { + 19, + L" DDC Monitor Configuration Change " + }, + { + 20, + L" Reserved, set to 0 " + }, + { + 21, + L" Reserved, set to 0 " + }, + { + 22, + L" Reserved, set to 0 " + }, + { + 23, + L" Reserved, set to 0 " + }, + { + 24, + L" Second DWORD has valid data " + }, + { + 25, + L" Reserved, set to 0 " + }, + { + 26, + L" Reserved, set to 0 " + }, + { + 27, + L" Reserved, set to 0 " + }, + { + 28, + L" Normally 0; available for OEM assignment " + }, + { + 29, + L" Normally 0; available for OEM assignment " + }, + { + 30, + L" Normally 0; available for OEM assignment " + }, + { + 31, + L" Normally 0; available for OEM assignment " + }, +}; + +TABLE_ITEM PostResultsBitmapDw2Table[] = { + { + 0, + L" Normally 0; available for OEM assignment " + }, + { + 1, + L" Normally 0; available for OEM assignment " + }, + { + 2, + L" Normally 0; available for OEM assignment " + }, + { + 3, + L" Normally 0; available for OEM assignment " + }, + { + 4, + L" Normally 0; available for OEM assignment " + }, + { + 5, + L" Normally 0; available for OEM assignment " + }, + { + 6, + L" Normally 0; available for OEM assignment " + }, + { + 7, + L" PCI Memory Conflict " + }, + { + 8, + L" PCI I/O Conflict " + }, + { + 9, + L" PCI IRQ Conflict " + }, + { + 10, + L" PNP Memory Conflict " + }, + { + 11, + L" PNP 32 bit Memory Conflict " + }, + { + 12, + L" PNP I/O Conflict " + }, + { + 13, + L" PNP IRQ Conflict " + }, + { + 14, + L" PNP DMA Conflict " + }, + { + 15, + L" Bad PNP Serial ID Checksum " + }, + { + 16, + L" Bad PNP Resource Data Checksum " + }, + { + 17, + L" Static Resource Conflict " + }, + { + 18, + L" NVRAM Checksum Error, NVRAM Cleared " + }, + { + 19, + L" System Board Device Resource Conflict " + }, + { + 20, + L" Primary Output Device Not Found " + }, + { + 21, + L" Primary Input Device Not Found " + }, + { + 22, + L" Primary Boot Device Not Found " + }, + { + 23, + L" NVRAM Cleared By Jumper " + }, + { + 24, + L" NVRAM Data Invalid, NVRAM Cleared " + }, + { + 25, + L" FDC Resource Conflict " + }, + { + 26, + L" Primary ATA Controller Resource Conflict " + }, + { + 27, + L" Secondary ATA Controller Resource Conflict " + }, + { + 28, + L" Parallel Port Resource Conflict " + }, + { + 29, + L" Serial Port 1 Resource Conflict " + }, + { + 30, + L" Serial Port 2 Resource Conflict " + }, + { + 31, + L" Audio Resource Conflict " + }, +}; + +TABLE_ITEM SELSysManagementTypesTable[] = { + { + 0x01, + L" +2.5V Out of range, #2 " + }, + { + 0x02, + L" +3.3V Out of range " + }, + { + 0x03, + L" +5V Out of range " + }, + { + 0x04, + L" -5V Out of range " + }, + { + 0x05, + L" +12V Out of range " + }, + { + 0x06, + L" -12V Out of range " + }, + { + 0x0F07, + L" Reserved for future out-of-range voltage levels " + }, + { + 0x10, + L" System board temperature out of range " + }, + { + 0x11, + L" Processor #1 temperature out of range " + }, + { + 0x12, + L" Processor #2 temperature out of range " + }, + { + 0x13, + L" Processor #3 temperature out of range " + }, + { + 0x14, + L" Processor #4 temperature out of range " + }, + { + 0x1F15, + L" Reserved for future out-of-range temperatures" + }, + { + 0x2720, + L" Fan n (n = 0 to 7) Out of range " + }, + { + 0x2F28, + L" Reserved for future assignment via this specification " + }, + { + 0x30, + L" Chassis secure switch activated " + }, +}; + +TABLE_ITEM PMALocationTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" System board or motherboard" + }, + { + 0x04, + L" ISA add-on card" + }, + { + 0x05, + L" EISA add-on card" + }, + { + 0x06, + L" PCI add-on card" + }, + { + 0x07, + L" MCA add-on card" + }, + { + 0x08, + L" PCMCIA add-on card" + }, + { + 0x09, + L" Proprietary add-on card" + }, + { + 0x0A, + L" NuBus" + }, + { + 0xA0, + L" PC-98/C20 add-on card" + }, + { + 0xA1, + L" PC-98/C24 add-on card" + }, + { + 0xA2, + L" PC-98/E add-on card" + }, + { + 0xA3, + L" PC-98/Local bus add-on card" + }, + { + MemoryArrayLocationCXLAddonCard, + L" CXL add-on card" + } +}; + +TABLE_ITEM PMAUseTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" System memory" + }, + { + 0x04, + L" Video memory" + }, + { + 0x05, + L" Flash memory" + }, + { + 0x06, + L" Non-volatile RAM" + }, + { + 0x07, + L" Cache memory" + } +}; + +TABLE_ITEM PMAErrorCorrectionTypesTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" None" + }, + { + 0x04, + L" Parity" + }, + { + 0x05, + L" Single-bit ECC" + }, + { + 0x06, + L" Multi-bit ECC" + }, + { + 0x07, + L" CRC" + } +}; + +TABLE_ITEM MemoryDeviceFormFactorTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" SIMM" + }, + { + 0x04, + L" SIP" + }, + { + 0x05, + L" Chip" + }, + { + 0x06, + L" DIP" + }, + { + 0x07, + L" ZIP" + }, + { + 0x08, + L" Proprietary Card" + }, + { + 0x09, + L" DIMM" + }, + { + 0x0A, + L" TSOP" + }, + { + 0x0B, + L" Row of chips" + }, + { + 0x0C, + L" RIMM" + }, + { + 0x0D, + L" SODIMM" + }, + { + 0x0E, + L" SRIMM" + }, + { + 0x0F, + L" FB-DIMM" + }, + { + MemoryFormFactorDie, + L" Die" + } +}; + +TABLE_ITEM MemoryDeviceTypeTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" DRAM" + }, + { + 0x04, + L" EDRAM" + }, + { + 0x05, + L" VRAM" + }, + { + 0x06, + L" SRAM" + }, + { + 0x07, + L" RAM" + }, + { + 0x08, + L" ROM" + }, + { + 0x09, + L" FLASH" + }, + { + 0x0A, + L" EEPROM" + }, + { + 0x0B, + L" FEPROM" + }, + { + 0x0C, + L" EPROM" + }, + { + 0x0D, + L" CDRAM" + }, + { + 0x0E, + L" 3DRAM" + }, + { + 0x0F, + L" SDRAM" + }, + { + 0x10, + L" SGRAM" + }, + { + 0x11, + L" RDRAM" + }, + { + 0x12, + L" DDR" + }, + { + 0x13, + L" DDR2" + }, + { + 0x14, + L" DDR2 FB-DIMM" + }, + { + 0x18, + L" DDR3" + }, + { + 0x19, + L" FBD2" + }, + { + 0x1A, + L" DDR4" + }, + { + 0x1B, + L" LPDDR" + }, + { + 0x1C, + L" LPDDR2" + }, + { + 0x1D, + L" LPDDR3" + }, + { + 0x1E, + L" LPDDR4" + }, + { + 0x1F, + L" Logical non-volatile device" + }, + { + MemoryTypeHBM, + L" HBM (High Bandwidth Memory)" + }, + { + MemoryTypeHBM2, + L" HBM2 (High Bandwidth Memory Generation 2)" + }, + { + MemoryTypeDdr5, + L" DDR5" + }, + { + MemoryTypeLpddr5, + L" LPDDR5" + } +}; + +TABLE_ITEM MemoryDeviceTypeDetailTable[] = { + { + 1, + L" Other" + }, + { + 2, + L" Unknown" + }, + { + 3, + L" Fast-paged" + }, + { + 4, + L" Static column" + }, + { + 5, + L" Pseudo-STATIC" + }, + { + 6, + L" RAMBUS " + }, + { + 7, + L" Synchronous" + }, + { + 8, + L" CMOS" + }, + { + 9, + L" EDO" + }, + { + 10, + L" Window DRAM" + }, + { + 11, + L" Cache DRAM" + }, + { + 12, + L" Non-volatile" + }, + { + 13, + L" Registered(Buffered)" + }, + { + 14, + L" Unbuffered(Unregistered)" + } +}; + +TABLE_ITEM MemoryDeviceMemoryTechnologyTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" DRAM" + }, + { + 0x04, + L" NVDIMM-N" + }, + { + 0x05, + L" NVDIMM-F" + }, + { + 0x06, + L" NVDIMM-P" + }, + { + MemoryTechnologyIntelOptanePersistentMemory, + L" Intel Optane Persistent Memory" + } +}; + +TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable[] = { + { + 1, + L" Other" + }, + { + 2, + L" Unknown" + }, + { + 3, + L" Volatile memory" + }, + { + 4, + L" Byte-accessible persistent memory" + }, + { + 5, + L" Block-accessible persistent memory" + } +}; + +TABLE_ITEM MemoryErrorTypeTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" OK" + }, + { + 0x04, + L" Bad read" + }, + { + 0x05, + L" Parity error" + }, + { + 0x06, + L" Single-bit error" + }, + { + 0x07, + L" Double-bit error" + }, + { + 0x08, + L" Multi-bit error" + }, + { + 0x09, + L" Nibble error" + }, + { + 0x0A, + L" Checksum error" + }, + { + 0x0B, + L" CRC error" + }, + { + 0x0C, + L" Corrected single-bit error" + }, + { + 0x0D, + L" Corrected error" + }, + { + 0x0E, + L" Uncorrectable error" + }, +}; + +TABLE_ITEM MemoryErrorGranularityTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Device level" + }, + { + 0x04, + L" Memory partition level" + }, +}; + +TABLE_ITEM MemoryErrorOperationTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Read" + }, + { + 0x04, + L" Write" + }, + { + 0x05, + L" Partial Write" + }, +}; + +TABLE_ITEM PointingDeviceTypeTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Mouse" + }, + { + 0x04, + L" Track Ball" + }, + { + 0x05, + L" Track Point" + }, + { + 0x06, + L" Glide Point" + }, + { + 0x07, + L" Touch Pad" + }, +}; + +TABLE_ITEM PointingDeviceInterfaceTable[] = { + { + 0x01, + L" Other" + }, + { + 0x02, + L" Unknown" + }, + { + 0x03, + L" Serial" + }, + { + 0x04, + L" PS/2" + }, + { + 0x05, + L" Infrared" + }, + { + 0x06, + L" HP-HIL" + }, + { + 0x07, + L" Bus mouse" + }, + { + 0x08, + L" ADB(Apple Desktop Bus" + }, + { + 0xA0, + L" Bus mouse DB-9" + }, + { + 0xA1, + L" Bus mouse mirco-DIN" + }, + { + 0xA2, + L" USB" + }, +}; + +TABLE_ITEM PBDeviceChemistryTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" Lead Acid " + }, + { + 0x04, + L" Nickel Cadmium " + }, + { + 0x05, + L" Nickel metal hydride " + }, + { + 0x06, + L" Lithium-ion " + }, + { + 0x07, + L" Zinc air " + }, + { + 0x08, + L" Lithium Polymer " + }, +}; + +TABLE_ITEM VPLocationTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" OK " + }, + { + 0x04, + L" Non-critical " + }, + { + 0x05, + L" Critical " + }, + { + 0x06, + L" Non-recoverable " + }, +}; + +TABLE_ITEM VPStatusTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" Processor " + }, + { + 0x04, + L" Disk " + }, + { + 0x05, + L" Peripheral Bay " + }, + { + 0x06, + L" System Management Module " + }, + { + 0x07, + L" Motherboard " + }, + { + 0x08, + L" Memory Module " + }, + { + 0x09, + L" Processor Module " + }, + { + 0x0A, + L" Power Unit " + }, + { + 0x0B, + L" Add-in Card " + }, +}; + +TABLE_ITEM CoolingDeviceStatusTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" OK " + }, + { + 0x04, + L" Non-critical " + }, + { + 0x05, + L" Critical " + }, + { + 0x06, + L" Non-recoverable " + }, +}; + +TABLE_ITEM CoolingDeviceTypeTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" Fan " + }, + { + 0x04, + L" Centrifugal Blower " + }, + { + 0x05, + L" Chip Fan " + }, + { + 0x06, + L" Cabinet Fan " + }, + { + 0x07, + L" Power Supply Fan " + }, + { + 0x08, + L" Heat Pipe " + }, + { + 0x09, + L" Integrated Refrigeration " + }, + { + 0x10, + L" Active Cooling " + }, + { + 0x11, + L" Passive Cooling " + }, +}; + +TABLE_ITEM TemperatureProbeStatusTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" OK " + }, + { + 0x04, + L" Non-critical " + }, + { + 0x05, + L" Critical " + }, + { + 0x06, + L" Non-recoverable " + }, +}; + +TABLE_ITEM TemperatureProbeLocTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" Processor " + }, + { + 0x04, + L" Disk " + }, + { + 0x05, + L" Peripheral Bay " + }, + { + 0x06, + L" System Management Module " + }, + { + 0x07, + L" Motherboard " + }, + { + 0x08, + L" Memory Module " + }, + { + 0x09, + L" Processor Module " + }, + { + 0x0A, + L" Power Unit " + }, + { + 0x0B, + L" Add-in Card " + }, +}; + +TABLE_ITEM ECPStatusTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" OK " + }, + { + 0x04, + L" Non-critical " + }, + { + 0x05, + L" Critical " + }, + { + 0x06, + L" Non-recoverable " + }, +}; + +TABLE_ITEM ECPLocTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" Processor " + }, + { + 0x04, + L" Disk " + }, + { + 0x05, + L" Peripheral Bay " + }, + { + 0x06, + L" System Management Module " + }, + { + 0x07, + L" Motherboard " + }, + { + 0x08, + L" Memory Module " + }, + { + 0x09, + L" Processor Module " + }, + { + 0x0A, + L" Power Unit " + }, + { + 0x0B, + L" Add-in Card " + }, +}; + +TABLE_ITEM MDTypeTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" National Semiconductor LM75 " + }, + { + 0x04, + L" National Semiconductor LM78 " + }, + { + 0x05, + L" National Semiconductor LM79 " + }, + { + 0x06, + L" National Semiconductor LM80 " + }, + { + 0x07, + L" National Semiconductor LM81 " + }, + { + 0x08, + L" Analog Devices ADM9240 " + }, + { + 0x09, + L" Dallas Semiconductor DS1780 " + }, + { + 0x0A, + L" Maxim 1617 " + }, + { + 0x0B, + L" Genesys GL518SM " + }, + { + 0x0C, + L" Winbond W83781D " + }, + { + 0x0D, + L" Holtek HT82H791 " + }, +}; + +TABLE_ITEM MDAddressTypeTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" I/O Port " + }, + { + 0x04, + L" Memory " + }, + { + 0x05, + L" SM Bus " + }, +}; + +TABLE_ITEM MemoryChannelTypeTable[] = { + { + 0x01, + L" Other " + }, + { + 0x02, + L" Unknown " + }, + { + 0x03, + L" RamBus " + }, + { + 0x04, + L" SyncLink " + }, +}; + +TABLE_ITEM IPMIDIBMCInterfaceTypeTable[] = { + { + 0x00, + L" Unknown " + }, + { + 0x01, + L" KCS: Keyboard Controller Style " + }, + { + 0x02, + L" SMIC: Server Management Interface Chip " + }, + { + 0x03, + L" BT: Block Transfer " + }, + { + 0x04, + L" SSIF: SMBus System Interface " + }, + { + 0xFF05, + L" Reserved for future assignment by this specification " + }, +}; + +TABLE_ITEM MCHostInterfaceTypeTable[] = { + { + 0x3F00, + L" MCTP Host Interface " + }, + { + 0x40, + L" Network Host Interface " + }, + { + 0xF0, + L" OEM defined " + }, +}; + +TABLE_ITEM ProcessorArchitectureTypesTable[] = { + { + 0, + L" Reserved " + }, + { + 1, + L" IA32 (x86) " + }, + { + 2, + L" x64 (x86-64, intel64, AMD64, EM64T) " + }, + { + 3, + L" Intel Itanium architecture " + }, + { + 4, + L" 32-bit ARM (Aarch32) " + }, + { + 5, + L" 64-bit ARM (Aarch64) " + }, + { + 6, + L" 32-bit RISC-V (RV32) " + }, + { + 7, + L" 64-bit RISC-V (RV64) " + }, + { + 8, + L" 128-bit RISC-V (RV128) " + }, + { + 9, + L" 32-bit LoongArch (LoongArch32) " + }, + { + 10, + L" 64-bit LoongArch (LoongArch64) " + } +}; + +TABLE_ITEM FirmwareInventoryCharTable[] = { + { + 0, + L"Updatable" + }, + { + 1, + L"Write-Protect" + } +}; + +TABLE_ITEM FirmwareInventoryStateTable[] = { + { + 1, + L" Other" + }, + { + 2, + L" Unknown " + }, + { + 3, + L" Disabled: This firmware component is disabled. " + }, + { + 4, + L" Enabled: This firmware component is enabled. " + }, + { + 5, + L" Absent: This firmware component is either not present or not detected " + }, + { + 6, + L" StandbyOffline: This firmware is enabled but awaits an external action to activate it. " + }, + { + 7, + L" StandbySpare: This firmware is part of a redundancy set and awaits a failover or other external action to activate it. " + }, + { + 8, + L" UnavailableOffline: This firmware component is present but cannot be used. " + }, +}; + +TABLE_ITEM StructureTypeInfoTable[] = { + { + 0, + L" BIOS Information" + }, + { + 1, + L" System Information" + }, + { + 2, + L" Base Board Information" + }, + { + 3, + L" System Enclosure" + }, + { + 4, + L" Processor Information" + }, + { + 5, + L" Memory Controller Information " + }, + { + 6, + L" Memory Module Information " + }, + { + 7, + L" Cache Information " + }, + { + 8, + L" Port Connector Information " + }, + { + 9, + L" System Slots " + }, + { + 10, + L" On Board Devices Information " + }, + { + 11, + L" OEM Strings" + }, + { + 12, + L" System Configuration Options " + }, + { + 13, + L" BIOS Language Information " + }, + { + 14, + L" Group Associations " + }, + { + 15, + L" System Event Log " + }, + { + 16, + L" Physical Memory Array " + }, + { + 17, + L" Memory Device " + }, + { + 18, + L" 32-bit Memory Error Information " + }, + { + 19, + L" Memory Array Mapped Address " + }, + { + 20, + L" Memory Device Mapped Address " + }, + { + 21, + L" Built-in Pointing Device " + }, + { + 22, + L" Portable Battery " + }, + { + 23, + L" System Reset " + }, + { + 24, + L" Hardware Security " + }, + { + 25, + L" System Power Controls " + }, + { + 26, + L" Voltage Probe " + }, + { + 27, + L" Cooling Device " + }, + { + 28, + L" Temperature Probe " + }, + { + 29, + L" Electrical Current Probe " + }, + { + 30, + L" Out-of-Band Remote Access " + }, + { + 31, + L" Boot Integrity Services (BIS) Entry Point" + }, + { + 32, + L" System Boot Information " + }, + { + 33, + L" 64-bit Memory Error Information " + }, + { + 34, + L" Management Device " + }, + { + 35, + L" Management Device Component " + }, + { + 36, + L" Management Device Threshold Data " + }, + { + 37, + L" Memory Channel " + }, + { + 38, + L" IPMI Device Information " + }, + { + 39, + L" System Power Supply" + }, + { + 40, + L" Additional Information" + }, + { + 41, + L" Onboard Devices Extended Information" + }, + { + 42, + L" Management Controller Host Interface" + }, + { + 43, + L" TPM Device" + }, + { + 44, + L" Processor Additional Information" + }, + { + 0x7E, + L" Inactive" + }, + { + 0x7F, + L" End-of-Table " + }, +}; + +/** + Given a table and a Key, return the responding info. + + Notes: + Table[Index].Key is change from UINT8 to UINT16, + in order to deal with "0xaa - 0xbb". + + For example: + DisplaySELVariableDataFormatTypes(UINT8 Type, UINT8 Option) + has a item: + "0x07-0x7F, Unused" + Now define Key = 0x7F07, that is to say: High = 0x7F, Low = 0x07. + Then all the Key Value between Low and High gets the same string + L"Unused". + + @param[in] Table The begin address of table. + @param[in] Number The number of table items. + @param[in] Key The query Key. + @param[in, out] Info Input as empty buffer; output as data buffer. + @param[in] InfoLen The max number of characters for Info. + + @return the found Key and Info is valid. + @retval QUERY_TABLE_UNFOUND and Info should be NULL. +**/ +UINT8 +QueryTable ( + IN TABLE_ITEM *Table, + IN UINTN Number, + IN UINT8 Key, + IN OUT CHAR16 *Info, + IN UINTN InfoLen + ) +{ + UINTN Index; + // + // High byte and Low byte of word + // + UINT8 High; + UINT8 Low; + + for (Index = 0; Index < Number; Index++) { + High = (UINT8)(Table[Index].Key >> 8); + Low = (UINT8)(Table[Index].Key & 0x00FF); + + // + // Check if Key is in the range + // or if Key == Value in the table + // + if ( ((High > Low) && (Key >= Low) && (Key <= High)) + || (Table[Index].Key == Key)) + { + StrnCpyS (Info, InfoLen, Table[Index].Info, InfoLen - 1); + StrnCatS (Info, InfoLen, L"\n", InfoLen - 1 - StrLen (Info)); + return Key; + } + } + + StrCpyS (Info, InfoLen, L"Undefined Value\n"); + return QUERY_TABLE_UNFOUND; +} + +/** + Given a table of bit info and a Key, return the responding info to the Key. + + @param[in] Table Point to a table which maintains a map of 'bit' to 'message'. + @param[in] Number Number of table items. + @param[in] Bits The Key of query the bit map information. +**/ +VOID +PrintBitsInfo ( + IN TABLE_ITEM *Table, + IN UINTN Number, + IN UINT32 Bits + ) +{ + // + // Get certain bit of 'Value': + // + #define BIT(Value, bit) ((Value) & ((UINT32) 1) << (bit)) + // + // Clear certain bit of 'Value': + // + #define CLR_BIT(Value, bit) ((Value) -= (BIT (Value, bit))) + + UINTN Index; + UINT32 Value; + BOOLEAN FirstInfo; + + FirstInfo = TRUE; + Value = Bits; + // + // query the table and print information + // + for (Index = 0; Index < Number; Index++) { + if (BIT (Value, Table[Index].Key) != 0) { + if (!FirstInfo) { + // + // If it is not first info, print the separator first. + // + Print (L" | "); + } + + Print (Table[Index].Info); + + FirstInfo = FALSE; + // + // clear the bit, for reserved bits test + // + CLR_BIT (Value, Table[Index].Key); + } + } + + // + // There is no any info if FirstInfo is still TRUE. + // + if (FirstInfo) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_NO_INFO), gShellDebug1HiiHandle); + } + + if (Value != 0) { + ShellPrintHiiEx ( + -1, + -1, + NULL, + STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET), + gShellDebug1HiiHandle, + Value + ); + } + + Print (L"\n"); +} + +// +// ////////////////////////////////////////////////////////////////// +// +// Following uses QueryTable functions to simplify the coding. +// QueryTable(), PrintBitsInfo() +// +// +#define PRINT_TABLE_ITEM(Table, Key) \ + do { \ + UINTN Num; \ + CHAR16 Info[66]; \ + Num = sizeof (Table) / sizeof (TABLE_ITEM); \ + ZeroMem (Info, sizeof (Info)); \ + QueryTable (Table, Num, Key, Info, sizeof(Info)/sizeof(Info[0])); \ + Print (Info); \ + } while (0); + +#define PRINT_BITS_INFO(Table, bits) \ + do { \ + UINTN Num; \ + Num = sizeof (Table) / sizeof (TABLE_ITEM); \ + PrintBitsInfo (Table, Num, (UINT32) bits); \ + } while (0); + +/** + Display System Information (Type 1) Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemWakeupType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (SystemWakeupTypeTable, Type); +} + +/** + Display Base Board (Type 2) Feature Flags. + + @param[in] FeatureFlags The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayBaseBoardFeatureFlags ( + IN UINT8 FeatureFlags, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_FEATURE_FLAGS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (FeatureFlags, Option); + PRINT_BITS_INFO (BaseBoardFeatureFlagsTable, FeatureFlags); +} + +/** + Display Base Board (Type 2) Board Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayBaseBoardBoardType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BASE_BOARD_BOARD_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (BaseBoardBoardTypeTable, Type); +} + +/** + Display System Enclosure (Type 3) Enclosure Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemEnclosureType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + // + // query table and print info + // + PRINT_TABLE_ITEM (SystemEnclosureTypeTable, Type); + + if (BIT (Type, 7) != 0) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CHASSIS_LOCK_PRESENT), gShellDebug1HiiHandle); + } +} + +/** + Display System Enclosure (Type 3) Enclosure Status. + + @param[in] Status The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemEnclosureStatus ( + IN UINT8 Status, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_STATUS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (SystemEnclosureStatusTable, Status); +} + +/** + Display System Enclosure (Type 3) Security Status. + + @param[in] Status The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySESecurityStatus ( + IN UINT8 Status, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_CHASSIS_SECURITY), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (SESecurityStatusTable, Status); +} + +/** + Display Processor Information (Type 4) Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (ProcessorTypeTable, Type); +} + +/** + Display Processor Information (Type 4) Upgrade. + + @param[in] Upgrade The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorUpgrade ( + IN UINT8 Upgrade, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_UPDATE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Upgrade, Option); + PRINT_TABLE_ITEM (ProcessorUpgradeTable, Upgrade); +} + +/** + Display Processor Information (Type 4) Characteristics. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorCharacteristics ( + IN UINT16 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROC_CHARACTERISTICS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_BITS_INFO (ProcessorCharacteristicsTable, Type); +} + +/** + Display Memory Controller Information (Type 5) method. + + @param[in] Method The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMcErrorDetectMethod ( + IN UINT8 Method, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DETECTMETHOD), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Method, Option); + PRINT_TABLE_ITEM (McErrorDetectMethodTable, Method); +} + +/** + Display Memory Controller Information (Type 5) Capability. + + @param[in] Capability The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMcErrorCorrectCapability ( + IN UINT8 Capability, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CORRECT_CAPABILITY), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Capability, Option); + PRINT_BITS_INFO (McErrorCorrectCapabilityTable, Capability); +} + +/** + Display Memory Controller Information (Type 5) Support. + + @param[in] Support The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMcInterleaveSupport ( + IN UINT8 Support, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_INTERLEAVE_SUPPORT), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Support, Option); + PRINT_TABLE_ITEM (McInterleaveSupportTable, Support); +} + +/** + Display Memory Controller Information (Type 5) speeds. + + @param[in] Speed The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMcMemorySpeeds ( + IN UINT16 Speed, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MEMORY_SPEED), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Speed, Option); + PRINT_BITS_INFO (McMemorySpeedsTable, Speed); +} + +/** + Display Memory Controller Information (Type 5) voltage. + + @param[in] Voltage The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryModuleVoltage ( + IN UINT8 Voltage, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_REQUIRED_VOLTAGES), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Voltage, Option); + PRINT_BITS_INFO (MemoryModuleVoltageTable, Voltage); +} + +/** + Display Memory Module Information (Type 6) type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMmMemoryType ( + IN UINT16 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_BITS_INFO (MmMemoryTypeTable, Type); +} + +/** + Display Memory Module Information (Type 6) status. + + @param[in] Status The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMmErrorStatus ( + IN UINT8 Status, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_MODULE_ERROR_STATUS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_BITS_INFO (MmErrorStatusTable, Status); +} + +/** + Display Cache Information (Type 7) SRAM Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCacheSRAMType ( + IN UINT16 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SRAM_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION ((UINT8)Type, Option); + PRINT_BITS_INFO (CacheSRAMTypeTable, (UINT8)Type); +} + +/** + Display Cache Information (Type 7) correcting Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCacheErrCorrectingType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ERROR_CORRECTING), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (CacheErrCorrectingTypeTable, Type); +} + +/** + Display Cache Information (Type 7) Type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCacheSystemCacheType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_SYSTEM_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (CacheSystemCacheTypeTable, Type); +} + +/** + Display Cache Information (Type 7) Associativity. + + @param[in] Associativity The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCacheAssociativity ( + IN UINT8 Associativity, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_CACHE_ASSOCIATIVITY), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Associativity, Option); + PRINT_TABLE_ITEM (CacheAssociativityTable, Associativity); +} + +/** + Display Port Connector Information (Type 8) type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPortConnectorType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_CONNECTOR_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (PortConnectorTypeTable, Type); +} + +/** + Display Port Connector Information (Type 8) port type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPortType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORT_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (PortTypeTable, Type); +} + +/** + Display System Slots (Type 9) slot type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (SystemSlotTypeTable, Type); +} + +/** + Display System Slots (Type 9) data bus width. + + @param[in] Width The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotDataBusWidth ( + IN UINT8 Width, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_DATA), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Width, Option); + PRINT_TABLE_ITEM (SystemSlotDataBusWidthTable, Width); +} + +/** + Display System Slots (Type 9) usage information. + + @param[in] Usage The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotCurrentUsage ( + IN UINT8 Usage, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_CURRENT_USAGE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Usage, Option); + PRINT_TABLE_ITEM (SystemSlotCurrentUsageTable, Usage); +} + +/** + Display System Slots (Type 9) slot length. + + @param[in] Length The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotLength ( + IN UINT8 Length, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Length, Option); + PRINT_TABLE_ITEM (SystemSlotLengthTable, Length); +} + +/** + Display System Slots (Type 9) characteristics. + + @param[in] Chara1 The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySlotCharacteristics1 ( + IN UINT8 Chara1, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Chara1, Option); + PRINT_BITS_INFO (SlotCharacteristics1Table, Chara1); +} + +/** + Display System Slots (Type 9) characteristics. + + @param[in] Chara2 The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySlotCharacteristics2 ( + IN UINT8 Chara2, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Chara2, Option); + PRINT_BITS_INFO (SlotCharacteristics2Table, Chara2); +} + +/** + Display System Slots (Type 9) Information. + + @param[in] Width The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotInformation ( + IN UINT8 Width, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Width, Option); + PRINT_TABLE_ITEM (SystemSlotInformationTable, Width); +} + +/** + Display System Slots (Type 9) Physical Width. + + @param[in] Width The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotPhysicalWidth ( + IN UINT8 Width, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Width, Option); + PRINT_TABLE_ITEM (SystemSlotPhysicalWidthTable, Width); +} + +/** + Display System Slots (Type 9) slot height. + + @param[in] Length The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySystemSlotHeight ( + IN UINT8 Length, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Length, Option); + PRINT_TABLE_ITEM (SystemSlotHeightTable, Length); +} + +/** + Display On Board Devices Information (Type 10) types. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayOnboardDeviceTypes ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (OnboardDeviceTypesTable, Type); +} + +/** + Display System Event Log (Type 15) types. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySELTypes ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (SELTypesTable, Type); +} + +/** + Display System Event Log (Type 15) format type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySELVarDataFormatType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (SELVarDataFormatTypeTable, Type); +} + +/** + Display System Event Log (Type 15) dw1. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPostResultsBitmapDw1 ( + IN UINT32 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_BITS_INFO (PostResultsBitmapDw1Table, Key); +} + +/** + Display System Event Log (Type 15) dw2. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPostResultsBitmapDw2 ( + IN UINT32 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_SECOND_DWORD), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_BITS_INFO (PostResultsBitmapDw2Table, Key); +} + +/** + Display System Event Log (Type 15) type. + + @param[in] SMType The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplaySELSysManagementTypes ( + IN UINT32 SMType, + IN UINT8 Option + ) +{ + UINT8 Temp; + + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_TYPES), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (SMType, Option); + + // + // Deal with wide range Value + // + if (SMType >= 0x80000000) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_OEM_ASSIGNED), gShellDebug1HiiHandle); + } else if (SMType >= 0x00020000) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle); + } else if (SMType >= 0x00010000) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_MANAGEMENT_PROBE), gShellDebug1HiiHandle); + } else if (SMType >= 0x31) { + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_RSVD_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle); + } else { + // + // Deal with One byte data + // + Temp = (UINT8)(SMType & 0x3F); + PRINT_TABLE_ITEM (SELSysManagementTypesTable, Temp); + } +} + +/** + Display Physical Memory Array (Type 16) Location. + + @param[in] Location The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPMALocation ( + IN UINT8 Location, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Location, Option); + PRINT_TABLE_ITEM (PMALocationTable, Location); +} + +/** + Display Physical Memory Array (Type 16) Use. + + @param[in] Use The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPMAUse ( + IN UINT8 Use, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Use, Option); + PRINT_TABLE_ITEM (PMAUseTable, Use); +} + +/** + Display Physical Memory Array (Type 16) Types. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPMAErrorCorrectionTypes ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (PMAErrorCorrectionTypesTable, Type); +} + +/** + Display Memory Device (Type 17) form factor. + + @param[in] FormFactor The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryDeviceFormFactor ( + IN UINT8 FormFactor, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (FormFactor, Option); + PRINT_TABLE_ITEM (MemoryDeviceFormFactorTable, FormFactor); +} + +/** + Display Memory Device (Type 17) type. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryDeviceType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (MemoryDeviceTypeTable, Type); +} + +/** + Display Memory Device (Type 17) details. + + @param[in] Para The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryDeviceTypeDetail ( + IN UINT16 Para, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Para, Option); + PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, Para); +} + +/** + Display Memory Device (Type 17) memory technology. + + @param[in] Para The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryDeviceMemoryTechnology ( + IN UINT8 Para, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Para, Option); + PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable, Para); +} + +/** + Display Memory Device (Type 17) memory operating mode capability. + + @param[in] Para The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryDeviceMemoryOperatingModeCapability ( + IN UINT16 Para, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Para, Option); + PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable, Para); +} + +/** + Display 32-bit Memory Error Information (Type 18) type. + + @param[in] ErrorType The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryErrorType ( + IN UINT8 ErrorType, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (ErrorType, Option); + PRINT_TABLE_ITEM (MemoryErrorTypeTable, ErrorType); +} + +/** + Display 32-bit Memory Error Information (Type 18) error granularity. + + @param[in] Granularity The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryErrorGranularity ( + IN UINT8 Granularity, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Granularity, Option); + PRINT_TABLE_ITEM (MemoryErrorGranularityTable, Granularity); +} + +/** + Display 32-bit Memory Error Information (Type 18) error information. + + @param[in] Operation The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryErrorOperation ( + IN UINT8 Operation, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Operation, Option); + PRINT_TABLE_ITEM (MemoryErrorOperationTable, Operation); +} + +/** + Display Built-in Pointing Device (Type 21) type information. + + @param[in] Type The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPointingDeviceType ( + IN UINT8 Type, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (PointingDeviceTypeTable, Type); +} + +/** + Display Built-in Pointing Device (Type 21) information. + + @param[in] Interface The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPointingDeviceInterface ( + IN UINT8 Interface, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_POINTING_DEVICE_INTERFACE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Interface, Option); + PRINT_TABLE_ITEM (PointingDeviceInterfaceTable, Interface); +} + +/** + Display Portable Battery (Type 22) information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayPBDeviceChemistry ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PORTABLE_BATT_DEV_CHEM), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (PBDeviceChemistryTable, Key); +} + +/** + Display Voltage Probe (Type 26) location information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayVPLocation ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Loc; + + Loc = (UINT8)((Key & 0xE0) >> 5); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Loc, Option); + PRINT_TABLE_ITEM (VPLocationTable, Loc); +} + +/** + Display Voltage Probe (Type 26) status ype information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayVPStatus ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Status; + + Status = (UINT8)(Key & 0x1F); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_STATUS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (VPStatusTable, Status); +} + +/** + Display Cooling (Type 27) status information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCoolingDeviceStatus ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Status; + + Status = (UINT8)((Key & 0xE0) >> 5); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_STATUS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (CoolingDeviceStatusTable, Status); +} + +/** + Display Cooling (Type 27) type information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayCoolingDeviceType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Type; + + Type = (UINT8)(Key & 0x1F); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_COOLING_DEV_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Type, Option); + PRINT_TABLE_ITEM (CoolingDeviceTypeTable, Type); +} + +/** + Display Temperature Probe (Type 28) status information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayTemperatureProbeStatus ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Status; + + Status = (UINT8)((Key & 0xE0) >> 5); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_TEMP_PROBE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (TemperatureProbeStatusTable, Status); +} + +/** + Display Temperature Probe (Type 28) location information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayTemperatureProbeLoc ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Loc; + + Loc = (UINT8)(Key & 0x1F); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_VOLTAGE_PROBE_LOC), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Loc, Option); + PRINT_TABLE_ITEM (TemperatureProbeLocTable, Loc); +} + +/** + Display Electrical Current Probe (Type 29) status information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayECPStatus ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Status; + + Status = (UINT8)((Key & 0xE0) >> 5); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_STATUS), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Status, Option); + PRINT_TABLE_ITEM (ECPStatusTable, Status); +} + +/** + Display Type 29 information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayECPLoc ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + UINT8 Loc; + + Loc = (UINT8)(Key & 0x1F); + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_ELEC_PROBE_LOC), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Loc, Option); + PRINT_TABLE_ITEM (ECPLocTable, Loc); +} + +/** + Display Management Device (Type 34) Type. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMDType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (MDTypeTable, Key); +} + +/** + Display Management Device (Type 34) Address Type. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMDAddressType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MANAGEMENT_DEV_ADDR_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (MDAddressTypeTable, Key); +} + +/** + Display Memory Channel (Type 37) information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMemoryChannelType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (MemoryChannelTypeTable, Key); +} + +/** + Display IPMI Device Information (Type 38) information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayIPMIDIBMCInterfaceType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (IPMIDIBMCInterfaceTypeTable, Key); +} + +/** + Display Management Controller Host Interface (Type 42) information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayMCHostInterfaceType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (MCHostInterfaceTypeTable, Key); +} + +/** + Display Processor Architecture Type (Type 44). + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorArchitectureType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key); +} + +/** + Display Firmware Characteristics (Type 45) details. + + @param[in] Chara The information bits. + @param[in] Option The optional information. +**/ +VOID +DisplayFirmwareCharacteristics ( + IN UINT16 Chara, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_FIRMWARE_INVENTORY_CHAR), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Chara, Option); + PRINT_BITS_INFO (FirmwareInventoryCharTable, Chara); +} + +/** + Display Firmware state (Type 45) details. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayFirmwareState ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_FIRMWARE_INVENTORY_STATE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (FirmwareInventoryStateTable, Key); +} + +/** + Display the structure type information. + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayStructureTypeInfo ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + // + // display + // + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (StructureTypeInfoTable, Key); +} |
