Lines Matching +full:entry +full:- +full:method
1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
4 * Module Name: dsmthdat - control method arguments and local variables
38 * PARAMETERS: walk_state - Current walk state object
42 * DESCRIPTION: Initialize the data structures that hold the method's arguments
44 * each - this allows ref_of and de_ref_of to work properly for these
50 * A pseudo-Namespace Node is assigned to each argument and local
61 /* Init the method arguments */ in acpi_ds_method_data_init()
64 ACPI_MOVE_32_TO_32(&walk_state->arguments[i].name, in acpi_ds_method_data_init()
67 walk_state->arguments[i].name.integer |= (i << 24); in acpi_ds_method_data_init()
68 walk_state->arguments[i].descriptor_type = ACPI_DESC_TYPE_NAMED; in acpi_ds_method_data_init()
69 walk_state->arguments[i].type = ACPI_TYPE_ANY; in acpi_ds_method_data_init()
70 walk_state->arguments[i].flags = ANOBJ_METHOD_ARG; in acpi_ds_method_data_init()
73 /* Init the method locals */ in acpi_ds_method_data_init()
76 ACPI_MOVE_32_TO_32(&walk_state->local_variables[i].name, in acpi_ds_method_data_init()
79 walk_state->local_variables[i].name.integer |= (i << 24); in acpi_ds_method_data_init()
80 walk_state->local_variables[i].descriptor_type = in acpi_ds_method_data_init()
82 walk_state->local_variables[i].type = ACPI_TYPE_ANY; in acpi_ds_method_data_init()
83 walk_state->local_variables[i].flags = ANOBJ_METHOD_LOCAL; in acpi_ds_method_data_init()
93 * PARAMETERS: walk_state - Current walk state object
97 * DESCRIPTION: Delete method locals and arguments. Arguments are only
98 * deleted if this method was called from another method.
111 if (walk_state->local_variables[index].object) { in acpi_ds_method_data_delete_all()
114 walk_state->local_variables[index]. in acpi_ds_method_data_delete_all()
119 acpi_ns_detach_object(&walk_state-> in acpi_ds_method_data_delete_all()
127 if (walk_state->arguments[index].object) { in acpi_ds_method_data_delete_all()
130 walk_state->arguments[index].object)); in acpi_ds_method_data_delete_all()
134 acpi_ns_detach_object(&walk_state->arguments[index]); in acpi_ds_method_data_delete_all()
145 * PARAMETERS: *params - Pointer to a parameter list for the method
146 * max_param_count - The arg count for this method
147 * walk_state - Current walk state object
151 * DESCRIPTION: Initialize arguments for a method. The parameter list is a list
169 "No parameter list passed to method\n")); in acpi_ds_method_data_init_args()
173 /* Copy passed parameters into the new method stack frame */ in acpi_ds_method_data_init_args()
179 * Store the argument in the method/walk descriptor. in acpi_ds_method_data_init_args()
192 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "%u args passed to method\n", index)); in acpi_ds_method_data_init_args()
200 * PARAMETERS: type - Either ACPI_REFCLASS_LOCAL or
202 * index - Which Local or Arg whose type to get
203 * walk_state - Current walk state object
204 * node - Where the node is returned.
221 * Method Locals and Arguments are supported in acpi_ds_method_data_get_node()
233 /* Return a pointer to the pseudo-node */ in acpi_ds_method_data_get_node()
235 *node = &walk_state->local_variables[index]; in acpi_ds_method_data_get_node()
247 /* Return a pointer to the pseudo-node */ in acpi_ds_method_data_get_node()
249 *node = &walk_state->arguments[index]; in acpi_ds_method_data_get_node()
265 * PARAMETERS: type - Either ACPI_REFCLASS_LOCAL or
267 * index - Which Local or Arg to get
268 * object - Object to be inserted into the stack entry
269 * walk_state - Current walk state object
273 * DESCRIPTION: Insert an object onto the method stack at entry Opcode:Index.
291 type, object->common.reference_count, in acpi_ds_method_data_set_value()
292 acpi_ut_get_type_name(object->common.type))); in acpi_ds_method_data_set_value()
304 * reference semantics of ACPI Control Method invocation. in acpi_ds_method_data_set_value()
311 node->object = object; in acpi_ds_method_data_set_value()
319 * PARAMETERS: type - Either ACPI_REFCLASS_LOCAL or
321 * index - Which localVar or argument to get
322 * walk_state - Current walk state object
323 * dest_desc - Where Arg or Local value is returned
327 * DESCRIPTION: Retrieve value of selected Arg or Local for this method
360 object = node->object; in acpi_ds_method_data_get_value()
368 * not passed to the method, or 2) A local variable in acpi_ds_method_data_get_value()
369 * was referenced by the method (via the ASL) in acpi_ds_method_data_get_value()
381 node->object = object; in acpi_ds_method_data_get_value()
426 * PARAMETERS: type - Either ACPI_REFCLASS_LOCAL or
428 * index - Which localVar or argument to delete
429 * walk_state - Current walk state object
433 * DESCRIPTION: Delete the entry at Opcode:Index. Inserts
464 node->object = NULL; in acpi_ds_method_data_delete_value()
483 * PARAMETERS: type - Either ACPI_REFCLASS_LOCAL or
485 * index - Which Local or Arg to set
486 * obj_desc - Value to be stored
487 * walk_state - Current walk state
540 if (obj_desc->common.reference_count > 1) { in acpi_ds_store_object_to_local()
565 * Store (1, Arg0) - Causes indirect store to local4 in acpi_ds_store_object_to_local()
566 * Store (1, Local0) - Stores 1 in local0, overwriting in acpi_ds_store_object_to_local()
568 * Store (1, de_refof (Local0)) - Causes indirect store to local4 in acpi_ds_store_object_to_local()
579 (current_obj_desc->common.type == in acpi_ds_store_object_to_local()
581 (current_obj_desc->reference.class == in acpi_ds_store_object_to_local()
595 current_obj_desc-> in acpi_ds_store_object_to_local()
639 * PARAMETERS: opcode - Either AML_FIRST LOCAL_OP or
641 * index - Which Local or Arg whose type to get
642 * walk_state - Current walk state object
679 return_VALUE(object->type); in acpi_ds_method_data_get_type()