* [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2
@ 2023-04-07 10:53 millerx.lin
2023-04-10 1:05 ` Gao, Zhichao
0 siblings, 1 reply; 2+ messages in thread
From: millerx.lin @ 2023-04-07 10:53 UTC (permalink / raw)
To: devel; +Cc: MillerX Lin, Ray Ni, Zhichao Gao
Cc: Signed-off-by: MillerX Lin <millerx.lin@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
---
.../SmbiosView/PrintInfo.c | 153 +++++++++---------
.../SmbiosView/SmbiosViewStrings.uni | 28 ++--
2 files changed, 90 insertions(+), 91 deletions(-)
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
index 2611601230..6426a11691 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
@@ -335,10 +335,10 @@ SmbiosPrintStructure (
// BIOS Information (Type 0)
//
case 0:
- PRINT_PENDING_STRING (Struct, Type0, Vendor);
- PRINT_PENDING_STRING (Struct, Type0, BiosVersion);
- PRINT_STRUCT_VALUE_H (Struct, Type0, BiosSegment);
- PRINT_PENDING_STRING (Struct, Type0, BiosReleaseDate);
+ ShellPrintEx (-1, -1, L"Vendor: %a\n", LibGetSmbiosString (Struct, Struct->Type0->Vendor));
+ ShellPrintEx (-1, -1, L"BIOS Version: %a\n", LibGetSmbiosString (Struct, Struct->Type0->BiosVersion));
+ ShellPrintEx (-1, -1, L"BIOS Starting Address Segment: 0x%x\n", Struct->Type0->BiosSegment);
+ ShellPrintEx (-1, -1, L"BIOS Release Date: %a\n", LibGetSmbiosString (Struct, Struct->Type0->BiosReleaseDate));
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE), gShellDebug1HiiHandle, 64 * (Struct->Type0->BiosSize + 1));
DisplayBiosCharacteristics (ReadUnaligned64 ((UINT64 *)(UINTN)&(Struct->Type0->BiosCharacteristics)), Option);
@@ -352,10 +352,10 @@ SmbiosPrintStructure (
}
if (AE_SMBIOS_VERSION (0x2, 0x4) && (Struct->Hdr->Length > 0x14)) {
- PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMajorRelease);
- PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMinorRelease);
- PRINT_STRUCT_VALUE (Struct, Type0, EmbeddedControllerFirmwareMajorRelease);
- PRINT_STRUCT_VALUE (Struct, Type0, EmbeddedControllerFirmwareMinorRelease);
+ ShellPrintEx (-1, -1, L"System BIOS Major Release: %u\n", Struct->Type0->SystemBiosMajorRelease);
+ ShellPrintEx (-1, -1, L"System BIOS Minor Release: %u\n", Struct->Type0->SystemBiosMinorRelease);
+ ShellPrintEx (-1, -1, L"Embedded Controller Firmware Major Release: %u\n", Struct->Type0->EmbeddedControllerFirmwareMajorRelease);
+ ShellPrintEx (-1, -1, L"Embedded Controller Firmware Minor Release: %u\n", Struct->Type0->EmbeddedControllerFirmwareMinorRelease);
}
if (AE_SMBIOS_VERSION (0x3, 0x1) && (Struct->Hdr->Length > 0x18)) {
@@ -470,48 +470,50 @@ SmbiosPrintStructure (
// Processor Information (Type 4)
//
case 4:
- PRINT_SMBIOS_STRING (Struct, Struct->Type4->Socket, SocketDesignation)
+ ShellPrintEx (-1, -1, L"Socket Designation: %a\n", LibGetSmbiosString (Struct, Struct->Type4->Socket));
DisplayProcessorType (Struct->Type4->ProcessorType, Option);
- if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &&
- (Struct->Type4->ProcessorFamily == 0xFE))
- {
- //
- // Get family from ProcessorFamily2 field
- //
- DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option);
- } else {
- DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option);
- }
-
- PRINT_PENDING_STRING (Struct, Type4, ProcessorManufacturer);
- PRINT_BIT_FIELD (Struct, Type4, ProcessorId, 8);
- PRINT_PENDING_STRING (Struct, Type4, ProcessorVersion);
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), gShellDebug1HiiHandle);
+ DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option);
+ ShellPrintEx (-1, -1, L"Processor Manufacturer: %a\n", LibGetSmbiosString (Struct, Struct->Type4->ProcessorManufacturer));
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID), gShellDebug1HiiHandle, 8);
+ DumpHex (0, 0, 8, &(Struct->Type4->ProcessorId));
+ ShellPrintEx (-1, -1, L"Processor Version: %a\n", LibGetSmbiosString (Struct, Struct->Type4->ProcessorVersion));
DisplayProcessorVoltage (*(UINT8 *)&(Struct->Type4->Voltage), Option);
- PRINT_STRUCT_VALUE (Struct, Type4, ExternalClock);
- PRINT_STRUCT_VALUE (Struct, Type4, MaxSpeed);
- PRINT_STRUCT_VALUE (Struct, Type4, CurrentSpeed);
+ ShellPrintEx (-1, -1, L"External Clock: %u\n", Struct->Type4->ExternalClock);
+ ShellPrintEx (-1, -1, L"Max Speed: %u\n", Struct->Type4->MaxSpeed);
+ ShellPrintEx (-1, -1, L"Current Speed: %u\n", Struct->Type4->CurrentSpeed);
DisplayProcessorStatus (Struct->Type4->Status, Option);
DisplayProcessorUpgrade (Struct->Type4->ProcessorUpgrade, Option);
- PRINT_STRUCT_VALUE_H (Struct, Type4, L1CacheHandle);
- PRINT_STRUCT_VALUE_H (Struct, Type4, L2CacheHandle);
- PRINT_STRUCT_VALUE_H (Struct, Type4, L3CacheHandle);
+ ShellPrintEx (-1, -1, L"L1 Cache Handle: 0x%x\n", Struct->Type4->L1CacheHandle);
+ ShellPrintEx (-1, -1, L"L2 Cache Handle: 0x%x\n", Struct->Type4->L2CacheHandle);
+ ShellPrintEx (-1, -1, L"L3 Cache Handle: 0x%x\n", Struct->Type4->L3CacheHandle);
if (AE_SMBIOS_VERSION (0x2, 0x3) && (Struct->Hdr->Length > 0x20)) {
- PRINT_PENDING_STRING (Struct, Type4, SerialNumber);
- PRINT_PENDING_STRING (Struct, Type4, AssetTag);
- PRINT_PENDING_STRING (Struct, Type4, PartNumber);
+ ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString (Struct, Struct->Type4->SerialNumber));
+ ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString (Struct, Struct->Type4->AssetTag));
+ ShellPrintEx (-1, -1, L"Part Number: %a\n", LibGetSmbiosString (Struct, Struct->Type4->PartNumber));
}
if (AE_SMBIOS_VERSION (0x2, 0x5) && (Struct->Hdr->Length > 0x23)) {
- PRINT_STRUCT_VALUE (Struct, Type4, CoreCount);
- PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount);
- PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount);
+ ShellPrintEx (-1, -1, L"Core Count: %u\n", Struct->Type4->CoreCount);
+ ShellPrintEx (-1, -1, L"Core Enabled: %u\n", Struct->Type4->EnabledCoreCount);
+ ShellPrintEx (-1, -1, L"Thread Count: %u\n", Struct->Type4->ThreadCount);
DisplayProcessorCharacteristics (Struct->Type4->ProcessorCharacteristics, Option);
}
+ if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &&
+ (Struct->Type4->ProcessorFamily2 >= 0x100))
+ {
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2), gShellDebug1HiiHandle);
+ DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option);
+ } else {
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2), gShellDebug1HiiHandle);
+ DisplayProcessorFamily ((UINT8) Struct->Type4->ProcessorFamily2, Option);
+ }
+
if ((SmbiosMajorVersion >= 0x3) && (Struct->Hdr->Length > 0x2A)) {
- PRINT_STRUCT_VALUE (Struct, Type4, CoreCount2);
- PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount2);
- PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount2);
+ ShellPrintEx (-1, -1, L"Core Count 2: %u\n", Struct->Type4->CoreCount2);
+ ShellPrintEx (-1, -1, L"Core Enabled 2: %u\n", Struct->Type4->EnabledCoreCount2);
+ ShellPrintEx (-1, -1, L"Thread Count 2: %u\n", Struct->Type4->ThreadCount2);
}
break;
@@ -829,68 +831,68 @@ SmbiosPrintStructure (
// Memory Device (Type 17)
//
case 17:
- PRINT_STRUCT_VALUE_H (Struct, Type17, MemoryArrayHandle);
- PRINT_STRUCT_VALUE_H (Struct, Type17, MemoryErrorInformationHandle);
- PRINT_STRUCT_VALUE_H (Struct, Type17, TotalWidth);
- PRINT_STRUCT_VALUE_H (Struct, Type17, DataWidth);
+ ShellPrintEx (-1, -1, L"Physical Memory Array Handle: 0x%x\n", Struct->Type17->MemoryArrayHandle);
+ ShellPrintEx (-1, -1, L"Memory Error Information Handle: 0x%x\n", Struct->Type17->MemoryErrorInformationHandle);
+ ShellPrintEx (-1, -1, L"Total Width: 0x%x\n", Struct->Type17->TotalWidth);
+ ShellPrintEx (-1, -1, L"Data Width: 0x%x\n", Struct->Type17->DataWidth);
PRINT_STRUCT_VALUE (Struct, Type17, Size);
DisplayMemoryDeviceFormFactor (Struct->Type17->FormFactor, Option);
- PRINT_STRUCT_VALUE_H (Struct, Type17, DeviceSet);
- PRINT_PENDING_STRING (Struct, Type17, DeviceLocator);
- PRINT_PENDING_STRING (Struct, Type17, BankLocator);
+ ShellPrintEx (-1, -1, L"Device Set: 0x%x\n", Struct->Type17->DeviceSet);
+ ShellPrintEx (-1, -1, L"Device Locator: %a\n", LibGetSmbiosString(Struct, Struct->Type17->DeviceLocator));
+ ShellPrintEx (-1, -1, L"Bank Locator: %a\n", LibGetSmbiosString(Struct, Struct->Type17->BankLocator));
DisplayMemoryDeviceType (Struct->Type17->MemoryType, Option);
DisplayMemoryDeviceTypeDetail (ReadUnaligned16 ((UINT16 *)(UINTN)&(Struct->Type17->TypeDetail)), Option);
PRINT_STRUCT_VALUE_H (Struct, Type17, Speed);
PRINT_PENDING_STRING (Struct, Type17, Manufacturer);
- PRINT_PENDING_STRING (Struct, Type17, SerialNumber);
- PRINT_PENDING_STRING (Struct, Type17, AssetTag);
- PRINT_PENDING_STRING (Struct, Type17, PartNumber);
+ ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString(Struct, Struct->Type17->SerialNumber));
+ ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString(Struct, Struct->Type17->AssetTag));
+ ShellPrintEx (-1, -1, L"Part Number: %a\n", LibGetSmbiosString(Struct, Struct->Type17->PartNumber));
if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x1B)) {
PRINT_STRUCT_VALUE_H (Struct, Type17, Attributes);
}
if (AE_SMBIOS_VERSION (0x2, 0x7) && (Struct->Hdr->Length > 0x1C)) {
- PRINT_STRUCT_VALUE (Struct, Type17, ExtendedSize);
- PRINT_STRUCT_VALUE_H (Struct, Type17, ConfiguredMemoryClockSpeed);
+ ShellPrintEx (-1, -1, L"Extended Size: %u\n", Struct->Type17->ExtendedSize);
+ ShellPrintEx (-1, -1, L"Configured Memory Speed: 0x%x\n", Struct->Type17->ConfiguredMemoryClockSpeed);
}
if (AE_SMBIOS_VERSION (0x2, 0x8) && (Struct->Hdr->Length > 0x22)) {
- PRINT_STRUCT_VALUE (Struct, Type17, MinimumVoltage);
- PRINT_STRUCT_VALUE (Struct, Type17, MaximumVoltage);
- PRINT_STRUCT_VALUE (Struct, Type17, ConfiguredVoltage);
+ ShellPrintEx (-1, -1, L"Minimum voltage: %u\n", Struct->Type17->MinimumVoltage);
+ ShellPrintEx (-1, -1, L"Maximum voltage: %u\n", Struct->Type17->MaximumVoltage);
+ ShellPrintEx (-1, -1, L"Configured voltage: %u\n", Struct->Type17->ConfiguredVoltage);
}
if (AE_SMBIOS_VERSION (0x3, 0x2)) {
if (Struct->Hdr->Length > 0x28) {
DisplayMemoryDeviceMemoryTechnology (Struct->Type17->MemoryTechnology, Option);
DisplayMemoryDeviceMemoryOperatingModeCapability (Struct->Type17->MemoryOperatingModeCapability.Uint16, Option);
- PRINT_PENDING_STRING (Struct, Type17, FirmwareVersion);
- PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleManufacturerID);
- PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleProductID);
- PRINT_STRUCT_VALUE_H (Struct, Type17, MemorySubsystemControllerManufacturerID);
- PRINT_STRUCT_VALUE_H (Struct, Type17, MemorySubsystemControllerProductID);
+ ShellPrintEx (-1, -1, L"Firmware Version: %a\n", LibGetSmbiosString(Struct, Struct->Type17->FirmwareVersion));
+ ShellPrintEx (-1, -1, L"Module Manufacturer ID: 0x%x\n", Struct->Type17->ModuleManufacturerID);
+ ShellPrintEx (-1, -1, L"Module Product ID: 0x%x\n", Struct->Type17->ModuleProductID);
+ ShellPrintEx (-1, -1, L"Memory Subsystem Controller Manufacturer ID: 0x%x\n", Struct->Type17->MemorySubsystemControllerManufacturerID);
+ ShellPrintEx (-1, -1, L"Memory Subsystem Controller Product ID: 0x%x\n", Struct->Type17->MemorySubsystemControllerProductID);
}
if (Struct->Hdr->Length > 0x34) {
- PRINT_STRUCT_VALUE_LH (Struct, Type17, NonVolatileSize);
+ ShellPrintEx (-1, -1, L"Non-volatile Size: 0x%lx\n", Struct->Type17->NonVolatileSize);
}
if (Struct->Hdr->Length > 0x3C) {
- PRINT_STRUCT_VALUE_LH (Struct, Type17, VolatileSize);
+ ShellPrintEx (-1, -1, L"Volatile Size: 0x%lx\n", Struct->Type17->VolatileSize);
}
if (Struct->Hdr->Length > 0x44) {
- PRINT_STRUCT_VALUE_LH (Struct, Type17, CacheSize);
+ ShellPrintEx (-1, -1, L"Cache Size: 0x%lx\n", Struct->Type17->CacheSize);
}
if (Struct->Hdr->Length > 0x4C) {
- PRINT_STRUCT_VALUE_LH (Struct, Type17, LogicalSize);
+ ShellPrintEx (-1, -1, L"Logical Size: 0x%lx\n", Struct->Type17->LogicalSize);
}
}
if (AE_SMBIOS_VERSION (0x3, 0x3) && (Struct->Hdr->Length > 0x54)) {
- PRINT_STRUCT_VALUE_H (Struct, Type17, ExtendedSpeed);
- PRINT_STRUCT_VALUE_H (Struct, Type17, ExtendedConfiguredMemorySpeed);
+ ShellPrintEx (-1, -1, L"Extended Speed: 0x%x\n", Struct->Type17->ExtendedSpeed);
+ ShellPrintEx (-1, -1, L"Extended Configured Memory Speed: 0x%x\n", Struct->Type17->ExtendedConfiguredMemorySpeed);
}
break;
@@ -1258,13 +1260,13 @@ SmbiosPrintStructure (
// Onboard Devices Extended Information (Type 41)
//
case 41:
- PRINT_PENDING_STRING (Struct, Type41, ReferenceDesignation);
+ ShellPrintEx (-1, -1, L"Reference Designation: %a\n", LibGetSmbiosString (Struct, Struct->Type41->ReferenceDesignation));
ShellPrintEx (-1, -1, (((Struct->Type41->DeviceType) & 0x80) != 0) ? L"Device Enabled\n" : L"Device Disabled\n");
DisplayOnboardDeviceTypes ((Struct->Type41->DeviceType) & 0x7F, Option);
- PRINT_STRUCT_VALUE_H (Struct, Type41, DeviceTypeInstance);
- PRINT_STRUCT_VALUE_H (Struct, Type41, SegmentGroupNum);
- PRINT_STRUCT_VALUE_H (Struct, Type41, BusNum);
- PRINT_STRUCT_VALUE_H (Struct, Type41, DevFuncNum);
+ ShellPrintEx (-1, -1, L"Device Type Instance: 0x%x\n", Struct->Type41->DeviceTypeInstance);
+ ShellPrintEx (-1, -1, L"Segment Group Number: 0x%x\n", Struct->Type41->SegmentGroupNum);
+ ShellPrintEx (-1, -1, L"Bus Number: 0x%x\n", Struct->Type41->BusNum);
+ ShellPrintEx (-1, -1, L"Device/Function Number: 0x%x\n", Struct->Type41->DevFuncNum);
break;
//
@@ -1606,10 +1608,6 @@ DisplayProcessorFamily (
UINT8 Option
)
{
- //
- // Print prompt message
- //
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), gShellDebug1HiiHandle);
//
// Print option
//
@@ -2411,6 +2409,10 @@ DisplayProcessorFamily (
Print (L"i960\n");
break;
+ case 0xFE:
+ Print (L"Indicator to obtain the processor family from the Processor Family 2 field\n");
+ break;
+
default:
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), gShellDebug1HiiHandle);
}
@@ -2432,11 +2434,6 @@ DisplayProcessorFamily2 (
IN UINT8 Option
)
{
- //
- // Print prompt message
- //
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY), gShellDebug1HiiHandle);
-
//
// Print option
//
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
index 05f7a61d9d..73f7b2ab19 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni
@@ -88,8 +88,8 @@
#string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA #language en-US "Formatted Area: \r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR #language en-US "Inter Anchor: %a\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM #language en-US "Inter Checksum: 0x%x\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN #language en-US "Format part Len : %d\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE #language en-US "Structure Handle: %d\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN #language en-US "Length: %d\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE #language en-US "Handle: %d\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE #language en-US "Bootup state "
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE #language en-US "Power Supply State "
#string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE #language en-US "Thermal state "
@@ -168,6 +168,8 @@
#string STR_SMBIOSVIEW_PRINTINFO_MCFG_ENABLED #language en-US "Manufacturing mode is enabled\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE #language en-US " Bits %d:7 are reserved for future assignment\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY #language en-US "Processor Family: "
+#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID #language en-US "Processor ID\r\nsize=%d:\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2 #language en-US "Processor Family 2: "
#string STR_SMBIOSVIEW_PRINTINFO_OTHER #language en-US "Other\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN #language en-US "Unknown\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR #language en-US "Intel386(TM) Processor\r\n"
@@ -255,7 +257,7 @@
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5 #language en-US "Reserved for specific K5 versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM #language en-US "Reserved for specific Pentium(R) Processor versions\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY #language en-US "Undefined processor family and type\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #language en-US "Processor Information - Voltage:\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #language en-US "Voltage:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE #language en-US "Processor current voltage = (%d/10)V\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED #language en-US " 5V is supported\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED #language en-US " 3.3V is supported\r\n"
@@ -271,7 +273,7 @@
#string STR_SMBIOSVIEW_PRINTINFO_BIT13_NOT_ZERO #language en-US "Error, reserved BIT 13 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT14_NOT_ZERO #language en-US "Error, reserved BIT 14 must be zero\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_BIT15_NOT_ZERO #language en-US "Error, reserved BIT 15 must be zero\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #language en-US "Processor Status:\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #language en-US "Status:\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED #language en-US "CPU Socket Populated\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED #language en-US "CPU Socket Unpopulated\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED #language en-US "CPU Enabled\r\n"
@@ -382,8 +384,8 @@
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT #language en-US "Power supply is not present\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE #language en-US "Power supply is hot replaceable\r\n"
#string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE #language en-US "Power supply is not hot replaceable\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #language en-US "BiosSize: %d KB\r\n"
-#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE #language en-US "ExtendedBiosSize: %d %s\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #language en-US "BIOS ROM Size: %d KB\r\n"
+#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE #language en-US "Extended BIOS ROM Size: %d %s\r\n"
#string STR_SMBIOSVIEW_QUERYTABLE_NO_INFO #language en-US "No Info"
#string STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET #language en-US "\r\nIt also has reserved bits set 1 --- reserved bits: 0x%x"
#string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE #language en-US "System Wakeup Type:"
@@ -419,7 +421,7 @@
#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_SYSTEM_SLOT_PITCH #language en-US "System Slot Pitch: %d\r\n"
-#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "Onboard Device Type: "
+#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE #language en-US "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: "
#string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP #language en-US "POST Results Bitmap - First DWORD:\r\n"
@@ -431,11 +433,11 @@
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION #language en-US "Physical Memory Array Location: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE #language en-US "Physical Memory Array Use: "
#string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR #language en-US "Physical Memory Array Error Correction Types: "
-#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR #language en-US "Memory Device - Form Factor: "
-#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE #language en-US "Memory Device - Type: "
-#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL #language en-US "Memory Device - Type Detail: "
-#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY #language en-US "Memory Device - Memory Technology: "
-#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA #language en-US "Memory Device - Memory Operating Mode Capability: "
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR #language en-US "Form Factor: "
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE #language en-US "Memory Type: "
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL #language en-US "Type Detail: "
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY #language en-US "Memory Technology: "
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA #language en-US "Memory Operating Mode Capability: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO #language en-US "32-bit Memory Error Information - Type: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY #language en-US "Memory Error - Error granularity: "
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP #language en-US "Memory Error - Error Operation: "
@@ -454,7 +456,7 @@
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE #language en-US "Memory Channel Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE #language en-US "BMC Interface Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE #language en-US "MC Host Interface Type:"
-#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #language en-US "Structure Type:"
+#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #language en-US "Type:"
#string STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE #language en-US "Processor Architecture Type:"
#string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV #language en-US "%s "
#string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND #language en-US "Query Structure, conditions are:\r\n"
--
2.39.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2
2023-04-07 10:53 [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2 millerx.lin
@ 2023-04-10 1:05 ` Gao, Zhichao
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Zhichao @ 2023-04-10 1:05 UTC (permalink / raw)
To: Lin, MillerX, devel@edk2.groups.io; +Cc: Ni, Ray
> -----Original Message-----
> From: Lin, MillerX <millerx.lin@intel.com>
> Sent: Friday, April 7, 2023 6:54 PM
> To: devel@edk2.groups.io
> Cc: Lin, MillerX <millerx.lin@intel.com>; Ni, Ray <ray.ni@intel.com>; Gao,
> Zhichao <zhichao.gao@intel.com>
> Subject: [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS
> 3.5 fields v2
>
> Cc: Signed-off-by: MillerX Lin <millerx.lin@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> ---
> .../SmbiosView/PrintInfo.c | 153 +++++++++---------
> .../SmbiosView/SmbiosViewStrings.uni | 28 ++--
> 2 files changed, 90 insertions(+), 91 deletions(-)
>
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> index 2611601230..6426a11691 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c
> @@ -335,10 +335,10 @@ SmbiosPrintStructure (
> // BIOS Information (Type 0)
> //
> case 0:
> - PRINT_PENDING_STRING (Struct, Type0, Vendor);
> - PRINT_PENDING_STRING (Struct, Type0, BiosVersion);
> - PRINT_STRUCT_VALUE_H (Struct, Type0, BiosSegment);
> - PRINT_PENDING_STRING (Struct, Type0, BiosReleaseDate);
> + ShellPrintEx (-1, -1, L"Vendor: %a\n", LibGetSmbiosString (Struct, Struct-
> >Type0->Vendor));
> + ShellPrintEx (-1, -1, L"BIOS Version: %a\n", LibGetSmbiosString (Struct,
> Struct->Type0->BiosVersion));
> + ShellPrintEx (-1, -1, L"BIOS Starting Address Segment: 0x%x\n", Struct-
> >Type0->BiosSegment);
> + ShellPrintEx (-1, -1, L"BIOS Release Date: %a\n",
> + LibGetSmbiosString (Struct, Struct->Type0->BiosReleaseDate));
> ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE), gShellDebug1HiiHandle, 64 *
> (Struct->Type0->BiosSize + 1));
>
> DisplayBiosCharacteristics (ReadUnaligned64 ((UINT64
> *)(UINTN)&(Struct->Type0->BiosCharacteristics)), Option); @@ -352,10
> +352,10 @@ SmbiosPrintStructure (
> }
>
> if (AE_SMBIOS_VERSION (0x2, 0x4) && (Struct->Hdr->Length > 0x14)) {
> - PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMajorRelease);
> - PRINT_STRUCT_VALUE (Struct, Type0, SystemBiosMinorRelease);
> - PRINT_STRUCT_VALUE (Struct, Type0,
> EmbeddedControllerFirmwareMajorRelease);
> - PRINT_STRUCT_VALUE (Struct, Type0,
> EmbeddedControllerFirmwareMinorRelease);
> + ShellPrintEx (-1, -1, L"System BIOS Major Release: %u\n", Struct-
> >Type0->SystemBiosMajorRelease);
> + ShellPrintEx (-1, -1, L"System BIOS Minor Release: %u\n", Struct-
> >Type0->SystemBiosMinorRelease);
> + ShellPrintEx (-1, -1, L"Embedded Controller Firmware Major
> Release: %u\n", Struct->Type0-
> >EmbeddedControllerFirmwareMajorRelease);
> + ShellPrintEx (-1, -1, L"Embedded Controller Firmware Minor
> + Release: %u\n",
> + Struct->Type0->EmbeddedControllerFirmwareMinorRelease);
> }
>
> if (AE_SMBIOS_VERSION (0x3, 0x1) && (Struct->Hdr->Length > 0x18))
> { @@ -470,48 +470,50 @@ SmbiosPrintStructure (
> // Processor Information (Type 4)
> //
> case 4:
> - PRINT_SMBIOS_STRING (Struct, Struct->Type4->Socket,
> SocketDesignation)
> + ShellPrintEx (-1, -1, L"Socket Designation: %a\n",
> + LibGetSmbiosString (Struct, Struct->Type4->Socket));
> DisplayProcessorType (Struct->Type4->ProcessorType, Option);
> - if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &&
> - (Struct->Type4->ProcessorFamily == 0xFE))
> - {
> - //
> - // Get family from ProcessorFamily2 field
> - //
> - DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option);
> - } else {
> - DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option);
> - }
> -
> - PRINT_PENDING_STRING (Struct, Type4, ProcessorManufacturer);
> - PRINT_BIT_FIELD (Struct, Type4, ProcessorId, 8);
> - PRINT_PENDING_STRING (Struct, Type4, ProcessorVersion);
> + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY),
> gShellDebug1HiiHandle);
> + DisplayProcessorFamily (Struct->Type4->ProcessorFamily, Option);
> + ShellPrintEx (-1, -1, L"Processor Manufacturer: %a\n",
> LibGetSmbiosString (Struct, Struct->Type4->ProcessorManufacturer));
> + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID), gShellDebug1HiiHandle, 8);
> + DumpHex (0, 0, 8, &(Struct->Type4->ProcessorId));
> + ShellPrintEx (-1, -1, L"Processor Version: %a\n",
> + LibGetSmbiosString (Struct, Struct->Type4->ProcessorVersion));
> DisplayProcessorVoltage (*(UINT8 *)&(Struct->Type4->Voltage), Option);
> - PRINT_STRUCT_VALUE (Struct, Type4, ExternalClock);
> - PRINT_STRUCT_VALUE (Struct, Type4, MaxSpeed);
> - PRINT_STRUCT_VALUE (Struct, Type4, CurrentSpeed);
> + ShellPrintEx (-1, -1, L"External Clock: %u\n", Struct->Type4-
> >ExternalClock);
> + ShellPrintEx (-1, -1, L"Max Speed: %u\n", Struct->Type4->MaxSpeed);
> + ShellPrintEx (-1, -1, L"Current Speed: %u\n",
> + Struct->Type4->CurrentSpeed);
> DisplayProcessorStatus (Struct->Type4->Status, Option);
> DisplayProcessorUpgrade (Struct->Type4->ProcessorUpgrade, Option);
> - PRINT_STRUCT_VALUE_H (Struct, Type4, L1CacheHandle);
> - PRINT_STRUCT_VALUE_H (Struct, Type4, L2CacheHandle);
> - PRINT_STRUCT_VALUE_H (Struct, Type4, L3CacheHandle);
> + ShellPrintEx (-1, -1, L"L1 Cache Handle: 0x%x\n", Struct->Type4-
> >L1CacheHandle);
> + ShellPrintEx (-1, -1, L"L2 Cache Handle: 0x%x\n", Struct->Type4-
> >L2CacheHandle);
> + ShellPrintEx (-1, -1, L"L3 Cache Handle: 0x%x\n",
> + Struct->Type4->L3CacheHandle);
> if (AE_SMBIOS_VERSION (0x2, 0x3) && (Struct->Hdr->Length > 0x20)) {
> - PRINT_PENDING_STRING (Struct, Type4, SerialNumber);
> - PRINT_PENDING_STRING (Struct, Type4, AssetTag);
> - PRINT_PENDING_STRING (Struct, Type4, PartNumber);
> + ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString (Struct,
> Struct->Type4->SerialNumber));
> + ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString (Struct,
> Struct->Type4->AssetTag));
> + ShellPrintEx (-1, -1, L"Part Number: %a\n", LibGetSmbiosString
> + (Struct, Struct->Type4->PartNumber));
> }
>
> if (AE_SMBIOS_VERSION (0x2, 0x5) && (Struct->Hdr->Length > 0x23)) {
> - PRINT_STRUCT_VALUE (Struct, Type4, CoreCount);
> - PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount);
> - PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount);
> + ShellPrintEx (-1, -1, L"Core Count: %u\n", Struct->Type4->CoreCount);
> + ShellPrintEx (-1, -1, L"Core Enabled: %u\n", Struct->Type4-
> >EnabledCoreCount);
> + ShellPrintEx (-1, -1, L"Thread Count: %u\n",
> + Struct->Type4->ThreadCount);
> DisplayProcessorCharacteristics (Struct->Type4-
> >ProcessorCharacteristics, Option);
> }
>
> + if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x28) &&
> + (Struct->Type4->ProcessorFamily2 >= 0x100))
> + {
> + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2),
> gShellDebug1HiiHandle);
> + DisplayProcessorFamily2 (Struct->Type4->ProcessorFamily2, Option);
> + } else {
> + ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2),
> gShellDebug1HiiHandle);
> + DisplayProcessorFamily ((UINT8) Struct->Type4->ProcessorFamily2,
> Option);
> + }
Please put the family2 check inside the if case. The code as above would cause out of scope issue.
Thanks,
Zhichao
> +
> if ((SmbiosMajorVersion >= 0x3) && (Struct->Hdr->Length > 0x2A)) {
> - PRINT_STRUCT_VALUE (Struct, Type4, CoreCount2);
> - PRINT_STRUCT_VALUE (Struct, Type4, EnabledCoreCount2);
> - PRINT_STRUCT_VALUE (Struct, Type4, ThreadCount2);
> + ShellPrintEx (-1, -1, L"Core Count 2: %u\n", Struct->Type4-
> >CoreCount2);
> + ShellPrintEx (-1, -1, L"Core Enabled 2: %u\n", Struct->Type4-
> >EnabledCoreCount2);
> + ShellPrintEx (-1, -1, L"Thread Count 2: %u\n",
> + Struct->Type4->ThreadCount2);
> }
>
> break;
> @@ -829,68 +831,68 @@ SmbiosPrintStructure (
> // Memory Device (Type 17)
> //
> case 17:
> - PRINT_STRUCT_VALUE_H (Struct, Type17, MemoryArrayHandle);
> - PRINT_STRUCT_VALUE_H (Struct, Type17,
> MemoryErrorInformationHandle);
> - PRINT_STRUCT_VALUE_H (Struct, Type17, TotalWidth);
> - PRINT_STRUCT_VALUE_H (Struct, Type17, DataWidth);
> + ShellPrintEx (-1, -1, L"Physical Memory Array Handle: 0x%x\n", Struct-
> >Type17->MemoryArrayHandle);
> + ShellPrintEx (-1, -1, L"Memory Error Information Handle: 0x%x\n",
> Struct->Type17->MemoryErrorInformationHandle);
> + ShellPrintEx (-1, -1, L"Total Width: 0x%x\n", Struct->Type17->TotalWidth);
> + ShellPrintEx (-1, -1, L"Data Width: 0x%x\n",
> + Struct->Type17->DataWidth);
> PRINT_STRUCT_VALUE (Struct, Type17, Size);
> DisplayMemoryDeviceFormFactor (Struct->Type17->FormFactor, Option);
> - PRINT_STRUCT_VALUE_H (Struct, Type17, DeviceSet);
> - PRINT_PENDING_STRING (Struct, Type17, DeviceLocator);
> - PRINT_PENDING_STRING (Struct, Type17, BankLocator);
> + ShellPrintEx (-1, -1, L"Device Set: 0x%x\n", Struct->Type17->DeviceSet);
> + ShellPrintEx (-1, -1, L"Device Locator: %a\n", LibGetSmbiosString(Struct,
> Struct->Type17->DeviceLocator));
> + ShellPrintEx (-1, -1, L"Bank Locator: %a\n",
> + LibGetSmbiosString(Struct, Struct->Type17->BankLocator));
> DisplayMemoryDeviceType (Struct->Type17->MemoryType, Option);
> DisplayMemoryDeviceTypeDetail (ReadUnaligned16 ((UINT16
> *)(UINTN)&(Struct->Type17->TypeDetail)), Option);
> PRINT_STRUCT_VALUE_H (Struct, Type17, Speed);
> PRINT_PENDING_STRING (Struct, Type17, Manufacturer);
> - PRINT_PENDING_STRING (Struct, Type17, SerialNumber);
> - PRINT_PENDING_STRING (Struct, Type17, AssetTag);
> - PRINT_PENDING_STRING (Struct, Type17, PartNumber);
> + ShellPrintEx (-1, -1, L"Serial Number: %a\n", LibGetSmbiosString(Struct,
> Struct->Type17->SerialNumber));
> + ShellPrintEx (-1, -1, L"Asset Tag: %a\n", LibGetSmbiosString(Struct,
> Struct->Type17->AssetTag));
> + ShellPrintEx (-1, -1, L"Part Number: %a\n",
> + LibGetSmbiosString(Struct, Struct->Type17->PartNumber));
> if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0x1B)) {
> PRINT_STRUCT_VALUE_H (Struct, Type17, Attributes);
> }
>
> if (AE_SMBIOS_VERSION (0x2, 0x7) && (Struct->Hdr->Length > 0x1C)) {
> - PRINT_STRUCT_VALUE (Struct, Type17, ExtendedSize);
> - PRINT_STRUCT_VALUE_H (Struct, Type17,
> ConfiguredMemoryClockSpeed);
> + ShellPrintEx (-1, -1, L"Extended Size: %u\n", Struct->Type17-
> >ExtendedSize);
> + ShellPrintEx (-1, -1, L"Configured Memory Speed: 0x%x\n",
> + Struct->Type17->ConfiguredMemoryClockSpeed);
> }
>
> if (AE_SMBIOS_VERSION (0x2, 0x8) && (Struct->Hdr->Length > 0x22)) {
> - PRINT_STRUCT_VALUE (Struct, Type17, MinimumVoltage);
> - PRINT_STRUCT_VALUE (Struct, Type17, MaximumVoltage);
> - PRINT_STRUCT_VALUE (Struct, Type17, ConfiguredVoltage);
> + ShellPrintEx (-1, -1, L"Minimum voltage: %u\n", Struct->Type17-
> >MinimumVoltage);
> + ShellPrintEx (-1, -1, L"Maximum voltage: %u\n", Struct->Type17-
> >MaximumVoltage);
> + ShellPrintEx (-1, -1, L"Configured voltage: %u\n",
> + Struct->Type17->ConfiguredVoltage);
> }
>
> if (AE_SMBIOS_VERSION (0x3, 0x2)) {
> if (Struct->Hdr->Length > 0x28) {
> DisplayMemoryDeviceMemoryTechnology (Struct->Type17-
> >MemoryTechnology, Option);
> DisplayMemoryDeviceMemoryOperatingModeCapability (Struct-
> >Type17->MemoryOperatingModeCapability.Uint16, Option);
> - PRINT_PENDING_STRING (Struct, Type17, FirmwareVersion);
> - PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleManufacturerID);
> - PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleProductID);
> - PRINT_STRUCT_VALUE_H (Struct, Type17,
> MemorySubsystemControllerManufacturerID);
> - PRINT_STRUCT_VALUE_H (Struct, Type17,
> MemorySubsystemControllerProductID);
> + ShellPrintEx (-1, -1, L"Firmware Version: %a\n",
> LibGetSmbiosString(Struct, Struct->Type17->FirmwareVersion));
> + ShellPrintEx (-1, -1, L"Module Manufacturer ID: 0x%x\n", Struct-
> >Type17->ModuleManufacturerID);
> + ShellPrintEx (-1, -1, L"Module Product ID: 0x%x\n", Struct->Type17-
> >ModuleProductID);
> + ShellPrintEx (-1, -1, L"Memory Subsystem Controller Manufacturer ID:
> 0x%x\n", Struct->Type17->MemorySubsystemControllerManufacturerID);
> + ShellPrintEx (-1, -1, L"Memory Subsystem Controller Product
> + ID: 0x%x\n", Struct->Type17->MemorySubsystemControllerProductID);
> }
>
> if (Struct->Hdr->Length > 0x34) {
> - PRINT_STRUCT_VALUE_LH (Struct, Type17, NonVolatileSize);
> + ShellPrintEx (-1, -1, L"Non-volatile Size: 0x%lx\n",
> + Struct->Type17->NonVolatileSize);
> }
>
> if (Struct->Hdr->Length > 0x3C) {
> - PRINT_STRUCT_VALUE_LH (Struct, Type17, VolatileSize);
> + ShellPrintEx (-1, -1, L"Volatile Size: 0x%lx\n",
> + Struct->Type17->VolatileSize);
> }
>
> if (Struct->Hdr->Length > 0x44) {
> - PRINT_STRUCT_VALUE_LH (Struct, Type17, CacheSize);
> + ShellPrintEx (-1, -1, L"Cache Size: 0x%lx\n",
> + Struct->Type17->CacheSize);
> }
>
> if (Struct->Hdr->Length > 0x4C) {
> - PRINT_STRUCT_VALUE_LH (Struct, Type17, LogicalSize);
> + ShellPrintEx (-1, -1, L"Logical Size: 0x%lx\n",
> + Struct->Type17->LogicalSize);
> }
> }
>
> if (AE_SMBIOS_VERSION (0x3, 0x3) && (Struct->Hdr->Length > 0x54)) {
> - PRINT_STRUCT_VALUE_H (Struct, Type17, ExtendedSpeed);
> - PRINT_STRUCT_VALUE_H (Struct, Type17,
> ExtendedConfiguredMemorySpeed);
> + ShellPrintEx (-1, -1, L"Extended Speed: 0x%x\n", Struct->Type17-
> >ExtendedSpeed);
> + ShellPrintEx (-1, -1, L"Extended Configured Memory Speed:
> + 0x%x\n", Struct->Type17->ExtendedConfiguredMemorySpeed);
> }
>
> break;
> @@ -1258,13 +1260,13 @@ SmbiosPrintStructure (
> // Onboard Devices Extended Information (Type 41)
> //
> case 41:
> - PRINT_PENDING_STRING (Struct, Type41, ReferenceDesignation);
> + ShellPrintEx (-1, -1, L"Reference Designation: %a\n",
> + LibGetSmbiosString (Struct, Struct->Type41->ReferenceDesignation));
> ShellPrintEx (-1, -1, (((Struct->Type41->DeviceType) & 0x80) != 0) ?
> L"Device Enabled\n" : L"Device Disabled\n");
> DisplayOnboardDeviceTypes ((Struct->Type41->DeviceType) & 0x7F,
> Option);
> - PRINT_STRUCT_VALUE_H (Struct, Type41, DeviceTypeInstance);
> - PRINT_STRUCT_VALUE_H (Struct, Type41, SegmentGroupNum);
> - PRINT_STRUCT_VALUE_H (Struct, Type41, BusNum);
> - PRINT_STRUCT_VALUE_H (Struct, Type41, DevFuncNum);
> + ShellPrintEx (-1, -1, L"Device Type Instance: 0x%x\n", Struct->Type41-
> >DeviceTypeInstance);
> + ShellPrintEx (-1, -1, L"Segment Group Number: 0x%x\n", Struct-
> >Type41->SegmentGroupNum);
> + ShellPrintEx (-1, -1, L"Bus Number: 0x%x\n", Struct->Type41->BusNum);
> + ShellPrintEx (-1, -1, L"Device/Function Number: 0x%x\n",
> + Struct->Type41->DevFuncNum);
> break;
>
> //
> @@ -1606,10 +1608,6 @@ DisplayProcessorFamily (
> UINT8 Option
> )
> {
> - //
> - // Print prompt message
> - //
> - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY),
> gShellDebug1HiiHandle);
> //
> // Print option
> //
> @@ -2411,6 +2409,10 @@ DisplayProcessorFamily (
> Print (L"i960\n");
> break;
>
> + case 0xFE:
> + Print (L"Indicator to obtain the processor family from the Processor
> Family 2 field\n");
> + break;
> +
> default:
> ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY),
> gShellDebug1HiiHandle);
> }
> @@ -2432,11 +2434,6 @@ DisplayProcessorFamily2 (
> IN UINT8 Option
> )
> {
> - //
> - // Print prompt message
> - //
> - ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN
> (STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY),
> gShellDebug1HiiHandle);
> -
> //
> // Print option
> //
> diff --git
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView
> Strings.uni
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView
> Strings.uni
> index 05f7a61d9d..73f7b2ab19 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView
> Strings.uni
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosView
> S
> +++ trings.uni
> @@ -88,8 +88,8 @@
> #string STR_SMBIOSVIEW_PRINTINFO_FORMATTED_AREA
> #language en-US "Formatted Area: \r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_INTER_ACHOR #language
> en-US "Inter Anchor: %a\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_INTER_CHECKSUM
> #language en-US "Inter Checksum: 0x%x\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN
> #language en-US "Format part Len : %d\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE #language
> en-US "Structure Handle: %d\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_FORMAT_PART_LEN
> #language en-US "Length: %d\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_STRUCT_HANDLE
> #language en-US "Handle: %d\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_BOOTUP_STATE #language
> en-US "Bootup state "
> #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_STATE
> #language en-US "Power Supply State "
> #string STR_SMBIOSVIEW_PRINTINFO_THERMAL_STATE #language
> en-US "Thermal state "
> @@ -168,6 +168,8 @@
> #string STR_SMBIOSVIEW_PRINTINFO_MCFG_ENABLED #language
> en-US "Manufacturing mode is enabled\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_BITS_RSVD_FOR_FUTURE
> #language en-US " Bits %d:7 are reserved for future assignment\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY
> #language en-US "Processor Family: "
> +#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_ID #language
> en-US "Processor ID\r\nsize=%d:\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_PROCESSOR_FAMILY2
> #language en-US "Processor Family 2: "
> #string STR_SMBIOSVIEW_PRINTINFO_OTHER #language en-US
> "Other\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_UNKNOWN #language
> en-US "Unknown\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_INTEL386_PROCESSOR
> #language en-US "Intel386(TM) Processor\r\n"
> @@ -255,7 +257,7 @@
> #string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_K5
> #language en-US "Reserved for specific K5 versions\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_RSVD_FOR_SPEC_PENTIUM
> #language en-US "Reserved for specific Pentium(R) Processor versions\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY
> #language en-US "Undefined processor family and type\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #language
> en-US "Processor Information - Voltage:\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_PROC_INFO #language
> en-US "Voltage:\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_PROC_CURRENT_VOLTAGE
> #language en-US "Processor current voltage = (%d/10)V\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_5V_SUPOPRTED #language
> en-US " 5V is supported\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_33V_SUPPORTED #language
> en-US " 3.3V is supported\r\n"
> @@ -271,7 +273,7 @@
> #string STR_SMBIOSVIEW_PRINTINFO_BIT13_NOT_ZERO #language
> en-US "Error, reserved BIT 13 must be zero\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_BIT14_NOT_ZERO #language
> en-US "Error, reserved BIT 14 must be zero\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_BIT15_NOT_ZERO #language
> en-US "Error, reserved BIT 15 must be zero\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #language
> en-US "Processor Status:\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_PROC_STATUS #language
> en-US "Status:\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_POPULATED
> #language en-US "CPU Socket Populated\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_CPU_SOCKET_UNPOPULATED
> #language en-US "CPU Socket Unpopulated\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_CPU_ENABLED #language
> en-US "CPU Enabled\r\n"
> @@ -382,8 +384,8 @@
> #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_PRESENT
> #language en-US "Power supply is not present\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_REPLACE
> #language en-US "Power supply is hot replaceable\r\n"
> #string STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE
> #language en-US "Power supply is not hot replaceable\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #language en-
> US "BiosSize: %d KB\r\n"
> -#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE
> #language en-US "ExtendedBiosSize: %d %s\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_BIOS_SIZE #language en-
> US "BIOS ROM Size: %d KB\r\n"
> +#string STR_SMBIOSVIEW_PRINTINFO_EXTENDED_BIOS_SIZE
> #language en-US "Extended BIOS ROM Size: %d %s\r\n"
> #string STR_SMBIOSVIEW_QUERYTABLE_NO_INFO #language en-
> US "No Info"
> #string STR_SMBIOSVIEW_QUERYTABLE_RSVD_BITS_SET #language
> en-US "\r\nIt also has reserved bits set 1 --- reserved bits: 0x%x"
> #string STR_SMBIOSVIEW_QUERYTABLE_SYSTEM_WAKEUP_TYPE
> #language en-US "System Wakeup Type:"
> @@ -419,7 +421,7 @@
> #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_SYSTEM_SLOT_PITCH
> #language en-US "System Slot Pitch: %d\r\n"
> -#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE
> #language en-US "Onboard Device Type: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_ONBOARD_DEVICE_TYPE
> #language en-US "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: "
> #string STR_SMBIOSVIEW_QUERYTABLE_POST_RESULTS_BITMAP
> #language en-US "POST Results Bitmap - First DWORD:\r\n"
> @@ -431,11 +433,11 @@
> #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_LOCATION
> #language en-US "Physical Memory Array Location: "
> #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_USE
> #language en-US "Physical Memory Array Use: "
> #string STR_SMBIOSVIEW_QUERYTABLE_PHYS_MEM_ARRAY_ERROR
> #language en-US "Physical Memory Array Error Correction Types: "
> -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR
> #language en-US "Memory Device - Form Factor: "
> -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE
> #language en-US "Memory Device - Type: "
> -#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL
> #language en-US "Memory Device - Type Detail: "
> -#string
> STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY
> #language en-US "Memory Device - Memory Technology: "
> -#string
> STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA
> #language en-US "Memory Device - Memory Operating Mode Capability: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR
> #language en-US "Form Factor: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE
> #language en-US "Memory Type: "
> +#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL
> #language en-US "Type Detail: "
> +#string
> STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY
> #language en-US "Memory Technology: "
> +#string
> STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA
> #language en-US "Memory Operating Mode Capability: "
> #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO
> #language en-US "32-bit Memory Error Information - Type: "
> #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY
> #language en-US "Memory Error - Error granularity: "
> #string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP
> #language en-US "Memory Error - Error Operation: "
> @@ -454,7 +456,7 @@
> #string STR_SMBIOSVIEW_QUERYTABLE_MEM_CHANNEL_TYPE
> #language en-US "Memory Channel Type:"
> #string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE
> #language en-US "BMC Interface Type:"
> #string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE
> #language en-US "MC Host Interface Type:"
> -#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #language
> en-US "Structure Type:"
> +#string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #language
> en-US "Type:"
> #string STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE
> #language en-US "Processor Architecture Type:"
> #string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV
> #language en-US "%s "
> #string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND
> #language en-US "Query Structure, conditions are:\r\n"
> --
> 2.39.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-10 1:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-07 10:53 [PATCH] ShellPkg: Update smbiosview type 0/4/17/41 with SMBIOS 3.5 fields v2 millerx.lin
2023-04-10 1:05 ` Gao, Zhichao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox