From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (EUR01-HE1-obe.outbound.protection.outlook.com [40.107.13.77]) by mx.groups.io with SMTP id smtpd.web12.38085.1634569875127526988 for ; Mon, 18 Oct 2021 08:11:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=fcRvPuM5; spf=pass (domain: arm.com, ip: 40.107.13.77, 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=8zr0IQ/krbkZ4NZ2B9Jv6wlHOFJbFXkYxFN82dfiqlY=; b=fcRvPuM5o3SQ1jdu/7oFkqAVUKnTnb7Vhc6cQXnPkFZP/sEDsrLg/5QZUjEslZp4/ivooYqDdH51frA/7Gx3yeWYg+mrMVayPLEcKxSDU8Pd7Ys4oyrFMHyVTTGrfxJSwM/EjcO2wY7Y6TkfzU6NQ+qGsedSrkKxic3dx68XBAU= Received: from AM6PR0202CA0052.eurprd02.prod.outlook.com (2603:10a6:20b:3a::29) by AM9PR08MB6707.eurprd08.prod.outlook.com (2603:10a6:20b:305::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Mon, 18 Oct 2021 15:11:10 +0000 Received: from AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:3a:cafe::6) by AM6PR0202CA0052.outlook.office365.com (2603:10a6:20b:3a::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.18 via Frontend Transport; Mon, 18 Oct 2021 15:11:10 +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 AM5EUR03FT051.mail.protection.outlook.com (10.152.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15 via Frontend Transport; Mon, 18 Oct 2021 15:11:10 +0000 Received: ("Tessian outbound a8bfe25d7364:v103"); Mon, 18 Oct 2021 15:11:10 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: a99db736c7a4c285 X-CR-MTA-TID: 64aa7808 Received: from 2d4534fee92b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 52F9C4BC-52AB-41D8-A4E1-63C6767FF73D.1; Mon, 18 Oct 2021 15:11:03 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d4534fee92b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 18 Oct 2021 15:11:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PlQSira858jC99ywll99Z4lfntYnPrPU+9Bpu+ZaimXX1DdE/gGepq8xjnf/5m83tifjqDDLVP+JBWqYsSuk+0Kj0SBi1K81aDqmiCYqL2rvpxgUlCFYF6J1XPhp2ZYw0DwF6JVvC6pGVDgyhddsMdJPRYg5hFNuRvLx2YfV7usDXM1G9elc/uyL68DhZxtUASWWhB9znTvRua6QrjGZoR/CE+6DllLp2azMKuCBojj3FqxBvkEWsuLH8DF0uTDGDk7eBxm+HANc6QUe/oZOkf9sDfPkLuarXTkGQZZXqfzyBSxwOBr1djf6lMnKkdUnLhDk7ZRTfKG8Qxy/nDpwiA== 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=8zr0IQ/krbkZ4NZ2B9Jv6wlHOFJbFXkYxFN82dfiqlY=; b=QXfQGijPXITAnJHTpFKneVF/eItu7mvMX093FLB6tjIcPZzJNopSPvTJw/qwufLkJlfUadDlaYMrNgB+5sjY3wR7Sb1CvwD6GEm7mm1XqI8+7mvppa8qzx7Y+0daUyCsDvawLsAgNcJVkKJs/uWGL5ix+0JvDcrYxZomd3htP+wJBIwRFhzDN2WTCDZBkAIbGWsSbeSCpUN0BVZfzrd0HGHIEWf+zGQmOJsVnKfvqcXco0UjnHZI1RBGTnmAfx1eTwknNWwq74FpbRIbohOwMds5bRameULsZaXixB44I2D0lytT5Di11qGHDCpLXUvZKlh6WrLyuN/aqgL2AbyaWg== 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=8zr0IQ/krbkZ4NZ2B9Jv6wlHOFJbFXkYxFN82dfiqlY=; b=fcRvPuM5o3SQ1jdu/7oFkqAVUKnTnb7Vhc6cQXnPkFZP/sEDsrLg/5QZUjEslZp4/ivooYqDdH51frA/7Gx3yeWYg+mrMVayPLEcKxSDU8Pd7Ys4oyrFMHyVTTGrfxJSwM/EjcO2wY7Y6TkfzU6NQ+qGsedSrkKxic3dx68XBAU= Received: from AS8P251CA0026.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:2f2::17) by DBAPR08MB5832.eurprd08.prod.outlook.com (2603:10a6:10:1a5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Mon, 18 Oct 2021 15:11:02 +0000 Received: from AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:2f2:cafe::10) by AS8P251CA0026.outlook.office365.com (2603:10a6:20b:2f2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16 via Frontend Transport; Mon, 18 Oct 2021 15:11:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; 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 AM5EUR03FT042.mail.protection.outlook.com (10.152.17.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4608.15 via Frontend Transport; Mon, 18 Oct 2021 15:11:01 +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.14; Mon, 18 Oct 2021 15:10:50 +0000 Received: from e125153.arm.com (10.57.27.61) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend Transport; Mon, 18 Oct 2021 15:10:49 +0000 From: "Chris Jones" To: CC: , , , , , , , Subject: [PATCH v1 5/7] DynamicTablesPkg: Remove PPTT ID structure from ACPI 6.4 generator Date: Mon, 18 Oct 2021 16:10:44 +0100 Message-ID: <20211018151046.31232-6-christopher.jones@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211018151046.31232-1-christopher.jones@arm.com> References: <20211018151046.31232-1-christopher.jones@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 362406b7-3be6-4ec1-d001-08d99249849d X-MS-TrafficTypeDiagnostic: DBAPR08MB5832:|AM9PR08MB6707: 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: vPh7v3M9OkGPXdy5gkAc9mT6LahLDdoN6LyBO5kw+yFI4KADnb3UDTt0Dq3S1LqORx3tvgj4ZU9EeUj3MVfAPnG7DxBMJcFz1lJKIWrpma9rBzf93FsCjxvMUlRJ2kt3c40VFZK+Sd5BR7oGaV0qIOyhsiV8PikiwnPuaOTfYvSWFXKF8bjHtI7mFfHO3AW7L8TIxT751zXCLgQEAZWDcUHoguNXRKt3Ayr6Qjc03gr+geSXhvPfVAX9wPqG+u1jCu0tL3cKrJIYVvu17mwIKT6MqCOxnkdSO9KAFz30rAwM2qQmCUcXzzczGbJ3SWv75o+vefWFp0/BHlNXbhCvmYAixNo3rxZWrgIaj7SjPzN0GtBpERCvKQ0oiA8Ie8704mUeRPnASK67qyyGNCQ44NJ3AVf0coa+oXV5R/y8Aa8cgdFaSwNgDP3VDAnS6LrHSM2zRjxVwkpz6zl4QqVKS1W0Hx1igPcR0C1fbyDyBk2PChwGQZ1LV8oWcV4VLx2Se43Scjbtz8+CRnbohg7nSKUGeAdis8bB3m71/O7ZNr5hTg+5ey9pXqlFYmFutlkbNC+xXQFJslbbhhjQk5GZRMnRGnor3gJ3HllBIkeHs8wJrvJsYdhqvV0tnCrl521PelNKXKZIqcoCOXEGBit19ZZ/aWQxQ52EtPHFqkiK7Nn62zcbWNi0+35SYQOBrfpGDwMW/03pHONdxXBrIUEMPJrkvjsNw5geu3aHsH1PJ3RA0PYFz8knRiZbXv5K0W6jts6DfPsnm6Jfi0OOMdJFaGBdF1/v3ycNfrAv3NjlneiEchBkq4y2vcGaMjcF/rJ+ 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)(356005)(81166007)(47076005)(316002)(8936002)(4326008)(2906002)(86362001)(36860700001)(7696005)(426003)(6916009)(83380400001)(26005)(36756003)(1076003)(5660300002)(336012)(508600001)(70586007)(54906003)(8676002)(82310400003)(6666004)(186003)(2616005)(70206006)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5832 Return-Path: Christopher.Jones@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: dfdc3109-5165-42df-24e2-08d992497f82 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: krNVZvXGoifeRO57bxzbXHxcI2zWlLxKwZ2c7FxuflcbU9V1Lr0lNr7RGBpKe8vztYD5RXo8ZRuAC3BYMiYeNB3lntgDlWB1n1O8uifSjjAiUq8DYh5yVv35Li/1UatGNO/ZcMZR458draTTiC7egH+Avy+EWR/BwWSlfnwznhl3bbWXktt3vIWEBfsXsYFCJS9xwNd/yYBkR59KpBGaA5uK6jQhet4pdjyUjrNHA0xraSknxnAgJSgYZzFJKYXmRUx1AnwA3YIZLQIzielCbNBS5qCx9zQUBucIJk07/pgknd0EiRwU4WqacOPAS+prk8p3iGSVAQc2qCvG5AHQrOLNmQydBaomZXSAOPhOCRAFYbsT27NArnDIsRqI/gPdvtsPdXagqrdFbHxj1dOaG2EIM//0Z1QgQlb/c4GjQ/3PCuhihd8Vvcr9R4aVS76D9uqcm7Cjep+MQiq0s96LnnYECMX3p4+hLr3pdlioievJcvnvd4eGEMLbsGXPYOe3VQqzcnxReY+DuO2CsWOcI9eOrqhA5hEGnqDrrtvDW71zE6E/4vbQj6/Vr6YGsF8tn3pUbPIXbKB4uSw0CRmpN1rLgO2e33D7usWR+iYATw20YcKNuisx7KAvnR4KKliGK35P1vRZmWKxC82jUUk2OqSirlqXQY1Te4aMsAurRSszdYSLxyVD+DRL9fvdvH24VmRb13J+0sbdDeCzsYgr8MizK6lGp95kj0eIGwFKdYset/mWMsbsAaI7j6hEBblYyLHLUvoLX8v27u8WtcA0pg== 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)(186003)(6916009)(81166007)(316002)(336012)(8676002)(86362001)(36756003)(47076005)(36860700001)(7696005)(2616005)(426003)(2906002)(5660300002)(508600001)(1076003)(6666004)(83380400001)(26005)(54906003)(82310400003)(70206006)(70586007)(8936002)(4326008);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2021 15:11:10.4039 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 362406b7-3be6-4ec1-d001-08d99249849d 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: AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6707 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. Signed-off-by: Chris Jones --- DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 23 +-- DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c | 155 +------------------- DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/PpttGenerator.h | 4 - 3 files changed, 3 insertions(+), 179 deletions(-) diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index f19c9c70666970bb70b6aa09f064bb10a9a67112..6bc5ab6b2b28424c1afddc26cc89a54b81941aeb 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 @@ -746,27 +746,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 d70fc59e754e7d348965b8c3739822a9f1c4b7e6..65d1661c0ec47a4d1631c0dcac7bcb16dbc619e0 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. @@ -372,8 +352,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 - @@ -964,72 +944,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. @@ -1068,15 +982,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; @@ -1150,27 +1061,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) * @@ -1237,27 +1127,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" \ @@ -1343,24 +1212,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)) { @@ -1484,8 +1335,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 0a14da502d595e27d87262b1bac681318f1d9ced..59ddd71ac4ef57d748e143afaa6ac0befb4900e0 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")