MdePkg/Include/IndustryStandard/SmBios.h | 50 +++- .../SmbiosView/PrintInfo.c | 11 +- .../SmbiosView/QueryTable.c | 238 ++++++++++++++++++ .../SmbiosView/QueryTable.h | 36 +++ .../SmbiosView/SmbiosViewStrings.uni | 5 +- 5 files changed, 334 insertions(+), 6 deletions(-)
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3896
update smbiosview type 9 related fileds.
Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
---
MdePkg/Include/IndustryStandard/SmBios.h | 50 +++-
.../SmbiosView/PrintInfo.c | 11 +-
.../SmbiosView/QueryTable.c | 238 ++++++++++++++++++
.../SmbiosView/QueryTable.h | 36 +++
.../SmbiosView/SmbiosViewStrings.uni | 5 +-
5 files changed, 334 insertions(+), 6 deletions(-)
diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/IndustryStandard/SmBios.h
index 2b1567b052..cb39470c92 100644
--- a/MdePkg/Include/IndustryStandard/SmBios.h
+++ b/MdePkg/Include/IndustryStandard/SmBios.h
@@ -1306,6 +1306,11 @@ typedef enum {
SlotTypePciExpressMini52pinWithBSKO = 0x21, ///< PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs.
SlotTypePciExpressMini52pinWithoutBSKO = 0x22, ///< PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs.
SlotTypePciExpressMini76pin = 0x23, ///< PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card.
+ SlotTypePCIExpressGen4SFF_8639 = 0x24, ///< U.2
+ SlotTypePCIExpressGen5SFF_8639 = 0x25, ///< U.2
+ SlotTypeOCPNIC30SmallFormFactor = 0x26, ///< SFF
+ SlotTypeOCPNIC30LargeFormFactor = 0x27, ///< LFF
+ SlotTypeOCPNICPriorto30 = 0x28,
SlotTypeCXLFlexbus10 = 0x30,
SlotTypePC98C20 = 0xA0,
SlotTypePC98C24 = 0xA1,
@@ -1335,7 +1340,17 @@ typedef enum {
SlotTypePciExpressGen4X2 = 0xBA,
SlotTypePciExpressGen4X4 = 0xBB,
SlotTypePciExpressGen4X8 = 0xBC,
- SlotTypePciExpressGen4X16 = 0xBD
+ SlotTypePciExpressGen4X16 = 0xBD,
+ SlotTypePCIExpressGen5 = 0xBE,
+ SlotTypePCIExpressGen5X1 = 0xBF,
+ SlotTypePCIExpressGen5X2 = 0xC0,
+ SlotTypePCIExpressGen5X4 = 0xC1,
+ SlotTypePCIExpressGen5X8 = 0xC2,
+ SlotTypePCIExpressGen5X16 = 0xC3,
+ SlotTypePCIExpressGen6andBeyond = 0xC4,
+ SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot = 0xC5,
+ SlotTypeEnterpriseandDatacenter3E3FormFactorSlot = 0xC6
+
} MISC_SLOT_TYPE;
///
@@ -1358,6 +1373,39 @@ typedef enum {
SlotDataBusWidth32X = 0x0E ///< Or X32
} MISC_SLOT_DATA_BUS_WIDTH;
+///
+/// System Slots - Slot Physical Width.
+///
+typedef enum {
+ SlotPhysicalWidthOther = 0x01,
+ SlotPhysicalWidthUnknown = 0x02,
+ SlotPhysicalWidth8Bit = 0x03,
+ SlotPhysicalWidth16Bit = 0x04,
+ SlotPhysicalWidth32Bit = 0x05,
+ SlotPhysicalWidth64Bit = 0x06,
+ SlotPhysicalWidth128Bit = 0x07,
+ SlotPhysicalWidth1X = 0x08, ///< Or X1
+ SlotPhysicalWidth2X = 0x09, ///< Or X2
+ SlotPhysicalWidth4X = 0x0A, ///< Or X4
+ SlotPhysicalWidth8X = 0x0B, ///< Or X8
+ SlotPhysicalWidth12X = 0x0C, ///< Or X12
+ SlotPhysicalWidth16X = 0x0D, ///< Or X16
+ SlotPhysicalWidth32X = 0x0E ///< Or X32
+} MISC_SLOT_PHYSICAL_WIDTH;
+
+///
+/// System Slots - Slot Information.
+///
+typedef enum{
+ others = 0x00,
+ Gen1 = 0x01,
+ Gen2 = 0x01,
+ Gen3 = 0x03,
+ Gen4 = 0x04,
+ Gen5 = 0x05,
+ Gen6 = 0x06
+}MISC_SLOT_INFORMATION;
+
///
/// System Slots - Current Usage.
///
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
index b144600a25..0fa40dbe0c 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
@@ -637,6 +637,13 @@ SmbiosPrintStructure (
}
}
}
+ if (AE_SMBIOS_VERSION (0x3, 0x2)) {
+ if (Struct->Hdr->Length > 0x12) {
+ DisplaySystemSlotHeight(Struct->Type9->SlotHeight, Option);
+ DisplaySystemSlotPhysicalWidth(Struct->Type9->SlotPhysicalWidth, Option);
+ DisplaySystemSlotInformation(Struct->Type9->SlotInformation, Option);
+ }
+ }
break;
}
@@ -2898,10 +2905,6 @@ DisplaySystemSlotId (
IN UINT8 Option
)
{
- //
- // Display slot type first
- //
- DisplaySystemSlotType (SlotType, Option);
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), gShellDebug1HiiHandle);
//
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
index c4a6acb167..96e0e4036a 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
@@ -1447,6 +1447,27 @@ TABLE_ITEM SystemSlotTypeTable[] = {
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"
@@ -1566,6 +1587,42 @@ TABLE_ITEM SystemSlotTypeTable[] = {
{
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"
}
};
@@ -1628,6 +1685,96 @@ TABLE_ITEM SystemSlotDataBusWidthTable[] = {
}
};
+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,
@@ -1670,6 +1817,30 @@ TABLE_ITEM SystemSlotLengthTable[] = {
},
};
+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,
@@ -1722,6 +1893,22 @@ TABLE_ITEM SlotCharacteristics2Table[] = {
{
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"
}
};
@@ -4208,6 +4395,57 @@ DisplaySlotCharacteristics2 (
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.
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
index 5111d35f63..5f062762b3 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
@@ -415,6 +415,42 @@ DisplaySlotCharacteristics2 (
IN UINT8 Option
);
+/**
+ 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
+ );
+
+/**
+ 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
+ );
+
+/**
+ 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
+ );
+
/**
Display On Board Devices Information (Type 10) types.
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
index 9433e8a25f..a8728d6abc 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
@@ -294,7 +294,7 @@
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE #language en-US " Memory Size: %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK #language en-US "The memory module has a Double-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK #language en-US "The memory module has a Single-bank connection\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US " Slot Id:"
+#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US "Slot Id:"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN #language en-US " the logical Micro Channel slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15 #language en-US " error, not 1-15.\r\n"
@@ -412,6 +412,9 @@
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH #language en-US "System Slot Length: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS #language en-US "Slot characteristics 1: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2 #language en-US "Slot characteristics 2: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION #language en-US "System Slot Information: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT #language en-US "System Slot Height: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH #language en-US "System Slot Physical Width: "
#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "Onboard Device Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE #language en-US "System Event Log Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT #language en-US "Event Log Variable Data Format Types: "
--
2.32.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88575): https://edk2.groups.io/g/devel/message/88575
Mute This Topic: https://groups.io/mt/90330104/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Personally, you'd better to split this one patch to two, one is for MdePkg and another is for ShellPkg.
Also cc MdePkg and ShellPkg maintainers.
Thanks,
Star
-----Original Message-----
From: Ke, Bo-ChangX <bo-changx.ke@intel.com>
Sent: Friday, April 8, 2022 1:55 PM
To: devel@edk2.groups.io
Cc: Bi, Dandan <dandan.bi@intel.com>; Zeng, Star <star.zeng@intel.com>
Subject: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS 3.5 fields
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3896
update smbiosview type 9 related fileds.
Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
---
MdePkg/Include/IndustryStandard/SmBios.h | 50 +++-
.../SmbiosView/PrintInfo.c | 11 +-
.../SmbiosView/QueryTable.c | 238 ++++++++++++++++++
.../SmbiosView/QueryTable.h | 36 +++
.../SmbiosView/SmbiosViewStrings.uni | 5 +-
5 files changed, 334 insertions(+), 6 deletions(-)
diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/IndustryStandard/SmBios.h
index 2b1567b052..cb39470c92 100644
--- a/MdePkg/Include/IndustryStandard/SmBios.h
+++ b/MdePkg/Include/IndustryStandard/SmBios.h
@@ -1306,6 +1306,11 @@ typedef enum {
SlotTypePciExpressMini52pinWithBSKO = 0x21, ///< PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-outs.
SlotTypePciExpressMini52pinWithoutBSKO = 0x22, ///< PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs.
SlotTypePciExpressMini76pin = 0x23, ///< PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card.
+ SlotTypePCIExpressGen4SFF_8639 = 0x24, ///< U.2
+ SlotTypePCIExpressGen5SFF_8639 = 0x25, ///< U.2
+ SlotTypeOCPNIC30SmallFormFactor = 0x26, ///< SFF
+ SlotTypeOCPNIC30LargeFormFactor = 0x27, ///< LFF
+ SlotTypeOCPNICPriorto30 = 0x28,
SlotTypeCXLFlexbus10 = 0x30,
SlotTypePC98C20 = 0xA0,
SlotTypePC98C24 = 0xA1,
@@ -1335,7 +1340,17 @@ typedef enum {
SlotTypePciExpressGen4X2 = 0xBA,
SlotTypePciExpressGen4X4 = 0xBB,
SlotTypePciExpressGen4X8 = 0xBC,
- SlotTypePciExpressGen4X16 = 0xBD
+ SlotTypePciExpressGen4X16 = 0xBD,
+ SlotTypePCIExpressGen5 = 0xBE,
+ SlotTypePCIExpressGen5X1 = 0xBF,
+ SlotTypePCIExpressGen5X2 = 0xC0,
+ SlotTypePCIExpressGen5X4 = 0xC1,
+ SlotTypePCIExpressGen5X8 = 0xC2,
+ SlotTypePCIExpressGen5X16 = 0xC3,
+ SlotTypePCIExpressGen6andBeyond = 0xC4,
+ SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot = 0xC5,
+ SlotTypeEnterpriseandDatacenter3E3FormFactorSlot = 0xC6
+
} MISC_SLOT_TYPE;
///
@@ -1358,6 +1373,39 @@ typedef enum {
SlotDataBusWidth32X = 0x0E ///< Or X32
} MISC_SLOT_DATA_BUS_WIDTH;
+///
+/// System Slots - Slot Physical Width.
+///
+typedef enum {
+ SlotPhysicalWidthOther = 0x01,
+ SlotPhysicalWidthUnknown = 0x02,
+ SlotPhysicalWidth8Bit = 0x03,
+ SlotPhysicalWidth16Bit = 0x04,
+ SlotPhysicalWidth32Bit = 0x05,
+ SlotPhysicalWidth64Bit = 0x06,
+ SlotPhysicalWidth128Bit = 0x07,
+ SlotPhysicalWidth1X = 0x08, ///< Or X1
+ SlotPhysicalWidth2X = 0x09, ///< Or X2
+ SlotPhysicalWidth4X = 0x0A, ///< Or X4
+ SlotPhysicalWidth8X = 0x0B, ///< Or X8
+ SlotPhysicalWidth12X = 0x0C, ///< Or X12
+ SlotPhysicalWidth16X = 0x0D, ///< Or X16
+ SlotPhysicalWidth32X = 0x0E ///< Or X32
+} MISC_SLOT_PHYSICAL_WIDTH;
+
+///
+/// System Slots - Slot Information.
+///
+typedef enum{
+ others = 0x00,
+ Gen1 = 0x01,
+ Gen2 = 0x01,
+ Gen3 = 0x03,
+ Gen4 = 0x04,
+ Gen5 = 0x05,
+ Gen6 = 0x06
+}MISC_SLOT_INFORMATION;
+
///
/// System Slots - Current Usage.
///
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
index b144600a25..0fa40dbe0c 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
@@ -637,6 +637,13 @@ SmbiosPrintStructure (
}
}
}
+ if (AE_SMBIOS_VERSION (0x3, 0x2)) {
+ if (Struct->Hdr->Length > 0x12) {
+ DisplaySystemSlotHeight(Struct->Type9->SlotHeight, Option);
+ DisplaySystemSlotPhysicalWidth(Struct->Type9->SlotPhysicalWidth, Option);
+ DisplaySystemSlotInformation(Struct->Type9->SlotInformation, Option);
+ }
+ }
break;
}
@@ -2898,10 +2905,6 @@ DisplaySystemSlotId (
IN UINT8 Option
)
{
- //
- // Display slot type first
- //
- DisplaySystemSlotType (SlotType, Option);
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), gShellDebug1HiiHandle);
//
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
index c4a6acb167..96e0e4036a 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
+++ c
@@ -1447,6 +1447,27 @@ TABLE_ITEM SystemSlotTypeTable[] = {
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"
@@ -1566,6 +1587,42 @@ TABLE_ITEM SystemSlotTypeTable[] = {
{
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"
}
};
@@ -1628,6 +1685,96 @@ TABLE_ITEM SystemSlotDataBusWidthTable[] = {
}
};
+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,
@@ -1670,6 +1817,30 @@ TABLE_ITEM SystemSlotLengthTable[] = {
},
};
+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,
@@ -1722,6 +1893,22 @@ TABLE_ITEM SlotCharacteristics2Table[] = {
{
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"
}
};
@@ -4208,6 +4395,57 @@ DisplaySlotCharacteristics2 (
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.
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
index 5111d35f63..5f062762b3 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
+++ h
@@ -415,6 +415,42 @@ DisplaySlotCharacteristics2 (
IN UINT8 Option
);
+/**
+ 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
+ );
+
+/**
+ 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
+ );
+
+/**
+ 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
+ );
+
/**
Display On Board Devices Information (Type 10) types.
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
index 9433e8a25f..a8728d6abc 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewS
+++ trings.uni
@@ -294,7 +294,7 @@
#string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE #language en-US " Memory Size: %d MB\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK #language en-US "The memory module has a Double-bank connection\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK #language en-US "The memory module has a Single-bank connection\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US " Slot Id:"
+#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US "Slot Id:"
#string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN #language en-US " the logical Micro Channel slot number is:"
#string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D #language en-US " %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15 #language en-US " error, not 1-15.\r\n"
@@ -412,6 +412,9 @@
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH #language en-US "System Slot Length: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS #language en-US "Slot characteristics 1: "
#string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2 #language en-US "Slot characteristics 2: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION #language en-US "System Slot Information: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT #language en-US "System Slot Height: "
+#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH #language en-US "System Slot Physical Width: "
#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "Onboard Device Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE #language en-US "System Event Log Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT #language en-US "Event Log Variable Data Format Types: "
--
2.32.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88680): https://edk2.groups.io/g/devel/message/88680
Mute This Topic: https://groups.io/mt/90330104/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Yes. I also prefer to have two patches.
> -----Original Message-----
> From: Zeng, Star <star.zeng@intel.com>
> Sent: Monday, April 11, 2022 11:46 AM
> To: Ke, Bo-ChangX <bo-changx.ke@intel.com>; devel@edk2.groups.io
> Cc: Bi, Dandan <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao, Zhichao
> <zhichao.gao@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: RE: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS 3.5 fields
>
> Personally, you'd better to split this one patch to two, one is for MdePkg and another is for ShellPkg.
> Also cc MdePkg and ShellPkg maintainers.
>
>
> Thanks,
> Star
> -----Original Message-----
> From: Ke, Bo-ChangX <bo-changx.ke@intel.com>
> Sent: Friday, April 8, 2022 1:55 PM
> To: devel@edk2.groups.io
> Cc: Bi, Dandan <dandan.bi@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS 3.5 fields
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3896
>
> update smbiosview type 9 related fileds.
>
> Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> ---
> MdePkg/Include/IndustryStandard/SmBios.h | 50 +++-
> .../SmbiosView/PrintInfo.c | 11 +-
> .../SmbiosView/QueryTable.c | 238 ++++++++++++++++++
> .../SmbiosView/QueryTable.h | 36 +++
> .../SmbiosView/SmbiosViewStrings.uni | 5 +-
> 5 files changed, 334 insertions(+), 6 deletions(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/IndustryStandard/SmBios.h
> index 2b1567b052..cb39470c92 100644
> --- a/MdePkg/Include/IndustryStandard/SmBios.h
> +++ b/MdePkg/Include/IndustryStandard/SmBios.h
> @@ -1306,6 +1306,11 @@ typedef enum {
> SlotTypePciExpressMini52pinWithBSKO = 0x21, ///< PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-
> outs.
> SlotTypePciExpressMini52pinWithoutBSKO = 0x22, ///< PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side
> keep-outs.
> SlotTypePciExpressMini76pin = 0x23, ///< PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini
> card.
> + SlotTypePCIExpressGen4SFF_8639 = 0x24, ///< U.2
> + SlotTypePCIExpressGen5SFF_8639 = 0x25, ///< U.2
> + SlotTypeOCPNIC30SmallFormFactor = 0x26, ///< SFF
> + SlotTypeOCPNIC30LargeFormFactor = 0x27, ///< LFF
> + SlotTypeOCPNICPriorto30 = 0x28,
> SlotTypeCXLFlexbus10 = 0x30,
> SlotTypePC98C20 = 0xA0,
> SlotTypePC98C24 = 0xA1,
> @@ -1335,7 +1340,17 @@ typedef enum {
> SlotTypePciExpressGen4X2 = 0xBA,
> SlotTypePciExpressGen4X4 = 0xBB,
> SlotTypePciExpressGen4X8 = 0xBC,
> - SlotTypePciExpressGen4X16 = 0xBD
> + SlotTypePciExpressGen4X16 = 0xBD,
> + SlotTypePCIExpressGen5 = 0xBE,
> + SlotTypePCIExpressGen5X1 = 0xBF,
> + SlotTypePCIExpressGen5X2 = 0xC0,
> + SlotTypePCIExpressGen5X4 = 0xC1,
> + SlotTypePCIExpressGen5X8 = 0xC2,
> + SlotTypePCIExpressGen5X16 = 0xC3,
> + SlotTypePCIExpressGen6andBeyond = 0xC4,
> + SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot = 0xC5,
> + SlotTypeEnterpriseandDatacenter3E3FormFactorSlot = 0xC6
> +
> } MISC_SLOT_TYPE;
>
> ///
> @@ -1358,6 +1373,39 @@ typedef enum {
> SlotDataBusWidth32X = 0x0E ///< Or X32
> } MISC_SLOT_DATA_BUS_WIDTH;
>
> +///
> +/// System Slots - Slot Physical Width.
> +///
> +typedef enum {
> + SlotPhysicalWidthOther = 0x01,
> + SlotPhysicalWidthUnknown = 0x02,
> + SlotPhysicalWidth8Bit = 0x03,
> + SlotPhysicalWidth16Bit = 0x04,
> + SlotPhysicalWidth32Bit = 0x05,
> + SlotPhysicalWidth64Bit = 0x06,
> + SlotPhysicalWidth128Bit = 0x07,
> + SlotPhysicalWidth1X = 0x08, ///< Or X1
> + SlotPhysicalWidth2X = 0x09, ///< Or X2
> + SlotPhysicalWidth4X = 0x0A, ///< Or X4
> + SlotPhysicalWidth8X = 0x0B, ///< Or X8
> + SlotPhysicalWidth12X = 0x0C, ///< Or X12
> + SlotPhysicalWidth16X = 0x0D, ///< Or X16
> + SlotPhysicalWidth32X = 0x0E ///< Or X32
> +} MISC_SLOT_PHYSICAL_WIDTH;
> +
> +///
> +/// System Slots - Slot Information.
> +///
> +typedef enum{
> + others = 0x00,
> + Gen1 = 0x01,
> + Gen2 = 0x01,
> + Gen3 = 0x03,
> + Gen4 = 0x04,
> + Gen5 = 0x05,
> + Gen6 = 0x06
> +}MISC_SLOT_INFORMATION;
> +
> ///
> /// System Slots - Current Usage.
> ///
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> index b144600a25..0fa40dbe0c 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> @@ -637,6 +637,13 @@ SmbiosPrintStructure (
> }
> }
> }
> + if (AE_SMBIOS_VERSION (0x3, 0x2)) {
> + if (Struct->Hdr->Length > 0x12) {
> + DisplaySystemSlotHeight(Struct->Type9->SlotHeight, Option);
> + DisplaySystemSlotPhysicalWidth(Struct->Type9->SlotPhysicalWidth, Option);
> + DisplaySystemSlotInformation(Struct->Type9->SlotInformation, Option);
> + }
> + }
>
> break;
> }
> @@ -2898,10 +2905,6 @@ DisplaySystemSlotId (
> IN UINT8 Option
> )
> {
> - //
> - // Display slot type first
> - //
> - DisplaySystemSlotType (SlotType, Option);
>
> ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), gShellDebug1HiiHandle);
> //
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> index c4a6acb167..96e0e4036a 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> +++ c
> @@ -1447,6 +1447,27 @@ TABLE_ITEM SystemSlotTypeTable[] = {
> 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"
> @@ -1566,6 +1587,42 @@ TABLE_ITEM SystemSlotTypeTable[] = {
> {
> 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"
> }
> };
>
> @@ -1628,6 +1685,96 @@ TABLE_ITEM SystemSlotDataBusWidthTable[] = {
> }
> };
>
> +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,
> @@ -1670,6 +1817,30 @@ TABLE_ITEM SystemSlotLengthTable[] = {
> },
> };
>
> +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,
> @@ -1722,6 +1893,22 @@ TABLE_ITEM SlotCharacteristics2Table[] = {
> {
> 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"
> }
> };
>
> @@ -4208,6 +4395,57 @@ DisplaySlotCharacteristics2 (
> 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.
>
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> index 5111d35f63..5f062762b3 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> +++ h
> @@ -415,6 +415,42 @@ DisplaySlotCharacteristics2 (
> IN UINT8 Option
> );
>
> +/**
> + 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
> + );
> +
> +/**
> + 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
> + );
> +
> +/**
> + 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
> + );
> +
> /**
> Display On Board Devices Information (Type 10) types.
>
> diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
> index 9433e8a25f..a8728d6abc 100644
> --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewS
> +++ trings.uni
> @@ -294,7 +294,7 @@
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE #language en-US " Memory Size: %d MB\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK #language en-US "The memory module has a
> Double-bank connection\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK #language en-US "The memory module has a
> Single-bank connection\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US " Slot Id:"
> +#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US "Slot Id:"
> #string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN #language en-US " the logical Micro Channel slot
> number is:"
> #string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D #language en-US " %d\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15 #language en-US " error, not 1-15.\r\n"
> @@ -412,6 +412,9 @@
> #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH #language en-US "System Slot Length: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS #language en-US "Slot characteristics 1: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2 #language en-US "Slot characteristics 2: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION #language en-US "System Slot Information: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT #language en-US "System Slot Height: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH #language en-US "System Slot Physical Width:
> "
> #string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "Onboard Device Type: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE #language en-US "System Event Log Type: "
> #string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT #language en-US "Event Log Variable Data
> Format Types: "
> --
> 2.32.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88681): https://edk2.groups.io/g/devel/message/88681
Mute This Topic: https://groups.io/mt/90330104/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Got it, I'll split it, thank you
Best Regards.
-----Original Message-----
From: Ni, Ray <ray.ni@intel.com>
Sent: Monday, April 11, 2022 1:55 PM
To: Zeng, Star <star.zeng@intel.com>; Ke, Bo-ChangX <bo-changx.ke@intel.com>; devel@edk2.groups.io
Cc: Bi, Dandan <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>
Subject: RE: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS 3.5 fields
Yes. I also prefer to have two patches.
> -----Original Message-----
> From: Zeng, Star <star.zeng@intel.com>
> Sent: Monday, April 11, 2022 11:46 AM
> To: Ke, Bo-ChangX <bo-changx.ke@intel.com>; devel@edk2.groups.io
> Cc: Bi, Dandan <dandan.bi@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>;
> Ni, Ray <ray.ni@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>;
> Zeng, Star <star.zeng@intel.com>
> Subject: RE: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS
> 3.5 fields
>
> Personally, you'd better to split this one patch to two, one is for MdePkg and another is for ShellPkg.
> Also cc MdePkg and ShellPkg maintainers.
>
>
> Thanks,
> Star
> -----Original Message-----
> From: Ke, Bo-ChangX <bo-changx.ke@intel.com>
> Sent: Friday, April 8, 2022 1:55 PM
> To: devel@edk2.groups.io
> Cc: Bi, Dandan <dandan.bi@intel.com>; Zeng, Star <star.zeng@intel.com>
> Subject: [PATCH] ShellPkg: Update smbiosview type 9 with SMBIOS 3.5
> fields
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3896
>
> update smbiosview type 9 related fileds.
>
> Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> ---
> MdePkg/Include/IndustryStandard/SmBios.h | 50 +++-
> .../SmbiosView/PrintInfo.c | 11 +-
> .../SmbiosView/QueryTable.c | 238 ++++++++++++++++++
> .../SmbiosView/QueryTable.h | 36 +++
> .../SmbiosView/SmbiosViewStrings.uni | 5 +-
> 5 files changed, 334 insertions(+), 6 deletions(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/SmBios.h
> b/MdePkg/Include/IndustryStandard/SmBios.h
> index 2b1567b052..cb39470c92 100644
> --- a/MdePkg/Include/IndustryStandard/SmBios.h
> +++ b/MdePkg/Include/IndustryStandard/SmBios.h
> @@ -1306,6 +1306,11 @@ typedef enum {
> SlotTypePciExpressMini52pinWithBSKO = 0x21, ///< PCI Express Mini 52-pin (CEM spec. 2.0) with bottom-side keep-
> outs.
> SlotTypePciExpressMini52pinWithoutBSKO = 0x22, ///< PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side
> keep-outs.
> SlotTypePciExpressMini76pin = 0x23, ///< PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini
> card.
> + SlotTypePCIExpressGen4SFF_8639 = 0x24, ///< U.2
> + SlotTypePCIExpressGen5SFF_8639 = 0x25, ///< U.2
> + SlotTypeOCPNIC30SmallFormFactor = 0x26, ///< SFF
> + SlotTypeOCPNIC30LargeFormFactor = 0x27, ///< LFF
> + SlotTypeOCPNICPriorto30 = 0x28,
> SlotTypeCXLFlexbus10 = 0x30,
> SlotTypePC98C20 = 0xA0,
> SlotTypePC98C24 = 0xA1,
> @@ -1335,7 +1340,17 @@ typedef enum {
> SlotTypePciExpressGen4X2 = 0xBA,
> SlotTypePciExpressGen4X4 = 0xBB,
> SlotTypePciExpressGen4X8 = 0xBC,
> - SlotTypePciExpressGen4X16 = 0xBD
> + SlotTypePciExpressGen4X16 = 0xBD,
> + SlotTypePCIExpressGen5 = 0xBE,
> + SlotTypePCIExpressGen5X1 = 0xBF,
> + SlotTypePCIExpressGen5X2 = 0xC0,
> + SlotTypePCIExpressGen5X4 = 0xC1,
> + SlotTypePCIExpressGen5X8 = 0xC2,
> + SlotTypePCIExpressGen5X16 = 0xC3,
> + SlotTypePCIExpressGen6andBeyond = 0xC4,
> + SlotTypeEnterpriseandDatacenter1UE1FormFactorSlot = 0xC5,
> + SlotTypeEnterpriseandDatacenter3E3FormFactorSlot = 0xC6
> +
> } MISC_SLOT_TYPE;
>
> ///
> @@ -1358,6 +1373,39 @@ typedef enum {
> SlotDataBusWidth32X = 0x0E ///< Or X32
> } MISC_SLOT_DATA_BUS_WIDTH;
>
> +///
> +/// System Slots - Slot Physical Width.
> +///
> +typedef enum {
> + SlotPhysicalWidthOther = 0x01,
> + SlotPhysicalWidthUnknown = 0x02,
> + SlotPhysicalWidth8Bit = 0x03,
> + SlotPhysicalWidth16Bit = 0x04,
> + SlotPhysicalWidth32Bit = 0x05,
> + SlotPhysicalWidth64Bit = 0x06,
> + SlotPhysicalWidth128Bit = 0x07,
> + SlotPhysicalWidth1X = 0x08, ///< Or X1
> + SlotPhysicalWidth2X = 0x09, ///< Or X2
> + SlotPhysicalWidth4X = 0x0A, ///< Or X4
> + SlotPhysicalWidth8X = 0x0B, ///< Or X8
> + SlotPhysicalWidth12X = 0x0C, ///< Or X12
> + SlotPhysicalWidth16X = 0x0D, ///< Or X16
> + SlotPhysicalWidth32X = 0x0E ///< Or X32
> +} MISC_SLOT_PHYSICAL_WIDTH;
> +
> +///
> +/// System Slots - Slot Information.
> +///
> +typedef enum{
> + others = 0x00,
> + Gen1 = 0x01,
> + Gen2 = 0x01,
> + Gen3 = 0x03,
> + Gen4 = 0x04,
> + Gen5 = 0x05,
> + Gen6 = 0x06
> +}MISC_SLOT_INFORMATION;
> +
> ///
> /// System Slots - Current Usage.
> ///
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> index b144600a25..0fa40dbe0c 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo
> +++ .c
> @@ -637,6 +637,13 @@ SmbiosPrintStructure (
> }
> }
> }
> + if (AE_SMBIOS_VERSION (0x3, 0x2)) {
> + if (Struct->Hdr->Length > 0x12) {
> + DisplaySystemSlotHeight(Struct->Type9->SlotHeight, Option);
> + DisplaySystemSlotPhysicalWidth(Struct->Type9->SlotPhysicalWidth, Option);
> + DisplaySystemSlotInformation(Struct->Type9->SlotInformation, Option);
> + }
> + }
>
> break;
> }
> @@ -2898,10 +2905,6 @@ DisplaySystemSlotId (
> IN UINT8 Option
> )
> {
> - //
> - // Display slot type first
> - //
> - DisplaySystemSlotType (SlotType, Option);
>
> ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_ID), gShellDebug1HiiHandle);
> //
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> index c4a6acb167..96e0e4036a 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> +++ c
> @@ -1447,6 +1447,27 @@ TABLE_ITEM SystemSlotTypeTable[] = {
> 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"
> @@ -1566,6 +1587,42 @@ TABLE_ITEM SystemSlotTypeTable[] = {
> {
> 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"
> }
> };
>
> @@ -1628,6 +1685,96 @@ TABLE_ITEM SystemSlotDataBusWidthTable[] = {
> }
> };
>
> +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,
> @@ -1670,6 +1817,30 @@ TABLE_ITEM SystemSlotLengthTable[] = {
> },
> };
>
> +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,
> @@ -1722,6 +1893,22 @@ TABLE_ITEM SlotCharacteristics2Table[] = {
> {
> 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"
> }
> };
>
> @@ -4208,6 +4395,57 @@ DisplaySlotCharacteristics2 (
> 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.
>
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> index 5111d35f63..5f062762b3 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.h
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.
> +++ h
> @@ -415,6 +415,42 @@ DisplaySlotCharacteristics2 (
> IN UINT8 Option
> );
>
> +/**
> + 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
> + );
> +
> +/**
> + 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
> + );
> +
> +/**
> + 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
> + );
> +
> /**
> Display On Board Devices Information (Type 10) types.
>
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStr
> ings.uni
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStr
> ings.uni
> index 9433e8a25f..a8728d6abc 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStr
> ings.uni
> +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosVie
> +++ wS
> +++ trings.uni
> @@ -294,7 +294,7 @@
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_SIZE #language en-US " Memory Size: %d MB\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_DOUBLE_BANK #language en-US "The memory module has a
> Double-bank connection\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_MEM_MODULE_SINGLE_BANK #language en-US "The memory module has a
> Single-bank connection\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US " Slot Id:"
> +#string STR_SMBIOSVIEW_PRINTINFO_SLOT_ID #language en-US "Slot Id:"
> #string STR_SMBIOSVIEW_PRINTINFO_LOGICAL_MICRO_CHAN #language en-US " the logical Micro Channel slot
> number is:"
> #string STR_SMBIOSVIEW_PRINTINFO_ONE_VAR_D #language en-US " %d\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_ERROR_NOT_1_15 #language en-US " error, not 1-15.\r\n"
> @@ -412,6 +412,9 @@
> #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_LENGTH #language en-US "System Slot Length: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS #language en-US "Slot characteristics 1: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SLOT_CHARACTERISTICS_2 #language en-US "Slot characteristics 2: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_INFORMATION #language en-US "System Slot Information: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_HEIGHT #language en-US "System Slot Height: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_SLOT_PHYSICAL_WIDTH #language en-US "System Slot Physical Width:
> "
> #string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "Onboard Device Type: "
> #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_EVENT_LOG_TYPE #language en-US "System Event Log Type: "
> #string STR_SMBIOSVIEW_QUERYTABLE_EVENT_LOG_VAR_DATA_FORMAT #language en-US "Event Log Variable Data
> Format Types: "
> --
> 2.32.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88682): https://edk2.groups.io/g/devel/message/88682
Mute This Topic: https://groups.io/mt/90330104/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.