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