ACPICA / debugger: Add in-kernel AML debugger support
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest7 patches 16 repliesIn review
- v36 patches 0 repliesSuperseded
- v2 posting 2/27 patches 7 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 RFC posting 1/2 | 5 patches | 0 replies | Superseded |
Changes in v4 from the cover letter
1. Rebase patch 4/6 because of Kconfig changes.
2. Include acpi_os_readable() back as no objections, also test result is positive.
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | ACPICA: Debugger: Remove unnecessary status checkdrivers/ | +0 | 0 replies | |
| 2/7 | ACPICA: Debugger: Convert some mechanisms to OSPM specificdrivers/ drivers/ drivers/ +6 more | +89 | 0 replies | |
| 3/7 | ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using different stub mechanismdrivers/ drivers/ drivers/ +5 more | +106 | 0 replies | |
| 4/7 | ACPI / debugger: Add IO interface to access debugger functionalitiesdrivers/ drivers/ drivers/ +5 more | +887 | 2 replies | |
| 5/7 | tools/power/acpi: Add userspace AML interface supporttools/ tools/ tools/ | +473 | 0 replies | |
| 6/7 | ACPI / debugger: Add module support for ACPI debuggerdrivers/ drivers/ drivers/ +4 more | +340 | 0 replies | |
| 7/7 | ACPI / x86: introduce acpi_os_readable() supportarch/ arch/ arch/ +4 more | +61 | 12 replies |
Reviews trailers per patch
None of the 7 patches has a Reviewed-by or Acked-by.
| Patch | Lv Zheng |
|---|---|
| 1/7 | |
| 2/7 | |
| 3/7 | |
| 4/7 | |
| 5/7 | |
| 6/7 | |
| 7/7 | T-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v4 0/7] ACPICA / debugger: Add in-kernel AML debugger support
This patchset enables ACPICA debugger for Linux kernel and implements a userspace utility to access it.
A. Build the AML debugger
In order to build the kernel support of AML debugger, the following kconfig items should be enabled:
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUGGER=y
CONFIG_DEBUG_FS=y
CONFIG_ACPI_DEBUGGER_USER=m
The userspace tool can be found at tools/power/acpi/tools/acpidbg. To build this utility, staying in tools folder and type "make acpi".
B. Load the AML debugger during runtime
In order to use the in-kernel AML debugger, the following command should be executed using root user:
# modprobe acpi_dbg # mount -t debugfs none /sys/kernel/debug # acpidbg
C. Batch mode
In order to support scripts, the userspace utility also supports single command batch mode:
# acpidbg -b "help" # acpidbg -b "tables" # acpidbg -b "find _LID" # acpidbg -b "execute \_SB.LID0._LID" You can find the documentation about the ACPICA debugger commands in: https://acpica.org/sites/acpica/files/acpica-reference_17.pdf (The latest document can be found at https://acpica.org/documentation) And refer to the chapter - ACPICA debugger reference to obtain the full description of the debugger commands. Note that not all commands are supported by an in-kernel AML debugger.
D. Unload the AML debugger during runtime
After terminating all acpidbg instances, the following command can be executed to remove the AML debugger from kernel:
# rmmod acpi_dbg
The following tasks are not completed:
1. .flush() support in the kernel debugger IO driver.
2. multi-commands batch mode.
v2:
1. Fix a help message issue for the userspace acpidbg utility (this is a typo fix).
2. Fix a batch mode issue by adding "\n" to the prompt sequence (this was lost due to too many rebase cycles).
3. Fix kconfig dependency for an intermediate patch (this is only useful in case the latter patches are reverted).
4. Add more accurate runtime debugger stub mechanism and remove old ACPI_DEBUGGER_EXEC() stub mechanism.
5. Add x86 acpi_os_readable() support.
v3:
1. Remove acpi_os_readable() support from this patchset. It's sent separately.
2. Delete some deprecated comments.
v4:
1. Rebase patch 4/6 because of Kconfig changes.
2. Include acpi_os_readable() back as no objections, also test result is positive.
Chen Yu (1):
ACPI / x86: introduce acpi_os_readable() support
Colin Ian King (1):
ACPICA: Debugger: Remove unnecessary status check
Lv Zheng (5):
ACPICA: Debugger: Convert some mechanisms to OSPM specific
ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using
different stub mechanism
ACPI / debugger: Add IO interface to access debugger functionalities tools/power/acpi: Add userspace AML interface support
ACPI / debugger: Add module support for ACPI debugger
arch/x86/Kconfig | 1 + arch/x86/include/asm/acenv.h | 1 + arch/x86/kernel/acpi/boot.c | 44 ++ drivers/acpi/Kconfig | 20 +- drivers/acpi/Makefile | 1 + drivers/acpi/acpi_dbg.c | 805 ++++++++++++++++++++++++++++++ drivers/acpi/acpica/acdebug.h | 36 +- drivers/acpi/acpica/acglobal.h | 5 - drivers/acpi/acpica/acmacros.h | 11 - drivers/acpi/acpica/dbdisply.c | 12 + drivers/acpi/acpica/dbinput.c | 100 +--- drivers/acpi/acpica/dbxface.c | 93 ++-- drivers/acpi/acpica/dscontrol.c | 10 +- drivers/acpi/acpica/dsutils.c | 16 +- drivers/acpi/acpica/dswexec.c | 16 +- drivers/acpi/acpica/utmutex.c | 17 - drivers/acpi/bus.c | 1 + drivers/acpi/osl.c | 262 +++++++++- include/acpi/acpiosxf.h | 18 +- include/acpi/acpixf.h | 34 ++ include/acpi/platform/aclinux.h | 3 +- include/acpi/platform/aclinuxex.h | 8 +- include/linux/acpi.h | 71 +++ tools/power/acpi/Makefile | 16 +- tools/power/acpi/tools/acpidbg/Makefile | 27 + tools/power/acpi/tools/acpidbg/acpidbg.c | 438 ++++++++++++++++ 26 files changed, 1852 insertions(+), 214 deletions(-) create mode 100644 drivers/acpi/acpi_dbg.c create mode 100644 tools/power/acpi/tools/acpidbg/Makefile create mode 100644 tools/power/acpi/tools/acpidbg/acpidbg.c
Signature · 1 line
1.7.10