OUT AML_OBJECT_NODE_HANDLE *NewCpcNode OPTIONAL\r
);\r
\r
-// DEPRECATED APIS\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/** DEPRECATED API\r
-\r
- Get the first Resource Data element contained in a "_CRS" object.\r
-\r
- In the following ASL code, the function will return the Resource Data\r
- node corresponding to the "QWordMemory ()" ASL macro.\r
- Name (_CRS, ResourceTemplate() {\r
- QWordMemory (...) {...},\r
- Interrupt (...) {...}\r
- }\r
- )\r
-\r
- Note:\r
- - The "_CRS" object must be declared using ASL "Name (Declare Named Object)".\r
- - "_CRS" declared using ASL "Method (Declare Control Method)" is not\r
- supported.\r
-\r
- @ingroup UserApis\r
-\r
- @param [in] NameOpCrsNode NameOp object node defining a "_CRS" object.\r
- Must have an OpCode=AML_NAME_OP, SubOpCode=0.\r
- NameOp object nodes are defined in ASL\r
- using the "Name ()" function.\r
- @param [out] OutRdNode Pointer to the first Resource Data element of\r
- the "_CRS" object. A Resource Data element\r
- is stored in a data node.\r
-\r
- @retval EFI_SUCCESS The function completed successfully.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AmlNameOpCrsGetFirstRdNode (\r
- IN AML_OBJECT_NODE_HANDLE NameOpCrsNode,\r
- OUT AML_DATA_NODE_HANDLE *OutRdNode\r
- );\r
-\r
-/** DEPRECATED API\r
-\r
- Get the Resource Data element following the CurrRdNode Resource Data.\r
-\r
- In the following ASL code, if CurrRdNode corresponds to the first\r
- "QWordMemory ()" ASL macro, the function will return the Resource Data\r
- node corresponding to the "Interrupt ()" ASL macro.\r
- Name (_CRS, ResourceTemplate() {\r
- QwordMemory (...) {...},\r
- Interrupt (...) {...}\r
- }\r
- )\r
-\r
- The CurrRdNode Resource Data node must be defined in an object named "_CRS"\r
- and defined by a "Name ()" ASL function.\r
-\r
- @ingroup UserApis\r
-\r
- @param [in] CurrRdNode Pointer to the current Resource Data element of\r
- the "_CRS" variable.\r
- @param [out] OutRdNode Pointer to the Resource Data element following\r
- the CurrRdNode.\r
- Contain a NULL pointer if CurrRdNode is the\r
- last Resource Data element in the list.\r
- The "End Tag" is not considered as a resource\r
- data element and is not returned.\r
-\r
- @retval EFI_SUCCESS The function completed successfully.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AmlNameOpCrsGetNextRdNode (\r
- IN AML_DATA_NODE_HANDLE CurrRdNode,\r
- OUT AML_DATA_NODE_HANDLE *OutRdNode\r
- );\r
-\r
-/** DEPRECATED API\r
-\r
- Add an Interrupt Resource Data node.\r
-\r
- This function creates a Resource Data element corresponding to the\r
- "Interrupt ()" ASL function, stores it in an AML Data Node.\r
-\r
- It then adds it after the input CurrRdNode in the list of resource data\r
- element.\r
-\r
- The Resource Data effectively created is an Extended Interrupt Resource\r
- Data. See ACPI 6.3 specification, s6.4.3.6 "Extended Interrupt Descriptor"\r
- for more information about Extended Interrupt Resource Data.\r
-\r
- The Extended Interrupt contains one single interrupt.\r
-\r
- This function allocates memory to create a data node. It is the caller's\r
- responsibility to either:\r
- - attach this node to an AML tree;\r
- - delete this node.\r
-\r
- Note: The _CRS node must be defined using the ASL Name () function.\r
- e.g. Name (_CRS, ResourceTemplate () {\r
- ...\r
- }\r
-\r
- @ingroup CodeGenApis\r
-\r
- @param [in] NameOpCrsNode NameOp object node defining a "_CRS" object.\r
- Must have an OpCode=AML_NAME_OP, SubOpCode=0.\r
- NameOp object nodes are defined in ASL\r
- using the "Name ()" function.\r
- @param [in] ResourceConsumer The device consumes the specified interrupt\r
- or produces it for use by a child device.\r
- @param [in] EdgeTriggered The interrupt is edge triggered or\r
- level triggered.\r
- @param [in] ActiveLow The interrupt is active-high or active-low.\r
- @param [in] Shared The interrupt can be shared with other\r
- devices or not (Exclusive).\r
- @param [in] IrqList Interrupt list. Must be non-NULL.\r
- @param [in] IrqCount Interrupt count. Must be non-zero.\r
-\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
-AmlCodeGenCrsAddRdInterrupt (\r
- IN AML_OBJECT_NODE_HANDLE NameOpCrsNode,\r
- IN BOOLEAN ResourceConsumer,\r
- IN BOOLEAN EdgeTriggered,\r
- IN BOOLEAN ActiveLow,\r
- IN BOOLEAN Shared,\r
- IN UINT32 *IrqList,\r
- IN UINT8 IrqCount\r
- );\r
-\r
-#endif // DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
#endif // AML_LIB_H_\r
{\r
return AmlVarListAddTail (ParentNode, NewNode);\r
}\r
-\r
-// DEPRECATED APIS\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/** DEPRECATED API\r
-\r
- Get the first Resource Data element contained in a "_CRS" object.\r
-\r
- In the following ASL code, the function will return the Resource Data\r
- node corresponding to the "QWordMemory ()" ASL macro.\r
- Name (_CRS, ResourceTemplate() {\r
- QWordMemory (...) {...},\r
- Interrupt (...) {...}\r
- }\r
- )\r
-\r
- Note:\r
- - The "_CRS" object must be declared using ASL "Name (Declare Named Object)".\r
- - "_CRS" declared using ASL "Method (Declare Control Method)" is not\r
- supported.\r
-\r
- @ingroup UserApis\r
-\r
- @param [in] NameOpCrsNode NameOp object node defining a "_CRS" object.\r
- Must have an OpCode=AML_NAME_OP, SubOpCode=0.\r
- NameOp object nodes are defined in ASL\r
- using the "Name ()" function.\r
- @param [out] OutRdNode Pointer to the first Resource Data element of\r
- the "_CRS" object. A Resource Data element\r
- is stored in a data node.\r
-\r
- @retval EFI_SUCCESS The function completed successfully.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AmlNameOpCrsGetFirstRdNode (\r
- IN AML_OBJECT_NODE_HANDLE NameOpCrsNode,\r
- OUT AML_DATA_NODE_HANDLE *OutRdNode\r
- )\r
-{\r
- return AmlNameOpGetFirstRdNode (NameOpCrsNode, OutRdNode);\r
-}\r
-\r
-/** DEPRECATED API\r
-\r
- Get the Resource Data element following the CurrRdNode Resource Data.\r
-\r
- In the following ASL code, if CurrRdNode corresponds to the first\r
- "QWordMemory ()" ASL macro, the function will return the Resource Data\r
- node corresponding to the "Interrupt ()" ASL macro.\r
- Name (_CRS, ResourceTemplate() {\r
- QwordMemory (...) {...},\r
- Interrupt (...) {...}\r
- }\r
- )\r
-\r
- The CurrRdNode Resource Data node must be defined in an object named "_CRS"\r
- and defined by a "Name ()" ASL function.\r
-\r
- @ingroup UserApis\r
-\r
- @param [in] CurrRdNode Pointer to the current Resource Data element of\r
- the "_CRS" variable.\r
- @param [out] OutRdNode Pointer to the Resource Data element following\r
- the CurrRdNode.\r
- Contain a NULL pointer if CurrRdNode is the\r
- last Resource Data element in the list.\r
- The "End Tag" is not considered as a resource\r
- data element and is not returned.\r
-\r
- @retval EFI_SUCCESS The function completed successfully.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-AmlNameOpCrsGetNextRdNode (\r
- IN AML_DATA_NODE_HANDLE CurrRdNode,\r
- OUT AML_DATA_NODE_HANDLE *OutRdNode\r
- )\r
-{\r
- return AmlNameOpGetNextRdNode (CurrRdNode, OutRdNode);\r
-}\r
-\r
-#endif // DISABLE_NEW_DEPRECATED_INTERFACES\r
\r
return Status;\r
}\r
-\r
-// DEPRECATED APIS\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/** DEPRECATED API\r
-\r
- Add an Interrupt Resource Data node.\r
-\r
- This function creates a Resource Data element corresponding to the\r
- "Interrupt ()" ASL function, stores it in an AML Data Node.\r
-\r
- It then adds it after the input CurrRdNode in the list of resource data\r
- element.\r
-\r
- The Resource Data effectively created is an Extended Interrupt Resource\r
- Data. See ACPI 6.3 specification, s6.4.3.6 "Extended Interrupt Descriptor"\r
- for more information about Extended Interrupt Resource Data.\r
-\r
- The Extended Interrupt contains one single interrupt.\r
-\r
- This function allocates memory to create a data node. It is the caller's\r
- responsibility to either:\r
- - attach this node to an AML tree;\r
- - delete this node.\r
-\r
- Note: The _CRS node must be defined using the ASL Name () function.\r
- e.g. Name (_CRS, ResourceTemplate () {\r
- ...\r
- }\r
-\r
- @ingroup UserApis\r
-\r
- @param [in] NameOpCrsNode NameOp object node defining a "_CRS" object.\r
- Must have an OpCode=AML_NAME_OP, SubOpCode=0.\r
- NameOp object nodes are defined in ASL\r
- using the "Name ()" function.\r
- @param [in] ResourceConsumer The device consumes the specified interrupt\r
- or produces it for use by a child device.\r
- @param [in] EdgeTriggered The interrupt is edge triggered or\r
- level triggered.\r
- @param [in] ActiveLow The interrupt is active-high or active-low.\r
- @param [in] Shared The interrupt can be shared with other\r
- devices or not (Exclusive).\r
- @param [in] IrqList Interrupt list. Must be non-NULL.\r
- @param [in] IrqCount Interrupt count. Must be non-zero.\r
-\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
-AmlCodeGenCrsAddRdInterrupt (\r
- IN AML_OBJECT_NODE_HANDLE NameOpCrsNode,\r
- IN BOOLEAN ResourceConsumer,\r
- IN BOOLEAN EdgeTriggered,\r
- IN BOOLEAN ActiveLow,\r
- IN BOOLEAN Shared,\r
- IN UINT32 *IrqList,\r
- IN UINT8 IrqCount\r
- )\r
-{\r
- return AmlCodeGenRdInterrupt (\r
- ResourceConsumer,\r
- EdgeTriggered,\r
- ActiveLow,\r
- Shared,\r
- IrqList,\r
- IrqCount,\r
- NameOpCrsNode,\r
- NULL\r
- );\r
-}\r
-\r
-#endif // DISABLE_NEW_DEPRECATED_INTERFACES\r