Lines Matching refs:walk_state

48  * PARAMETERS:  walk_state      - Current state of the parse tree walk
58 acpi_ds_get_predicate_value(struct acpi_walk_state *walk_state,
65 ACPI_FUNCTION_TRACE_PTR(ds_get_predicate_value, walk_state);
67 walk_state->control_state->common.state = 0;
70 status = acpi_ds_result_pop(&obj_desc, walk_state);
78 status = acpi_ds_create_operand(walk_state, walk_state->op, 0);
84 acpi_ex_resolve_to_value(&walk_state->operands[0],
85 walk_state);
90 obj_desc = walk_state->operands[0];
96 obj_desc, walk_state));
114 obj_desc, walk_state, obj_desc->common.type));
129 walk_state->control_state->common.value = TRUE;
135 walk_state->control_state->common.value = FALSE;
141 (void)acpi_ds_do_implicit_return(local_obj_desc, walk_state, TRUE);
147 walk_state->control_state->common.value,
148 walk_state->op));
152 acpi_db_display_result_object(local_obj_desc, walk_state);
163 walk_state->control_state->common.state = ACPI_CONTROL_NORMAL;
171 * PARAMETERS: walk_state - Current state of the parse tree walk
183 acpi_ds_exec_begin_op(struct acpi_walk_state *walk_state,
190 ACPI_FUNCTION_TRACE_PTR(ds_exec_begin_op, walk_state);
192 op = walk_state->op;
194 status = acpi_ds_load2_begin_op(walk_state, out_op);
200 walk_state->op = op;
201 walk_state->opcode = op->common.aml_opcode;
202 walk_state->op_info =
205 if (acpi_ns_opens_scope(walk_state->op_info->object_type)) {
208 acpi_ut_get_type_name(walk_state->
213 status = acpi_ds_scope_stack_pop(walk_state);
220 if (op == walk_state->origin) {
233 if ((walk_state->control_state) &&
234 (walk_state->control_state->common.state ==
238 op, walk_state));
240 walk_state->control_state->common.state =
245 walk_state->control_state->control.predicate_op = op;
248 opcode_class = walk_state->op_info->class;
262 status = acpi_ds_exec_begin_control_op(walk_state, op);
267 if (walk_state->walk_type & ACPI_WALK_METHOD) {
281 acpi_ds_load2_begin_op(walk_state, NULL);
286 type, walk_state);
309 status = acpi_ds_method_error(status, walk_state);
317 * PARAMETERS: walk_state - Current state of the parse tree walk
327 acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
340 ACPI_FUNCTION_TRACE_PTR(ds_exec_end_op, walk_state);
342 op = walk_state->op;
343 op_type = walk_state->op_info->type;
344 op_class = walk_state->op_info->class;
356 walk_state->num_operands = 0;
357 walk_state->operand_index = 0;
358 walk_state->return_desc = NULL;
359 walk_state->result_obj = NULL;
363 status = acpi_db_single_step(walk_state, op, op_class);
373 if (walk_state->opcode == AML_INT_NAMEPATH_OP) {
374 status = acpi_ds_evaluate_name_path(walk_state);
385 status = acpi_ds_create_operands(walk_state, first_arg);
395 if (!(walk_state->op_info->flags & AML_NO_OPERAND_RESOLVE) &&
396 (walk_state->op_info->flags & AML_HAS_ARGS)) {
400 status = acpi_ex_resolve_operands(walk_state->opcode,
401 &(walk_state->
403 [walk_state->
405 walk_state);
415 acpi_gbl_op_type_dispatch[op_type] (walk_state);
422 (walk_state->opcode == AML_STORE_OP) &&
423 (walk_state->operands[0]->common.type ==
425 && (walk_state->operands[1]->common.type ==
427 && (walk_state->operands[0]->reference.class ==
428 walk_state->operands[1]->reference.class)
429 && (walk_state->operands[0]->reference.value ==
430 walk_state->operands[1]->reference.value)) {
436 (walk_state->opcode)));
442 acpi_ds_clear_operands(walk_state);
448 if (ACPI_SUCCESS(status) && walk_state->result_obj) {
450 acpi_ds_result_push(walk_state->result_obj,
451 walk_state);
462 status = acpi_ds_exec_end_control_op(walk_state, op);
505 status = acpi_ds_create_operands(walk_state, next_op);
515 status = acpi_ds_resolve_operands(walk_state);
520 acpi_ds_clear_operands(walk_state);
542 status = acpi_ds_load2_end_op(walk_state);
548 acpi_ds_eval_buffer_field_operands(walk_state, op);
590 walk_state->operands[0] = (void *)
592 walk_state->num_operands = 1;
594 status = acpi_ds_create_node(walk_state,
608 (walk_state, op,
618 (walk_state, op, NULL);
626 if (walk_state->result_obj) {
628 acpi_ds_result_push(walk_state->result_obj,
629 walk_state);
638 status = acpi_ds_load2_end_op(walk_state);
649 acpi_ds_eval_region_operands(walk_state,
661 (walk_state, op);
671 acpi_ds_eval_bank_field_operands(walk_state,
689 walk_state->opcode, op));
709 (void)acpi_ex_truncate_for32bit_table(walk_state->result_obj);
716 (walk_state->control_state) &&
717 (walk_state->control_state->common.state ==
719 (walk_state->control_state->control.predicate_op == op)) {
721 acpi_ds_get_predicate_value(walk_state,
722 walk_state->result_obj);
723 walk_state->result_obj = NULL;
728 if (walk_state->result_obj) {
732 acpi_db_display_result_object(walk_state->result_obj,
733 walk_state);
740 acpi_ds_delete_result_if_not_used(op, walk_state->result_obj,
741 walk_state);
745 if (walk_state->parser_state.aml == walk_state->parser_state.aml_end) {
746 acpi_db_method_end(walk_state);
753 status = acpi_ds_method_error(status, walk_state);
758 walk_state->num_operands = 0;