// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: dswexec - Dispatcher method execution callbacks; * dispatch to interpreter. * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "acparser.h" #include "amlcode.h" #include "acdispat.h" #include "acinterp.h" #include "acnamesp.h" #include "acdebug.h" #ifdef ACPI_EXEC_APP #include "aecommon.h" #endif #define _COMPONENT … ACPI_MODULE_NAME("dswexec") /* * Dispatch table for opcode classes */ static acpi_execute_op acpi_gbl_op_type_dispatch[] = …; /***************************************************************************** * * FUNCTION: acpi_ds_get_predicate_value * * PARAMETERS: walk_state - Current state of the parse tree walk * result_obj - if non-zero, pop result from result stack * * RETURN: Status * * DESCRIPTION: Get the result of a predicate evaluation * ****************************************************************************/ acpi_status acpi_ds_get_predicate_value(struct acpi_walk_state *walk_state, union acpi_operand_object *result_obj) { … } /***************************************************************************** * * FUNCTION: acpi_ds_exec_begin_op * * PARAMETERS: walk_state - Current state of the parse tree walk * out_op - Where to return op if a new one is created * * RETURN: Status * * DESCRIPTION: Descending callback used during the execution of control * methods. This is where most operators and operands are * dispatched to the interpreter. * ****************************************************************************/ acpi_status acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state, union acpi_parse_object **out_op) { … } /***************************************************************************** * * FUNCTION: acpi_ds_exec_end_op * * PARAMETERS: walk_state - Current state of the parse tree walk * * RETURN: Status * * DESCRIPTION: Ascending callback used during the execution of control * methods. The only thing we really need to do here is to * notice the beginning of IF, ELSE, and WHILE blocks. * ****************************************************************************/ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state) { … }