Skip to content

ACPICA / debugger: Add in-kernel AML debugger support

Lv Zheng linux-acpi lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest7 patches 16 repliesIn review
  2. v36 patches 0 repliesSuperseded
  3. v2 posting 2/27 patches 7 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v2 RFC posting 1/25 patches0 repliesSuperseded

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 filesSizeRepliesApplied
1/7ACPICA: Debugger: Remove unnecessary status checkdrivers/acpi/acpica/dbinput.c+0 -30 replies
2/7ACPICA: Debugger: Convert some mechanisms to OSPM specificdrivers/acpi/acpica/acdebug.h drivers/acpi/acpica/acglobal.h drivers/acpi/acpica/dbinput.c +6 more+89 -1470 replies
3/7ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using different stub mechanismdrivers/acpi/acpica/acdebug.h drivers/acpi/acpica/acmacros.h drivers/acpi/acpica/dbdisply.c +5 more+106 -460 replies
4/7ACPI / debugger: Add IO interface to access debugger functionalitiesdrivers/acpi/Kconfig drivers/acpi/Makefile drivers/acpi/acpi_dbg.c +5 more+887 -172 replies
5/7tools/power/acpi: Add userspace AML interface supporttools/power/acpi/Makefile tools/power/acpi/tools/acpidbg/Makefile tools/power/acpi/tools/acpidbg/acpidbg.c+473 -80 replies
6/7ACPI / debugger: Add module support for ACPI debuggerdrivers/acpi/Kconfig drivers/acpi/Makefile drivers/acpi/acpi_dbg.c +4 more+340 -910 replies
7/7ACPI / x86: introduce acpi_os_readable() supportarch/x86/Kconfig arch/x86/include/asm/acenv.h arch/x86/kernel/acpi/boot.c +4 more+61 -612 replies

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by.

PatchLv Zheng
1/7
2/7
3/7
4/7
5/7
6/7
7/7T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

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