76 lines · plain
1.. SPDX-License-Identifier: GPL-2.02.. include:: <isonum.txt>3 4================5The AML Debugger6================7 8:Copyright: |copy| 2016, Intel Corporation9:Author: Lv Zheng <lv.zheng@intel.com>10 11 12This document describes the usage of the AML debugger embedded in the Linux13kernel.14 151. Build the debugger16=====================17 18The following kernel configuration items are required to enable the AML19debugger interface from the Linux kernel::20 21 CONFIG_ACPI_DEBUGGER=y22 CONFIG_ACPI_DEBUGGER_USER=m23 24The userspace utilities can be built from the kernel source tree using25the following commands::26 27 $ cd tools28 $ make acpi29 30The resultant userspace tool binary is then located at::31 32 tools/power/acpi/acpidbg33 34It can be installed to system directories by running "make install" (as a35sufficiently privileged user).36 372. Start the userspace debugger interface38=========================================39 40After booting the kernel with the debugger built-in, the debugger can be41started by using the following commands::42 43 # mount -t debugfs none /sys/kernel/debug44 # modprobe acpi_dbg45 # tools/power/acpi/acpidbg46 47That spawns the interactive AML debugger environment where you can execute48debugger commands.49 50The commands are documented in the "ACPICA Overview and Programmer Reference"51that can be downloaded from52 53https://acpica.org/documentation54 55The detailed debugger commands reference is located in Chapter 12 "ACPICA56Debugger Reference". The "help" command can be used for a quick reference.57 583. Stop the userspace debugger interface59========================================60 61The interactive debugger interface can be closed by pressing Ctrl+C or using62the "quit" or "exit" commands. When finished, unload the module with::63 64 # rmmod acpi_dbg65 66The module unloading may fail if there is an acpidbg instance running.67 684. Run the debugger in a script69===============================70 71It may be useful to run the AML debugger in a test script. "acpidbg" supports72this in a special "batch" mode. For example, the following command outputs73the entire ACPI namespace::74 75 # acpidbg -b "namespace"76