From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (EUR02-VE1-obe.outbound.protection.outlook.com [40.107.2.87]) by mx.groups.io with SMTP id smtpd.web11.7203.1633091153410573090 for ; Fri, 01 Oct 2021 05:25:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Oi9Xdne0; spf=pass (domain: arm.com, ip: 40.107.2.87, 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=RLNzDH9Dx51m7Fkbqt5PSQwhlncCTXr7pz4WzlPZQSw=; b=Oi9Xdne0xMstdytVZctc4ofebzDKQV/0r7+T4uYeXAwHA9YdlSVBL736NFR2bV7KCQQQSGjVxGI/QgYP6AnsuadOQOcNenzYdugpZY5KiVJOu5mJqup7CobNh5geQ6ZSrtAssTajs3uYd0xpVexisSJ7M9YeOnzhXSIruJo0Ta4= Received: from AS8PR04CA0029.eurprd04.prod.outlook.com (2603:10a6:20b:310::34) by AM0PR08MB4337.eurprd08.prod.outlook.com (2603:10a6:208:13d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Fri, 1 Oct 2021 12:25:50 +0000 Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::a1) by AS8PR04CA0029.outlook.office365.com (2603:10a6:20b:310::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19 via Frontend Transport; Fri, 1 Oct 2021 12:25:50 +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 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Fri, 1 Oct 2021 12:25:50 +0000 Received: ("Tessian outbound 71ebfb754289:v103"); Fri, 01 Oct 2021 12:25:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 29f8c78d0710da7f X-CR-MTA-TID: 64aa7808 Received: from 77b982e4a63a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2DEE1932-5781-481E-AE5B-BD472D9C746E.1; Fri, 01 Oct 2021 12:25:40 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 77b982e4a63a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 01 Oct 2021 12:25:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LlUOSKosj+xtuo8SoExD9gfwOZSRFjy6dCCBLxLSJKAHpGuwcRB6mvJatkp0+WQtGUHXK9C+bsv979Xs5prOvIFNyvAgTtZFnCN7KBvYYSAfQrmFiJmQtJF/ZkJgpCCsb6uvzjdDc5vEzizPqtgkqES1KlQmMoqCACIBCA3hXzM0RmBHMyrKLA8eDFJJlAYcZoqUUiRL79cwnBFCKby8IoVhtL8j2MMTLT6H74nyA0opseVPYFw5or4u3QBCoxUlD0aR9AZgF8Dz0KcpwIK6u3jp7aVpui/BEqvjm62B9nU2DMzd8dBmg1bJClumJzs7QohTonffcPsAeF7GIWkvcg== 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=RLNzDH9Dx51m7Fkbqt5PSQwhlncCTXr7pz4WzlPZQSw=; b=OYS1+lKg2ypI95PQD+vnmP+dJVFxOzo3uOGikIprDsAj76N7ZBVLRfjcqj+GU3YEbF+Akd1Xd53QN+OVkJXAku9Nd+ox/a5pnbvu9HPaocsSspQ6qDe9FQ4dlxZjtep32qaoTsY9otqr0thSN5WJxaiKgP+klmNXOM4w6bauIaFjaKBFYLxPU3LEME9n20hXUAL7+XXh2+oBla7I+P9RxUDDf27PbPJYCEojFtA+IGMt3PAq2KYfiII7T8z6oM1Cm4MaPnsOLUH7hHOnhwCVWt9BQKwQNjDuNxwH7eMR8GX1gNoCNKCu3yi6TRbUvbcGV5+Gm9yuImm2nHeeTqOs1Q== 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=RLNzDH9Dx51m7Fkbqt5PSQwhlncCTXr7pz4WzlPZQSw=; b=Oi9Xdne0xMstdytVZctc4ofebzDKQV/0r7+T4uYeXAwHA9YdlSVBL736NFR2bV7KCQQQSGjVxGI/QgYP6AnsuadOQOcNenzYdugpZY5KiVJOu5mJqup7CobNh5geQ6ZSrtAssTajs3uYd0xpVexisSJ7M9YeOnzhXSIruJo0Ta4= 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 AM5PR0801MB2033.eurprd08.prod.outlook.com (2603:10a6:203:4c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Fri, 1 Oct 2021 12:25:34 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::c8a5:672a:9ff2:e554]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::c8a5:672a:9ff2:e554%6]) with mapi id 15.20.4566.019; Fri, 1 Oct 2021 12:25:34 +0000 Subject: Re: [PATCH v1 02/13] DynamicTablesPkg: AML Code generation for Register() To: Pierre.Gondois@arm.com, devel@edk2.groups.io, Alexei Fedorov Cc: Akanksha Jain , Alexandru Elisei , nd References: <20210623114039.24491-1-Pierre.Gondois@arm.com> <20210623114039.24491-3-Pierre.Gondois@arm.com> From: "Sami Mujawar" Message-ID: <695f3759-a8f3-b685-062b-330091f7cbdd@arm.com> Date: Fri, 1 Oct 2021 13:25:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20210623114039.24491-3-Pierre.Gondois@arm.com> X-ClientProxiedBy: LO4P123CA0499.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::18) 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 LO4P123CA0499.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15 via Frontend Transport; Fri, 1 Oct 2021 12:25:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 581a456e-7be3-486d-edc4-08d984d69abd X-MS-TrafficTypeDiagnostic: AM5PR0801MB2033:|AM0PR08MB4337: 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: oOsX9ShCXGF8BNbHh0vEwdI8MxnS3DI2Zz//Hjc+TMNfKU0BQVXwrr2fLiCHQetiW3u6xBrJAmwCa01lE2HiDts992c+SG+ub92UuLfT4Dd+qnNBdbZ0tba50xnNCjjlGHfb8HXmTqa4K6XaoG/ZQ+V+B0Y2/ZuHUxshJz2ORUtCGLkxcyue8w9+2/QkdEL90lWVtqGY17Z6uAMqQHD9w0nEy62KfhXcpEUKBUW1Y6N13jq+mynVDp7VLy0zi518mlYHyTG4kT9kZl0WK0B8ZlkiihNSgKTsp9Jb0URlt5k8XkcL9d1akHtE34O9faRes85qYRvrQBYeyycLrwmBMOgsUa4iybvBctX1FjEuzQ5vq/jspZTz3QVaS5zfhvcpGK3QiYdnhtITQ1jFVMBkZY4CuIz942GMGmU/2YUN/YRkO7O2cYv0iZjXL++hhy/pyo7xQg2Yj6LkxjBD2uD0k+fH62h9/b+ZHovuQdUamcbXHpQdM9PqpUIlKDLwEqLvwv7/F+IeKdDgAiwQrYI24Hlgv1sgCLcq8Z4fkxzTNFhgZocamI2oPgNL8c+V7G/Zmw4iqB+9h9AkMPAZII3BqkFBr/U5mC/le4ndNk+CoKoTtmNhBGbefeIbKb0wCIajJvg2Vp/bWGIlmV8Js1/10UqYQodl/ff2jmlLqvx2NrJc+xmTZ+93h73McHG3D75HUikxx2BeqRqg1YBhh4fMhYP/g1KWXQ6QdNJOxDF67pDCRhF6ubq4pK1kJvQ0cL7zs8MdQNfFlsuSs5eCBrcpJA== 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)(186003)(6636002)(4326008)(6862004)(2616005)(66946007)(508600001)(956004)(31686004)(53546011)(52116002)(44832011)(86362001)(2906002)(5660300002)(8936002)(83380400001)(54906003)(26005)(31696002)(16576012)(316002)(38350700002)(38100700002)(37006003)(6486002)(66556008)(66476007)(36756003)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2033 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: VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 844696a9-ba85-48a3-0bc4-08d984d69145 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p4mPgb/rG1w7P0d7zwM+oB9NYBZdNXVNcQ9sHajChWGawnO6Ix3afs61VygDEYXDPybhMGY23Ox2CWEXf0p6sOyS+UiJIVmoeMRD8uzeP6ztREVP6pEnjKjLhlG1C4FroRy9a+50XlCgm7Cfe5NiRSHYp4t8saOnFreVn5vGv8I88y1FrYhezlBPgCo647eYvZiuXBhl9jJK5RvclTj0MArbn+wDN80z4ybdfWhUnmwjz/JAKFobE9sLYkLv3crvOsQGBkuNXwUz2PaZoS78Ubj0IovUjS22S1KCNovP7Fjckj/l0l7QfA5dMtlD5VqgExzZ6rrthiZip9i1TNxVXoKZhJh4pL38jhqfMqKq2X7Gdik4AIYFGyzb8MhxJ63lP53Orx6CUu9U0nCGUJJcbpLfcnfc1h0i3HXcaRojkow/LNLFzNTGsReptXmEusfFzxdrHEg2BTGgzb8W/63nLsuUB1yze2L2rtPCLNQRbzDh4WkhFmvaEQU4Y0LcArynS5wYG8T2/+/MSFTUAMoEZIjnW2+gS/fGRh8iZPyzvWhzSZmQvWj3/XrzgAeKShwfrDKFRcDI5I20djOO8YJ/fUUc0NMnD+spCklpqbueazR4KXLXsz1phf9yDf6xHK9J715BGtaOwl+wUHTgfUmUFtwFUFGVWECE3DoYR+0XLQkX/+8VenEt28Iitp8h2cUscTQ8d3GJPRIOjf7YrPbhchKNL1aesCAj4LTRMutH73E= 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)(70206006)(83380400001)(2906002)(8936002)(82310400003)(70586007)(4326008)(86362001)(508600001)(36860700001)(31696002)(36756003)(6636002)(37006003)(2616005)(5660300002)(8676002)(186003)(356005)(81166007)(956004)(54906003)(53546011)(16576012)(26005)(44832011)(6486002)(316002)(47076005)(31686004)(6862004)(336012)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2021 12:25:50.2214 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 581a456e-7be3-486d-edc4-08d984d69abd 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: VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4337 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Pierre, Thank you for this patch. I have a minor suggestion marked inline as [SAMI]. With that changed, Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 23/06/2021 12:40 PM, Pierre.Gondois@arm.com wrote: > From: Pierre Gondois > > Add AmlCodeGenRegister() to generate AML code for the > Generic Register Resource Descriptor. This function is > equivalent to the ASL macro Register(). > > Signed-off-by: Pierre Gondois > --- > .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 87 +++++++++++++++++++ > .../AmlLib/CodeGen/AmlResourceDataCodeGen.h | 49 +++++++++++ > 2 files changed, 136 insertions(+) > > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c > index 089597a6c906..07a96725a4ef 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c > @@ -187,6 +187,93 @@ AmlCodeGenRdInterrupt ( > return LinkRdNode (RdNode, NameOpNode, NewRdNode); > } > > +/** Code generation for the "Register ()" ASL function. > + > + The Resource Data effectively created is a Generic Register Descriptor. > + Data. Cf ACPI 6.4: > + - s6.4.3.7 "Generic Register Descriptor". > + - s19.6.114 "Register". > + > + The created resource data node can be: > + - appended to the list of resource data elements of the NameOpNode. > + In such case NameOpNode must be defined by a the "Name ()" ASL statement > + and initially contain a "ResourceTemplate ()". > + - returned through the NewRdNode parameter. > + > + @param [in] AddressSpace Address space where the register exists. > + Can be one of I/O space, System Memory, etc. > + @param [in] BitWidth Number of bits in the register. > + @param [in] BitOffset Offset in bits from the start of the register > + indicated by the Address. > + @param [in] Address Register address. > + @param [in] AccessSize Size of data values used when accessing the > + address space. Can be one of: > + 0 - Undefined, legacy (EFI_ACPI_6_3_UNDEFINED) > + 1 - Byte access (EFI_ACPI_6_3_BYTE) > + 2 - Word access (EFI_ACPI_6_3_WORD) > + 3 - DWord access (EFI_ACPI_6_3_DWORD) > + 4 - QWord access (EFI_ACPI_6_3_QWORD) > + @param [in] NameOpNode NameOp object node defining a named object. > + If provided, append the new resource data node > + to the list of resource data elements of this > + node. > + @param [out] NewRdNode If provided and success, > + contain the created node. > + > + @retval EFI_SUCCESS The function completed successfully. > + @retval EFI_INVALID_PARAMETER Invalid parameter. > + @retval EFI_OUT_OF_RESOURCES Could not allocate memory. > +**/ > +EFI_STATUS > +EFIAPI > +AmlCodeGenRdRegister ( > + IN UINT8 AddressSpace, > + IN UINT8 BitWidth, > + IN UINT8 BitOffset, > + IN UINT64 Address, > + IN UINT8 AccessSize, > + IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > + OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > + ) > +{ > + EFI_STATUS Status; > + AML_DATA_NODE * RdNode; > + EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR RdRegister; > + > + if ((AccessSize > EFI_ACPI_6_3_QWORD) || [SAMI] Can we use the EFI_ACPI_6_4* defines, please? Corresponding changes are also needed at other places in this patch. > + ((NameOpNode == NULL) && (NewRdNode == NULL))) { > + ASSERT (0); > + return EFI_INVALID_PARAMETER; > + } > + > + // Header > + RdRegister.Header.Header.Bits.Name = > + ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME; > + RdRegister.Header.Header.Bits.Type = ACPI_LARGE_ITEM_FLAG; > + RdRegister.Header.Length = sizeof (EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR) - > + sizeof (ACPI_LARGE_RESOURCE_HEADER); > + > + // Body > + RdRegister.AddressSpaceId = AddressSpace; > + RdRegister.RegisterBitWidth = BitWidth; > + RdRegister.RegisterBitOffset = BitOffset; > + RdRegister.AddressSize = AccessSize; > + RdRegister.RegisterAddress = Address; > + > + Status = AmlCreateDataNode ( > + EAmlNodeDataTypeResourceData, > + (UINT8*)&RdRegister, > + sizeof (EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR), > + &RdNode > + ); > + if (EFI_ERROR (Status)) { > + ASSERT (0); > + return Status; > + } > + > + return LinkRdNode (RdNode, NameOpNode, NewRdNode); > +} > + > // DEPRECATED APIS > #ifndef DISABLE_NEW_DEPRECATED_INTERFACES > > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.h b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.h > index 764051e3d7c9..3c9217d9ddab 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.h > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.h > @@ -55,4 +55,53 @@ AmlCodeGenRdInterrupt ( > OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > ); > > +/** Code generation for the "Register ()" ASL function. > + > + The Resource Data effectively created is a Generic Register Descriptor. > + Data. Cf ACPI 6.4: > + - s6.4.3.7 "Generic Register Descriptor". > + - s19.6.114 "Register". > + > + The created resource data node can be: > + - appended to the list of resource data elements of the NameOpNode. > + In such case NameOpNode must be defined by a the "Name ()" ASL statement > + and initially contain a "ResourceTemplate ()". > + - returned through the NewRdNode parameter. > + > + @param [in] AddressSpace Address space where the register exists. > + Can be one of I/O space, System Memory, etc. > + @param [in] BitWidth Number of bits in the register. > + @param [in] BitOffset Offset in bits from the start of the register > + indicated by the Address. > + @param [in] Address Register address. > + @param [in] AccessSize Size of data values used when accessing the > + address space. Can be one of: > + 0 - Undefined, legacy (EFI_ACPI_6_3_UNDEFINED) > + 1 - Byte access (EFI_ACPI_6_3_BYTE) > + 2 - Word access (EFI_ACPI_6_3_WORD) > + 3 - DWord access (EFI_ACPI_6_3_DWORD) > + 4 - QWord access (EFI_ACPI_6_3_QWORD) > + @param [in] NameOpNode NameOp object node defining a named object. > + If provided, append the new resource data node > + to the list of resource data elements of this > + node. > + @param [out] NewRdNode If provided and success, > + contain the created node. > + > + @retval EFI_SUCCESS The function completed successfully. > + @retval EFI_INVALID_PARAMETER Invalid parameter. > + @retval EFI_OUT_OF_RESOURCES Could not allocate memory. > +**/ > +EFI_STATUS > +EFIAPI > +AmlCodeGenRdRegister ( > + IN UINT8 AddressSpace, > + IN UINT8 BitWidth, > + IN UINT8 BitOffset, > + IN UINT64 Address, > + IN UINT8 AccessSize, > + IN AML_OBJECT_NODE_HANDLE NameOpNode, OPTIONAL > + OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL > + ); > + > #endif // AML_RESOURCE_DATA_CODE_GEN_H_