From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.51]) by mx.groups.io with SMTP id smtpd.web12.5562.1632473816303158244 for ; Fri, 24 Sep 2021 01:56:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=jMQOyNVy; spf=pass (domain: arm.com, ip: 40.107.6.51, mailfrom: joey.gouly@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cWMJ1MNiv8a0f+N/GzsxEwqWxMJNuN4Eq/j6F5JEU3M=; b=jMQOyNVy8dHLSQugW5Xnd8fuhURl7XLSK8pyX1kQoXBBc+OMCHT0esyxcWHCyBH6fGkodpbg3FU0jpvlCoQCzYNvUximYrkxBDHBmxlxgauVn/mzy7al+aD5jFB0vZQeA5ekLdbFVUHzuth+v05WJSxBrcbpd97KcCrcNdlWHwk= Received: from DU2PR04CA0295.eurprd04.prod.outlook.com (2603:10a6:10:28c::30) by DB6PR0801MB1928.eurprd08.prod.outlook.com (2603:10a6:4:71::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14; Fri, 24 Sep 2021 08:56:53 +0000 Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28c:cafe::94) by DU2PR04CA0295.outlook.office365.com (2603:10a6:10:28c::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.14 via Frontend Transport; Fri, 24 Sep 2021 08:56:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.33.187.114) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.33.187.114 as permitted sender) receiver=protection.outlook.com; client-ip=63.33.187.114; helo=64aa7808-outbound-2.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-2.mta.getcheckrecipient.com (63.33.187.114) by DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Fri, 24 Sep 2021 08:56:53 +0000 Received: ("Tessian outbound b324a1dbd9be:v103"); Fri, 24 Sep 2021 08:56:53 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 2b75b730bc7a8e77 X-CR-MTA-TID: 64aa7808 Received: from 6ff9c5348e70.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C7C5A88E-53A4-44C0-8DF0-ACE968A9B95B.1; Fri, 24 Sep 2021 08:56:42 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6ff9c5348e70.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 24 Sep 2021 08:56:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VZzOP98ZpWXeK73Q2u/p0ic2kwjqxVdxYXiPa6hXEWEJNgKEE24gxEP40xSHpXGlN0PI74z5SAd/s3ImfFVXgumXL5Wj7INFAyshZ09oEN7AdSbWys8nSemlK7DlTb++TokEjlt6mPbr4/qy9vWKI4/ANr5BhpOGWJcGpM93Vuf0+WRDnUEWbsr6bNSQPA61RB/MyzpD3IPjZmwTbhJbprx2/I7FZC4hhXsebXlV8ujcPFA+gn8MmSjqrRfFCM7lD8UNOXpZ/utXEW9Fh5UusmNY3dEZtUL6y3PitQGrNIiU9r4tu0X/mb96JiZUK4zuKjZHyAXbrf+RSEeGLeAeCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cWMJ1MNiv8a0f+N/GzsxEwqWxMJNuN4Eq/j6F5JEU3M=; b=H2xRLelAscxMFRqDHBAx4veVZ2NWZ+UFniffPO2gcDCTr3zHsAl9QuB8gnkCkd8EXPDOpgl7i1vuZkzrJe6/OVUusaKW/l22U5gw2goequMVVW6MjyUj49pN8Z/jXOQeQ3fvwxIj8g7NzHYFaVddLtxzRPaouCpVfefUxq2dU2/r1ADidwt5IR81F+vDjHWQLJNTBO2x9nVjwycggdvIa+bJULpFGwtB8NFYn+t4EgsU2MJ5dmnt4Yk5BD4vrFm+0hn7Cxxo21fxPwXYRBMwn20+J9kyrtjU3gI5nXfNWqq/vURPcmRY/blsnmdNGLWOwUYz3n0Mid8+FYOQp8J9tw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cWMJ1MNiv8a0f+N/GzsxEwqWxMJNuN4Eq/j6F5JEU3M=; b=jMQOyNVy8dHLSQugW5Xnd8fuhURl7XLSK8pyX1kQoXBBc+OMCHT0esyxcWHCyBH6fGkodpbg3FU0jpvlCoQCzYNvUximYrkxBDHBmxlxgauVn/mzy7al+aD5jFB0vZQeA5ekLdbFVUHzuth+v05WJSxBrcbpd97KcCrcNdlWHwk= Received: from DB8PR08MB5433.eurprd08.prod.outlook.com (2603:10a6:10:118::13) by DB9PR08MB6553.eurprd08.prod.outlook.com (2603:10a6:10:25b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Fri, 24 Sep 2021 08:56:41 +0000 Received: from DB8PR08MB5433.eurprd08.prod.outlook.com ([fe80::951e:f504:6b46:28a3]) by DB8PR08MB5433.eurprd08.prod.outlook.com ([fe80::951e:f504:6b46:28a3%9]) with mapi id 15.20.4544.018; Fri, 24 Sep 2021 08:56:40 +0000 From: "Joey Gouly" To: "devel@edk2.groups.io" , Sami Mujawar , Alexei Fedorov , Pierre Gondois Subject: Re: [edk2-devel] [PATCH v1 06/10] DynamicTablesPkg: Add Configuration Manager Object parser Thread-Topic: [edk2-devel] [PATCH v1 06/10] DynamicTablesPkg: Add Configuration Manager Object parser Thread-Index: AQHXaCCMHzyFtPvR+EGVMEsamLs9hquyYHRu Date: Fri, 24 Sep 2021 08:56:40 +0000 Message-ID: References: <20210623110525.6171-1-Pierre.Gondois@arm.com> <20210623110525.6171-7-Pierre.Gondois@arm.com> In-Reply-To: <20210623110525.6171-7-Pierre.Gondois@arm.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: suggested_attachment_session_id: a8982911-fccf-eef5-66d6-d1d8de9cecad Authentication-Results-Original: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: f4ad75bf-60a8-42b8-6784-08d97f394170 x-ms-traffictypediagnostic: DB9PR08MB6553:|DB6PR0801MB1928: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: DE6Xj1XbCEudLLG4DbQCAdAJ3rDGw8LkjLLQ6qwFKoELmgBT+4JPBlbjtxtKs52sdujSgwHQ0gHTmYxy32RiSZNC7DVz0UMoJmfZv0vo6xeLc16o3N2M9sa1MRkZG94+dEnAIC0/hjqJGyKSpqcIaoxZMdWvzmEdIaeNmavtFdsy6SNwQHD6fdpNqY0fnepvTt26VNUjT1T3Na7iGE6Uos5PuGGXteX795/Ovz7pC4TDiQLoHdC5JehpcgLoEvTc14zkarHHAOUlQdJuIhnEhdagjnn/NpAYIdUiIMRfOkWbmmWJAm0OBIBuUaPDaPXGzt0Fbz0cOLr4OphOwBoECeu1Jxkrs07ByD9h4WxHghqlV8fo9hbWvxR5d0cMSgnQaTi5B0vIiN2Sd2aJgymQZiLJGJyP6DxTbnuDUjZunQxm6FuUFc97TEY1AC+F5jCQ21tqiaVP0vffrlldmvyXFvMa5CIaDOzYv0Njwhy2Y22nI6DMj2wOIOiYECLHu+UhRq+5fh0Fo53OYAcHSXp9BaXnk5TbRKaKX+f2cNmJh8lSVGWNb72hs4WEZQlxRgXs9Fsq2KFx5wzJvth7ARyq3c9MRYPknCaT4vPjetRaD1MS2U9sN7lkPaWKH7ltyuWlaCOgui65FDT2fWMzxA3yIY4Uhik1IYhRkLIDqkPdrmDL4yYBnRH8xprmO6TDYucvT2pHMOh5xb8AQZLm2P9gVw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR08MB5433.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(55016002)(316002)(5660300002)(66946007)(91956017)(38100700002)(508600001)(33656002)(8936002)(2906002)(66446008)(66556008)(66476007)(9686003)(86362001)(76116006)(6636002)(110136005)(52536014)(83380400001)(6506007)(38070700005)(186003)(71200400001)(7696005)(26005)(122000001)(8676002)(64756008);DIR:OUT;SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6553 Original-Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=arm.com; Return-Path: Joey.Gouly@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 2e9c7875-26fe-46b3-1ce1-08d97f3939be X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ibgs29vyzkBCpirLXCb9fdsCXiuz1RkN8hrbJEIyUUbymvBiwBf8a9g/Llkd2cCSGyYjEAdJead8xHfcya+h9whpc4iqu2rd0N9ORUVO13a/6K2rd7UkSqKZ76Pq9yLuwm8bNXRSCUD0sFhi/IDhnGOjxg8UXx2twLVz7O5Ai2Jsy/pw3ptUFh3AiLtEGTLYv85U604yeHSWznL2Vu8/cYko3IF7Ihw5x/mIca3f79QlGhRB29Yw+FlMk5sU4fBO7Naul5MCiuWG9btA8Tu3Mejfwz7hXFa0DfZwf2Z0a05qtzsPMLAh1n/vOkuTJFjI9Nt8IwJMgTqiV0gOP2YQxIeJQXgSSuswdJWy3dU8tV8NxoqSc6siM5RQUfbNkOIG2rNDEidf5kCbcdcyFMClhbrrgfA/uQqo1OQSC/4sSsrtB9LK+lYRquWyF6PscSJCy99uWFXtvlkzXwUB7/Z9MM69NL9Smrn9KfEUVLYFYcKi55KfKs3J+ggI6C8aeKif37pDqdSuaHoPSQ6hAW3DjiGZlL+ThFBSbr+RcD7Pb95yxonQzBs4StkPofv5qOQw14JZZOLbegypTlk5gaD55Bq6lwEQ50teqwJuRjMXK9EGj1fRau98iZ2Xg/kLFxSQjT+WT0xciiB9msHwZdXj310L7pauo9k/BhmNGERSFd5rqM38aSg6aCW8FzirCNZmIy28Qp8NuWxmTqEQD4nyxA== X-Forefront-Antispam-Report: CIP:63.33.187.114;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-2.mta.getcheckrecipient.com;PTR:ec2-63-33-187-114.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(52536014)(8676002)(26005)(33656002)(7696005)(186003)(86362001)(8936002)(70586007)(70206006)(356005)(6506007)(83380400001)(336012)(9686003)(36860700001)(6636002)(55016002)(82310400003)(2906002)(5660300002)(316002)(47076005)(110136005)(81166007)(508600001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2021 08:56:53.7314 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f4ad75bf-60a8-42b8-6784-08d97f394170 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.33.187.114];Helo=[64aa7808-outbound-2.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1928 Content-Language: en-GB Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, This looks good to me! [...] > + > +/** A parser for EArmObjFixedFeatureFlags. > +*/ > +STATIC CONST CM_OBJ_PARSER CmArmFixedFeatureFlagsParser[] =3D { > + {"Flags", 4, "0x%x", NULL} > +}; > + > +/** A parser for EArmObjItsGroup. > +*/ > +STATIC CONST CM_OBJ_PARSER CmArmItsGroupNodeParser[] =3D { > + {"GTBlockTimerFrameToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL}, This should just be Token, not GTBlockTimerFrameToken. > + {"ItsIdCount", 4, "0x%x", NULL}, > + {"ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL} > +}; > + [...] > diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/Configuration= ManagerObjectParser.h b/DynamicTablesPkg/Library/Common/TableHelperLib/Conf= igurationManagerObjectParser.h > new file mode 100644 > index 000000000000..e229df7095d9 > --- /dev/null > +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManager= ObjectParser.h [...] > +/** > + The CM_OBJ_PARSER structure describes the fields of an CmObject and > + provides means for the parser to interpret and trace appropriately. > + > + ParseAcpi() uses the format string specified by 'Format' for tracing > + the field data. > +*/ > +typedef struct CmObjParser CM_OBJ_PARSER; > +struct CmObjParser { > + > + /// String describing the Cm Object > + CONST CHAR8* NameStr; > + > + /// The length of the field. > + UINT32 Length; > + > + /// Optional Print() style format string for tracing the data. If not > + /// used this must be set to NULL. > + CONST CHAR8* Format; > + > + /// Optional pointer to a print formatter function which > + /// is typically used to trace complex field information. > + /// If not used this must be set to NULL. > + /// The Format string is passed to the PrintFormatter function > + /// but may be ignored by the implementation code. > + FNPTR_PRINT_FORMATTER PrintFormatter; > + > + /// Optional pointer to print the fields of another CM_OBJ_PARSER > + /// structure. This is useful to print sub-structures. > + CONST CM_OBJ_PARSER *SubObjParser; > + > + /// Count of items in the SubObj. > + UINTN SubObjItemCount; The SubObjParser doesn't actually seem to be used by any of the objects? (U= nless I misread when reading the list of them..) > + > + /// Count of items > + UINTN ItemCount; > +} CM_OBJ_PARSER_ARRAY; > + > +#endif // CONFIGURATION_MANAGER_OBJECT_PARSER_H_ > diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLi= b.inf b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf > index 5435f74aa0b8..abbf4bc38cab 100644 > --- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf > +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf > @@ -15,6 +15,8 @@ [Defines] > LIBRARY_CLASS =3D TableHelperLib > > [Sources] > + ConfigurationManagerObjectParser.c > + ConfigurationManagerObjectParser.h > TableHelper.c > > [Packages] Need to update the copyright year. Otherwise: Reviewed-by: Joey Gouly Thanks, Joey IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.