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 32060D810A6 for ; Mon, 23 Oct 2023 15:30:32 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=M1QI9iJxerdUflaKS3ogT12FQUtp03C4pCRFjD35zsk=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1698075030; v=1; b=Dlq8JvDTuKpMYU697N7J4bkKxspXhzErin2iGhNFk74bB+fpRilttUwZ8+MI4KZqkgyoRAFK o+z2ulDvGirR0xCCg/1zrPMjntArmE07Az/AQbkvc/oJfwIu8NmEIBNTILaxJ0JTTIQiJy6fQEe EBzqbXGfcZekdtvSCmdLBtyE= X-Received: by 127.0.0.2 with SMTP id dJlOYY7687511xFtS6tI3cG6; Mon, 23 Oct 2023 08:30:30 -0700 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.107.244.70]) by mx.groups.io with SMTP id smtpd.web10.123677.1698075030000245545 for ; Mon, 23 Oct 2023 08:30:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hwzT21320MOwqbw8cLMI8A+3Y3IjMgRLljkt+Mt3J5noYdV+Q5cdYdQWHjw9gnEMbVrDjqpa0PzHY1QN5JELzrT2iWeiXWCaSpKPvaWo78zjcFDBVakdnvrnFmEV0DTWw9AyzFhYWXgPmAtX3RqMyOgRPn/q6kl7r3vzXkoEcWfH/7maXLDNDr8zotqR3+99rg5VPaTjTaEwtMvAKToO/hEJTVC4PZnOvMlwNYEa9QaMUwp41spipchUVWZxcheVlmDr7A22ROuQG8goDO5rKhA9YEMTSWYZgObn1FALcLODyIi3u6nGf6I9RbMN5wwIi1tNQH276z+DBtWPYHVcfA== 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=RpETl4iudiw5LZPsURm5FknK9PSbJxeIrFgmg6YDR80=; b=GX0w0hkVyGYd06dpaOzkrmGAm0Yvn3QZ84yRPpBoy3nSGzGQ+tE6TotEau0BDVFro/pV3ak+FnymUJZVmvKnMB5Ja8BBTzEEPEm3sPib7ZIkMCf36mdr6PzQLVdd4DqVk6ez06Z4n/rO696ENdbu6grRtK916PpwBufFzmoMO4YA8tZT23jZ8TaE57RVgQQ1Y/0AocJ+lEjMgr/p5Hsr6qfiCCEGMVccv6p4/7C2qL54jtgeF63/1XM0kvheHaji+7wEMaatZt37Y21B5j1QLXOu7k7m/Sq+YLuGU9KLmikW/ZNgQBgNc1bPn4Rpi7MiCAZ4Kg2v166X2J3NEb4UEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none X-Received: from DM6PR12MB3371.namprd12.prod.outlook.com (2603:10b6:5:116::27) by CY8PR12MB8243.namprd12.prod.outlook.com (2603:10b6:930:78::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.26; Mon, 23 Oct 2023 15:30:27 +0000 X-Received: from DM6PR12MB3371.namprd12.prod.outlook.com ([fe80::87f1:f2ba:c75d:ef3e]) by DM6PR12MB3371.namprd12.prod.outlook.com ([fe80::87f1:f2ba:c75d:ef3e%4]) with mapi id 15.20.6907.025; Mon, 23 Oct 2023 15:30:27 +0000 From: "Jeshua Smith via groups.io" To: Pierre Gondois , "devel@edk2.groups.io" CC: "Sami.Mujawar@arm.com" , "quic_llindhol@quicinc.com" , "ardb+tianocore@kernel.org" Subject: Re: [edk2-devel] [PATCH v2] DynamicTablesPkg/AmlLib: Enumerate memory attributes Thread-Topic: [PATCH v2] DynamicTablesPkg/AmlLib: Enumerate memory attributes Thread-Index: AQHZ96p4Tca8sJb84E6PRUZ/g2xrHrBCqDKAgBTx8/A= Date: Mon, 23 Oct 2023 15:30:27 +0000 Message-ID: References: <62418e30e2f01cd9234caa783e22fd6a18613d06.1696453749.git.jeshuas@nvidia.com> <4ead4656-06ca-4b72-94f8-7089dac255b6@arm.com> In-Reply-To: <4ead4656-06ca-4b72-94f8-7089dac255b6@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR12MB3371:EE_|CY8PR12MB8243:EE_ x-ms-office365-filtering-correlation-id: 4a2cd09c-939e-46e0-c16c-08dbd3dcfbe8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: FYMzybs5zEqT0AUr5h9TpaLOi+69IXRtfZuEgYOubNBxOIwNzFvhUowpkEGvZ717XIoJECwzi0hMzZHPj6FOSaSLWcK5nDlSv7aywGParOhUGlEkRj8zFxZPE9QhRoc9sCMZG4i4hO72F49nAIMt0ndM6GyC0qKCs84q/l6puP1MrUIbPGeYmopnZztTAPVJQuTcjwaSyT5xwWRoDv+BPvNe/XMKyYnz5QLal/ZwBbLXHgPAlq6lmW9uNh5BvwBMElKE3iYgW4qgs0SHAntyFAGu77Il2rlbtb9c1uJwEulYg5BROZAfz10R1MJsZ2sVhVakPVtWOu8zOdyF5PVIjkdIijagNm4LuLNxCKm3qYjxXLsFEOaa9/NBvnQebkqYCGR1VClbtJgcwWhHKd0JVfGqvuBgYBg3a+yh5e6ovJLSFpifoG6EmjEAN8RDlvRxn2pKbn018EWUwT1jKdyJAkzgA3UytE8peHa1/BQ78n3HopjRtXxCYHH1W1k0w8Jp05Ueeh8TCmvHsolrVQrClrmg6AL7STSw43d3guDoYvgvKubW1XLgNkkd0DcMQuMUCY/h9MobH7LZ1Wea7MzAQqAH4HZosXtym3h0SBNT9gY= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?H6YYOx1RrFj7FmEbwopOpTqcs02aUjPOOQoPEoBHKNBMO5FQmNKSutrVYCiV?= =?us-ascii?Q?6NQw/yTA/I6lO7xT4R/UzooNZxSlPai97LAa+DS3wtrYKJ5kLD4Tw9g/2jVY?= =?us-ascii?Q?xQmXM87QbUjtSDPghNeg26DPD6QcqyIVZFGt6pemk/FH0sgTL2a80fbwdc3w?= =?us-ascii?Q?PWO4+mZy4TBqKaKBRh89Y6AxMq8jVojejzNoMkwHZSU5QY9c8nCw2W0Lawdp?= =?us-ascii?Q?9d5LCp3806Kgm8R2s8ErAuLK55TJLs4ldGuI5cpcZhRBUyRFkSDcVrK61snQ?= =?us-ascii?Q?JpjCo9uiU6AOJB0YIQEVOefpVWhRycAgy3L+9TvtAr3gxB1M2bEizZP29s/l?= =?us-ascii?Q?rIVtyRs0PB8vpMF1Q0e4OIk3dVi4BALwLq2idXFlzQ/gnjGFYvFS/BfPDfsW?= =?us-ascii?Q?d0nrY33EooJb8zQzYkXiERl5SlvHuEBuEFSdYnpmA+xS2N4irYmKTW8giivv?= =?us-ascii?Q?EkEq76TI9H8FSzWecjEB6eCbFSDkCHXqQz4F4dU9w0r9tdg2OjFWwLtIXHRm?= =?us-ascii?Q?op5MPEeHn9daOqvJCyiAW0PUPRI8Ezjwa42+GL4riqHwj57CT6HRWZDHtsnq?= =?us-ascii?Q?CfGknbUB+KdN6pq8DSOMlIkPPxfL7qgk8Lj7DHLDRL/elRVX2GUR1+zHFwxB?= =?us-ascii?Q?c9+cUZ/NybFbPztweyl8W+G65vxRdeuJ/6khytfhPXhufharlyUF1DJYFiSn?= =?us-ascii?Q?hY1nyh9LcxvF6I42S3IVw4Cji/3PZyabVWsNuFpzkJdpKLePn17co08jU8ma?= =?us-ascii?Q?SsEonoErYPGik7MPn3/6PLq1cB//iHrWkH6avp1yFbcl8jRF2+G0H+BM4jwO?= =?us-ascii?Q?hVeJG9B/XuTnsa8fnZzu38zpqTz01pKIf7x2+uAF1lUtV8njp6J8Ep5+qYBE?= =?us-ascii?Q?aYMAl7EVWMWOUl8ic0dUQErgYTRnUYWQMl8q7m0ZitnlRlYJeHqLOknf+eFV?= =?us-ascii?Q?l5qql/DqY7kDiGrwm5PMHeGtF659KnC6l9+MiITpr6vG+sPR1djcwd6X2Kwo?= =?us-ascii?Q?D6CVulI5wfxJlTYznUwB0IVxTvdu6FLFtQSdr4cwAkoybMdYBKBlWKBNZBC4?= =?us-ascii?Q?AWqEHyWbn5FNgmz5Xy7F4CUaohzjo4pAW1Xl8PCCa7M3l2UCwwftpWI/lf1U?= =?us-ascii?Q?7tDrNX6v5azIiKuuY5DoUpi3eV1AG5szZUengHbUHvluF1+NqJC44kSZB22b?= =?us-ascii?Q?UXc6eh8UdmFd1SWuRB8gXYf8hmROTJtad5p2KarXFjKASxp3VXU7mUfITHmK?= =?us-ascii?Q?v2x71JPklEgTiXzN+8xsnnksrfTMXsXyLTU60TbWQDb1/KCaPdKD6eoZ51zq?= =?us-ascii?Q?63CDGq8tbsH3rRt4j8ARDQrYkhWMx/+NvEcyQP3eGxCWgdxM/1Uo3EFr6rdk?= =?us-ascii?Q?l/8kwFhAS6qchjudzn1zdoKiyH9KkbBr9HE5rYkEAsAWsE21p02HBXten9Gp?= =?us-ascii?Q?6cUEUQxABUWX0xtOZGyb2ad52CvGhCnOcH74rRPmUiJS5QyShUz7PJ2e0cv6?= =?us-ascii?Q?qVMHUhS88xjIb2P61sun6nXCtrnw9o8ds/Vzp/onlcCHgIBqVXru4WnCinsM?= =?us-ascii?Q?7/tJgXR5uhWHJ++8/u7NG9lI/RWQhAgLiQ4oyzx0?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3371.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4a2cd09c-939e-46e0-c16c-08dbd3dcfbe8 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2023 15:30:27.5632 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: n6rHkJpNX6U9Q9XIx6dpFUUkAKqtJOZgi3cBEcMCu1v4bjLH+ESOTavlc9zJOZFEMBV5lCd7YRy5NTBCmcW6oQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8243 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,jeshuas@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: TLcrRRV6FiXdcDeINlwi20v0x7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" 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=Dlq8JvDT; 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=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Can this be merged? -----Original Message----- From: Pierre Gondois Sent: Tuesday, October 10, 2023 1:31 AM To: Jeshua Smith ; devel@edk2.groups.io Cc: Sami.Mujawar@arm.com; quic_llindhol@quicinc.com; ardb+tianocore@kernel.= org Subject: Re: [PATCH v2] DynamicTablesPkg/AmlLib: Enumerate memory attribute= s External email: Use caution opening links or attachments Hi Jeshua, Thanks for the v2, Reviewed-by: Pierre Gondois Sami: There was also a tag from Leif: https://edk2.groups.io/g/devel/message/109285 Regards, Pierre On 10/5/23 18:38, Jeshua Smith wrote: > AmlCodeGenRdQWordMemory's and AmlCodeGenRdDWordMemory's Cacheable and > MemoryRangeType parameters treat specific values as having specific > meanings as defined by the spec. This change adds enums to map those > meanings to their corresponding values. > > Signed-off-by: Jeshua Smith > --- > > Notes: > v2: based on comments from Pierre Gondois > - Added documentation reference > - Changed enum type and member names to closer align with documentatio= n > - Changed enum member names to CamelCase > - Added *Max members to enums > - Updated the signatures of relevant functions to use the enum types > instead of UNIT8 > > .../Include/Library/AmlLib/AmlLib.h | 49 +++++++++++++++++-- > .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 12 ++--- > .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 8 +-- > 3 files changed, 55 insertions(+), 14 deletions(-) > > diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > index 510c79a399..71e8539b30 100644 > --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h > @@ -59,6 +59,47 @@ typedef void *AML_DATA_NODE_HANDLE; > > #endif // AML_HANDLE > > +/** Memory attributes, _MEM (2 bits) > + > + Possible values are: > + 0-The memory is non-cacheable > + 1-The memory is cacheable (DEPRECATED) > + 2-The memory is cacheable and supports > + write combining (DEPRECATED) > + 3-The memory is cacheable and prefetchable > + > + @par Reference(s): > + - ACPI 6.5, s6.4.3.5.5 "Resource Type Specific Flags" > + > +**/ > +typedef enum { > + AmlMemoryNonCacheable =3D 0, > + AmlMemoryCacheable =3D 1, > + AmlMemoryCacheableWriteCombine =3D 2, > + AmlMemoryCacheablePrefetch =3D 3, > + AmlMemoryCacheablityMax =3D 4 > +} AML_MEMORY_ATTRIBUTES_MEM; > + > +/** Memory attributes, _MTP (2 bits) > + > + Possible values are: > + 0-AddressRangeMemory > + 1-AddressRangeReserved > + 2-AddressRangeACPI > + 3-AddressRangeNVS > + > + @par Reference(s): > + - ACPI 6.5, s6.4.3.5.5 "Resource Type Specific Flags" > + > +**/ > +typedef enum { > + AmlAddressRangeMemory =3D 0, > + AmlAddressRangeReserved =3D 1, > + AmlAddressRangeACPI =3D 2, > + AmlAddressRangeNVS =3D 3, > + AmlAddressRangeMax =3D 4 > +} AML_MEMORY_ATTRIBUTES_MTP; > + > /** Parse the definition block. > > The function parses the whole AML blob. It starts with the ACPI > DSDT/SSDT @@ -578,7 +619,7 @@ AmlCodeGenRdDWordMemory ( > IN BOOLEAN IsPosDecode, > IN BOOLEAN IsMinFixed, > IN BOOLEAN IsMaxFixed, > - IN UINT8 Cacheable, > + IN AML_MEMORY_ATTRIBUTES_MEM Cacheable, > IN BOOLEAN IsReadWrite, > IN UINT32 AddressGranularity, > IN UINT32 AddressMinimum, > @@ -587,7 +628,7 @@ AmlCodeGenRdDWordMemory ( > IN UINT32 RangeLength, > IN UINT8 ResourceSourceIndex, > IN CONST CHAR8 *ResourceSource, > - IN UINT8 MemoryRangeType, > + IN AML_MEMORY_ATTRIBUTES_MTP MemoryRangeType, > IN BOOLEAN IsTypeStatic, > IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > @@ -809,7 +850,7 @@ AmlCodeGenRdQWordMemory ( > IN BOOLEAN IsPosDecode, > IN BOOLEAN IsMinFixed, > IN BOOLEAN IsMaxFixed, > - IN UINT8 Cacheable, > + IN AML_MEMORY_ATTRIBUTES_MEM Cacheable, > IN BOOLEAN IsReadWrite, > IN UINT64 AddressGranularity, > IN UINT64 AddressMinimum, > @@ -818,7 +859,7 @@ AmlCodeGenRdQWordMemory ( > IN UINT64 RangeLength, > IN UINT8 ResourceSourceIndex, > IN CONST CHAR8 *ResourceSource, > - IN UINT8 MemoryRangeType, > + IN AML_MEMORY_ATTRIBUTES_MTP MemoryRangeType, > IN BOOLEAN IsTypeStatic, > IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > diff --git > a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerat > or.c > b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerat > or.c > index 9ddaddc198..72873709aa 100644 > --- > a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerat > or.c > +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGen > +++ erator.c > @@ -566,7 +566,7 @@ GeneratePciCrs ( > IsPosDecode, > TRUE, > TRUE, > - TRUE, > + AmlMemoryCacheable, > TRUE, > 0, > AddrMapInfo->PciAddress, @@ -575,7 +575,7 @@ > GeneratePciCrs ( > AddrMapInfo->AddressSize, > 0, > NULL, > - 0, > + AmlAddressRangeMemory, > TRUE, > CrsNode, > NULL > @@ -588,7 +588,7 @@ GeneratePciCrs ( > IsPosDecode, > TRUE, > TRUE, > - TRUE, > + AmlMemoryCacheable, > TRUE, > 0, > AddrMapInfo->PciAddress, @@ -597,7 +597,7 @@ > GeneratePciCrs ( > AddrMapInfo->AddressSize, > 0, > NULL, > - 0, > + AmlAddressRangeMemory, > TRUE, > CrsNode, > NULL > @@ -718,7 +718,7 @@ ReserveEcamSpace ( > TRUE, > TRUE, > TRUE, > - FALSE, // non-cacheable > + AmlMemoryNonCacheable, > TRUE, > 0, > AddressMinimum, > @@ -727,7 +727,7 @@ ReserveEcamSpace ( > AddressMaximum - AddressMinimum + 1, > 0, > NULL, > - 0, > + AmlAddressRangeMemory, > TRUE, > CrsNode, > NULL > diff --git > a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGe > n.c > b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGe > n.c > index 9c6700b9e0..0bc1c1d119 100644 > --- > a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGe > n.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCo > +++ deGen.c > @@ -570,7 +570,7 @@ AmlCodeGenRdDWordMemory ( > IN BOOLEAN IsPosDecode, > IN BOOLEAN IsMinFixed, > IN BOOLEAN IsMaxFixed, > - IN UINT8 Cacheable, > + IN AML_MEMORY_ATTRIBUTES_MEM Cacheable, > IN BOOLEAN IsReadWrite, > IN UINT32 AddressGranularity, > IN UINT32 AddressMinimum, > @@ -579,7 +579,7 @@ AmlCodeGenRdDWordMemory ( > IN UINT32 RangeLength, > IN UINT8 ResourceSourceIndex, > IN CONST CHAR8 *ResourceSource, > - IN UINT8 MemoryRangeType, > + IN AML_MEMORY_ATTRIBUTES_MTP MemoryRangeType, > IN BOOLEAN IsTypeStatic, > IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > @@ -1161,7 +1161,7 @@ AmlCodeGenRdQWordMemory ( > IN BOOLEAN IsPosDecode, > IN BOOLEAN IsMinFixed, > IN BOOLEAN IsMaxFixed, > - IN UINT8 Cacheable, > + IN AML_MEMORY_ATTRIBUTES_MEM Cacheable, > IN BOOLEAN IsReadWrite, > IN UINT64 AddressGranularity, > IN UINT64 AddressMinimum, > @@ -1170,7 +1170,7 @@ AmlCodeGenRdQWordMemory ( > IN UINT64 RangeLength, > IN UINT8 ResourceSourceIndex, > IN CONST CHAR8 *ResourceSource, > - IN UINT8 MemoryRangeType, > + IN AML_MEMORY_ATTRIBUTES_MTP MemoryRangeType, > IN BOOLEAN IsTypeStatic, > IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL -=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 (#109929): https://edk2.groups.io/g/devel/message/109929 Mute This Topic: https://groups.io/mt/101780411/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-