1. 22 10月, 2015 6 次提交
    • L
      ACPI: Enable build of AML interpreter debugger · 4d946f79
      Lv Zheng 提交于
      This patch enables ACPICA debugger files using a configurable
      CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that
      was originally masked as ACPI_FUTURE_USAGE now gets unmasked.
      
      Necessary OSL stubs are also added in this patch:
      1. acpi_os_readable(): This should be arch specific in Linux, while this
          patch doesn't introduce real implementation and a complex mechanism to
          allow architecture specific acpi_os_readable() to be implemented to
          validate the address. It may be done by future commits.
      2. acpi_os_get_line(): This is used to obtain debugger command input. This
          patch only introduces a simple KDB concept example in it and the
          example should be co-working with the code implemented in
          acpi_os_printf(). Since this KDB example won't be compiled unless
          ENABLE_DEBUGGER is defined and it seems Linux has already stopped to
          use ENABLE_DEBUGGER, thus do not expect it can work properly.
      
      This patch also cleans up all other ACPI_FUTURE_USAGE surroundings
      accordingly.
      1. Since linkage error can be automatically detected, declaration in the
         headers needn't be surrounded by ACPI_FUTURE_USAGE.
         So only the following separate exported fuction bodies are masked by
         this macro (other exported fucntions may have already been masked at
         entire module level via drivers/acpi/acpica/Makefile):
           acpi_install_exception_handler()
           acpi_subsystem_status()
           acpi_get_system_info()
           acpi_get_statistics()
           acpi_install_initialization_handler()
      2. Since strip can automatically zap the no-user functions, functions that
         are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by
         ACPI_FUTURE_USAGE.
         So the following function which is not used by Linux kernel now won't
         get surrounded by this macro:
           acpi_ps_get_name()
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4d946f79
    • L
      ACPICA: Debugger: Add thread ID support so that single step mode can only... · f988f24e
      Lv Zheng 提交于
      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: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f988f24e
    • B
      ACPICA: Improve typechecking, both compile-time and runtime · a5922a1f
      Bob Moore 提交于
      ACPICA commit 8d0f96e2a11a4ceabb2cae4b41e0ce1f4d3786b9
      
      Adds much stricter typechecking in the iASL compiler, and
      also adds some additional checking in the interpreter.
      
      Link: https://github.com/acpica/acpica/commit/8d0f96e2Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a5922a1f
    • B
      ACPICA: Update NFIT table to rename a flags field · ca321d1c
      Bob Moore 提交于
      ACPICA commit 534deab97fb416a13bfede15c538e2c9eac9384a
      
      Updated one of the memory subtable flags to clarify.
      
      Link: https://github.com/acpica/acpica/commit/534deab9Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ca321d1c
    • B
      ACPICA: Debugger: Update mutexes used for multithreaded debugger · cd64bbf8
      Bob Moore 提交于
      ACPICA commit 6b2701f619040e803313363f516b200e362a9100
      
      Make these mutex objects independent of the deadlock detection mechanism.
      This mechanism caused failures with the multithread debugger.
      
      This patch doesn't affect Linux kernel as debugger is currently not fully
      functioning in the Linux kernel. And the further debugger cleanups will
      take care of handling debugger command signalling correctly instead of
      using such kind of mutexes. So it is safe to leave this patch as it is.
      
      Link: https://github.com/acpica/acpica/commit/6b2701f6Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cd64bbf8
    • B
      ACPICA: Remove unnecessary conditional compilation · 93556118
      Bob Moore 提交于
      ACPICA commit eea1f0e561893b6d6417913b2d224082fe3a0a5e
      
      Remove use of ACPI_DEBUGGER and ACPI_DISASSEMBLER where these
      defines are used around entire modules.
      
      Note: This type of code also causes problems with IDEs.
      
      Link: https://github.com/acpica/acpica/commit/eea1f0e5Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      93556118
  2. 15 9月, 2015 1 次提交
  3. 26 8月, 2015 8 次提交
  4. 25 8月, 2015 2 次提交
    • A
      ACPI: Decouple ACPI idle and ACPI processor drivers · 5f05586c
      Ashwin Chaugule 提交于
      This patch introduces a new Kconfig symbol, ACPI_PROCESSOR_IDLE,
      which is auto selected by architectures which support the ACPI
      based C states for CPU Idle management.
      
      The processor_idle driver in its present form contains declarations
      specific to X86 and IA64. Since there are no reasonable defaults
      for other architectures e.g. ARM64, the driver is selected only for
      X86 or IA64.
      
      This helps in decoupling the ACPI processor_driver from the ACPI
      processor_idle driver which is useful for the upcoming alternative
      patchwork for controlling CPU Performance (CPPC) and CPU Idle (LPI).
      Signed-off-by: NAshwin Chaugule <ashwin.chaugule@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5f05586c
    • A
      ACPI: Split out ACPI PSS from ACPI Processor driver · 239708a3
      Ashwin Chaugule 提交于
      The ACPI processor driver is currently tied too closely
      to the ACPI P-states (PSS) and other related constructs
      for controlling CPU performance.
      
      The newer ACPI specification (v5.1 onwards) introduces
      alternative methods to PSS. These new mechanisms are
      described within each ACPI Processor object and so they
      need to be scanned whenever a new Processor object is detected.
      This patch introduces a new Kconfig symbol to allow for
      finer configurability among the two options for controlling
      performance states. There is no change in functionality and
      the option is auto-selected by the architectures which support it.
      
      A future commit will introduce support for CPPC: A newer method of
      controlling CPU performance. The OS is not expected to support
      CPPC and PSS at the same time, so the Kconfig option lets us make
      the two mutually exclusive at compile time.
      Signed-off-by: NAshwin Chaugule <ashwin.chaugule@linaro.org>
      [ rjw: Changelog ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      239708a3
  5. 24 7月, 2015 8 次提交
  6. 23 7月, 2015 1 次提交
  7. 08 7月, 2015 1 次提交
  8. 02 7月, 2015 13 次提交