From nobody Sun May 19 13:14:42 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+99615+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 167544785853139.18099259677945; Fri, 3 Feb 2023 10:10:58 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id bDTFYY1788612xgvydf85TRS; Fri, 03 Feb 2023 10:10:58 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.86]) by mx.groups.io with SMTP id smtpd.web10.18538.1675447857364937565 for ; Fri, 03 Feb 2023 10:10:57 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WIypMjDv+sOcnTu0nc8Aq3yHPVL1CfdYZyWCFb0gVp2PhtmqUG0u+P+J2vHvhiQE93WhI4KApuOZ4/WBTomnxZgu2aAZO+CdtnE6aqTSj5/KFBT0D/dCGnO03y6kwUr8RnT6q9B+ywIrt9PAwmRMvhqxNr0u5W3y7D42mZ7hVzWhdf3b7/JaPcOxfalR94ud9wq6kuQ8Pwdex4tI1OucEED7K5oVC42tkp2bvTyXAl9cejUtx+wbABjJXfrkw36sI0+CcbK9X/2ruMyRqCrvMeuqnHyq6VJhtG459YIl7LoOUuS4cmixpafNAioEjVC9Q7y2ghQuao6TbZcsj6nzyg== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VOmHOKnmczAMQwxAwV/WOw6emrJpDmiLTFPn/oZnK/4=; b=KuUQTOOSQ5L5tpq7GiN99OPNGv5zdS8Brxv9VT8J+Ap8omqCXVBEv376u1aOQlOm1Fzaq0Ww0JFaJgCVA5OFHx493NNRRnf5fVw4Lf8Xl3TJWuWUhOaZC+4z6Oo3tK8KLBVYCvNhGDFFct5U7VZvu++BMb6CAPZ96YkX5i7JXmVkAENSErS/a4CvmpQ5+cUJ+WMnIeu5UvyAk1DAjaZPtiV3cuzvVGm2HDWt6THjvriTbp+J6ceiT0+92/NR3eUdYvqoORMTwWTSF8GTr6PfhYbBS4qbAIRgIA2tbphkT2f1xzS1PsI1zB/Drr0rUo6AisNINhhO4R+xoGop/wqPdA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from MW4PR04CA0334.namprd04.prod.outlook.com (2603:10b6:303:8a::9) by IA1PR12MB6354.namprd12.prod.outlook.com (2603:10b6:208:3e2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Fri, 3 Feb 2023 18:10:55 +0000 X-Received: from CO1NAM11FT090.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8a:cafe::f3) by MW4PR04CA0334.outlook.office365.com (2603:10b6:303:8a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27 via Frontend Transport; Fri, 3 Feb 2023 18:10:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+99615+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (216.228.117.160) by CO1NAM11FT090.mail.protection.outlook.com (10.13.175.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.31 via Frontend Transport; Fri, 3 Feb 2023 18:10:54 +0000 X-Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Fri, 3 Feb 2023 10:10:46 -0800 X-Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Fri, 3 Feb 2023 10:10:46 -0800 X-Received: from f9050a1d9579.nvidia.com (10.127.8.9) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.986.36 via Frontend Transport; Fri, 3 Feb 2023 10:10:45 -0800 From: "Jeff Brasen via groups.io" To: CC: , , , , , Jeff Brasen Subject: [edk2-devel] [PATCH v2] DynamicTablesPkg: Allow multiple top level physical nodes Date: Fri, 3 Feb 2023 11:10:42 -0700 Message-ID: <2fbd84095cc52b908f0a59d98358f36a396c319b.1675447806.git.jbrasen@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT090:EE_|IA1PR12MB6354:EE_ X-MS-Office365-Filtering-Correlation-Id: 782d9603-fcee-4321-7323-08db0611fe0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: KXeCs//Xye16GkYqT8GL201neDH+ZJnEQ/Eemj1JfHcf91GjimgIvNKibL4B6OOKP06taOO5dNAImdoWNDI1XtLN5lB2QTYjG2CVMw0FNB4xIxPNTna0fCQapAYrrBc9NIO3MKqjNtYQ9TfrEp/SoWpghekdLOwKFCslyhrciWMEboYioGZF7es6cp16ciTTCdgJrXmf0GS6GnKMb0cvlXWeTxTZfhhSgbeXIPN2JeyvpOoS2LsvhFncsYER9SRgbsLALP4xvNp0FKsySYV1arMKv/chuVGLczF0+7faOvAOZitbmdWua7pZxI1gpvjPMNP09lsVCgcMHYI5I5Apaz65RKRutZwxREVl/Qft6Py0aHBGRpbBgPi/kBTbPUT0YgcJa5qkddqoh4I/NN9QbxpoYcIMWqTHPA39iwWrWW0gymQLbDS5/PHlsVSw89wqSbvty1EKdamE+1RK3sKPqKD5M76mXeGQvn1Ta/JPGaXBDuPReUT47R6uoIwWMDZJERVgREzqmduTvXzpB4kwuDmu8TlEm/VF7gKvnivq/2EP8F3lxEs3IHbCazmkmm/iBrlRXEodV1ikaNJqwuj7j4Wu76neuBJ6LnH98b+ikyldgvR0c5XRQ1Pu2V9KVcsiqLkf/O50zXBmNK2621jYz9SHnc+f33spQmaSmcoYo5HSROJf8qNytgg2bnuu+NxflTJHKYj3qJectKXE0mSMkg== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2023 18:10:54.8690 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 782d9603-fcee-4321-7323-08db0611fe0e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT090.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6354 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,jbrasen@nvidia.com X-Gm-Message-State: XJku4nWs3dlTCBYaGcA0tMQwx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1675447858; bh=kgfF/28jgi3elnR2qShNHLgJdPyFlVlwaYF24MMZ57E=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=cEFpJzLJMH0Caudm32pKsbOdbfkdCfVQ2kSFHFAfNYj8f3Uvh9DeW/J7V/seDGechg8 uHdfg9KME8XrN4UzOLWW41GQrMzOndEav7YihA3sEN0Ngu7nEd4JXrKotkC9l1fcnjac0 eYCl55mha2DRDbe5XyBfSe4cZZGkNlQG+Cg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1675447860028100001 Content-Type: text/plain; charset="utf-8" In SSDT CPU topology generator allow for multiple top level physical nodes as would be seen with a multi-socket system. This will create a top level processor container for all systems. Signed-off-by: Jeff Brasen --- .../SsdtCpuTopologyGenerator.c | 43 ++++++------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/Ss= dtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTop= ologyLibArm/SsdtCpuTopologyGenerator.c index c24da8ec71..46b757e0b2 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTo= pologyGenerator.c @@ -814,7 +814,8 @@ CreateAmlProcessorContainer ( Protocol Interface. @param [in] NodeToken Token of the CM_ARM_PROC_HIERARCHY_I= NFO currently handled. - Cannot be CM_NULL_TOKEN. + CM_NULL_TOKEN if top level container + should be created. @param [in] ParentNode Parent node to attach the created node to. @param [in,out] ProcContainerIndex Pointer to the current processor con= tainer @@ -841,12 +842,12 @@ CreateAmlCpuTopologyTree ( AML_OBJECT_NODE_HANDLE ProcContainerNode; UINT32 Uid; UINT16 Name; + UINT32 NodeFlags; =20 ASSERT (Generator !=3D NULL); ASSERT (Generator->ProcNodeList !=3D NULL); ASSERT (Generator->ProcNodeCount !=3D 0); ASSERT (CfgMgrProtocol !=3D NULL); - ASSERT (NodeToken !=3D CM_NULL_TOKEN); ASSERT (ParentNode !=3D NULL); ASSERT (ProcContainerIndex !=3D NULL); =20 @@ -893,8 +894,14 @@ CreateAmlCpuTopologyTree ( } else { // If this is not a Cpu, then this is a processor container. =20 + NodeFlags =3D Generator->ProcNodeList[Index].Flags; + // Allow physical property for top level nodes + if (NodeToken =3D=3D CM_NULL_TOKEN) { + NodeFlags &=3D ~EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL; + } + // Acpi processor Id for clusters is not handled. - if ((Generator->ProcNodeList[Index].Flags & PPTT_PROCESSOR_MASK) != =3D + if ((NodeFlags & PPTT_PROCESSOR_MASK) !=3D PPTT_CLUSTER_PROCESSOR_MASK) { DEBUG (( @@ -974,8 +981,6 @@ CreateTopologyFromProcHierarchy ( ) { EFI_STATUS Status; - UINT32 Index; - UINT32 TopLevelProcNodeIndex; UINT32 ProcContainerIndex; =20 ASSERT (Generator !=3D NULL); @@ -984,8 +989,7 @@ CreateTopologyFromProcHierarchy ( ASSERT (CfgMgrProtocol !=3D NULL); ASSERT (ScopeNode !=3D NULL); =20 - TopLevelProcNodeIndex =3D MAX_UINT32; - ProcContainerIndex =3D 0; + ProcContainerIndex =3D 0; =20 Status =3D TokenTableInitialize (Generator, Generator->ProcNodeCount); if (EFI_ERROR (Status)) { @@ -993,33 +997,10 @@ CreateTopologyFromProcHierarchy ( return Status; } =20 - // It is assumed that there is one unique CM_ARM_PROC_HIERARCHY_INFO - // structure with no ParentToken and the EFI_ACPI_6_3_PPTT_PACKAGE_PHYSI= CAL - // flag set. All other CM_ARM_PROC_HIERARCHY_INFO are non-physical and - // have a ParentToken. - for (Index =3D 0; Index < Generator->ProcNodeCount; Index++) { - if ((Generator->ProcNodeList[Index].ParentToken =3D=3D CM_NULL_TOKEN) = && - (Generator->ProcNodeList[Index].Flags & - EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL)) - { - if (TopLevelProcNodeIndex !=3D MAX_UINT32) { - DEBUG (( - DEBUG_ERROR, - "ERROR: SSDT-CPU-TOPOLOGY: Top level CM_ARM_PROC_HIERARCHY_INFO " - "must be unique\n" - )); - ASSERT (0); - goto exit_handler; - } - - TopLevelProcNodeIndex =3D Index; - } - } // for - Status =3D CreateAmlCpuTopologyTree ( Generator, CfgMgrProtocol, - Generator->ProcNodeList[TopLevelProcNodeIndex].Token, + CM_NULL_TOKEN, ScopeNode, &ProcContainerIndex ); --=20 2.25.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 (#99615): https://edk2.groups.io/g/devel/message/99615 Mute This Topic: https://groups.io/mt/96729031/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-