|
@@ -0,0 +1,66 @@
|
|
|
+The AML Debugger
|
|
|
+
|
|
|
+Copyright (C) 2016, Intel Corporation
|
|
|
+Author: Lv Zheng <lv.zheng@intel.com>
|
|
|
+
|
|
|
+
|
|
|
+This document describes the usage of the AML debugger embedded in the Linux
|
|
|
+kernel.
|
|
|
+
|
|
|
+1. Build the debugger
|
|
|
+
|
|
|
+ The following kernel configuration items are required to enable the AML
|
|
|
+ debugger interface from the Linux kernel:
|
|
|
+
|
|
|
+ CONFIG_ACPI_DEBUGGER=y
|
|
|
+ CONFIG_ACPI_DEBUGGER_USER=m
|
|
|
+
|
|
|
+ The userspace utlities can be built from the kernel source tree using
|
|
|
+ the following commands:
|
|
|
+
|
|
|
+ $ cd tools
|
|
|
+ $ make acpi
|
|
|
+
|
|
|
+ The resultant userspace tool binary is then located at:
|
|
|
+
|
|
|
+ tools/acpi/power/acpi/acpidbg/acpidbg
|
|
|
+
|
|
|
+ It can be installed to system directories by running "make install" (as a
|
|
|
+ sufficiently privileged user).
|
|
|
+
|
|
|
+2. Start the userspace debugger interface
|
|
|
+
|
|
|
+ After booting the kernel with the debugger built-in, the debugger can be
|
|
|
+ started by using the following commands:
|
|
|
+
|
|
|
+ # mount -t debugfs none /sys/kernel/debug
|
|
|
+ # modprobe acpi_dbg
|
|
|
+ # tools/acpi/power/acpi/acpidbg/acpidbg
|
|
|
+
|
|
|
+ That spawns the interactive AML debugger environment where you can execute
|
|
|
+ debugger commands.
|
|
|
+
|
|
|
+ The commands are documented in the "ACPICA Overview and Programmer Reference"
|
|
|
+ that can be downloaded from
|
|
|
+
|
|
|
+ https://acpica.org/documentation
|
|
|
+
|
|
|
+ The detailed debugger commands reference is located in Chapter 12 "ACPICA
|
|
|
+ Debugger Reference". The "help" command can be used for a quick reference.
|
|
|
+
|
|
|
+3. Stop the userspace debugger interface
|
|
|
+
|
|
|
+ The interactive debugger interface can be closed by pressing Ctrl+C or using
|
|
|
+ the "quit" or "exit" commands. When finished, unload the module with:
|
|
|
+
|
|
|
+ # rmmod acpi_dbg
|
|
|
+
|
|
|
+ The module unloading may fail if there is an acpidbg instance running.
|
|
|
+
|
|
|
+4. Run the debugger in a script
|
|
|
+
|
|
|
+ It may be useful to run the AML debugger in a test script. "acpidbg" supports
|
|
|
+ this in a special "batch" mode. For example, the following command outputs
|
|
|
+ the entire ACPI namespace:
|
|
|
+
|
|
|
+ # acpidbg -b "namespace"
|