// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: exoparg2 - AML execution - opcodes with 2 arguments * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "acparser.h" #include "acinterp.h" #include "acevents.h" #include "amlcode.h" #define _COMPONENT … ACPI_MODULE_NAME("exoparg2") /*! * Naming convention for AML interpreter execution routines. * * The routines that begin execution of AML opcodes are named with a common * convention based upon the number of arguments, the number of target operands, * and whether or not a value is returned: * * AcpiExOpcode_xA_yT_zR * * Where: * * xA - ARGUMENTS: The number of arguments (input operands) that are * required for this opcode type (1 through 6 args). * yT - TARGETS: The number of targets (output operands) that are required * for this opcode type (0, 1, or 2 targets). * zR - RETURN VALUE: Indicates whether this opcode type returns a value * as the function return (0 or 1). * * The AcpiExOpcode* functions are called via the Dispatcher component with * fully resolved operands. !*/ /******************************************************************************* * * FUNCTION: acpi_ex_opcode_2A_0T_0R * * PARAMETERS: walk_state - Current walk state * * RETURN: Status * * DESCRIPTION: Execute opcode with two arguments, no target, and no return * value. * * ALLOCATION: Deletes both operands * ******************************************************************************/ acpi_status acpi_ex_opcode_2A_0T_0R(struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_opcode_2A_2T_1R * * PARAMETERS: walk_state - Current walk state * * RETURN: Status * * DESCRIPTION: Execute a dyadic operator (2 operands) with 2 output targets * and one implicit return value. * ******************************************************************************/ acpi_status acpi_ex_opcode_2A_2T_1R(struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_opcode_2A_1T_1R * * PARAMETERS: walk_state - Current walk state * * RETURN: Status * * DESCRIPTION: Execute opcode with two arguments, one target, and a return * value. * ******************************************************************************/ acpi_status acpi_ex_opcode_2A_1T_1R(struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_opcode_2A_0T_1R * * PARAMETERS: walk_state - Current walk state * * RETURN: Status * * DESCRIPTION: Execute opcode with 2 arguments, no target, and a return value * ******************************************************************************/ acpi_status acpi_ex_opcode_2A_0T_1R(struct acpi_walk_state *walk_state) { … }