kernel_optimize_test/include/acpi
Lv Zheng f988f24ee7 ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread
When the debugger is running in the kernel mode, acpi_db_single_step() may
also be invoked by the kernel runtime code path but the single stepping
command prompt may be erronously logged as the kernel logs and runtime code
path cannot proceed.

This patch fixes this issue by adding acpi_gbl_db_thread_id for the debugger
thread and preventing acpi_db_single_step() to be invoked from other threads.

It is not suitable to add acpi_thread_id parameter for acpi_os_execute() as
the function may be implemented as work queue on some hosts. So it is
better to let the hosts invoke acpi_set_debugger_thread_id(). Currently
acpiexec is not configured as DEBUGGER_MULTI_THREADED, but we can do this.
When we do this, it is better to invoke acpi_set_debugger_thread_id() in
acpi_os_execute() when the execution type is OSL_DEBUGGER_MAIN_THREAD. The
support should look like:
  create_thread(&tid);
  if (type == OSL_DEBUGGER_MAIN_THREAD)
      acpi_set_debugger_thread_id(tid);
  resume_thread(tid);
Similarly, semop() may be used for pthread implementation. But this patch
simply skips debugger thread ID check for application instead of
introducing such complications as there is no need to skip
acpi_db_single_step() for an application debugger - acpiexec.

Note that the debugger thread ID can also be used by acpi_os_printf() to
filter out debugger output. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2015-10-22 02:05:05 +02:00
..
platform ACPICA: Debugger: Update mutexes used for multithreaded debugger 2015-10-22 02:01:12 +02:00
acbuffer.h ACPICA: Disassembler: Remove duplicate code in _PLD processing. 2015-08-25 23:11:30 +02:00
acconfig.h ACPICA: Make the max-number-of-loops runtime configurable 2015-08-25 23:11:32 +02:00
acexcep.h ACPICA: Improve typechecking, both compile-time and runtime 2015-10-22 02:01:12 +02:00
acnames.h ACPICA: Utilities: Add _CLS processing 2015-07-01 23:17:53 +02:00
acoutput.h ACPICA: Executer: Add option to bypass opcode tracing 2015-07-23 23:09:07 +02:00
acpi_bus.h ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
acpi_drivers.h ACPI: Remove FSF mailing addresses 2015-07-08 02:27:32 +02:00
acpi_io.h ACPI: fix acpi_os_ioremap for arm64 2015-03-25 11:49:30 +00:00
acpi_lpat.h ACPI / LPAT: Common table processing functions 2015-01-29 21:02:10 +08:00
acpi_numa.h ACPI / numa: Make __acpi_map_pxm_to_node(), acpi_get_pxm() static 2014-02-03 10:39:38 -07:00
acpi.h ACPICA: Update Copyright headers to 2015 2015-02-05 15:31:43 +01:00
acpiosxf.h ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread 2015-10-22 02:05:05 +02:00
acpixf.h ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread 2015-10-22 02:05:05 +02:00
acrestyp.h ACPICA: Update Copyright headers to 2015 2015-02-05 15:31:43 +01:00
actbl.h ACPICA: Namespace: Add support of OSDT table 2015-07-01 23:17:54 +02:00
actbl1.h ACPICA: Update NFIT table to rename a flags field 2015-10-22 02:01:12 +02:00
actbl2.h ACPICA: iASL: Add support for TCPA Server Table 2015-07-23 23:09:08 +02:00
actbl3.h ACPICA: Update definitions for the TCPA and TPM2 ACPI tables 2015-07-01 23:17:56 +02:00
actypes.h ACPICA: Debugger: Add option to display namespace summary/counts 2015-08-25 23:11:32 +02:00
acuuid.h ACPICA: Fix for ill-formed GUID strings for NFIT tables. 2015-05-25 23:42:34 +02:00
apei.h acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context. 2014-07-22 15:05:06 -07:00
button.h ACPI: Eliminate CONFIG_.*{, _MODULE} #ifdef in favor of IS_ENABLED() 2015-09-15 03:05:45 +02:00
ghes.h ACPICA: Restore error table definitions to reduce code differences between Linux and ACPICA upstream. 2014-06-16 22:33:50 +02:00
hed.h
pdc_intel.h
processor.h Merge branch 'pm-cpufreq' 2015-09-01 15:52:35 +02:00
reboot.h
video.h ACPI: Eliminate CONFIG_.*{, _MODULE} #ifdef in favor of IS_ENABLED() 2015-09-15 03:05:45 +02:00