// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /****************************************************************************** * * Module Name: extrace - Support for interpreter execution tracing * * Copyright (C) 2000 - 2023, Intel Corp. * *****************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "acnamesp.h" #include "acinterp.h" #define _COMPONENT … ACPI_MODULE_NAME("extrace") static union acpi_operand_object *acpi_gbl_trace_method_object = …; /* Local prototypes */ #ifdef ACPI_DEBUG_OUTPUT static const char *acpi_ex_get_trace_event_name(acpi_trace_event_type type); #endif /******************************************************************************* * * FUNCTION: acpi_ex_interpreter_trace_enabled * * PARAMETERS: name - Whether method name should be matched, * this should be checked before starting * the tracer * * RETURN: TRUE if interpreter trace is enabled. * * DESCRIPTION: Check whether interpreter trace is enabled * ******************************************************************************/ static u8 acpi_ex_interpreter_trace_enabled(char *name) { … } /******************************************************************************* * * FUNCTION: acpi_ex_get_trace_event_name * * PARAMETERS: type - Trace event type * * RETURN: Trace event name. * * DESCRIPTION: Used to obtain the full trace event name. * ******************************************************************************/ #ifdef ACPI_DEBUG_OUTPUT static const char *acpi_ex_get_trace_event_name(acpi_trace_event_type type) { … } #endif /******************************************************************************* * * FUNCTION: acpi_ex_trace_point * * PARAMETERS: type - Trace event type * begin - TRUE if before execution * aml - Executed AML address * pathname - Object path * * RETURN: None * * DESCRIPTION: Internal interpreter execution trace. * ******************************************************************************/ void acpi_ex_trace_point(acpi_trace_event_type type, u8 begin, u8 *aml, char *pathname) { … } /******************************************************************************* * * FUNCTION: acpi_ex_start_trace_method * * PARAMETERS: method_node - Node of the method * obj_desc - The method object * walk_state - current state, NULL if not yet executing * a method. * * RETURN: None * * DESCRIPTION: Start control method execution trace * ******************************************************************************/ void acpi_ex_start_trace_method(struct acpi_namespace_node *method_node, union acpi_operand_object *obj_desc, struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_stop_trace_method * * PARAMETERS: method_node - Node of the method * obj_desc - The method object * walk_state - current state, NULL if not yet executing * a method. * * RETURN: None * * DESCRIPTION: Stop control method execution trace * ******************************************************************************/ void acpi_ex_stop_trace_method(struct acpi_namespace_node *method_node, union acpi_operand_object *obj_desc, struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_start_trace_opcode * * PARAMETERS: op - The parser opcode object * walk_state - current state, NULL if not yet executing * a method. * * RETURN: None * * DESCRIPTION: Start opcode execution trace * ******************************************************************************/ void acpi_ex_start_trace_opcode(union acpi_parse_object *op, struct acpi_walk_state *walk_state) { … } /******************************************************************************* * * FUNCTION: acpi_ex_stop_trace_opcode * * PARAMETERS: op - The parser opcode object * walk_state - current state, NULL if not yet executing * a method. * * RETURN: None * * DESCRIPTION: Stop opcode execution trace * ******************************************************************************/ void acpi_ex_stop_trace_opcode(union acpi_parse_object *op, struct acpi_walk_state *walk_state) { … }