ACPICA: Enhance implicit return mechanism
For Windows compatibility, return an implicit integer of value zero for methods that have no executable code. A default implicit value of zero is provided for methods. Lin Ming. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@ -295,6 +295,22 @@ acpi_status acpi_ps_execute_method(struct acpi_evaluate_info *info)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Start method evaluation with an implicit return of zero.
|
||||||
|
* This is done for Windows compatibility.
|
||||||
|
*/
|
||||||
|
if (acpi_gbl_enable_interpreter_slack) {
|
||||||
|
walk_state->implicit_return_obj =
|
||||||
|
acpi_ut_create_internal_object(ACPI_TYPE_INTEGER);
|
||||||
|
if (!walk_state->implicit_return_obj) {
|
||||||
|
status = AE_NO_MEMORY;
|
||||||
|
acpi_ds_delete_walk_state(walk_state);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
walk_state->implicit_return_obj->integer.value = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Parse the AML */
|
/* Parse the AML */
|
||||||
|
|
||||||
status = acpi_ps_parse_aml(walk_state);
|
status = acpi_ps_parse_aml(walk_state);
|
||||||
|
Reference in New Issue
Block a user