OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL\r
);\r
\r
+/** Code generation for the "Memory32Fixed ()" ASL macro.\r
+\r
+ The Resource Data effectively created is a 32-bit Memory Resource\r
+ Data. Cf ACPI 6.4:\r
+ - s19.6.83 "Memory Resource Descriptor Macro".\r
+ - s19.2.8 "Memory32FixedTerm".\r
+\r
+ See ACPI 6.4 spec, s19.2.8 for more.\r
+\r
+ @param [in] IsReadWrite ReadAndWrite parameter.\r
+ @param [in] Address AddressBase parameter.\r
+ @param [in] RangeLength Range length.\r
+ @param [in] NameOpNode NameOp object node defining a named object.\r
+ If provided, append the new resource data\r
+ node to the list of resource data elements\r
+ of this node.\r
+ @param [out] NewMemNode If provided and success,\r
+ contain the created node.\r
+\r
+ @retval EFI_SUCCESS The function completed successfully.\r
+ @retval EFI_INVALID_PARAMETER Invalid parameter.\r
+ @retval EFI_OUT_OF_RESOURCES Could not allocate memory.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+AmlCodeGenRdMemory32Fixed (\r
+ BOOLEAN IsReadWrite,\r
+ UINT32 Address,\r
+ UINT32 RangeLength,\r
+ AML_OBJECT_NODE_HANDLE NameOpNode,\r
+ AML_DATA_NODE_HANDLE *NewMemNode\r
+ );\r
+\r
/** Code generation for the "WordBusNumber ()" ASL function.\r
\r
The Resource Data effectively created is a Word Address Space Resource\r
);\r
}\r
\r
+/** Code generation for the "Memory32Fixed ()" ASL macro.\r
+\r
+ The Resource Data effectively created is a 32-bit Memory Resource\r
+ Data. Cf ACPI 6.4:\r
+ - s19.6.83 "Memory Resource Descriptor Macro".\r
+ - s19.2.8 "Memory32FixedTerm".\r
+\r
+ See ACPI 6.4 spec, s19.2.8 for more.\r
+\r
+ @param [in] IsReadWrite ReadAndWrite parameter.\r
+ @param [in] Addres AddressBase parameter.\r
+ @param [in] RangeLength Range length.\r
+ @param [in] NameOpNode NameOp object node defining a named object.\r
+ If provided, append the new resource data\r
+ node to the list of resource data elements\r
+ of this node.\r
+ @param [out] NewMemNode If provided and success,\r
+ contain the created node.\r
+\r
+ @retval EFI_SUCCESS The function completed successfully.\r
+ @retval EFI_INVALID_PARAMETER Invalid parameter.\r
+ @retval EFI_OUT_OF_RESOURCES Could not allocate memory.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+AmlCodeGenRdMemory32Fixed (\r
+ BOOLEAN IsReadWrite,\r
+ UINT32 Address,\r
+ UINT32 RangeLength,\r
+ AML_OBJECT_NODE_HANDLE NameOpNode,\r
+ AML_DATA_NODE_HANDLE *NewMemNode\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ AML_DATA_NODE *MemNode;\r
+ EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR RangeDesc;\r
+\r
+ RangeDesc.Header.Header.Byte = ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR;\r
+ RangeDesc.Header.Length = sizeof (EFI_ACPI_32_BIT_FIXED_MEMORY_RANGE_DESCRIPTOR) -\r
+ sizeof (ACPI_LARGE_RESOURCE_HEADER);\r
+ RangeDesc.Information = IsReadWrite ? BIT0 : 0;\r
+ RangeDesc.BaseAddress = Address;\r
+ RangeDesc.Length = RangeLength;\r
+\r
+ Status = AmlCreateDataNode (\r
+ EAmlNodeDataTypeResourceData,\r
+ (UINT8 *)&RangeDesc,\r
+ sizeof (RangeDesc),\r
+ &MemNode\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ ASSERT (0);\r
+ return Status;\r
+ }\r
+\r
+ return LinkRdNode (MemNode, NameOpNode, NewMemNode);\r
+}\r
+\r
/** Code generation for the "WordSpace ()" ASL function.\r
\r
The Resource Data effectively created is a Word Address Space Resource\r