Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71d993e1 authored by Bob Moore's avatar Bob Moore Committed by Andi Kleen
Browse files

ACPICA: Cleanup debug operand dump mechanism



Eliminated unnecessary operands; eliminated use of negative index
in loop.  Operands now displayed in correct order, not backwards.

Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLin Ming <ming.m.lin@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
parent 5a1a57ef
Loading
Loading
Loading
Loading
+2 −18
Original line number Diff line number Diff line
@@ -691,12 +691,6 @@ acpi_ds_eval_buffer_field_operands(struct acpi_walk_state *walk_state,

	status = acpi_ex_resolve_operands(op->common.aml_opcode,
					  ACPI_WALK_OPERANDS, walk_state);

	ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
			   acpi_ps_get_opcode_name(op->common.aml_opcode),
			   walk_state->num_operands,
			   "after AcpiExResolveOperands");

	if (ACPI_FAILURE(status)) {
		ACPI_ERROR((AE_INFO, "(%s) bad operand(s) (%X)",
			    acpi_ps_get_opcode_name(op->common.aml_opcode),
@@ -785,10 +779,6 @@ acpi_ds_eval_region_operands(struct acpi_walk_state *walk_state,
		return_ACPI_STATUS(status);
	}

	ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
			   acpi_ps_get_opcode_name(op->common.aml_opcode),
			   1, "after AcpiExResolveOperands");

	obj_desc = acpi_ns_get_attached_object(node);
	if (!obj_desc) {
		return_ACPI_STATUS(AE_NOT_EXIST);
@@ -882,10 +872,6 @@ acpi_ds_eval_table_region_operands(struct acpi_walk_state *walk_state,
		return_ACPI_STATUS(status);
	}

	ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
			   acpi_ps_get_opcode_name(op->common.aml_opcode),
			   1, "after AcpiExResolveOperands");

	operand = &walk_state->operands[0];

	/* Find the ACPI table */
@@ -1091,10 +1077,8 @@ acpi_ds_eval_bank_field_operands(struct acpi_walk_state *walk_state,
		return_ACPI_STATUS(status);
	}

	ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS, ACPI_IMODE_EXECUTE,
			   acpi_ps_get_opcode_name(op->common.aml_opcode),
			   1, "after AcpiExResolveOperands");

	ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS,
			   acpi_ps_get_opcode_name(op->common.aml_opcode), 1);
	/*
	 * Get the bank_value operand and save it
	 * (at Top of stack)
+0 −8
Original line number Diff line number Diff line
@@ -408,14 +408,6 @@ acpi_status acpi_ds_exec_end_op(struct acpi_walk_state *walk_state)
							    [walk_state->
							     num_operands - 1]),
							  walk_state);
			if (ACPI_SUCCESS(status)) {
				ACPI_DUMP_OPERANDS(ACPI_WALK_OPERANDS,
						   ACPI_IMODE_EXECUTE,
						   acpi_ps_get_opcode_name
						   (walk_state->opcode),
						   walk_state->num_operands,
						   "after ExResolveOperands");
			}
		}

		if (ACPI_SUCCESS(status)) {
+26 −42
Original line number Diff line number Diff line
@@ -580,25 +580,22 @@ void acpi_ex_dump_operand(union acpi_operand_object *obj_desc, u32 depth)

	case ACPI_TYPE_BUFFER:

		acpi_os_printf("Buffer len %X @ %p\n",
		acpi_os_printf("Buffer length %.2X @ %p\n",
			       obj_desc->buffer.length,
			       obj_desc->buffer.pointer);

		length = obj_desc->buffer.length;
		if (length > 64) {
			length = 64;
		}

		/* Debug only -- dump the buffer contents */

		if (obj_desc->buffer.pointer) {
			acpi_os_printf("Buffer Contents: ");

			for (index = 0; index < length; index++) {
				acpi_os_printf(" %02x",
					       obj_desc->buffer.pointer[index]);
			length = obj_desc->buffer.length;
			if (length > 128) {
				length = 128;
			}
			acpi_os_printf("\n");

			acpi_os_printf
			    ("Buffer Contents: (displaying length 0x%.2X)\n",
			     length);
			ACPI_DUMP_BUFFER(obj_desc->buffer.pointer, length);
		}
		break;

@@ -756,55 +753,42 @@ void acpi_ex_dump_operand(union acpi_operand_object *obj_desc, u32 depth)
 *
 * FUNCTION:    acpi_ex_dump_operands
 *
 * PARAMETERS:  Operands            - Operand list
 *              interpreter_mode    - Load or Exec
 *              Ident               - Identification
 *              num_levels          - # of stack entries to dump above line
 *              Note                - Output notation
 *              module_name         - Caller's module name
 *              line_number         - Caller's invocation line number
 * PARAMETERS:	Operands	    - A list of Operand objects
 *		opcode_name	    - AML opcode name
 *		num_operands	    - Operand count for this opcode
 *
 * DESCRIPTION: Dump the object stack
 * DESCRIPTION: Dump the operands associated with the opcode
 *
 ******************************************************************************/

void
acpi_ex_dump_operands(union acpi_operand_object **operands,
		      acpi_interpreter_mode interpreter_mode,
		      const char *ident,
		      u32 num_levels,
		      const char *note,
		      const char *module_name, u32 line_number)
		      const char *opcode_name, u32 num_operands)
{
	s32 i;

	ACPI_FUNCTION_NAME(ex_dump_operands);

	if (!ident) {
		ident = "?";
	}

	if (!note) {
		note = "?";
	if (!opcode_name) {
		opcode_name = "UNKNOWN";
	}

	ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
			  "************* Operand Stack Contents (Opcode [%s], %d Operands)\n",
			  ident, num_levels));
			  "**** Start operand dump for opcode [%s], %d operands\n",
			  opcode_name, num_operands));

	if (num_levels == 0) {
		num_levels = 1;
	if (num_operands == 0) {
		num_operands = 1;
	}

	/* Dump the operand stack starting at the top */
	/* Dump the individual operands */

	for (i = 0; num_levels > 0; i--, num_levels--) {
		acpi_ex_dump_operand(operands[i], 0);
	while (num_operands) {
		acpi_ex_dump_operand(*operands, 0);
		operands++;
		num_operands--;
	}

	ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
			  "************* Operand Stack dump from %s(%d), %s\n",
			  module_name, line_number, note));
			  "**** End operand dump for [%s]\n", opcode_name));
	return;
}

+4 −0
Original line number Diff line number Diff line
@@ -698,5 +698,9 @@ acpi_ex_resolve_operands(u16 opcode,
		}
	}

	ACPI_DUMP_OPERANDS(walk_state->operands,
			   acpi_ps_get_opcode_name(opcode),
			   walk_state->num_operands);

	return_ACPI_STATUS(status);
}
+0 −6
Original line number Diff line number Diff line
@@ -343,12 +343,6 @@ acpi_ex_store(union acpi_operand_object *source_desc,
			    acpi_ut_get_object_type_name(dest_desc),
			    dest_desc));

		ACPI_DUMP_STACK_ENTRY(source_desc);
		ACPI_DUMP_STACK_ENTRY(dest_desc);
		ACPI_DUMP_OPERANDS(&dest_desc, ACPI_IMODE_EXECUTE, "ExStore",
				   2,
				   "Target is not a Reference or Constant object");

		return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
	}

Loading