Hi Pierre,

I have one comment marked inline as [SAMI].

Other than that change this patch should be good.

Regards,

Sami Mujawar

On 10/10/2022 10:20 am, pierre.gond...@arm.com wrote:
From: Pierre Gondois <pierre.gond...@arm.com>

commit de200b7e2c3c ("DynamicTablesPkg: Update ArmNameSpaceObjects for
IORT Rev E.d")
adds new CmObj structures and fields to the ArmNameSpaceObjects.
Update the CmObjectParser accordingly.

Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
---
  .../ConfigurationManagerObjectParser.c        | 59 ++++++++++++++-----
  1 file changed, 45 insertions(+), 14 deletions(-)

diff --git 
a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
 
b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index b46f19693bb5..80ebb0708661 100644
--- 
a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ 
b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -183,21 +183,23 @@ STATIC CONST CM_OBJ_PARSER  
CmArmFixedFeatureFlagsParser[] = {
  STATIC CONST CM_OBJ_PARSER  CmArmItsGroupNodeParser[] = {
    { "Token",      sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
    { "ItsIdCount", 4,                        "0x%x", NULL },
-  { "ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
+  { "ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+  { "Identifier", 4,                        "0x%x", NULL },
  };
/** A parser for EArmObjNamedComponent.
  */
  STATIC CONST CM_OBJ_PARSER  CmArmNamedComponentNodeParser[] = {
-  { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
-  { "IdMappingCount",    4,                        "0x%x", NULL },
-  { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
-  { "Flags",             4,                        "0x%x", NULL },
-  { "CacheCoherent",     4,                        "0x%x", NULL },
-  { "AllocationHints",   1,                        "0x%x", NULL },
-  { "MemoryAccessFlags", 1,                        "0x%x", NULL },
-  { "AddressSizeLimit",  1,                        "0x%x", NULL },
-  { "ObjectName",        sizeof (CHAR8 *),         "%a",   NULL }
+  { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL        },
+  { "IdMappingCount",    4,                        "0x%x", NULL        },
+  { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL        },
+  { "Flags",             4,                        "0x%x", NULL        },
+  { "CacheCoherent",     4,                        "0x%x", NULL        },
+  { "AllocationHints",   1,                        "0x%x", NULL        },
+  { "MemoryAccessFlags", 1,                        "0x%x", NULL        },
+  { "AddressSizeLimit",  1,                        "0x%x", NULL        },
+  { "ObjectName",        1,                        NULL,   PrintString },

[SAMI] I think the Length field for ObjectName should be "sizeof (CHAR8 *)" otherwise PrintCmObjDesc() would not advance to the next field correctly/

If you agree, I will make this change locally before pushing the patch.

[/SAMI]

+  { "Identifier",        4,                        "0x%x", NULL        },
  };
/** A parser for EArmObjRootComplex.
@@ -211,7 +213,10 @@ STATIC CONST CM_OBJ_PARSER  CmArmRootComplexNodeParser[] = 
{
    { "MemoryAccessFlags", 1,                        "0x%x", NULL },
    { "AtsAttribute",      4,                        "0x%x", NULL },
    { "PciSegmentNumber",  4,                        "0x%x", NULL },
-  { "MemoryAddressSize", 1,                        "0x%x", NULL }
+  { "MemoryAddressSize", 1,                        "0x%x", NULL },
+  { "PasidCapabilities", 2,                        "0x%x", NULL },
+  { "Flags",             4,                        "0x%x", NULL },
+  { "Identifier",        4,                        "0x%x", NULL },
  };
/** A parser for EArmObjSmmuV1SmmuV2.
@@ -231,7 +236,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmSmmuV1SmmuV2NodeParser[] = 
{
    { "SMMU_NSgIrpt",          4,                        "0x%x",   NULL },
    { "SMMU_NSgIrptFlags",     4,                        "0x%x",   NULL },
    { "SMMU_NSgCfgIrpt",       4,                        "0x%x",   NULL },
-  { "SMMU_NSgCfgIrptFlags",  4,                        "0x%x",   NULL }
+  { "SMMU_NSgCfgIrptFlags",  4,                        "0x%x",   NULL },
+  { "Identifier",            4,                        "0x%x",   NULL },
  };
/** A parser for EArmObjSmmuV3.
@@ -249,7 +255,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmSmmuV3NodeParser[] = {
    { "GerrInterrupt",        4,                        "0x%x",   NULL },
    { "SyncInterrupt",        4,                        "0x%x",   NULL },
    { "ProximityDomain",      4,                        "0x%x",   NULL },
-  { "DeviceIdMappingIndex", 4,                        "0x%x",   NULL }
+  { "DeviceIdMappingIndex", 4,                        "0x%x",   NULL },
+  { "Identifier",           4,                        "0x%x",   NULL },
  };
/** A parser for EArmObjPmcg.
@@ -261,7 +268,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmPmcgNodeParser[] = {
    { "BaseAddress",       8,                        "0x%llx", NULL },
    { "OverflowInterrupt", 4,                        "0x%x",   NULL },
    { "Page1BaseAddress",  8,                        "0x%llx", NULL },
-  { "ReferenceToken",    sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
+  { "ReferenceToken",    sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
+  { "Identifier",        4,                        "0x%x",   NULL },
  };
/** A parser for EArmObjGicItsIdentifierArray.
@@ -432,6 +440,25 @@ STATIC CONST CM_OBJ_PARSER  CmPciInterruptMapInfoParser[] 
= {
      ARRAY_SIZE (CmArmGenericInterruptParser) },
  };
+/** A parser for EArmObjRmr.
+*/
+STATIC CONST CM_OBJ_PARSER  CmArmRmrInfoParser[] = {
+  { "Token",             sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+  { "IdMappingCount",    4,                        "0x%x", NULL },
+  { "IdMappingToken",    sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+  { "Identifier",        4,                        "0x%x", NULL },
+  { "Flags",             4,                        "0x%x", NULL },
+  { "MemRangeDescCount", 4,                        "0x%x", NULL },
+  { "MemRangeDescToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL },
+};
+
+/** A parser for EArmObjMemoryRangeDescriptor.
+*/
+STATIC CONST CM_OBJ_PARSER  CmArmMemoryRangeDescriptorInfoParser[] = {
+  { "BaseAddress", 8, "0x%llx", NULL },
+  { "Length",      8, "0x%llx", NULL },
+};
+
  /** A parser for EArmObjCpcInfo.
  */
  STATIC CONST CM_OBJ_PARSER  CmArmCpcInfoParser[] = {
@@ -588,6 +615,10 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  
ArmNamespaceObjectParser[] = {
      ARRAY_SIZE (CmArmPciAddressMapInfoParser) },
    { "EArmObjPciInterruptMapInfo",          CmPciInterruptMapInfoParser,
      ARRAY_SIZE (CmPciInterruptMapInfoParser) },
+  { "EArmObjRmr",                          CmArmRmrInfoParser,
+    ARRAY_SIZE (CmArmRmrInfoParser) },
+  { "EArmObjMemoryRangeDescriptor",        
CmArmMemoryRangeDescriptorInfoParser,
+    ARRAY_SIZE (CmArmMemoryRangeDescriptorInfoParser) },
    { "EArmObjCpcInfo",                      CmArmCpcInfoParser,
      ARRAY_SIZE (CmArmCpcInfoParser) },
    { "EArmObjMax",                          NULL,                              
    0                                },


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


Reply via email to