From af337d1291ed44947b397dd3efc79795605b6c6c Mon Sep 17 00:00:00 2001 From: Sami Mujawar Date: Thu, 7 Mar 2024 14:11:31 +0000 Subject: [PATCH] DynamicTablesPkg: Add support for ArchCommon objects in CmObjParser Update the Cm Object Parser to support parsing of Arch Common namespace objects. Cc: Pierre Gondois Cc: Yeo Reum Yun Cc: AbdulLateef Attar Cc: Jeshua Smith Cc: Jeff Brasen Cc: Girish Mahadevan Cc: Leif Lindholm Cc: Meenakshi Aggarwal Signed-off-by: Sami Mujawar Signed-off-by: Pierre Gondois Reviewed-by: Sunil V L --- .../ConfigurationManagerObjectParser.c | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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));