hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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 utilities 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"