]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: Update Acpiview HMAT parser to ACPI spec version 6.4
authorChris Jones <christopher.jones@arm.com>
Wed, 14 Jul 2021 11:45:12 +0000 (12:45 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 8 Oct 2021 15:16:21 +0000 (15:16 +0000)
Add parser support for the new "MinTransferSize" field of the System
Locality, Latency and Bandwidth structure, introduced by the ACPI
specification version 6.4.

Also update the HMAT parser to use the newer ACPI version 6.4
definitions.

Signed-off-by: Chris Jones <christopher.jones@arm.com>
Reviewed-by: Zhichao Gao <zhcihao.gao@intel.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Hmat/HmatParser.c
ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c

index 1d1bc4bdc343e65a8c2fd5f983b2078311452329..cf4432c654da36e02c75bc9f4acf512be2276066 100644 (file)
@@ -30,7 +30,7 @@ STATIC CONST UINT32*  HmatStructureLength;
 STATIC CONST UINT32*  NumberInitiatorProximityDomain;\r
 STATIC CONST UINT32*  NumberTargetProximityDomain;\r
 STATIC CONST\r
-EFI_ACPI_6_3_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_FLAGS*\r
+EFI_ACPI_6_4_HMAT_STRUCTURE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO_FLAGS*\r
 SllbiFlags;\r
 \r
 STATIC CONST UINT8*   SllbiDataType;\r
@@ -65,11 +65,11 @@ ValidateCacheAttributes (
   IN VOID*  Context\r
   )\r
 {\r
-  EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*\r
+  EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*\r
   Attributes;\r
 \r
   Attributes =\r
-    (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*)Ptr;\r
+    (EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*)Ptr;\r
 \r
   if (Attributes->TotalCacheLevels > 0x3) {\r
     IncrementErrorCount ();\r
@@ -115,11 +115,11 @@ DumpCacheAttributes (
   IN UINT8*        Ptr\r
   )\r
 {\r
-  EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*\r
+  EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*\r
   Attributes;\r
 \r
   Attributes =\r
-    (EFI_ACPI_6_3_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*)Ptr;\r
+    (EFI_ACPI_6_4_HMAT_STRUCTURE_MEMORY_SIDE_CACHE_INFO_CACHE_ATTRIBUTES*)Ptr;\r
 \r
   Print (L"\n");\r
   PrintFieldName (4, L"Total Cache Levels");\r
@@ -178,7 +178,8 @@ STATIC CONST ACPI_PARSER SllbiParser[] = {
   {L"Length", 4, 4, L"%d", NULL, NULL, NULL, NULL},\r
   {L"Flags", 1, 8, L"0x%x", NULL, (VOID**)&SllbiFlags, NULL, NULL},\r
   {L"Data type", 1, 9, L"0x%x", NULL, (VOID**)&SllbiDataType, NULL, NULL},\r
-  {L"Reserved", 2, 10, L"0x%x", NULL, NULL, NULL, NULL},\r
+  {L"Min Transfer Size", 1, 10, L"%d", NULL, NULL, NULL, NULL},\r
+  {L"Reserved", 1, 11, L"0x%x", NULL, NULL, NULL, NULL},\r
   {L"Initiator Proximity Dom Count", 4, 12, L"%d", NULL,\r
     (VOID**)&NumberInitiatorProximityDomain, NULL, NULL},\r
   {L"Target Proximity Dom Count", 4, 16, L"%d", NULL,\r
@@ -615,19 +616,19 @@ ParseAcpiHmat (
     }\r
 \r
     switch (*HmatStructureType) {\r
-      case EFI_ACPI_6_3_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES:\r
+      case EFI_ACPI_6_4_HMAT_TYPE_MEMORY_PROXIMITY_DOMAIN_ATTRIBUTES:\r
         DumpMpda (\r
           HmatStructurePtr,\r
           *HmatStructureLength\r
           );\r
         break;\r
-      case EFI_ACPI_6_3_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO:\r
+      case EFI_ACPI_6_4_HMAT_TYPE_SYSTEM_LOCALITY_LATENCY_AND_BANDWIDTH_INFO:\r
         DumpSllbi (\r
           HmatStructurePtr,\r
           *HmatStructureLength\r
           );\r
         break;\r
-      case EFI_ACPI_6_3_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO:\r
+      case EFI_ACPI_6_4_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO:\r
          DumpMsci (\r
           HmatStructurePtr,\r
           *HmatStructureLength\r
index f274fd282b9a30f85ec6e220b6b963da3a351ea5..d725cad14c5d018e2004eb8e33c845aa9c719429 100644 (file)
@@ -55,7 +55,7 @@ ACPI_TABLE_PARSER ParserList[] = {
   {EFI_ACPI_6_3_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE, ParseAcpiFacs},\r
   {EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, ParseAcpiFadt},\r
   {EFI_ACPI_6_4_GENERIC_TIMER_DESCRIPTION_TABLE_SIGNATURE, ParseAcpiGtdt},\r
-  {EFI_ACPI_6_3_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_SIGNATURE, ParseAcpiHmat},\r
+  {EFI_ACPI_6_4_HETEROGENEOUS_MEMORY_ATTRIBUTE_TABLE_SIGNATURE, ParseAcpiHmat},\r
   {EFI_ACPI_6_2_IO_REMAPPING_TABLE_SIGNATURE, ParseAcpiIort},\r
   {EFI_ACPI_6_2_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, ParseAcpiMadt},\r
   {EFI_ACPI_6_2_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE,\r