public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1] ShellPkg: Update Acpiview HMAT parser to ACPI spec version 6.4
@ 2021-08-18 10:09 Chris Jones
  2021-08-18 11:08 ` Sami Mujawar
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Jones @ 2021-08-18 10:09 UTC (permalink / raw)
  To: devel
  Cc: ray.ni, zhichao.gao, Sami.Mujawar, Ben.Adderson, Akanksha.Jain2,
	Matteo.Carlini, nd

Bugzilla: 3570 (https://bugzilla.tianocore.org/show_bug.cgi?id=3570)

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>
---
 ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Hmat/HmatParser.c     | 19 ++++++++++---------
 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c |  2 +-
 2 files changed, 11 insertions(+), 10 deletions(-)

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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-10-08 16:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-18 10:09 [PATCH v1] ShellPkg: Update Acpiview HMAT parser to ACPI spec version 6.4 Chris Jones
2021-08-18 11:08 ` Sami Mujawar
2021-09-08 14:29   ` Chris Jones
2021-09-09  2:08   ` [edk2-devel] " Gao, Zhichao
2021-10-06 13:25     ` Sami Mujawar
2021-10-08  5:59       ` Gao, Zhichao
2021-10-08 16:03         ` Sami Mujawar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox