I believe this patch series is just waiting for approval from the ShellPkg maintainers. As this has been waiting for several weeks, please could this get reviewed soon.


Thanks,
Chris

From: Sami Mujawar <Sami.Mujawar@arm.com>
Sent: Wednesday, August 18, 2021 12:08 PM
To: Christopher Jones <Christopher.Jones@arm.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Cc: ray.ni@intel.com <ray.ni@intel.com>; zhichao.gao@intel.com <zhichao.gao@intel.com>; Ben Adderson <Ben.Adderson@arm.com>; Akanksha Jain <Akanksha.Jain2@arm.com>; Matteo Carlini <Matteo.Carlini@arm.com>; nd <nd@arm.com>
Subject: Re: [PATCH v1] ShellPkg: Update Acpiview HMAT parser to ACPI spec version 6.4
 
Hi Chris,

This patch looks good to me.

Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

Regards,

Sami Mujawar

On 18/08/2021, 11:09, "Chris Jones" <christopher.jones@arm.com> wrote:

    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")