From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 17708D801B3 for ; Thu, 21 Sep 2023 16:49:54 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Sco7vaH/NU3+PBwNxerE8Sa72cN+gygYeMNZgD9vC18=; c=relaxed/simple; d=groups.io; h=Received-SPF:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Authentication-Results-Original:Message-ID:Date:User-Agent:Subject:To:Cc:References:From:In-Reply-To:MIME-Version:NoDisclaimer:Original-Authentication-Results:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1695314993; v=1; b=djcaHBMvB7LR5vFp8wA64xCflH5DGx2wcgXtAwpX947NP40D+lfDCp01BqnQMx7AacSGZ3xC cpysivIox5DuZ+9oEO4CociGFQQowoJuWYiLL1cpTOG3WPEYv3In4Et0XLGCvR9NDETSNUa/RIF /0a13DGN/110EP4ZU3Ky4NsM= X-Received: by 127.0.0.2 with SMTP id JuT7YY7687511xM9vXs9oXdz; Thu, 21 Sep 2023 09:49:53 -0700 X-Received: from EUR05-DB8-obe.outbound.protection.outlook.com (EUR05-DB8-obe.outbound.protection.outlook.com [40.107.20.80]) by mx.groups.io with SMTP id smtpd.web10.496.1695314992883009144 for ; Thu, 21 Sep 2023 09:49:53 -0700 X-Received: from FR0P281CA0249.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:af::15) by PA4PR08MB5886.eurprd08.prod.outlook.com (2603:10a6:102:e2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.19; Thu, 21 Sep 2023 16:49:47 +0000 X-Received: from VI1EUR03FT062.eop-EUR03.prod.protection.outlook.com (2603:10a6:d10:af:cafe::35) by FR0P281CA0249.outlook.office365.com (2603:10a6:d10:af::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.9 via Frontend Transport; Thu, 21 Sep 2023 16:49:47 +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; pr=C X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VI1EUR03FT062.mail.protection.outlook.com (100.127.145.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.23 via Frontend Transport; Thu, 21 Sep 2023 16:49:47 +0000 X-Received: ("Tessian outbound d084e965c4eb:v175"); Thu, 21 Sep 2023 16:49:46 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 580edae2669562a1 X-CR-MTA-TID: 64aa7808 X-Received: from 1c34df6fe575.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 48F304E8-B396-4178-8F95-2FCA237FFF65.1; Thu, 21 Sep 2023 16:49:40 +0000 X-Received: from EUR02-AM0-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1c34df6fe575.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 21 Sep 2023 16:49:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e9nlS8Qivf63h3aZ2LpWWyCBLSy7hZSLCR3cIxOATs4b546ZflLr7495aTZLzakyx0MyBqJ5g2dfIf2EbltbJpqSiB0NN6Z0o+yTe/TWVziRIeO24QgabGqExkcdwfYCN4r2B7RUA60clkC+1dKNefyROtcTY2lmdZefz7+96+nBsT+U0nenh1+CmPsk3G1czU2FYhaiuZiK6n/b830nvdiK3sRtYnspujCY8mFP+OwQsQq8IziiKldYCmpTXPrqcOzeLjAXJPTOAewb323DT03c4MaxVnaw+Qdpq0dHOqvWCoANjCaMXRlI7gGbD2xcvZtSsdhZS7+epzQ4WLSN/A== 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=Nkc5hd9ZXB+JQWDuriSx++wbAf32141Ly4/jhEqbwu0=; b=n7uZg8CINJUdrU5jWS0s8cyjeRh2vqZY+lNAkKaqPWvHYigiXLc6fT0FT/aDwZ4H2IviUXayvdtyad5V4fUSdUvq4jUnU+YqcQPMr0ND32IX7/7zKjB73bDldOyWW7UvQAKo5DWdWy/kfCOTKmbaepqrXqq4oMzDJCZD2wpb+5vtH0eDrWgOyNQYrtsRx+fQMJ72XOnXFo96b2iSRRQS3W2abVHhJLhv6zZDgCyWbMi+gnbNMgnKWn+VBHO8+08DjOt45PqjG0G+Ogymg/1qd7h1j7BMcVxjkIFIMAZFMOQWD8u4D8GKAgdK11LjUcMHwbNCHgdUTyBX6osaeA6+Dw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AS8PR08MB7322.eurprd08.prod.outlook.com (2603:10a6:20b:441::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Thu, 21 Sep 2023 16:49:38 +0000 X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ac37:4594:ab86:59ce]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::ac37:4594:ab86:59ce%4]) with mapi id 15.20.6792.021; Thu, 21 Sep 2023 16:49:38 +0000 Message-ID: Date: Thu, 21 Sep 2023 17:49:38 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [edk2-devel] [PATCH v4 3/4] DynamicTablesPkg: Add support to add Strings to package To: Jeff Brasen , devel@edk2.groups.io Cc: pierre.gondois@arm.com, swatisrik@nvidia.com, ashishsingha@nvidia.com, "nd@arm.com" References: <0b3876f84e0044990f18f81f4128de548797ff53.1695049337.git.jbrasen@nvidia.com> From: "Sami Mujawar" In-Reply-To: <0b3876f84e0044990f18f81f4128de548797ff53.1695049337.git.jbrasen@nvidia.com> X-ClientProxiedBy: LO4P123CA0045.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:152::14) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6806:EE_|AS8PR08MB7322:EE_|VI1EUR03FT062:EE_|PA4PR08MB5886:EE_ X-MS-Office365-Filtering-Correlation-Id: ce760642-f1bb-4ecc-8bda-08dbbac2c3bf X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: WNdYQIfVIMVBlCZvFS9QAT3dUIgmOCpvh2WXSqhrQ9ABWXUrSPgsBp9U/Zj2SudHLFyzAgxqqq/WSdc5IAQgYCIHh/ZBkKmQ7AbB+g49sWkOILRpHwdlvrZ87TCm8C9FpMy90GOrM2ImrziFO2xmHn2b9aKHhFXYqXoyjK7a2OiYfuNXTTHmT178eMeHilAA6rJ0W7y6Ims9TxxAS6hRS52wkyAiYN1mQZu2YcM5CpKw3FUPBFFen/KAEA3bOXQ032rWhV/EB2R0nFNM+6jTf9fiVOlbo4qAxcJHo013DNokIlYP6f2vVPQ6r5H50C65HAffyaYW7U2ayjd9owSEjTLR74uW5ls4v9NdKNyKm1ExWPcpQF9rMAwQ4moSLapDEYY7veXD/B9xlLaFrdQylwmlpK9N8JiQEtudgamxKN2HfWj+ElRpOoq9JR+6CL3aVl4RpS9/puSxA88PnINTfap9HYw/HDsmAbFk+y2VCCJaiZgaZnGnzdz14Im+IkCGAddRIeuAQu2F32cf1ZZn58vkZrk5T/1A0wNQcXy88RCZxW9Tx+i8m6hanXVWU6dlB/BADcBXxznmzB/5g+C0dlZdcyRyUyAzXPiNEiexm1C04aveFYpj8ycMeDnS15AdwKjCEPzFeS1oaNiBaSZPGA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199024)(186009)(1800799009)(2906002)(44832011)(5660300002)(26005)(66476007)(41300700001)(316002)(66946007)(66556008)(478600001)(19627235002)(8676002)(4326008)(31686004)(8936002)(6506007)(6486002)(53546011)(6512007)(36756003)(2616005)(38100700002)(31696002)(83380400001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7322 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4df0c554-bf98-4d04-2ce9-08dbbac2bea5 X-Microsoft-Antispam-Message-Info: JFA+Ka7PGegWdILKk8pS86wVVpUTpWcmjzi33I2E8g1jNFuWxU4v1FJzSP7KGY0xuK9EKxFDlt1WbK1eOqDhpRpsTs7M1MX46a5PGoLJVuhSbWmF3HG/qUX44jQyVjeWtXE1MG7I2E3l9I5eLX35HnVDubPBQjxFDlYueeSEWrYCbIdPQkbRByS9foq+09WoXrMwonFWv5vwgXALlEfzrYp+ppA+CoiMJ/Z31lQzN8B2VMWXue7DGimxX2UGg5hblVyV84HI3w0PmPk1XF0bxInTzvk6JanOVO/6T0APKHWhcq0ML+kUWXGneGVPR7Ik+QO1+PoE0ZoJtcysjSzBph0lZigN6GmPCiE9Ybol14A4teROlLNLOzmjOLZCOiTDnDfkmhkkK5oehjInDeV6XeGtmAAXNAs8MBc83PiiY5SrClErdpV7QDNB6JcA/IwhgytVBymzRuPioLxyr1m1BpukQdl2UUQDLB/3JeLfm+0lvaoSkNa4pSwOCcyWqhVjKWxs9y+k4vJE7DBBklx67c91CUQh4Kw5fHMSF3wkpMnUYp4/lYvU5WXhPlCGgPk8dCTgHkSf1viDKL4f2S1V8Y6dyG5iqdyMMwr0cUFLagjMLWhUb47FuFzsPwmPfamhQmeO6nDZ74mRWbg4pUwBgnRt4FfmAJdgjT1/c17X3xAjs7TeiNoYIG8bi00AA0XETUXWkPyVcXMGW8AKc/rYVsOFKUZQgg2ZB3N5dRZ+5DkZ3K6x39rfl6H7PyWUiqajlRXl9/UiwDt2fmqM0LnL6Q== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2023 16:49:47.2183 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ce760642-f1bb-4ecc-8bda-08dbbac2c3bf 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: VI1EUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5886 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 Reply-To: devel@edk2.groups.io,sami.mujawar@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: ypAyLW7UdtBvx3VNPsvhredTx7686176AA= 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=20140610 header.b=djcaHBMv; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Hi Jeff, Thank you for this patch. Please see my response inline marked [SAMI]. Regards, Sami Mujawar On 18/09/2023 04:46 pm, Jeff Brasen wrote: > Add API to add a String to a package created with NamedPackage API. > > > > Signed-off-by: Jeff Brasen > > --- > > .../Include/Library/AmlLib/AmlLib.h | 17 ++++ > > .../Common/AmlLib/CodeGen/AmlCodeGen.c | 88 +++++++++++++++++++ > > 2 files changed, 105 insertions(+) > > > > diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTa= blesPkg/Include/Library/AmlLib/AmlLib.h > > index b82c7a3ce8..f4a4908753 100644 > > --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > > +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > > @@ -1472,4 +1472,21 @@ AmlCreateCpcNode ( > > OUT AML_OBJECT_NODE_HANDLE *NewCpcNode OPTIONAL > > ); > > =20 > > +/** AML code generation to add a NameString to the package in a named no= de. > > + > > + > > + @param [in] NameString NameString to add > > + @param [in] NamedNode Node to add the string to the included pac= kage. > > + > > + @retval EFI_SUCCESS Success. > > + @retval EFI_INVALID_PARAMETER Invalid parameter. > > + @retval EFI_OUT_OF_RESOURCES Failed to allocate memory. > > +**/ > > +EFI_STATUS > > +EFIAPI > > +AmlAddNameStringToNamedPackage ( > > + IN CHAR8 *NameString, > > + IN AML_OBJECT_NODE_HANDLE NamedNode > > + ); > > + > > #endif // AML_LIB_H_ > > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c = b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > > index ea519d1aa8..2afd405750 100644 > > --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > > @@ -3685,3 +3685,91 @@ error_handler: > > AmlDeleteTree ((AML_NODE_HANDLE)CpcNode); > > return Status; > > } > > + > > +/** AML code generation to add a NameString to the package in a named no= de. > > + > > + > > + @param [in] NameString NameString to add > > + @param [in] NamedNode Node to add the string to the included pac= kage. > > + > > + @retval EFI_SUCCESS Success. > > + @retval EFI_INVALID_PARAMETER Invalid parameter. > > + @retval EFI_OUT_OF_RESOURCES Failed to allocate memory. > > +**/ > > +EFI_STATUS > > +EFIAPI > > +AmlAddNameStringToNamedPackage ( > > + IN CHAR8 *NameString, > > + IN AML_OBJECT_NODE_HANDLE NamedNode > > + ) > > +{ > > + EFI_STATUS Status; > > + AML_DATA_NODE *DataNode; > > + CHAR8 *AmlNameString; > > + UINT32 AmlNameStringSize; > > + AML_OBJECT_NODE_HANDLE PackageNode; > > + > > + DataNode =3D NULL; > > + > > + if ((NamedNode =3D=3D NULL) = || > > + (AmlGetNodeType ((AML_NODE_HANDLE)NamedNode) !=3D EAmlNodeObject) = || > > + (!AmlNodeHasOpCode (NamedNode, AML_NAME_OP, 0))) > > + { > > + ASSERT (0); > > + return EFI_INVALID_PARAMETER; > > + } > > + > > + PackageNode =3D (AML_OBJECT_NODE_HANDLE)AmlGetFixedArgument ( > > + NamedNode, > > + EAmlParseIndexTerm1 > > + ); > > + if ((PackageNode =3D=3D NULL) = || > > + (AmlGetNodeType ((AML_NODE_HANDLE)PackageNode) !=3D EAmlNodeObject= ) || > > + (!AmlNodeHasOpCode (PackageNode, AML_PACKAGE_OP, 0))) > > + { > > + ASSERT (0); > > + return EFI_INVALID_PARAMETER; > > + } > > + > > + Status =3D ConvertAslNameToAmlName (NameString, &AmlNameString); > > + if (EFI_ERROR (Status)) { > > + ASSERT (0); > > + return Status; > > + } > > + > > + Status =3D AmlGetNameStringSize (AmlNameString, &AmlNameStringSize); > > + if (EFI_ERROR (Status)) { > > + ASSERT (0); > > + goto exit_handler; > > + } > > + > > + Status =3D AmlCreateDataNode ( > > + EAmlNodeDataTypeNameString, > > + (UINT8 *)AmlNameString, > > + AmlNameStringSize, > > + &DataNode > > + ); > > + if (EFI_ERROR (Status)) { > > + ASSERT (0); > > + goto exit_handler; > > + } > > + > > + Status =3D AmlVarListAddTail ( > > + (AML_NODE_HANDLE)PackageNode, > > + (AML_NODE_HANDLE)DataNode > > + ); > > + ASSERT_EFI_ERROR (Status); > > + > > +exit_handler: > > + if (AmlNameString !=3D NULL) { > > + FreePool (AmlNameString); > > + } > > + [SAMI] I think the error handling code below can be moved after=20 AmlVarListAddTail() above and ASSERT_EFI_ERROR() can me removed. If you=20 agree, I will make this change before merging the series. > > + if (EFI_ERROR (Status)) { > > + if (DataNode !=3D NULL) { > > + AmlDeleteTree ((AML_NODE_HANDLE)DataNode); > > + } > > + } > > + > > + 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 (#108956): https://edk2.groups.io/g/devel/message/108956 Mute This Topic: https://groups.io/mt/101436338/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-