[edk2-devel] [PATCH 03/14] DynamicTablesPkg: Update CmObjParser for IORT Rev E.d

PierreGondois pierre.gondois at arm.com
Fri Oct 28 10:05:38 UTC 2022


Hi Sami,

On 10/26/22 14:34, Sami Mujawar wrote:
> Hi Pierre,
> 
> I have one comment marked inline as [SAMI].
> 
> Other than that change this patch should be good.

Yes indeed, thanks for spotting it and for making the modification,

Regards,
Pierre

> 
> Regards,
> 
> Sami Mujawar
> 
> On 10/10/2022 10:20 am, Pierre.Gondois at arm.com wrote:
>> From: Pierre Gondois <pierre.gondois at 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.Gondois at 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 (#95680): https://edk2.groups.io/g/devel/message/95680
Mute This Topic: https://groups.io/mt/94232522/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list