diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c index 68d6c57acf..6f5dbdfd2d 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -667,6 +667,13 @@ STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = { { "NumProc", 4, "0x%x", NULL }, }; +/** A parser for Arch Common namespace objects. +*/ +STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { + CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved), + CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax) +}; + /** A parser for Arm namespace objects. */ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = { @@ -1050,6 +1057,21 @@ ParseCmObjDesc ( ParserArray = &ArmNamespaceObjectParser[ObjId]; break; + + case EObjNameSpaceArchCommon: + if (ObjId >= EArchCommonObjMax) { + ASSERT (0); + return; + } + + if (ObjId >= ARRAY_SIZE (ArchCommonNamespaceObjectParser)) { + DEBUG ((DEBUG_ERROR, "ObjId 0x%x is missing from the ArchCommonNamespaceObjectParser array\n", ObjId)); + ASSERT (0); + return; + } + + ParserArray = &ArchCommonNamespaceObjectParser[ObjId]; + break; default: // Not supported DEBUG ((DEBUG_ERROR, "NameSpaceId 0x%x, ObjId 0x%x is not supported by the parser\n", NameSpaceId, ObjId));