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.51]) by mx.groups.io with SMTP id smtpd.web10.13685.1633533470572691290 for ; Wed, 06 Oct 2021 08:17:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=DiCz5rqD; spf=pass (domain: arm.com, ip: 40.107.0.51, mailfrom: sami.mujawar@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=buDtqwgUS9Npwrl6rO3Q5i4f4qsR759LJ/RHHDW0TAo=; b=DiCz5rqDB9XNrMz4MZjvR8dRunJpTdOOpwY42KnPBqxsZuUEmMt/mAdjXuZppU/QW9NCfdNL/kMHTAgKoqMuaSv4adiALx0b8oLbDrMzeV+yPTRRmtISnhroJ4N8G69liDPsQkc/NAM88emJo5CN+jrMDO2Tji0wTVMVQDHZNWc= Received: from AM6PR08CA0027.eurprd08.prod.outlook.com (2603:10a6:20b:c0::15) by VI1PR0801MB1760.eurprd08.prod.outlook.com (2603:10a6:800:51::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Wed, 6 Oct 2021 15:17:47 +0000 Received: from AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:c0:cafe::ee) by AM6PR08CA0027.outlook.office365.com (2603:10a6:20b:c0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15 via Frontend Transport; Wed, 6 Oct 2021 15:17:47 +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 AM5EUR03FT034.mail.protection.outlook.com (10.152.16.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Wed, 6 Oct 2021 15:17:46 +0000 Received: ("Tessian outbound a8bfe25d7364:v103"); Wed, 06 Oct 2021 15:17:46 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: bb58e2e5ae522e27 X-CR-MTA-TID: 64aa7808 Received: from afd4294c62a9.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BFEB06D4-547C-46CB-94C5-254273A88AED.1; Wed, 06 Oct 2021 15:17:39 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id afd4294c62a9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 06 Oct 2021 15:17:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XQd5EF+DXe0oJeJFDoG8a8vZ6KV3sEorB1TSJEeObvD30+ZBYZOPXqedGZmAsCMqL+e28OjILO5Hmro3cXwss5wTZ3PV83e7V48/BdbtekxdWJ5oDR7iK03js2pUz0OgJQwNX1DAQ4hidBXtlzAMLr0FNO+z73DBVtepbb27tlpkkBvs/vunJRS9AXtU9Rxwu2xBKTiSbgirYedSUZzYBggT1NOTJErfV/gQ38gHcttmR+Lfn2e0hM0JfYaT4GSw7tyFo6veLer+wwFOO0tEtJwp/bip6VSvsZVYhC74FkOEb2bDhk7kbfu/vvKhgTXTU0jyhZVoBe8yNjzGydL0cQ== 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=buDtqwgUS9Npwrl6rO3Q5i4f4qsR759LJ/RHHDW0TAo=; b=FP/w3nLxBW+aACrRNkd9DEU29rMZEUoSI1Z+47aIJOq9SWpO3ZbYfFGoDSIqI3EyRqm6YVGBkMPfoFdDjoH02cA2agujK/31w+H394KhhS5Vsr5whzEuF/Li4JRorj9NkSuvYO/vKoQ2Ky1BwDXHNlKHpRp4SMHYH3DY0MYAEV4yUf4W7WiY3zm+cYRN9O7777+kQbvu9Ju0nX/X7upOQj185oL0r58oaPERreD18Diq3BtYIEu+rlzs+whCeyxlJsIBfynRGsGOT2CGyzzEeHoe+mVd/JlpIqTGgSmDYOdkpMPyhsZar+wOzfSvEEGvXOw/yM3YZYXj07zjaBotbw== 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 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=buDtqwgUS9Npwrl6rO3Q5i4f4qsR759LJ/RHHDW0TAo=; b=DiCz5rqDB9XNrMz4MZjvR8dRunJpTdOOpwY42KnPBqxsZuUEmMt/mAdjXuZppU/QW9NCfdNL/kMHTAgKoqMuaSv4adiALx0b8oLbDrMzeV+yPTRRmtISnhroJ4N8G69liDPsQkc/NAM88emJo5CN+jrMDO2Tji0wTVMVQDHZNWc= Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AS8PR08MB6038.eurprd08.prod.outlook.com (2603:10a6:20b:23f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Wed, 6 Oct 2021 15:17:37 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65%4]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 15:17:37 +0000 Subject: Re: [PATCH v1 5/7] DynamicTablesPkg: Add AmlAttachNode() To: Pierre.Gondois@arm.com, devel@edk2.groups.io, Alexei Fedorov Cc: Akanksha Jain , Alexandru Elisei , nd References: <20210623115834.907-1-Pierre.Gondois@arm.com> <20210623115834.907-6-Pierre.Gondois@arm.com> From: "Sami Mujawar" Message-ID: Date: Wed, 6 Oct 2021 16:17:41 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20210623115834.907-6-Pierre.Gondois@arm.com> X-ClientProxiedBy: LO4P123CA0461.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::16) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 Received: from [10.1.196.43] (217.140.106.52) by LO4P123CA0461.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1aa::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19 via Frontend Transport; Wed, 6 Oct 2021 15:17:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01da9628-452d-46f9-da8b-08d988dc73d8 X-MS-TrafficTypeDiagnostic: AS8PR08MB6038:|VI1PR0801MB1760: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: rjQvsJei6UZUS84484j6Dtlre1bHXoj0sXnLN8dracW8cQ4LIc2FnAT2YA19o5xNDeDSjufR+J6qYeKeiFSIyePK62ERE+ubB+YmM+xogcd102r2iuhFbuYe+6wOh4LeDy6e7mVd9ieY7mrCpQVe46GcMF63XTPE0SLCdUwc8dyyzba07he5FDLdU1yMRFW6Dtd3dT+Msh661+pVcrjZVrwkyTeqVulnspCWWCrtLMQIn3NdzWXavn4l360qDOhMo56O+r2mJey0KfoDW2tBPgtVOKrJbwDajmZomdvS12Yezc1gWjTW82/oXXyUx0jO9X+gOniXqyf8a9QbeNdZyQmoTganuRKolWzfKdCDbZlyg8Ub0r9t4YZsMEhT+SSWtHL7k5gVxzuOYYi0EycjjDaETj4Gsw5HiKP1DCXYKDobkHmU+ta98oYSWvCP8l7QT4pJVBB7sLBn0CZiVQ/Kfb8CgcW09huuo8YjXd1fKgiIWGNRu+8GgVrLodBVAKDqj/y620vwq2nW8c0veYh61ixns3pmwGvQmiEChQfHIbjUfjyx8eZSgrDRsJ3qyaN8kF61YM/pyfP/7MbRsNHtfEboVmGStkOFFUREtG/66XM/2CaAjnh5CSQ9vyEaf5w4ObRlmjILwwtm+CTH45OfsKyJQxGjN+k/AQghYmyqOEfU8FgBTx7c3kSBYn9t77gX6+o0NbV1e+O8mtN+sJclpKAyOa79uxN4tHS7K0Bk58WTRa41CjTHoTe/INNYw8yv0M6tzehZJ/cBAZoI75cqBQ== 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:(4636009)(366004)(66556008)(6666004)(66946007)(26005)(8936002)(53546011)(38350700002)(66476007)(4326008)(186003)(38100700002)(508600001)(54906003)(31686004)(5660300002)(2616005)(956004)(6862004)(2906002)(16576012)(44832011)(8676002)(316002)(52116002)(6636002)(37006003)(36756003)(6486002)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6038 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 9474185b-688f-4074-67e2-08d988dc6de1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 50etcSS8VBPnjrAidAGJaSlK/x7d0F+mZhTvF14QFLAmpui44LAAo2vgien4TfkvSQzpADqF8PBhsPyMKkum4jjxkDHkuKUre/Fa+DyzO3RV5ltrB9B4EjQX47EjyE8/VetPjyjuyyQro8zA2VfXzk4BoOIg6ENTVwFFCHEuy6eRz3cKgipIZXYn8451Q/6CJncH0qB7ys3S9t+y1R7vWoYsWg43mJeC/u96+TM4G5AsM2DUBTpBUnVlX8iq+6z9uEElUDATgLfEcwaCrJHi0XATS32Akbs2D1IFBE7OF3dMXC2bSW/QWNC+Oarw6osPvdg05HZ1tjAJTc+9U+5ueLsHrKKUk+uLckVifTAQ5T1+t9kSZ41HEM23wWWsObDKR4m62AKgQ4waczTFTbpUQGKYtXHzquiBx8NtbUMoB959NYVNisVIpiZ3Rjt07+gU5XMnpYCUfrKum2LbT6yXdVlUWTjLNb3CDcQZUCWDmt46oLLeNBK/zQwP0LS2ST5cCw7u93+gILm3132PPy+3NugrKumYaO995APjQu0DI4+gLRmnsR1JFcz35cIMVXPMSB0scr2yCZC7WE1E3+p8iJpAP0HRSIQb+jXfKsgZMEkGV5aWW9dW6lAkLWd6YdvvTujtKy4nj35DDwsSWNpARu1YCu418HX6kHQeirv6NNUDzqSGNprz/voRIkQOvcRPJh4GFGC7Th+YdnocMltBjjJ9eZJKwCpcW8j6Ls9SJdE= 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)(6486002)(53546011)(81166007)(54906003)(8676002)(37006003)(316002)(16576012)(356005)(8936002)(336012)(6636002)(86362001)(31696002)(956004)(31686004)(2906002)(82310400003)(6666004)(2616005)(44832011)(70586007)(70206006)(6862004)(36860700001)(26005)(5660300002)(4326008)(36756003)(186003)(508600001)(47076005)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2021 15:17:46.6826 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 01da9628-452d-46f9-da8b-08d988dc73d8 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: AM5EUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1760 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Pierre, Thank you for this patch. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 23/06/2021 12:58 PM, Pierre.Gondois@arm.com wrote: > From: Pierre Gondois > > This function allows to add a node as the last node of a parent node > in an AML tree. For instance, > ASL code corresponding to NewNode: > Name (_UID, 0) > > ASL code corresponding to ParentNode: > Device (PCI0) { > Name(_HID, EISAID("PNP0A08")) > } > > "AmlAttachNode (ParentNode, NewNode)" will result in: > ASL code: > Device (PCI0) { > Name(_HID, EISAID("PNP0A08")) > Name (_UID, 0) > } > > Signed-off-by: Pierre Gondois > --- > .../Include/Library/AmlLib/AmlLib.h | 33 +++++++++++++++++ > .../Library/Common/AmlLib/Api/AmlApi.c | 36 +++++++++++++++++++ > 2 files changed, 69 insertions(+) > > diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > index 4a10da8cd7bb..b4766726e84d 100644 > --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > @@ -166,6 +166,39 @@ AmlDetachNode ( > IN AML_NODE_HANDLE Node > ); > > +/** Attach a node in an AML tree. > + > + The node will be added as the last statement of the ParentNode. > + E.g.: > + ASL code corresponding to NewNode: > + Name (_UID, 0) > + > + ASL code corresponding to ParentNode: > + Device (PCI0) { > + Name(_HID, EISAID("PNP0A08")) > + } > + > + "AmlAttachNode (ParentNode, NewNode)" will result in: > + ASL code: > + Device (PCI0) { > + Name(_HID, EISAID("PNP0A08")) > + Name (_UID, 0) > + } > + > + @param [in] ParentNode Pointer to the parent node. > + Must be a root or an object node. > + @param [in] NewNode Pointer to the node to add. > + > + @retval EFI_SUCCESS The function completed successfully. > + @retval EFI_INVALID_PARAMETER Invalid parameter. > +**/ > +EFI_STATUS > +EFIAPI > +AmlAttachNode ( > + IN AML_NODE_HANDLE ParentNode, > + IN AML_NODE_HANDLE NewNode > + ); > + > /** Find a node in the AML namespace, given an ASL path and a reference Node. > > - The AslPath can be an absolute path, or a relative path from the > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/Api/AmlApi.c b/DynamicTablesPkg/Library/Common/AmlLib/Api/AmlApi.c > index 6f9e3f6f2805..def581299f5c 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/Api/AmlApi.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/Api/AmlApi.c > @@ -379,6 +379,42 @@ AmlNameOpGetNextRdNode ( > return EFI_SUCCESS; > } > > +/** Attach a node in an AML tree. > + > + The node will be added as the last statement of the ParentNode. > + E.g.: > + ASL code corresponding to NewNode: > + Name (_UID, 0) > + > + ASL code corresponding to ParentNode: > + Device (PCI0) { > + Name(_HID, EISAID("PNP0A08")) > + } > + > + "AmlAttachNode (ParentNode, NewNode)" will result in: > + ASL code: > + Device (PCI0) { > + Name(_HID, EISAID("PNP0A08")) > + Name (_UID, 0) > + } > + > + @param [in] ParentNode Pointer to the parent node. > + Must be a root or an object node. > + @param [in] NewNode Pointer to the node to add. > + > + @retval EFI_SUCCESS The function completed successfully. > + @retval EFI_INVALID_PARAMETER Invalid parameter. > +**/ > +EFI_STATUS > +EFIAPI > +AmlAttachNode ( > + IN AML_NODE_HANDLE ParentNode, > + IN AML_NODE_HANDLE NewNode > + ) > +{ > + return AmlVarListAddTail (ParentNode, NewNode); > +} > + > // DEPRECATED APIS > #ifndef DISABLE_NEW_DEPRECATED_INTERFACES >