[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