Hello Jeff,
Please find some remarks inline:

On 9/7/22 17:15, Jeff Brasen via groups.io wrote:
Add code to use a token attached to GICC to generate _CPC object on cpus.



Signed-off-by: Jeff Brasen <jbra...@nvidia.com>

---

  .../SsdtCpuTopologyGenerator.c                | 211 +++++++++++++++++-

  1 file changed, 206 insertions(+), 5 deletions(-)



diff --git 
a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
 
b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c

index 8561f48e1f..ba1f1bd436 100644

--- 
a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c

+++ 
b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c


[snip]


@@ -584,6 +770,13 @@ CreateAmlCpuFromProcHierarchy (

      ASSERT_EFI_ERROR (Status);


I think a 'return Status;' needs to be added here.

    }

+  // If a CPC info is associated with the

+  // GicCinfo, create an _CPC method returning them.

+  if (GicCInfo->CpcToken != CM_NULL_TOKEN) {

+    Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, GicCInfo, CpuNode);

+    ASSERT_EFI_ERROR (Status);

+  }

+

    return Status;

  }

@@ -934,10 +1127,11 @@ CreateTopologyFromGicC (

    IN        AML_OBJECT_NODE_HANDLE                        ScopeNode

    )

  {

-  EFI_STATUS        Status;

-  CM_ARM_GICC_INFO  *GicCInfo;

-  UINT32            GicCInfoCount;

-  UINT32            Index;

+  EFI_STATUS              Status;

+  CM_ARM_GICC_INFO        *GicCInfo;

+  UINT32                  GicCInfoCount;

+  UINT32                  Index;

+  AML_OBJECT_NODE_HANDLE  CpuNode;

    ASSERT (Generator != NULL);

    ASSERT (CfgMgrProtocol != NULL);

@@ -961,12 +1155,19 @@ CreateTopologyFromGicC (

                 ScopeNode,

                 &GicCInfo[Index],

                 Index,

-               NULL

+               &CpuNode

                 );

      if (EFI_ERROR (Status)) {

        ASSERT (0);

        break;

      }

+

+    // If a CPC info is associated with the

+    // GicCinfo, create an _CPC method returning them.

+    if (GicCInfo->CpcToken != CM_NULL_TOKEN) {

+      Status = CreateAmlCpcNode (Generator, CfgMgrProtocol, &GicCInfo[Index], 
CpuNode);

+      ASSERT_EFI_ERROR (Status);

Shouln't we consider this as an error and break ? As:
if (EFI_ERROR (Status)) {
  ASSERT_EFI_ERROR (Status);
  break;
}


+    }

    } // for

    return Status;



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#93648): https://edk2.groups.io/g/devel/message/93648
Mute This Topic: https://groups.io/mt/93527135/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to