Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[linux/fpc-iii.git] / Documentation / acpi / aml-debugger.txt
blobe851cc5de63f29e8e8b89bc9c5f95e660f51f856
1 The AML Debugger
3 Copyright (C) 2016, Intel Corporation
4 Author: Lv Zheng <lv.zheng@intel.com>
7 This document describes the usage of the AML debugger embedded in the Linux
8 kernel.
10 1. Build the debugger
12    The following kernel configuration items are required to enable the AML
13    debugger interface from the Linux kernel:
15    CONFIG_ACPI_DEBUGGER=y
16    CONFIG_ACPI_DEBUGGER_USER=m
18    The userspace utilities can be built from the kernel source tree using
19    the following commands:
21    $ cd tools
22    $ make acpi
24    The resultant userspace tool binary is then located at:
26      tools/acpi/power/acpi/acpidbg/acpidbg
28    It can be installed to system directories by running "make install" (as a
29    sufficiently privileged user).
31 2. Start the userspace debugger interface
33    After booting the kernel with the debugger built-in, the debugger can be
34    started by using the following commands:
36    # mount -t debugfs none /sys/kernel/debug
37    # modprobe acpi_dbg
38    # tools/acpi/power/acpi/acpidbg/acpidbg
40    That spawns the interactive AML debugger environment where you can execute
41    debugger commands.
43    The commands are documented in the "ACPICA Overview and Programmer Reference"
44    that can be downloaded from
46    https://acpica.org/documentation
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.
51 3. Stop the userspace debugger interface
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:
56    # rmmod acpi_dbg
58    The module unloading may fail if there is an acpidbg instance running.
60 4. Run the debugger in a script
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:
66    # acpidbg -b "namespace"