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 BD333740039 for ; Mon, 6 May 2024 08:09:29 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=lcVBh76Tkl877TzL2hGZHv/TP5Zc0P9He3cnoT7XbeM=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1714982968; v=1; b=oyGnEWZzpaycbA/EhFcoSBEzBp6gUsQwrZUp1A20G3S4EyQG722n/KEazy77uP0uTbH4DQcO 5FV2DpQjLXRr5mYO/i6lnOZG7l75k5v8tNeOBMEnMeFinIR6x3ZyeBHUcsxSS+0FbnLjBawE+My OKJT/Cdy/WwECznum+tsOi2ty0iMvhO298LO8edEI6//+22VHPDhD5aawOgRKp1d1chSUc7tQm1 Z+ztllkoGWKcUIkIaKhwTDm+mgrGx3Tu1T6MZZW0pGPG2PjfRLCvNNWuaLVFK2fK5FHWMadzGn7 oxQUzCv6w3DB7zGsWu3dg3gNzqZQmgKeWjvL/nDQ0UHcA== X-Received: by 127.0.0.2 with SMTP id 9QMDYY7687511xuuEeHhQVMz; Mon, 06 May 2024 01:09:28 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.15801.1714982967068094430 for ; Mon, 06 May 2024 01:09:27 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2BB231007; Mon, 6 May 2024 01:09:52 -0700 (PDT) X-Received: from [192.168.1.13] (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 801A93F793; Mon, 6 May 2024 01:09:25 -0700 (PDT) Message-ID: <5e65f62b-9cd4-431c-857e-894ab4157e14@arm.com> Date: Mon, 6 May 2024 10:09:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] [PATCH] DynamicTablesPkg: Adds integer to the AML package node To: Abdul Lateef Attar , devel@edk2.groups.io Cc: Sami Mujawar References: From: "PierreGondois" In-Reply-To: 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: Mon, 06 May 2024 01:09:27 -0700 Resent-From: pierre.gondois@arm.com Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: b6kaAxayBdXTW18XqLMEF8Hox7686176AA= Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed 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=oyGnEWZz; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io Hello Abdul, With the changes below: Reviewed-by: Pierre Gondois On 5/6/24 05:08, Abdul Lateef Attar wrote: > Adds an AmlAddIntegerPackageEntry() API to generate AML code, > which adds an integer value to the package node. >=20 > 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(-) >=20 > diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTa= blesPkg/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 res= erved.
> =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= to package node. > + @param [in, out] PackageNameNode Package named node to add the objec= t to .... > + > + @retval EFI_SUCCESS Success. > + @retval EFI_INVALID_PARAMETER Invalid parameter. > + @retval Others Error occurred during the operation. > +**/ > +EFI_STATUS > +EFIAPI > +AmlAddIntegerPackageEntry ( Is it possible to rename the function "AmlAddIntegerToNamedPackage())", so it is similar to AmlAddNameStringToNamedPackage(), and place it just after AmlAddNameStringToNamedPackage() ? > + IN UINT32 Integer, > + IN OUT AML_OBJECT_NODE_HANDLE PackageNameNode Is it possible to rename PackageNameNode -> NamedNode ? > + ); > + > #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= to package node. > + @param [in, out] PackageNameNode Package named node to add the objec= t to .... "object to ...." -> "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; Is it possible to rename PackageEntryList; -> PackageNode ? > + > + if (PackageNameNode =3D=3D NULL) { > + ASSERT_EFI_ERROR (FALSE); > + return EFI_INVALID_PARAMETER; > + } I think this check is not necessary, there is a similar check just below. > + > + if ((PackageNameNode =3D=3D NULL) || > + (AmlGetNodeType ((AML_NODE_HANDLE)PackageNameNode) !=3D EAmlNodeOb= ject) || > + (!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 EAmlNodeO= bject) || > + (!AmlNodeHasOpCode (PackageEntryList, AML_PACKAGE_OP, 0))) > + { > + ASSERT_EFI_ERROR (FALSE); > + return EFI_INVALID_PARAMETER; > + } > + > + Status =3D AmlAddRegisterOrIntegerToPackage (NULL, Integer, PackageEnt= ryList); > + if (EFI_ERROR (Status)) { > + ASSERT_EFI_ERROR (Status); > + } > + > + return Status; > +} -=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 (#118589): https://edk2.groups.io/g/devel/message/118589 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-