acpi_parse_object* acpi_ps_alloc_op ( u16 opcode) { acpi_parse_object *op = NULL; u32 size; u8 flags; const acpi_opcode_info *op_info; FUNCTION_ENTRY (); op_info = acpi_ps_get_opcode_info (opcode); /* Allocate the minimum required size object */ if (op_info->flags & AML_DEFER) { size = sizeof (acpi_parse2_object); flags = PARSEOP_DEFERRED; } else if (op_info->flags & AML_NAMED) { size = sizeof (acpi_parse2_object); flags = PARSEOP_NAMED; } else if (opcode == AML_INT_BYTELIST_OP) { size = sizeof (acpi_parse2_object); flags = PARSEOP_BYTELIST; } else { size = sizeof (acpi_parse_object); flags = PARSEOP_GENERIC; } if (size == sizeof (acpi_parse_object)) { /* * The generic op is by far the most common (16 to 1) */ op = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_PSNODE); } else { op = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_PSNODE_EXT); } /* Initialize the Op */ if (op) { acpi_ps_init_op (op, opcode); op->flags = flags; } return (op); }
void * acpi_ut_allocate_object_desc_dbg ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id) { acpi_operand_object *object; FUNCTION_TRACE ("Ut_allocate_object_desc_dbg"); object = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_OPERAND); if (!object) { _REPORT_ERROR (module_name, line_number, component_id, ("Could not allocate an object descriptor\n")); return_PTR (NULL); } /* Mark the descriptor type */ object->common.data_type = ACPI_DESC_TYPE_INTERNAL; ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, "%p Size %X\n", object, sizeof (acpi_operand_object))); return_PTR (object); }
void * acpi_ut_allocate_object_desc_dbg ( char *module_name, u32 line_number, u32 component_id) { union acpi_operand_object *object; ACPI_FUNCTION_TRACE ("ut_allocate_object_desc_dbg"); object = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_OPERAND); if (!object) { _ACPI_REPORT_ERROR (module_name, line_number, component_id, ("Could not allocate an object descriptor\n")); 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, (u32) sizeof (union acpi_operand_object))); return_PTR (object); }
union acpi_generic_state * acpi_ut_create_generic_state (void) { union acpi_generic_state *state; ACPI_FUNCTION_ENTRY (); state = acpi_ut_acquire_from_cache (ACPI_MEM_LIST_STATE); /* Initialize */ if (state) { state->common.data_type = ACPI_DESC_TYPE_STATE; } return (state); }