]>
Commit | Line | Data |
---|---|---|
1461d8a5 LZ |
1 | The AML Debugger |
2 | ||
3 | Copyright (C) 2016, Intel Corporation | |
4 | Author: Lv Zheng <[email protected]> | |
5 | ||
6 | ||
7 | This document describes the usage of the AML debugger embedded in the Linux | |
8 | kernel. | |
9 | ||
10 | 1. Build the debugger | |
11 | ||
12 | The following kernel configuration items are required to enable the AML | |
13 | debugger interface from the Linux kernel: | |
14 | ||
15 | CONFIG_ACPI_DEBUGGER=y | |
16 | CONFIG_ACPI_DEBUGGER_USER=m | |
17 | ||
f4baccde | 18 | The userspace utilities can be built from the kernel source tree using |
1461d8a5 LZ |
19 | the following commands: |
20 | ||
21 | $ cd tools | |
22 | $ make acpi | |
23 | ||
24 | The resultant userspace tool binary is then located at: | |
25 | ||
26 | tools/acpi/power/acpi/acpidbg/acpidbg | |
27 | ||
28 | It can be installed to system directories by running "make install" (as a | |
29 | sufficiently privileged user). | |
30 | ||
31 | 2. Start the userspace debugger interface | |
32 | ||
33 | After booting the kernel with the debugger built-in, the debugger can be | |
34 | started by using the following commands: | |
35 | ||
36 | # mount -t debugfs none /sys/kernel/debug | |
37 | # modprobe acpi_dbg | |
38 | # tools/acpi/power/acpi/acpidbg/acpidbg | |
39 | ||
40 | That spawns the interactive AML debugger environment where you can execute | |
41 | debugger commands. | |
42 | ||
43 | The commands are documented in the "ACPICA Overview and Programmer Reference" | |
44 | that can be downloaded from | |
45 | ||
46 | https://acpica.org/documentation | |
47 | ||
48 | The detailed debugger commands reference is located in Chapter 12 "ACPICA | |
49 | Debugger Reference". The "help" command can be used for a quick reference. | |
50 | ||
51 | 3. Stop the userspace debugger interface | |
52 | ||
53 | The interactive debugger interface can be closed by pressing Ctrl+C or using | |
54 | the "quit" or "exit" commands. When finished, unload the module with: | |
55 | ||
56 | # rmmod acpi_dbg | |
57 | ||
58 | The module unloading may fail if there is an acpidbg instance running. | |
59 | ||
60 | 4. Run the debugger in a script | |
61 | ||
62 | It may be useful to run the AML debugger in a test script. "acpidbg" supports | |
63 | this in a special "batch" mode. For example, the following command outputs | |
64 | the entire ACPI namespace: | |
65 | ||
66 | # acpidbg -b "namespace" |