From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 699A37803E5 for ; Tue, 12 Mar 2024 16:12:01 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=z6xUSHei8VGT5XGMdBrd3lDDX4g6yIrzkSkyl+gkrn4=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1710259920; v=1; b=2aa1ONOuA1xGiQFbYMhTMxSMhwR5f3XEmAXEC3/ktzIYC/9Ym15RZv3Awo2lgJxByVRCuDYg rV8V+ULVjFKeYdWKKCUS1mjfd7ifG902JcBwhKbDJ0kBnkb3C0h8og1Dp1cMTxPKSpKtCfag5qo sMaDAUlS0blqC124jqVKVoNjKITXT/sIc4JGH27o7vNqe2ApshIN/dsnn3/qUi+h++R+rbQm6XJ ADeQl0+vyyDZXdVGXTsae9/f87Jlr20X7Wq0eCvXQNTrk4rirM9Rs/9FnKjvH0MlHSSWLFJ6wc3 bITCFfVFYa2nAt6MnnbJWUOJ/j8c5AzmSkVyRJS2p+Kfw== X-Received: by 127.0.0.2 with SMTP id BKW9YY7687511xYRCbkrhCam; Tue, 12 Mar 2024 09:12:00 -0700 X-Received: from NAM02-BN1-obe.outbound.protection.outlook.com (NAM02-BN1-obe.outbound.protection.outlook.com [40.107.212.50]) by mx.groups.io with SMTP id smtpd.web10.398.1710259919200096666 for ; Tue, 12 Mar 2024 09:11:59 -0700 X-Received: from DM6PR12MB3371.namprd12.prod.outlook.com (2603:10b6:5:116::27) by BY5PR12MB4115.namprd12.prod.outlook.com (2603:10b6:a03:20f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.18; Tue, 12 Mar 2024 16:11:55 +0000 X-Received: from DM6PR12MB3371.namprd12.prod.outlook.com ([fe80::80a:4e02:18f5:653e]) by DM6PR12MB3371.namprd12.prod.outlook.com ([fe80::80a:4e02:18f5:653e%7]) with mapi id 15.20.7339.035; Tue, 12 Mar 2024 16:11:55 +0000 From: "Jeshua Smith via groups.io" To: "devel@edk2.groups.io" CC: "ardb+tianocore@kernel.org" , "quic_llindhol@quicinc.com" , "pierre.gondois@arm.com" , "Sami.Mujawar@arm.com" Subject: Re: [edk2-devel] [PATCH v2] DynamicTablesPkg/SSDT: Require Package node in hierarchy Thread-Topic: [PATCH v2] DynamicTablesPkg/SSDT: Require Package node in hierarchy Thread-Index: AQHaWGWrFZNc8WBdMke9qRUt2aoSy7E0fwVA Date: Tue, 12 Mar 2024 16:11:55 +0000 Message-ID: References: <6666e0a5b84cef6d13a6c082e9fdf052c8618a62.1707152171.git.jeshuas@nvidia.com> In-Reply-To: <6666e0a5b84cef6d13a6c082e9fdf052c8618a62.1707152171.git.jeshuas@nvidia.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR12MB3371:EE_|BY5PR12MB4115:EE_ x-ms-office365-filtering-correlation-id: 35e06acf-9a3d-462b-51c7-08dc42af22ed x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: IjT0INqhdbAEcm5v01baTSHlqwinPviXecbUM3K+n5jVUG64AU4GVJ7p7XwZJmhKZac5F4106aX6iFH93UdWyKpuSK8OxM9kK9xzXFD0291Uu7y1YZMjpbnHcPd/NJv4/H249/ahbzxGfmRC4gWTgQRoN17Z0BUsFVWEdSBSTJvhZWq+vU1UKzQRbf6ZGk3moYfv8E4JKuG7Zn4QwV4BelVdVsQIR0ctKmxuBLeielbBSz+xhNjpDHd0tFk41d5yd6r22ks7+cbnDEg5pHIXx0tqnI6uXMFKNkBguEG2xkeFaIBxRSPt5WMs59Ahg0sOkZ9NuTGwruuDCn7cZ4QW+4fAlzBTxjaEmcKmAQRGrS0XccavEgMSugmMq8JpgQvziv994OdAR5bjDHd6LxUc9vJhlWlU40jOSEYt14TNhwuWn6R3eo473AuM/F1VEdfjKaJ72bLHuwdDnI22wi3WtoedZQu4rEpPi7OwYUoVpDos6MAeRIJijH1/ckPlkmYNJ2XH9/sKXAKoG0dWaLdqDVA7UaPhEAMvJVbhJjW2hIR2VDOOER+nDf748CJu7h5FYyb9XgN8nbQyt+X4Kv3A7YB3Q2jDu0niQgca2dygwTHZYhj6LCpEkGL9+cBo4AU52DO9JQpsK/fdYIsrHbhOWKlp8JAqTuBL0OJo2ezI4vY2MMtruXMtqBwDDDCSyswi3LscFaV/ZNM8GPaPHAZ7xalAIv4M/tquW3TVZHStKD0= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?a50Z36kX7HnYz96GbG8Yj9yZxUNOXwhx2Y0kFCXK2bus1QWQCppt8n9jDLO+?= =?us-ascii?Q?/V+HZQqv4nu2xDvutiAajpoOnmO3ED89ZgK4lNk3fpZnzG440U2CbzG2pPQo?= =?us-ascii?Q?pwrsvjseZNzH+TxAPBqN3PauXY2vomiwwOHQ9+a/5eHADs8Kri09g0ByD4v/?= =?us-ascii?Q?L+CKfyaLYxxotglXgiyAuQ74YOjg1ub04cWjjaWQ8bo9VT/YqQskvtOWQlst?= =?us-ascii?Q?90jJWI68vRuWF731N6409nL6KBnu7QfUkolXKDf3tNZH79Et0p+y8tRAQB8t?= =?us-ascii?Q?5wsDSjamHiRLzeuMor3NH/Ua/0C4JwEBelRy9IMZNJ0swKrEu2DFEgwrBHkb?= =?us-ascii?Q?6W3BvWvIBLbGpGvR320ty2kDzKI3HA8t/h4xPzZBgdMCJC/r1KzGGokctDd/?= =?us-ascii?Q?Mz5Ey+FUQMgAsi685TdXVTMr1Hw6TYewpLRmvOAyE63+AYu/jZkN6gorXRyy?= =?us-ascii?Q?M0ywZvaSasYq3tU1IMn5MYuLM8XhD4yXiYw7v4ALE5KKD/KecyiyUsiSr7Tg?= =?us-ascii?Q?w9CTl3okPrqjTqCmTWqpm2PM9kgVnG46Fkfgkou3RT4wen5/qiz6NwoCPwlP?= =?us-ascii?Q?ZwI6dYIo1R3AEEna/HLmoOu92Sp3z2uxhA2IBjOS1PI1emod4vK/qCwBasUy?= =?us-ascii?Q?TsRqpnNKEPwCI+Bmv/vkCrF5/ST3bUJXdQOTtKCEn5ac73u6QNcDRDV6mnDD?= =?us-ascii?Q?PEWuo5wIw6toJ/FZRTl8TuPSMWibST3TaiGqDN2nkvDVQUeNKiNr6+yik0Oj?= =?us-ascii?Q?Lu8UotyuGRyc+jMlp4zs3ov8xaVawsppEVrsJt+nKWUgW5VEZtPxGEBUB/bT?= =?us-ascii?Q?RHMW6F9POr2vwPwSVbytHZW6VeAENoZHwPwomjNjnSWwRG49pW5zkClKuTBX?= =?us-ascii?Q?x3eG+bmCAGhxlTOXcbcn6stpVm50Hose3a4r8F/ltnziSvtCZth3etbhMlLM?= =?us-ascii?Q?z6ZSFeM8hO/9Wc4UgpQe4XiX2Ei699ItGBRFGZC+gQDl1n4E7JL0w5IV83Lt?= =?us-ascii?Q?ajlMFtGYVhob3T8HMtt/AomFJdotHB6Ge1Bp+2K8c9NvTAXAFGvxRW8UUs6z?= =?us-ascii?Q?MvgtlHBk3+6P5kseZ1oGOmvEEt6kUABszGGijURjW8mQQYFJx5JU9IP5OfI/?= =?us-ascii?Q?MKtaPRriD6WnYJ5TvO0ZmnIhJcc6B0CKRhTIuVki8IoB5dmy+jNqGPV1aF+2?= =?us-ascii?Q?QSN0ExgKu1J7h2lDNGULozjQuVFtn/wiSBXVcRQ3Wv1KAN8I4ozAj8q3s+YR?= =?us-ascii?Q?eKuvd+tVI0WciOBMpHTIbRMCBsTkImf8c/xUf0pdrZZM2IApJH93EYA5scnX?= =?us-ascii?Q?cfabUfVbW4HtSDkEYs48ozqhZGnlvGQUB86n4FphAXffCs+warrWImczMOYt?= =?us-ascii?Q?5tJhKyOUoL4F3HvxgCvFkcIHDz97wgXD3ykHI1006hcpKkmAHJUvM9KdSGce?= =?us-ascii?Q?/FKX9ainbY0A/bB+KrxWyhVVJCYginFOXTttuThCeSk8AwfoIb9vuv9uzQyS?= =?us-ascii?Q?zkjPwT0eNcaT9JpBi3s+EEtMPDdD0VTedqBLRA8MqBUuaSy5r97CRfgzOsBw?= =?us-ascii?Q?xp+bnoJYC9wgIoCUb9Xx38MccyKaBMOjPi26Y9Z3w5QeKzgzwAGsLebrcjwW?= =?us-ascii?Q?U00vkMueoSjumk7aFEk+hq0uMDb8+Yu5YGhUIzMvBYdG?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3371.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35e06acf-9a3d-462b-51c7-08dc42af22ed X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2024 16:11:55.2418 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NYt1WiycNnyWJ5lCrBT45uD3A15RMQ1ZvzwszmEvlo1yW+VkSHgNOnz5QfQjqvEuhqMUJBxSVlc1riTyiAb1xQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4115 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Tue, 12 Mar 2024 09:11:59 -0700 Reply-To: devel@edk2.groups.io,jeshuas@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: xd0zLViyzOcsOi8R65KlWhiMx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=2aa1ONOu; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Can we get this reviewed/merged? > -----Original Message----- > From: Jeshua Smith > Sent: Monday, February 5, 2024 12:01 PM > To: devel@edk2.groups.io > Cc: ardb+tianocore@kernel.org; quic_llindhol@quicinc.com; > pierre.gondois@arm.com; Sami.Mujawar@arm.com; Jeshua Smith > > Subject: [PATCH v2] DynamicTablesPkg/SSDT: Require Package node in > hierarchy >=20 > The code was incorrectly assuming that root nodes had to be physical pack= age > nodes and vice versa. This is not always true, so update the check to sim= ply > require exactly one package node somewhere in the hierarchy. >=20 > Signed-off-by: Jeshua Smith > Reviewed-by: Pierre Gondois > --- > Note: This is a complete replacement for [PATCH] DynamicTablesPkg/SSDT: > Remove incorrect root node check >=20 > Version 2: added documentation for the PackageNodeSeen parameter >=20 > .../SsdtCpuTopologyGenerator.c | 32 +++++++++++++------ > 1 file changed, 22 insertions(+), 10 deletions(-) >=20 > diff --git > a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpu > TopologyGenerator.c > b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpu > TopologyGenerator.c > index 9e3efb49e6..40ed10eae6 100644 > --- > a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpu > TopologyGenerator.c > +++ > b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCp > +++ uTopologyGenerator.c > @@ -1072,6 +1072,7 @@ CreateAmlProcessorContainer ( > @param [in] IsLeaf The ProcNode is a leaf. > @param [in] NodeToken NodeToken of the ProcNode. > @param [in] ParentNodeToken Parent NodeToken of the ProcNode. > + @param [in] PackageNodeSeen A parent of the ProcNode has the physica= l > package flag set. >=20 > @retval EFI_SUCCESS Success. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -1083,23 +1084,24 @@ CheckProcNode ( > UINT32 NodeFlags, > BOOLEAN IsLeaf, > CM_OBJECT_TOKEN NodeToken, > - CM_OBJECT_TOKEN ParentNodeToken > + CM_OBJECT_TOKEN ParentNodeToken, > + BOOLEAN PackageNodeSeen > ) > { > BOOLEAN InvalidFlags; > BOOLEAN HasPhysicalPackageBit; > - BOOLEAN IsTopLevelNode; >=20 > HasPhysicalPackageBit =3D (NodeFlags & > EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL) =3D=3D > EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL; > - IsTopLevelNode =3D (ParentNodeToken =3D=3D CM_NULL_TOKEN); >=20 > - // A top-level node is a Physical Package and conversely. > - InvalidFlags =3D HasPhysicalPackageBit ^ IsTopLevelNode; > + // Only one Physical Package flag is allowed in the hierarchy > + InvalidFlags =3D HasPhysicalPackageBit && PackageNodeSeen; >=20 > // Check Leaf specific flags. > if (IsLeaf) { > InvalidFlags |=3D ((NodeFlags & PPTT_LEAF_MASK) !=3D PPTT_LEAF_MASK)= ; > + // Must have Physical Package flag somewhere in the hierarchy > + InvalidFlags |=3D !(HasPhysicalPackageBit || PackageNodeSeen); > } else { > InvalidFlags |=3D ((NodeFlags & PPTT_LEAF_MASK) !=3D 0); > } > @@ -1130,6 +1132,7 @@ CheckProcNode ( > node to. > @param [in,out] ProcContainerIndex Pointer to the current processor > container > index to be used as UID. > + @param [in] PackageNodeSeen A parent of the ProcNode has the > physical package flag set. >=20 > @retval EFI_SUCCESS Success. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -1143,7 +1146,8 @@ CreateAmlCpuTopologyTree ( > IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST > CfgMgrProtocol, > IN CM_OBJECT_TOKEN NodeToken, > IN AML_NODE_HANDLE ParentNode, > - IN OUT UINT32 *ProcContainer= Index > + IN OUT UINT32 *ProcContainer= Index, > + IN BOOLEAN PackageNodeSee= n > ) > { > EFI_STATUS Status; > @@ -1153,6 +1157,7 @@ CreateAmlCpuTopologyTree ( > AML_OBJECT_NODE_HANDLE ProcContainerNode; > UINT32 Uid; > UINT16 Name; > + BOOLEAN HasPhysicalPackageBit; >=20 > ASSERT (Generator !=3D NULL); > ASSERT (Generator->ProcNodeList !=3D NULL); @@ -1175,7 +1180,8 @@ > CreateAmlCpuTopologyTree ( > Generator->ProcNodeList[Index].Flags, > TRUE, > Generator->ProcNodeList[Index].Token, > - NodeToken > + NodeToken, > + PackageNodeSeen > ); > if (EFI_ERROR (Status)) { > ASSERT (0); > @@ -1208,7 +1214,8 @@ CreateAmlCpuTopologyTree ( > Generator->ProcNodeList[Index].Flags, > FALSE, > Generator->ProcNodeList[Index].Token, > - NodeToken > + NodeToken, > + PackageNodeSeen > ); > if (EFI_ERROR (Status)) { > ASSERT (0); > @@ -1249,13 +1256,17 @@ CreateAmlCpuTopologyTree ( > ProcContainerName++; > } >=20 > + HasPhysicalPackageBit =3D (Generator->ProcNodeList[Index].Flags = & > EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL) =3D=3D > + EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL; > + > // Recursively continue creating an AML tree. > Status =3D CreateAmlCpuTopologyTree ( > Generator, > CfgMgrProtocol, > Generator->ProcNodeList[Index].Token, > ProcContainerNode, > - ProcContainerIndex > + ProcContainerIndex, > + (PackageNodeSeen || HasPhysicalPackageBit) > ); > if (EFI_ERROR (Status)) { > ASSERT (0); > @@ -1311,7 +1322,8 @@ CreateTopologyFromProcHierarchy ( > CfgMgrProtocol, > CM_NULL_TOKEN, > ScopeNode, > - &ProcContainerIndex > + &ProcContainerIndex, > + FALSE > ); > if (EFI_ERROR (Status)) { > ASSERT (0); > -- > 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116689): https://edk2.groups.io/g/devel/message/116689 Mute This Topic: https://groups.io/mt/104183075/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-