blob: 5f62aa4a493b60ef9ab8043dbf29eb12f7537361 [file] [log] [blame]
Lv Zheng1461d8a2016-07-07 15:10:45 +08001The AML Debugger
2
3Copyright (C) 2016, Intel Corporation
4Author: Lv Zheng <lv.zheng@intel.com>
5
6
7This document describes the usage of the AML debugger embedded in the Linux
8kernel.
9
101. 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
18 The userspace utlities can be built from the kernel source tree using
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
312. 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
513. 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
604. 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"