Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1032238AbbKFGq5 (ORCPT ); Fri, 6 Nov 2015 01:46:57 -0500 Received: from mga01.intel.com ([192.55.52.88]:44958 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1032001AbbKFGqz (ORCPT ); Fri, 6 Nov 2015 01:46:55 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,251,1444719600"; d="scan'208";a="594996077" From: Lv Zheng To: "Rafael J. Wysocki" , Len Brown Cc: Lv Zheng , Lv Zheng , , linux-acpi@vger.kernel.org Subject: [RFC PATCH v2 0/5] ACPICA / debugger: Add in-kernel AML debugger support Date: Fri, 6 Nov 2015 14:46:50 +0800 Message-Id: X-Mailer: git-send-email 1.7.10 In-Reply-To: <8c1016ca8a570ba7c7a1c9f0f88d73cd83cea490> References: <8c1016ca8a570ba7c7a1c9f0f88d73cd83cea490> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3436 Lines: 84 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. 3. upstream the userspace acpidbg to the ACPICA upstream. Colin Ian King (1): ACPICA: Debugger: Remove unnecessary status check Lv Zheng (4): ACPICA: Debugger: Convert some mechanisms to OSPM specific 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 drivers/acpi/Kconfig | 13 +- drivers/acpi/Makefile | 1 + drivers/acpi/acpi_dbg.c | 818 ++++++++++++++++++++++++++++++ drivers/acpi/acpica/acdebug.h | 2 +- drivers/acpi/acpica/acglobal.h | 5 - drivers/acpi/acpica/dbinput.c | 100 +--- drivers/acpi/acpica/dbxface.c | 63 +-- drivers/acpi/acpica/utmutex.c | 17 - drivers/acpi/bus.c | 1 + drivers/acpi/osl.c | 250 ++++++++- include/acpi/acpiosxf.h | 18 +- include/acpi/acpixf.h | 11 + include/acpi/platform/aclinux.h | 2 + include/acpi/platform/aclinuxex.h | 9 + 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 ++++++++++++++++ 18 files changed, 1699 insertions(+), 163 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 -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/