From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id AFFC87803CC for ; Mon, 6 May 2024 03:09:06 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=rwnQst65b8Km/CR3EyNGMVOCkJ38OiG8vrInASJAwvk=; c=relaxed/simple; d=groups.io; h=Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20240206; t=1714964945; v=1; b=hE+0rzwHoPqOp3Xlz9vc1vMxyI7uLfYyAoctvFASJDpG71LV6V1Z5rWP6aREQnpT/mxeC+sY SNpY3jCJjiQukw1d0EdIVmbHrz7SGPkdKphZ3US0UxP6GZ+mtj6kW0FHpuPQ5MIDlI6CCYf7S2s KuPzPkOwerCTx/SWlDaIJHzt4TooQRfqTHwcQBkp6tTI8i6ii3DbGdzq7YQ1mL/pHxeX+p4IgpC Hg6G1/wH5lCLO4Q4ZsOj7FA3qNOJwp2MoAbNMJ7eMDHfmWXEOem/sMDSZy9mIVixw514uk5cpDd w7+ANCO/9T8GkiHgVsQV/1I9S6cfswCo+70DebMkpiWlQ== X-Received: by 127.0.0.2 with SMTP id MjnAYY7687511xBHGJOBYO15; Sun, 05 May 2024 20:09:05 -0700 X-Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.54]) by mx.groups.io with SMTP id smtpd.web11.12440.1714964944145585163 for ; Sun, 05 May 2024 20:09:04 -0700 X-Received: from BYAPR05CA0069.namprd05.prod.outlook.com (2603:10b6:a03:74::46) by CYYPR12MB8853.namprd12.prod.outlook.com (2603:10b6:930:cb::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.41; Mon, 6 May 2024 03:09:01 +0000 X-Received: from CO1PEPF000066EA.namprd05.prod.outlook.com (2603:10b6:a03:74:cafe::71) by BYAPR05CA0069.outlook.office365.com (2603:10b6:a03:74::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.41 via Frontend Transport; Mon, 6 May 2024 03:09:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C X-Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1PEPF000066EA.mail.protection.outlook.com (10.167.249.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7544.18 via Frontend Transport; Mon, 6 May 2024 03:09:01 +0000 X-Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 5 May 2024 22:09:00 -0500 X-Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 5 May 2024 22:09:00 -0500 X-Received: from BLR-LAB-SFW01.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Sun, 5 May 2024 22:08:58 -0500 From: "Abdul Lateef Attar via groups.io" To: CC: Abdul Lateef Attar , Pierre Gondois , Sami Mujawar Subject: [edk2-devel] [PATCH] DynamicTablesPkg: Adds integer to the AML package node Date: Mon, 6 May 2024 08:38:47 +0530 Message-ID: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000066EA:EE_|CYYPR12MB8853:EE_ X-MS-Office365-Filtering-Correlation-Id: 51f6462a-873d-4fc3-2bfc-08dc6d79e11d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?i76GZa77B73JGjA9B2mM/e83IZhwMXufX3K5Fkmz89Mm7RpmgunAHMeTT+Zv?= =?us-ascii?Q?CPxJP7dRZiRv8N+RH5vUimR4KCLlgEgXW1ZQ+F9XxPIA0aVoFTVtfqUlp6kF?= =?us-ascii?Q?9Vww3lmKmVadDxWaKv4EjyhL29POGJbuTCg6FGRC4mkwBLSzne5EXj8Nbaaw?= =?us-ascii?Q?yyuqdKSbfDO/YPPms6kJz+qePN5PCiFG517boe9jTwqW3Z0VhAG5i67Ht/bK?= =?us-ascii?Q?dTk3f/cPOwHCSJaZf2rwc4mBNcT1Mjjv6HVeXLusnYqX+/MN3w907LKkx2Hg?= =?us-ascii?Q?+E56+TPB5Kz1JNP9yfJvNWr5mOL9hvioMY7lF4iBg9uAdOEddi2N6u0JGnn7?= =?us-ascii?Q?aEliXHag1JWY6BBM+SFRflzv6Jq40oeEwapsUmjTBAAhSRAJCtvytE4yKueN?= =?us-ascii?Q?uZWfnABq1QtJr/BjYvz5LBFooVRFx2btm1e8JVNx+tIpiYd8otkun08oNIYc?= =?us-ascii?Q?l1AJ67jI7Hpqg6oNfJOd41MJtSJDq7aAnQZFDAMJc6pzIN/gvy0R5LRrFesS?= =?us-ascii?Q?Vvjxqd/rJV0HMEEly3RZ6fi/zvkP7f9QRCP2h4nfgwamAecVPjtIARHQo+1z?= =?us-ascii?Q?c8zh+IIEg9j1bbYuiObp8alDJ0mh8i4QMvQDZkghZrIvjIp9U1g0kwUYFFve?= =?us-ascii?Q?UhNViTxK0Ng6zSG7I6OSuBD19SW/3qjrvxBecK5abxqk8oE0rY96zvuROFM/?= =?us-ascii?Q?iBDXGPYwB5Cdurs9mjojdBTwAQJu1IhaqPvQQ6QvkCtf11Hm2WT07dL3CXZ0?= =?us-ascii?Q?X3NMQ07Mm7aQCM1E9uH3U3E366AvkPWgHMH+333PvakMGVkvVaIDOuAlYhGF?= =?us-ascii?Q?o/ujE8ih23eaYsGc112lJUru8IUEni4sgCmN3V+f1JT8h5D//EVGE4Cn9nx8?= =?us-ascii?Q?IjNODwwn+3HkTuagNLTmSxvCD/Uv5cCVDFJtOuumAywAGfUU0OVH07JOSCz/?= =?us-ascii?Q?BTvG/Ybc/E9t8ejSkFQ2dfIwPrWqzx+xMQ++1Mzye8LB0YQGTQ5I7GpVNy1B?= =?us-ascii?Q?qD6ywEaG0Y9NuK0x9OpJzvtT+AVVTGo93m6ew0N509UZQMZ4FbdRLkM0J+tn?= =?us-ascii?Q?E9FTORk7nqXKCt0HDrOg5wI/Mu9/ee8/YPQ3r0yoDJAUGg4ioLqyV2WTtAUV?= =?us-ascii?Q?QT+JqK70z99Sxz4MuncK9WHy+7HG5Pdbw4jV+x5JUgG0fI8PocBAZNAxpLdy?= =?us-ascii?Q?MSUytugpndfCTWb3ywHbkVWlZeQwWvajatb9BI2/WdvEbyOeCeDJO7rE1doa?= =?us-ascii?Q?8psDXz618yZzAL7LPhm4zuKVNpVAjQk3w967ouMu4GueqAcIzZ2rrsIruNil?= =?us-ascii?Q?82Of0p8KCwtc7xHIKMmfsXPrKh5DypCLDcOsYAH/ZjQjAJeE6IwG4xUv4khH?= =?us-ascii?Q?TFBVCXCPDRQEDXlf+g86YpyBU4+i?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2024 03:09:01.3461 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51f6462a-873d-4fc3-2bfc-08dc6d79e11d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000066EA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8853 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: Sun, 05 May 2024 20:09:04 -0700 Resent-From: AbdulLateef.Attar@amd.com Reply-To: devel@edk2.groups.io,AbdulLateef.Attar@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: yAEUX6Ma2qB7iMPLnNTpHerdx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=hE+0rzwH; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io Adds an AmlAddIntegerPackageEntry() API to generate AML code, which adds an integer value to the package node. Cc: Pierre Gondois Cc: Sami Mujawar Signed-off-by: Abdul Lateef Attar --- .../Include/Library/AmlLib/AmlLib.h | 41 +++++++++- .../Common/AmlLib/CodeGen/AmlCodeGen.c | 75 +++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTabl= esPkg/Include/Library/AmlLib/AmlLib.h index 82d5464084..7ae11e3624 100644 --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h @@ -2,7 +2,7 @@ AML Lib. =20 Copyright (c) 2019 - 2023, Arm Limited. All rights reserved.
- Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
+ Copyright (C) 2023 - 2024, Advanced Micro Devices, Inc. All rights reser= ved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -1838,4 +1838,43 @@ AmlCreatePsdNode ( OUT AML_OBJECT_NODE_HANDLE *NewPsdNode OPTIONAL ); =20 +/** Add an integer value to Package node. + + AmlCodeGenNamePackage ("_CID", NULL, &PackageNode); + AmlGetEisaIdFromString ("PNP0A03", &EisaId); + AmlAddIntegerPackageEntry (EisaId, PackageNameNode); + AmlGetEisaIdFromString ("PNP0A08", &EisaId); + AmlAddIntegerPackageEntry (EisaId, PackageNameNode); + + equivalent of the following ASL code: + Name (_CID, Package (0x02) // _CID: Compatible ID + { + EisaId ("PNP0A03"), + EisaId ("PNP0A08") + }) + + The package is added at the tail of the list of the input package node + name: + Name ("NamePackageNode", Package () { + [Pre-existing package entries], + [Newly created integer entry] + }) + + + @ingroup CodeGenApis + + @param [in] Integer Integer value that need to be added t= o package node. + @param [in, out] PackageNameNode Package named node to add the object = to .... + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER Invalid parameter. + @retval Others Error occurred during the operation. +**/ +EFI_STATUS +EFIAPI +AmlAddIntegerPackageEntry ( + IN UINT32 Integer, + IN OUT AML_OBJECT_NODE_HANDLE PackageNameNode + ); + #endif // AML_LIB_H_ diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c b/= DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c index 22c2d598d0..735b359bd5 100644 --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c @@ -4296,3 +4296,78 @@ error_handler: AmlDeleteTree ((AML_NODE_HANDLE)PsdNode); return Status; } + +/** Add an integer value to Package node. + + AmlCodeGenNamePackage ("_CID", NULL, &PackageNode); + AmlGetEisaIdFromString ("PNP0A03", &EisaId); + AmlAddIntegerPackageEntry (EisaId, PackageNameNode); + AmlGetEisaIdFromString ("PNP0A08", &EisaId); + AmlAddIntegerPackageEntry (EisaId, PackageNameNode); + + equivalent of the following ASL code: + Name (_CID, Package (0x02) // _CID: Compatible ID + { + EisaId ("PNP0A03"), + EisaId ("PNP0A08") + }) + + The package is added at the tail of the list of the input package node + name: + Name ("NamePackageNode", Package () { + [Pre-existing package entries], + [Newly created integer entry] + }) + + + @ingroup CodeGenApis + + @param [in] Integer Integer value that need to be added t= o package node. + @param [in, out] PackageNameNode Package named node to add the object = to .... + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER Invalid parameter. + @retval Others Error occurred during the operation. +**/ +EFI_STATUS +EFIAPI +AmlAddIntegerPackageEntry ( + IN UINT32 Integer, + IN OUT AML_OBJECT_NODE_HANDLE PackageNameNode + ) +{ + EFI_STATUS Status; + AML_OBJECT_NODE *PackageEntryList; + + if (PackageNameNode =3D=3D NULL) { + ASSERT_EFI_ERROR (FALSE); + return EFI_INVALID_PARAMETER; + } + + if ((PackageNameNode =3D=3D NULL) || + (AmlGetNodeType ((AML_NODE_HANDLE)PackageNameNode) !=3D EAmlNodeObje= ct) || + (!AmlNodeHasOpCode (PackageNameNode, AML_NAME_OP, 0))) + { + ASSERT_EFI_ERROR (FALSE); + return EFI_INVALID_PARAMETER; + } + + PackageEntryList =3D (AML_OBJECT_NODE_HANDLE)AmlGetFixedArgument ( + PackageNameNode, + EAmlParseIndexTerm1 + ); + if ((PackageEntryList =3D=3D NULL) = || + (AmlGetNodeType ((AML_NODE_HANDLE)PackageEntryList) !=3D EAmlNodeObj= ect) || + (!AmlNodeHasOpCode (PackageEntryList, AML_PACKAGE_OP, 0))) + { + ASSERT_EFI_ERROR (FALSE); + return EFI_INVALID_PARAMETER; + } + + Status =3D AmlAddRegisterOrIntegerToPackage (NULL, Integer, PackageEntry= List); + if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); + } + + return Status; +} --=20 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 (#118583): https://edk2.groups.io/g/devel/message/118583 Mute This Topic: https://groups.io/mt/105933685/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-