ACPI_PARSE_OBJECT* AcpiPsAllocOp ( UINT16 Opcode, UINT8 *Aml) { ACPI_PARSE_OBJECT *Op; const ACPI_OPCODE_INFO *OpInfo; UINT8 Flags = ACPI_PARSEOP_GENERIC; ACPI_FUNCTION_ENTRY (); OpInfo = AcpiPsGetOpcodeInfo (Opcode); /* Determine type of ParseOp required */ if (OpInfo->Flags & AML_DEFER) { Flags = ACPI_PARSEOP_DEFERRED; } else if (OpInfo->Flags & AML_NAMED) { Flags = ACPI_PARSEOP_NAMED; } else if (Opcode == AML_INT_BYTELIST_OP) { Flags = ACPI_PARSEOP_BYTELIST; } /* Allocate the minimum required size object */ if (Flags == ACPI_PARSEOP_GENERIC) { /* The generic op (default) is by far the most common (16 to 1) */ Op = AcpiOsAcquireObject (AcpiGbl_PsNodeCache); } else { /* Extended parseop */ Op = AcpiOsAcquireObject (AcpiGbl_PsNodeExtCache); } /* Initialize the Op */ if (Op) { AcpiPsInitOp (Op, Opcode); Op->Common.Aml = Aml; Op->Common.Flags = Flags; } return (Op); }
ACPI_NAMESPACE_NODE * AcpiNsCreateNode ( UINT32 Name) { ACPI_NAMESPACE_NODE *Node; #ifdef ACPI_DBG_TRACK_ALLOCATIONS UINT32 Temp; #endif ACPI_FUNCTION_TRACE (NsCreateNode); Node = AcpiOsAcquireObject (AcpiGbl_NamespaceCache); if (!Node) { return_PTR (NULL); } ACPI_MEM_TRACKING (AcpiGbl_NsNodeList->TotalAllocated++); #ifdef ACPI_DBG_TRACK_ALLOCATIONS Temp = AcpiGbl_NsNodeList->TotalAllocated - AcpiGbl_NsNodeList->TotalFreed; if (Temp > AcpiGbl_NsNodeList->MaxOccupied) { AcpiGbl_NsNodeList->MaxOccupied = Temp; } #endif Node->Name.Integer = Name; ACPI_SET_DESCRIPTOR_TYPE (Node, ACPI_DESC_TYPE_NAMED); return_PTR (Node); }
void * AcpiUtAllocateObjectDescDbg ( const char *ModuleName, UINT32 LineNumber, UINT32 ComponentId) { ACPI_OPERAND_OBJECT *Object; ACPI_FUNCTION_TRACE (UtAllocateObjectDescDbg); Object = AcpiOsAcquireObject (AcpiGbl_OperandCache); if (!Object) { ACPI_ERROR ((ModuleName, LineNumber, "Could not allocate an object descriptor")); return_PTR (NULL); } /* Mark the descriptor type */ ACPI_SET_DESCRIPTOR_TYPE (Object, ACPI_DESC_TYPE_OPERAND); ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, "%p Size %X\n", Object, (UINT32) sizeof (ACPI_OPERAND_OBJECT))); return_PTR (Object); }
ACPI_GENERIC_STATE * AcpiUtCreateGenericState ( void) { ACPI_GENERIC_STATE *State; ACPI_FUNCTION_ENTRY (); State = AcpiOsAcquireObject (AcpiGbl_StateCache); if (State) { /* Initialize */ State->Common.DescriptorType = ACPI_DESC_TYPE_STATE; } return (State); }
ACPI_NAMESPACE_NODE * AcpiNsCreateNode ( UINT32 Name) { ACPI_NAMESPACE_NODE *Node; ACPI_FUNCTION_TRACE (NsCreateNode); Node = AcpiOsAcquireObject (AcpiGbl_NamespaceCache); if (!Node) { return_PTR (NULL); } ACPI_MEM_TRACKING (AcpiGbl_NsNodeList->TotalAllocated++); Node->Name.Integer = Name; ACPI_SET_DESCRIPTOR_TYPE (Node, ACPI_DESC_TYPE_NAMED); return_PTR (Node); }