/******************************************************************************* * * FUNCTION: acpi_ds_execute_arguments * * PARAMETERS: node - Object NS node * scope_node - Parent NS node * aml_length - Length of executable AML * aml_start - Pointer to the AML * * RETURN: Status. * * DESCRIPTION: Late (deferred) execution of region or field arguments *
******************************************************************************/
/******************************************************************************* * * FUNCTION: acpi_ds_get_buffer_field_arguments * * PARAMETERS: obj_desc - A valid buffer_field object * * RETURN: Status. * * DESCRIPTION: Get buffer_field Buffer and Index. This implements the late * evaluation of these field attributes. *
******************************************************************************/
/* Execute the AML code for the term_arg arguments */
status = acpi_ds_execute_arguments(node, node->parent,
extra_desc->extra.aml_length,
extra_desc->extra.aml_start);
return_ACPI_STATUS(status);
}
/******************************************************************************* * * FUNCTION: acpi_ds_get_bank_field_arguments * * PARAMETERS: obj_desc - A valid bank_field object * * RETURN: Status. * * DESCRIPTION: Get bank_field bank_value. This implements the late * evaluation of these field attributes. *
******************************************************************************/
/* Execute the AML code for the term_arg arguments */
status = acpi_ds_execute_arguments(node, node->parent,
extra_desc->extra.aml_length,
extra_desc->extra.aml_start); if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
status = acpi_ut_add_address_range(obj_desc->region.space_id,
obj_desc->region.address,
obj_desc->region.length, node);
return_ACPI_STATUS(status);
}
/******************************************************************************* * * FUNCTION: acpi_ds_get_buffer_arguments * * PARAMETERS: obj_desc - A valid Buffer object * * RETURN: Status. * * DESCRIPTION: Get Buffer length and initializer byte list. This implements * the late evaluation of these attributes. *
******************************************************************************/
if (obj_desc->common.flags & AOPOBJ_DATA_VALID) {
return_ACPI_STATUS(AE_OK);
}
/* Get the Buffer node */
node = obj_desc->buffer.node; if (!node) {
ACPI_ERROR((AE_INFO, "No pointer back to namespace node in buffer object %p",
obj_desc));
return_ACPI_STATUS(AE_AML_INTERNAL);
}
/* Execute the AML code for the term_arg arguments */
status = acpi_ds_execute_arguments(node, node,
obj_desc->buffer.aml_length,
obj_desc->buffer.aml_start);
return_ACPI_STATUS(status);
}
/******************************************************************************* * * FUNCTION: acpi_ds_get_package_arguments * * PARAMETERS: obj_desc - A valid Package object * * RETURN: Status. * * DESCRIPTION: Get Package length and initializer byte list. This implements * the late evaluation of these attributes. *
******************************************************************************/
if (obj_desc->common.flags & AOPOBJ_DATA_VALID) {
return_ACPI_STATUS(AE_OK);
}
/* Get the Package node */
node = obj_desc->package.node; if (!node) {
ACPI_ERROR((AE_INFO, "No pointer back to namespace node in package %p",
obj_desc));
return_ACPI_STATUS(AE_AML_INTERNAL);
}
ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Package Argument Init, AML Ptr: %p\n",
obj_desc->package.aml_start));
/* Execute the AML code for the term_arg arguments */
status = acpi_ds_execute_arguments(node, node,
obj_desc->package.aml_length,
obj_desc->package.aml_start);
return_ACPI_STATUS(status);
}
/******************************************************************************* * * FUNCTION: acpi_ds_get_region_arguments * * PARAMETERS: obj_desc - A valid region object * * RETURN: Status. * * DESCRIPTION: Get region address and length. This implements the late * evaluation of these region attributes. *
******************************************************************************/
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.