^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) .. include:: <isonum.txt>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ACPICA Trace Facility
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) :Copyright: |copy| 2015, Intel Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) :Author: Lv Zheng <lv.zheng@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Abstract
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) This document describes the functions and the interfaces of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) method tracing facility.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Functionalities and usage examples
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) ACPICA provides method tracing capability. And two functions are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) currently implemented using this capability.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Log reducer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ACPICA subsystem provides debugging outputs when CONFIG_ACPI_DEBUG is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) enabled. The debugging messages which are deployed via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) ACPI_DEBUG_PRINT() macro can be reduced at 2 levels - per-component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) level (known as debug layer, configured via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) /sys/module/acpi/parameters/debug_layer) and per-type level (known as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) debug level, configured via /sys/module/acpi/parameters/debug_level).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) But when the particular layer/level is applied to the control method
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) evaluations, the quantity of the debugging outputs may still be too
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) large to be put into the kernel log buffer. The idea thus is worked out
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) to only enable the particular debug layer/level (normally more detailed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) logs when the control method evaluation is started, and disable the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) detailed logging when the control method evaluation is stopped.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) The following command examples illustrate the usage of the "log reducer"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) functionality:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) a. Filter out the debug layer/level matched logs when control methods
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) are being evaluated::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) # echo "0xXXXXXXXX" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) # echo "0xYYYYYYYY" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) # echo "enable" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) b. Filter out the debug layer/level matched logs when the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) control method is being evaluated::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) # echo "0xXXXXXXXX" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) # echo "0xYYYYYYYY" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) # echo "method" > /sys/module/acpi/parameters/trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) c. Filter out the debug layer/level matched logs when the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) control method is being evaluated for the first time::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) # echo "0xXXXXXXXX" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) # echo "0xYYYYYYYY" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) # echo "method-once" > /sys/module/acpi/parameters/trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Where:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 0xXXXXXXXX/0xYYYYYYYY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Refer to Documentation/firmware-guide/acpi/debug.rst for possible debug layer/level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) masking values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) \PPPP.AAAA.TTTT.HHHH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) Full path of a control method that can be found in the ACPI namespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) It needn't be an entry of a control method evaluation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) AML tracer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) ----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) There are special log entries added by the method tracing facility at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) the "trace points" the AML interpreter starts/stops to execute a control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) method, or an AML opcode. Note that the format of the log entries are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) subject to change::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) [ 0.186427] exdebug-0398 ex_trace_point : Method Begin [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) [ 0.186630] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905c88:If] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) [ 0.186820] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:LEqual] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) [ 0.187010] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905a20:-NamePath-] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) [ 0.187214] exdebug-0398 ex_trace_point : Opcode End [0xf5905a20:-NamePath-] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) [ 0.187407] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) [ 0.187594] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) [ 0.187789] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:LEqual] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) [ 0.187980] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:Return] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) [ 0.188146] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) [ 0.188334] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) [ 0.188524] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:Return] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) [ 0.188712] exdebug-0398 ex_trace_point : Opcode End [0xf5905c88:If] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) [ 0.188903] exdebug-0398 ex_trace_point : Method End [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Developers can utilize these special log entries to track the AML
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) interpretation, thus can aid issue debugging and performance tuning. Note
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) that, as the "AML tracer" logs are implemented via ACPI_DEBUG_PRINT()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) macro, CONFIG_ACPI_DEBUG is also required to be enabled for enabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) "AML tracer" logs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) The following command examples illustrate the usage of the "AML tracer"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) functionality:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) a. Filter out the method start/stop "AML tracer" logs when control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) methods are being evaluated::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) # echo "0x80" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) # echo "0x10" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) # echo "enable" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) b. Filter out the method start/stop "AML tracer" when the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) control method is being evaluated::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) # echo "0x80" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) # echo "0x10" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) # echo "method" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) c. Filter out the method start/stop "AML tracer" logs when the specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) control method is being evaluated for the first time::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) # echo "0x80" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) # echo "0x10" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) # echo "method-once" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) d. Filter out the method/opcode start/stop "AML tracer" when the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) specified control method is being evaluated::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) # echo "0x80" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) # echo "0x10" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) # echo "opcode" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) e. Filter out the method/opcode start/stop "AML tracer" when the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) specified control method is being evaluated for the first time::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) # cd /sys/module/acpi/parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) # echo "0x80" > trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) # echo "0x10" > trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) # echo "opcode-opcode" > trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) Note that all above method tracing facility related module parameters can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) be used as the boot parameters, for example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) acpi.trace_debug_layer=0x80 acpi.trace_debug_level=0x10 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) acpi.trace_method_name=\_SB.LID0._LID acpi.trace_state=opcode-once
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) Interface descriptions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) All method tracing functions can be configured via ACPI module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) parameters that are accessible at /sys/module/acpi/parameters/:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) trace_method_name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) The full path of the AML method that the user wants to trace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) Note that the full path shouldn't contain the trailing "_"s in its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) name segments but may contain "\" to form an absolute path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) trace_debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) The temporary debug_layer used when the tracing feature is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) Using ACPI_EXECUTER (0x80) by default, which is the debug_layer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) used to match all "AML tracer" logs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) trace_debug_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) The temporary debug_level used when the tracing feature is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) Using ACPI_LV_TRACE_POINT (0x10) by default, which is the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) debug_level used to match all "AML tracer" logs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) The status of the tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) Users can enable/disable this debug tracing feature by executing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) the following command::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) # echo string > /sys/module/acpi/parameters/trace_state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) Where "string" should be one of the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) "disable"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) Disable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) "enable"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) Enable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) ACPICA debugging messages matching "trace_debug_layer/trace_debug_level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) during any method execution will be logged.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) "method"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) Enable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) ACPICA debugging messages matching "trace_debug_layer/trace_debug_level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) during method execution of "trace_method_name" will be logged.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) "method-once"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) Enable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) ACPICA debugging messages matching "trace_debug_layer/trace_debug_level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) during method execution of "trace_method_name" will be logged only once.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) "opcode"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) Enable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) ACPICA debugging messages matching "trace_debug_layer/trace_debug_level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) during method/opcode execution of "trace_method_name" will be logged.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) "opcode-once"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) Enable the method tracing feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) ACPICA debugging messages matching "trace_debug_layer/trace_debug_level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) during method/opcode execution of "trace_method_name" will be logged only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) once.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) Note that, the difference between the "enable" and other feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) enabling options are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 1. When "enable" is specified, since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) "trace_debug_layer/trace_debug_level" shall apply to all control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) method evaluations, after configuring "trace_state" to "enable",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) "trace_method_name" will be reset to NULL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 2. When "method/opcode" is specified, if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) "trace_method_name" is NULL when "trace_state" is configured to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) these options, the "trace_debug_layer/trace_debug_level" will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) apply to all control method evaluations.