From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com [40.107.0.71]) by mx.groups.io with SMTP id smtpd.web09.15284.1638979612133774047 for ; Wed, 08 Dec 2021 08:06:53 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=dfkViAVb; spf=pass (domain: arm.com, ip: 40.107.0.71, mailfrom: christopher.jones@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=Lc8JX6sjgAfiwH7vO0v5y7FOigVKquDKhJms8SRWcbI=; b=dfkViAVb/2T+GdyE82jbowM00FoaugPQQVTmuT2/LS1V/BMQiox+a2uMlBSpO7Yged3pcVPl/zdEiArj01wH2y8Us7iH5iUXX6l7kX6gsJ6QD25BreiI/6aZ4DE8OlKqbUgYLkiJXjduhjCB3KsJnmqXZqWxKr4Ai7syQuJMl4Q= Received: from AS9P194CA0014.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::25) by AS8PR08MB6533.eurprd08.prod.outlook.com (2603:10a6:20b:33e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.21; Wed, 8 Dec 2021 16:06:49 +0000 Received: from AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:46d:cafe::4f) by AS9P194CA0014.outlook.office365.com (2603:10a6:20b:46d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11 via Frontend Transport; Wed, 8 Dec 2021 16:06:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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 AM5EUR03FT030.mail.protection.outlook.com (10.152.16.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.13 via Frontend Transport; Wed, 8 Dec 2021 16:06:49 +0000 Received: ("Tessian outbound a33f292be81b:v110"); Wed, 08 Dec 2021 16:06:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 04d7d5a724b1be68 X-CR-MTA-TID: 64aa7808 Received: from 4f8dcdcdff01.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1CD334FC-3940-4969-9096-4360F01FE20A.1; Wed, 08 Dec 2021 16:06:41 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4f8dcdcdff01.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 08 Dec 2021 16:06:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DYvMi7Q4ymr4aDhJw7pDE1znK6bbiHhjfNMKu368tbwVSWC6BIXDfkfkYkyHjGVuFcBDFDWL2v05uXsGamjOvqsu+1U7UxiaY5IqubbgniV2Cgy9qaSmfydz60ZVlPnwzoNSnSik3+F3Dv655PIRpqP8nU1bn8xOqL8DJljEs0x9wEbmhwlfdpB5AI/hdJ38yOJ32uAvd/XnAqHUg/uYFfda3aT0Zg3/5/n4erJKTtAVlRBLjHEsUakcmZR4cdc2nE4JV6bITWYNxn6CzS9oDLyBBv1rF6uClkksCwGDtni8OpEUMH7LLSzPKgysn0cOQgXPZ0TbztWqCWIQj4Sc6g== 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=Lc8JX6sjgAfiwH7vO0v5y7FOigVKquDKhJms8SRWcbI=; b=J6wnxCazEminPKWcZqXaZQlikrCLmDTrZrhuGTflbwIp4PdgBTDyDBfvtT6SBmXEhXwczEAC/faE5Szw4RG5e7ZRWA7DbLAXMyZkqPKh905kHEaKkce51gtcILms8YA8XIqvdWNlz3RYZVdvKgPcIHDQjp8LmdLvKr+e3Y9xbOAUE29FyiUMu7Jd/S0EbTH0UFzEC1CUXJXXb9k7ttHwPLEHrYq/y+YGQkVvTlD8/x+0/Sey48SAJ6rpIWnUNk4XFbob7XQCYgDcbSpUWud034Tys5N2gYSI5SG36lDgqq9APBcz4zGGWRFK5MwpTiPOH9GI3RXMd1PW2QxaDTnXhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); 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=Lc8JX6sjgAfiwH7vO0v5y7FOigVKquDKhJms8SRWcbI=; b=dfkViAVb/2T+GdyE82jbowM00FoaugPQQVTmuT2/LS1V/BMQiox+a2uMlBSpO7Yged3pcVPl/zdEiArj01wH2y8Us7iH5iUXX6l7kX6gsJ6QD25BreiI/6aZ4DE8OlKqbUgYLkiJXjduhjCB3KsJnmqXZqWxKr4Ai7syQuJMl4Q= Received: from AM7PR02CA0015.eurprd02.prod.outlook.com (2603:10a6:20b:100::25) by VE1PR08MB5631.eurprd08.prod.outlook.com (2603:10a6:800:1ab::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.16; Wed, 8 Dec 2021 16:06:39 +0000 Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:100:cafe::df) by AM7PR02CA0015.outlook.office365.com (2603:10a6:20b:100::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.17 via Frontend Transport; Wed, 8 Dec 2021 16:06:39 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Wed, 8 Dec 2021 16:06:38 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 8 Dec 2021 16:06:36 +0000 Received: from e125153.arm.com (10.57.3.247) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend Transport; Wed, 8 Dec 2021 16:06:35 +0000 From: "Chris Jones" To: CC: , , , , , , , Subject: [PATCH v3 5/7] DynamicTablesPkg: Remove PPTT ID structure from ACPI 6.4 generator Date: Wed, 8 Dec 2021 16:06:28 +0000 Message-ID: <20211208160630.10923-6-christopher.jones@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211208160630.10923-1-christopher.jones@arm.com> References: <20211208160630.10923-1-christopher.jones@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 7181e551-ca96-40a0-96a7-08d9ba64bdee X-MS-TrafficTypeDiagnostic: VE1PR08MB5631:EE_|AM5EUR03FT030:EE_|AS8PR08MB6533:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7691;OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: NfbnQGAwTlotjSBAHhtnIB7+eMCytp6QwvovI0F2V+ueVMrNepihgBIckvvdl4+u4cdXnnV+1/sU9iqEsm7TR7sq0nvFyRecxgXdH4nTX0/g4p0G2yOHMFVnXPLHDoa5Wku9OYVQpjmtsugASIBFVxXhBxVMUvVOEan48bnrC+MMR1lhnwiK++xfeeeEkaXANoxwnibMgJaqtWGoCPgSlL0YIQ7rAWBbiO1Gay9X/wzepYGO/LAg0ciuDOhhRGRx5ZO7gTJLY10cgFTLPSVSIMpCzc0dmPdYYzuufeoC1CMYneTMEiYC5fBy59dyfFTuwC8b1cNu23VbbfMoKbUiQUxcku/lwoDjqLuRGUm/v8NNlA/JnzayGri0Rl9AsieMzN55HKXvO0fd28rAC5AHthOIwBM52OTnuQZIwMGtJAtDQ1VDyamuH+mqfd3uItJMGSslwdwIoz6ctNuCd+06Smm5nv70veCY7mhu2jKpEbQmgl1bU3xCWtj2A4arUjfDIRuK92MfI9YILi3iDvWf74UW+ntUagoTAjd68Kr/R6b++BfD6USX6pRQeQTA7lKb2xZYEpdn6r90usGrXLi57IV90EEkrZi7NWlp2CdS/x0O60mLfVuDrki+NnSup3pDhfoiw1ebsCDEH4Kl0H9YFyRAQTz5WfPnxhg7aDO81G/lr4aIE9gscneZZBXzurCCkDF/5tp2+H/NHQ+BGXPE2bf22CuRFOxj6256w6WepS0Abu2gLFnEEONm6+b+Mm8JWAokz2XcIln2BEX5N0GSJr2WiRhN+K1upkzk5sJmiN89ywrP/0todt0gMXL0J9SMBWIAzPKpwhXLC2MHiTJLs8v05xvL0ow+28haWuxoCgZua0WCDm/Jh1rOHpMHhnnI X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(40470700001)(356005)(7696005)(1076003)(8676002)(426003)(2616005)(6666004)(186003)(6916009)(336012)(30864003)(81166007)(86362001)(83380400001)(2906002)(8936002)(47076005)(16799955002)(40460700001)(5660300002)(508600001)(26005)(70586007)(36756003)(70206006)(82310400004)(4326008)(36860700001)(316002)(54906003)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5631 Return-Path: Christopher.Jones@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 785c0c8e-a7f3-4a32-7c14-08d9ba64b7a6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wfVEDz0zhyXKpyF8YtG39MuxSEVIvVZZcq+4v9pl1se0LIQbQVRvw9kHgYLJWb8rPaltiux7s6Wb+6xqhhhePJBhhf8AuUAvuZnlsvY9jXC+US9J50lG9/IxTEEpLMFl7tLUjoHH9fx1gZhVSzHQ17pywxit9bpiLqF26/Mf3VjAauw7G8sx9zVRrEv8yBmS1S7IjOPzdqPf4pzUapTPiID87LPGNhFz4blgo9p4uZTTn/dlxuYogsUJXCSpchI9rGF8qcf95q2Zbfu8gwYmp03CzDkC6B/N5E5u+/YHVeXQMzx4YRki0MWQLnfYKnbT8iNVjyb7eujKY37ECXwPnlJMSHIXGxGu77qCGDTwIAhrjkTC2cpZoeZCTIaz1v2nx7ZJ0tzomeqfyKOwrCbEEL18HX6wB0DD6Qw8pF21iPNAhAHc1RLQ/rX1gRoUy+x15sDO/sIHt5dn8QxO55FeAYhOgBvJ7w4sTSqJ7xTZnk2CUj4g93KRoPVXXU8HxWq5WW9e46vtNTrv+rTq6BOItHSNn02tcWFExgJlqv3aH0mNaJ3eW9y1PMVjXp/j4deF8T9nUvRAXT9+bnc+BKlwYwC6E3Kq1ZyGiZ47BnjjYKR/mpxlG7Kr/rd3iLODnd9TnwoQ8q952+rLW9hjBGsAnUKSNU+dN9IDbbdIPV4vzE8SUdjonVNOkxsDBmnsqOJ4GWQNmDqf4ohnuumaV9XfASHFbKw3HRyV+cgB8vIMi95tBVma+aNzee/f5Ht6CBj+FoU7kHZRmNfX5APhDfK3FKaDvKzTc5JLF9q1twZBu1NLliQv15KxxzrOcpQIHBwGuw9XefcbzG4FgHxYPzrqJA== 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)(40470700001)(81166007)(47076005)(2616005)(16799955002)(26005)(70586007)(54906003)(83380400001)(86362001)(82310400004)(70206006)(40460700001)(30864003)(426003)(336012)(8676002)(8936002)(6666004)(316002)(36860700001)(36756003)(2906002)(508600001)(1076003)(7696005)(186003)(5660300002)(4326008)(6916009);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2021 16:06:49.4880 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7181e551-ca96-40a0-96a7-08d9ba64bdee 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: AM5EUR03FT030.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6533 Content-Type: text/plain Bugzilla: 3697 (https://bugzilla.tianocore.org/show_bug.cgi?id=3697) ACPI 6.3A deprecated PPTT ID (type 2) structure which was subsequently removed in ACPI 6.4. Therefore remove support for generating PPTT ID structures. Mantis ID for removing PPTT type 2 structure: 2072 (https://mantis.uefi.org/mantis/view.php?id=2072) Signed-off-by: Chris Jones --- DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 23 +-- DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c | 154 +------------------- DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h | 4 - 3 files changed, 3 insertions(+), 178 deletions(-) diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index 22b37edfabd1f6a1d1a3015f4a0249c28489367c..3246e8884723ac85340bf880a3859800726be3c1 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -50,7 +50,7 @@ typedef enum ArmObjectID { EArmObjSmmuInterruptArray, ///< 26 - SMMU Interrupt Array EArmObjProcHierarchyInfo, ///< 27 - Processor Hierarchy Info EArmObjCacheInfo, ///< 28 - Cache Info - EArmObjProcNodeIdInfo, ///< 29 - Processor Node ID Info + EArmObjReserved29, ///< 29 - Reserved EArmObjCmRef, ///< 30 - CM Object Reference EArmObjMemoryAffinityInfo, ///< 31 - Memory Affinity Info EArmObjDeviceHandleAcpi, ///< 32 - Device Handle Acpi @@ -747,27 +747,6 @@ typedef struct CmArmCacheInfo { UINT16 LineSize; } CM_ARM_CACHE_INFO; -/** A structure that describes the ID Structure (Type 2) in PPTT - - ID: EArmObjProcNodeIdInfo -*/ -typedef struct CmArmProcNodeIdInfo { - /// A unique token used to identify this object - CM_OBJECT_TOKEN Token; - // Vendor ID (as described in ACPI ID registry) - UINT32 VendorId; - /// First level unique node ID - UINT64 Level1Id; - /// Second level unique node ID - UINT64 Level2Id; - /// Major revision of the node - UINT16 MajorRev; - /// Minor revision of the node - UINT16 MinorRev; - /// Spin revision of the node - UINT16 SpinRev; -} CM_ARM_PROC_NODE_ID_INFO; - /** A structure that describes a reference to another Configuration Manager object. diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c index f78bbed7c1beee4211752bba94ce531a84e84f10..58ad338d339f7f2cf506df961f016edb160f0edc 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c @@ -34,7 +34,6 @@ The following Configuration Manager Object(s) are used by this Generator: - EArmObjProcHierarchyInfo (REQUIRED) - EArmObjCacheInfo - - EArmObjProcNodeIdInfo - EArmObjCmRef - EArmObjGicCInfo (REQUIRED) */ @@ -59,16 +58,6 @@ GET_OBJECT_LIST ( CM_ARM_CACHE_INFO ); -/** - This macro expands to a function that retrieves the ID information for - Processor Hierarchy Nodes from the Configuration Manager. -*/ -GET_OBJECT_LIST ( - EObjNameSpaceArm, - EArmObjProcNodeIdInfo, - CM_ARM_PROC_NODE_ID_INFO - ); - /** This macro expands to a function that retrieves the cross-CM-object- reference information from the Configuration Manager. @@ -131,15 +120,6 @@ GET_SIZE_OF_PPTT_STRUCTS ( CM_ARM_CACHE_INFO ); -/** This macro expands to a function that retrieves the amount of memory - required to store the ID Structures (Type 2) and updates the Node Indexer. -*/ -GET_SIZE_OF_PPTT_STRUCTS ( - IdStructs, - sizeof (EFI_ACPI_6_3_PPTT_STRUCTURE_ID), - CM_ARM_PROC_NODE_ID_INFO - ); - /** Search the Node Indexer and return the indexed PPTT node with the given Token. @@ -373,8 +353,8 @@ AddPrivateResources ( } // The Node indexer has the Processor hierarchy nodes at the begining - // followed by the cache structs and Id structs. Therefore we can - // skip the Processor hierarchy nodes in the node indexer search. + // followed by the cache structs. Therefore we can skip the Processor + // hierarchy nodes in the node indexer search. Status = GetPpttNodeReferencedByToken ( Generator->CacheStructIndexedList, (Generator->ProcTopologyStructCount - @@ -969,71 +949,6 @@ AddCacheTypeStructures ( return EFI_SUCCESS; } -/** - Update the ID Type Structure (Type 2) information. - - This function populates the ID Type Structures with information from - the Configuration Manager and and adds this information to the PPTT table. - - @param [in] Generator Pointer to the PPTT Generator. - @param [in] CfgMgrProtocol Pointer to the Configuration Manager - Protocol Interface. - @param [in] Pptt Pointer to PPTT table structure. - @param [in] NodesStartOffset Offset from the start of PPTT table to the - start of ID Type Structures. - - @retval EFI_SUCCESS Structures updated successfully. - @retval EFI_INVALID_PARAMETER A parameter is invalid. - @retval EFI_NOT_FOUND A required object was not found. -**/ -STATIC -EFI_STATUS -AddIdTypeStructures ( - IN CONST ACPI_PPTT_GENERATOR *CONST Generator, - IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, - IN CONST EFI_ACPI_6_3_PROCESSOR_PROPERTIES_TOPOLOGY_TABLE_HEADER *Pptt, - IN CONST UINT32 NodesStartOffset - ) -{ - EFI_ACPI_6_3_PPTT_STRUCTURE_ID *IdStruct; - CM_ARM_PROC_NODE_ID_INFO *ProcIdInfoNode; - PPTT_NODE_INDEXER *IdStructIterator; - UINT32 NodeCount; - - ASSERT ( - (Generator != NULL) && - (CfgMgrProtocol != NULL) && - (Pptt != NULL) - ); - - IdStruct = (EFI_ACPI_6_3_PPTT_STRUCTURE_ID *)((UINT8 *)Pptt + NodesStartOffset); - - IdStructIterator = Generator->IdStructIndexedList; - NodeCount = Generator->IdStructCount; - while (NodeCount-- != 0) { - ProcIdInfoNode = (CM_ARM_PROC_NODE_ID_INFO *)IdStructIterator->Object; - - // Populate the node - IdStruct->Type = EFI_ACPI_6_3_PPTT_TYPE_ID; - IdStruct->Length = sizeof (EFI_ACPI_6_3_PPTT_STRUCTURE_ID); - IdStruct->Reserved[0] = EFI_ACPI_RESERVED_BYTE; - IdStruct->Reserved[1] = EFI_ACPI_RESERVED_BYTE; - IdStruct->VendorId = ProcIdInfoNode->VendorId; - IdStruct->Level1Id = ProcIdInfoNode->Level1Id; - IdStruct->Level2Id = ProcIdInfoNode->Level2Id; - IdStruct->MajorRev = ProcIdInfoNode->MajorRev; - IdStruct->MinorRev = ProcIdInfoNode->MinorRev; - IdStruct->SpinRev = ProcIdInfoNode->SpinRev; - - // Next ID Type Structure - IdStruct = (EFI_ACPI_6_3_PPTT_STRUCTURE_ID *)((UINT8 *)IdStruct + - IdStruct->Length); - IdStructIterator++; - } // ID Type Structure - - return EFI_SUCCESS; -} - /** Construct the PPTT ACPI table. @@ -1072,15 +987,12 @@ BuildPpttTable ( UINT32 ProcTopologyStructCount; UINT32 ProcHierarchyNodeCount; UINT32 CacheStructCount; - UINT32 IdStructCount; UINT32 ProcHierarchyNodeOffset; UINT32 CacheStructOffset; - UINT32 IdStructOffset; CM_ARM_PROC_HIERARCHY_INFO *ProcHierarchyNodeList; CM_ARM_CACHE_INFO *CacheStructList; - CM_ARM_PROC_NODE_ID_INFO *IdStructList; ACPI_PPTT_GENERATOR *Generator; @@ -1155,27 +1067,6 @@ BuildPpttTable ( ProcTopologyStructCount += CacheStructCount; Generator->CacheStructCount = CacheStructCount; - // Get the processor hierarchy node ID info and update the processor topology - // structure count with ID Structures (Type 2) - Status = GetEArmObjProcNodeIdInfo ( - CfgMgrProtocol, - CM_NULL_TOKEN, - &IdStructList, - &IdStructCount - ); - if (EFI_ERROR (Status) && (Status != EFI_NOT_FOUND)) { - DEBUG (( - DEBUG_ERROR, - "ERROR: PPTT: Failed to get processor hierarchy node ID info. " \ - "Status = %r\n", - Status - )); - goto error_handler; - } - - ProcTopologyStructCount += IdStructCount; - Generator->IdStructCount = IdStructCount; - // Allocate Node Indexer array NodeIndexer = (PPTT_NODE_INDEXER *)AllocateZeroPool ( sizeof (PPTT_NODE_INDEXER) * @@ -1241,27 +1132,6 @@ BuildPpttTable ( )); } - // Include the size of ID Type Structures and index them - if (Generator->IdStructCount != 0) { - IdStructOffset = TableSize; - Generator->IdStructIndexedList = NodeIndexer; - TableSize += GetSizeofIdStructs ( - IdStructOffset, - IdStructList, - Generator->IdStructCount, - &NodeIndexer - ); - DEBUG (( - DEBUG_INFO, - " IdStructCount = %d\n" \ - " IdStructOffset = 0x%x\n" \ - " IdStructIndexedList = 0x%p\n", - Generator->IdStructCount, - IdStructOffset, - Generator->IdStructIndexedList - )); - } - DEBUG (( DEBUG_INFO, "INFO: PPTT:\n" \ @@ -1347,24 +1217,6 @@ BuildPpttTable ( } } - // Add ID Type Structures (Type 2) to the generated table - if (Generator->IdStructCount != 0) { - Status = AddIdTypeStructures ( - Generator, - CfgMgrProtocol, - Pptt, - IdStructOffset - ); - if (EFI_ERROR (Status)) { - DEBUG (( - DEBUG_ERROR, - "ERROR: PPTT: Failed to add ID Type Structures. Status = %r\n", - Status - )); - goto error_handler; - } - } - // Validate CM object cross-references in PPTT Status = DetectCyclesInTopology (Generator); if (EFI_ERROR (Status)) { @@ -1488,8 +1340,6 @@ ACPI_PPTT_GENERATOR PpttGenerator = { 0, // Count of Cache Structures 0, - // Count of Id Structures - 0, // Pointer to PPTT Node Indexer NULL }; diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h index f587e67e9f8bf51511c6187ba0384e1cb60661d5..15b0a9871c3d555a62b79595c317e6597f6ead05 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h @@ -171,8 +171,6 @@ typedef struct AcpiPpttGenerator { UINT32 ProcHierarchyNodeCount; /// Count of Cache Structures UINT32 CacheStructCount; - /// Count of Id Structures - UINT32 IdStructCount; /// List of indexed CM objects for PPTT generation PPTT_NODE_INDEXER *NodeIndexer; /// Pointer to the start of Processor Hierarchy nodes in @@ -180,8 +178,6 @@ typedef struct AcpiPpttGenerator { PPTT_NODE_INDEXER *ProcHierarchyNodeIndexedList; /// Pointer to the start of Cache Structures in the Node Indexer array PPTT_NODE_INDEXER *CacheStructIndexedList; - /// Pointer to the start of Id Structures in the Node Indexer array - PPTT_NODE_INDEXER *IdStructIndexedList; } ACPI_PPTT_GENERATOR; #pragma pack() -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")