From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.50]) by mx.groups.io with SMTP id smtpd.web11.10185.1632927814781870503 for ; Wed, 29 Sep 2021 08:03:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=pi0Ehgvs; spf=pass (domain: arm.com, ip: 40.107.15.50, 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=M5KC2McWNx3BKv9r49Q2764bPqgdVYaAroW4tq1WMkM=; b=pi0Ehgvs+2gkq4MBYCc6FVWkjwNejScRFyGZ5UFUqUepP3/OYc2glFHrOjl9lKA6BlfB/L1U/BocH4qNuvi/XbSaN1JZIwEK5wTDFNsSc3Rl2wME4RzXmeUc4gUDWAfFkyHJ52uuHrpL8WYM4QNdYmMHhHkV2+caM1QN+d+dhIA= Received: from AM6P194CA0081.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::22) by DBBPR08MB4757.eurprd08.prod.outlook.com (2603:10a6:10:f0::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Wed, 29 Sep 2021 15:03:32 +0000 Received: from VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8f:cafe::fe) by AM6P194CA0081.outlook.office365.com (2603:10a6:209:8f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Wed, 29 Sep 2021 15:03:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) 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.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT013.mail.protection.outlook.com (10.152.19.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Wed, 29 Sep 2021 15:03:31 +0000 Received: ("Tessian outbound 71ebfb754289:v103"); Wed, 29 Sep 2021 15:03:31 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 80e7cc23302e2321 X-CR-MTA-TID: 64aa7808 Received: from c03964989897.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 39372F21-996F-40FC-89C9-8E6C7451FE76.1; Wed, 29 Sep 2021 15:03:12 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c03964989897.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 29 Sep 2021 15:03:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fGPSqonZVO03NTfrKOqa1QKCYeML7IPIvBYPk0E8xTwVGKhjU/UhrxpRd62tYsY2DYypW1nS27K5u8wOiPx8uuc/kIZdA9E8oSoETCReOQD//P6YHmQ2AAHkRJHHBHu/zddAfEU40XulFbwXXPN3Y/g2h5wlpvfboopNtLhaB6Kr3HQFlp1I6D1tfc4oQNBcLdPdY1KzM/GCkaDCsUu2/DzuaLUIaVnAGTAT7nciT/xA8c8dkiN7UzV6u9hYZSECW0Y4IhKMODAfEzxnkIjSpJ+RM1kq+zQf8gF/tPsurxGNWFsWqCGPuB4MxyNvuhLerXk85YgO88pd9us28fWoaA== 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=M5KC2McWNx3BKv9r49Q2764bPqgdVYaAroW4tq1WMkM=; b=FeK1PTmuVzdwGBqYoPoElW9TmnUOqNTcjpVkPUuHERnE2W5aQuWM+TgOawHJ75eDeY6GugMESyQyPWaY5KHFEjj61sg4QsTJUl5GTGr4MP9CU0mIsSMwgYZZaax9NSrxyriwO18rbpgtcIv3N7gggHe7+JnOMtUa+WnLG6Hr0rwaHtEfmKG4wEv3KkxobQ+GoLb5NPJ0lQky9VfDaoaFvDlqJkneKINL0zOt/s0qUpZxPKn6Kn2KuSVMHynLafKfJTdXwBVm2U+zShmxj6HrBiGT7L1lDXCPFT1ItKHDUysrMaNIOJg2J35A0mPYGfpaw9TRpY+n9DNSig+8mrr6Ag== 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=M5KC2McWNx3BKv9r49Q2764bPqgdVYaAroW4tq1WMkM=; b=pi0Ehgvs+2gkq4MBYCc6FVWkjwNejScRFyGZ5UFUqUepP3/OYc2glFHrOjl9lKA6BlfB/L1U/BocH4qNuvi/XbSaN1JZIwEK5wTDFNsSc3Rl2wME4RzXmeUc4gUDWAfFkyHJ52uuHrpL8WYM4QNdYmMHhHkV2+caM1QN+d+dhIA= Received: from DB8PR08MB5433.eurprd08.prod.outlook.com (2603:10a6:10:118::13) by DB6PR0801MB1926.eurprd08.prod.outlook.com (2603:10a6:4:6c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.18; Wed, 29 Sep 2021 15:03:11 +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.4566.014; Wed, 29 Sep 2021 15:03:10 +0000 From: "Joey Gouly" To: Pierre Gondois , "devel@edk2.groups.io" , Sami Mujawar , Alexei Fedorov , nd 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+EGVMEsamLs9hquyYHRugAWt4ICAA6ZlkA== Date: Wed, 29 Sep 2021 15:03:10 +0000 Message-ID: References: <20210623110525.6171-1-Pierre.Gondois@arm.com> <20210623110525.6171-7-Pierre.Gondois@arm.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: suggested_attachment_session_id: 13a39d6d-b2a1-71c3-7a08-393290f9d3c6 Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: a6c9b35f-73f2-4cd1-76f1-08d9835a4d5a x-ms-traffictypediagnostic: DB6PR0801MB1926:|DBBPR08MB4757: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: GccJb2g6jdnC6cKOpjWTIqQFXuhD00NJvpTJy6H+zaeqIDh0PXcSGCxwn3DoDTAwn3X99CGb/++atjWfrHItszfgr4f2G/2U3HLqHmQ94vY3vGR8TwfHLh+kWv5AAWfzVh3GlCOvojTlE/qUGErFkH7whdo3UBqs1ffiFyjhQd5s+BSJ3wScD7oMach9bDpTBd7ZOGIsi0Ej0d8AZ5zCYhTgIjOu+uLwmEw5LL7172w/FhCJSCPL2jjaYW/nOD1j0XWgVnpszy4jG/1V6Y3FWWXoXFuSyWOcBpbkLrlTabXNBKiFILQrI2KHv9Hjycj9eBvYxN3EgLlHzyY7TsQiRm1o+sJutHGL2tLHj/tPF8/r7MSlv84GYTw2guU2sxCuwur6hwmtyIcTRjdthRAgsKk/tRPNiu8d76+2v7axXL6C8BjGaRW1N9hVtH+vP208SNZLGxJ2nubCAnuimma+6e3EyNjGhuGtwphkBdGSs7d6NP2GhPkJlADEzGbMM0v7v8B7WkSRROgTUgOi/Le7tqHHi0wvbXXmHd0SIH7G1Oa0b1BHhwWt5nLPyi1BfrOmUEteF1/8chi5aXSurOYFAZmjAnPEwrs0RcnA7qAhIBJlt5KyWdwtY6TJOWVg+lrip5BISxt0wYH0TM9etRzOgQ71m+F+AJQHe6zFMTd4eyfxPjR2qRW23g6/djcBQzj2WbNB2PZGrKLSyD6K+SNjM6+Whdpuakk1rEBGn/4G2PWqGlhZUfY0FfDrVD1D1dp4JlAzQmB3qu5yneCYDQuguGY0tAbF1r17+G7TqZanRTIIfZYJTMnqbsEdqHGD9GqdYIcsFC6YA5xXBTyiHD0NqQ== 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)(2906002)(316002)(38070700005)(55016002)(9686003)(966005)(110136005)(508600001)(38100700002)(53546011)(6636002)(83380400001)(122000001)(86362001)(71200400001)(52536014)(76116006)(33656002)(26005)(5660300002)(91956017)(186003)(8676002)(8936002)(66446008)(6506007)(64756008)(66476007)(66556008)(7696005)(66946007);DIR:OUT;SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1926 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Joey.Gouly@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: cb0b1604-68dd-496e-0b9f-08d9835a40d7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: d8tMN3TcUa7WckUPkWsUjg1FEhkU5YVm+1M0phCNPuQFgp6eK6hnHCkW2ETi0HpWro3xSE5lab1P674Gu4j8JJTfyfqsrcK1mh91CO9s7AosUmsO+p4socBHBS2a+6V88ir293/lIYUUbo2Ry7mcbkoxAeWI6YruNR38OyA7RTiJBBhPLxbvcg3w62/XuUm4DyM98ZvZowCSWYVkvYngwwl0p0xmQgPrpBCsEdo5t2rCVO1VYS+7DnB167YPdvI3dMlG7ydf6wKJO/INqk28V9QtrbUzgyfbU+4jiw/u5mmg+cpnz03VjL8GAI6AyUShIsqWWpatbS900bfl+GpFp9RdfMoFnhT/GcXAzYC+3X8AdNr/gAcBJOusIklz8VGeZnO7FpaTPKdxmyqFeUc1F6cW6ttmJSTcj7nTKdGU1aY7kjdcdjU3hxKNTFx5h9xp540VnKh28021UK0CE8haPFzARmZANEk0kPA2lGO45o8Va9IOT11bBnVe/rabgMdLQn2D17TX+2ATpru2DBGPi2MlhYOyu8l2XnH/7B2pQCuDPoMTry96UMXxUxwlUr06oX5isWY1xCUh6aeTSKeTtOPt+7b3NVqXk8ScQz1oeWyvUxCiZPN39lUwvIXCVVgIkMcX1YcXDXjLhs+ybpI+ZPcKeY6gYmciDlu7nZlk8PI1ZdYtq6dPk6Rc1TRrWbgrOBpmkHUp0MFrbKBtLT/1ul7oT83nmQa4lusdLmGYsqD9paYdaqTV9ib6GQP6o1PDgnKrEPqWEHVL0Nu1OGkZunt4G9oSK/1CdHMB3sYD4ttQPHjoas6ExOaThwyc+Rf162ExLLBgLCPxumP/lt7fKg== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(336012)(52536014)(5660300002)(55016002)(36860700001)(83380400001)(6636002)(7696005)(53546011)(26005)(6506007)(186003)(8676002)(9686003)(8936002)(70206006)(2906002)(110136005)(316002)(70586007)(33656002)(86362001)(82310400003)(81166007)(356005)(966005)(47076005)(508600001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2021 15:03:31.6585 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a6c9b35f-73f2-4cd1-76f1-08d9835a4d5a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4757 Content-Language: en-GB Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi again, Replies inline, > > Hi Joey, > Thanks for the review, I answered inline: > > > On 9/24/21 9:56 AM, Joey Gouly wrote: > > 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. > > > The name of the field is 'GTBlockTimerFrameToken', cf > https://github.com/tianocore/edk2/blob/master/DynamicTablesPkg/Include/Ar= mNameSpaceObjects.h#L394 > I am not sure I understand why this should 'Token' instead. You linked to the `CmArmGTBlockInfo` struct, but I was talking about `CmArm= ItsGroupNode`: https://github.com/tianocore/edk2/blob/master/DynamicTablesPkg/Include/ArmN= ameSpaceObjects.h#L464 > > > > >> + {"ItsIdCount", 4, "0x%x", NULL}, > >> + {"ItsIdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL} > >> +}; > >> + > > [...] > > > >> diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/Configurat= ionManagerObjectParser.h b/DynamicTablesPkg/Library/Common/TableHelperLib/C= onfigurationManagerObjectParser.h > >> new file mode 100644 > >> index 000000000000..e229df7095d9 > >> --- /dev/null > >> +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationMana= gerObjectParser.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 tracin= g > >> + 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 n= ot > >> + /// 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= ? (Unless I misread when reading the list of them..) > > > The SubObjParser field is effectively not currently used. It will be > used in a later patch, > cf the 'UsageCounterRegister' field of > https://edk2.groups.io/g/devel/message/76954 > Ok, makes sense! 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.