1. 16 1月, 2016 1 次提交
  2. 01 1月, 2016 1 次提交
  3. 15 12月, 2015 2 次提交
    • L
      ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using different stub mechanism · 8a2a2501
      Lv Zheng 提交于
      ACPICA commit 11522d6b894054fc4d62dd4f9863ec151296b386
      
      The ACPI_DEBUGGER_EXEC is a problem now when the debugger code is compiled
      but runtime disabled. They actually will get executed in this situation.
      Although such executions are harmless if we can correctly make
      acpi_db_single_step() a runtime stub, users may still do not want to see the
      debugger print messages logged into OSPMs' kernel logs when a debugger
      driver is not loaded to enable the debugger during runtime.
      
      This patch fixes this issue by introducing new stub mechanism instead of
      ACPI_DEBUGGER_EXEC. Lv Zheng.
      
      Link: https://github.com/acpica/acpica/commit/11522d6bSigned-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8a2a2501
    • L
      ACPICA: Debugger: Convert some mechanisms to OSPM specific · f8d31489
      Lv Zheng 提交于
      The following mechanisms are OSPM specific:
      1. Redirect output destination to console: no file redirection will be
         needed by an in-kernel debugger, there is even no file can be accessed
         when the debugger is running in the kernel mode.
      2. Output command prompts: programs other than acpiexec can have different
         prompt characters and the prompt characters may be implemented as a
         special character sequence to form a char device IO protocol.
      3. Command ready/complete handshake: OSPM debugger may wait more conditions
         to implement OSPM specific semantics (for example, FIFO full/empty
         conditions for O_NONBLOCK or IO open/close conditions).
      Leaving such OSPM specific stuffs in the ACPICA debugger core blocks
      Linux debugger IO driver implementation.
      
      Several new OSL APIs are provided by this patch:
      1. acpi_os_initialize_command_signals: initialize command handshake mechanism
         or any other OSPM specific stuffs.
      2. acpi_os_terminate_command_signals: reversal of
         acpi_os_initialize_command_signals.
      3. acpi_os_wait_command_ready: putting debugger task into wait state when a
         command is not ready. OSPMs can terminate command loop by returning
         AE_CTRL_TERMINATE from this API. Normally, wait_event() or
         wait_for_multiple_object() may be used to implement this API.
      4. acpi_os_notify_command_complete: putting user task into running state when a
         command has been completed. OSPMs can terminate command loop by
         returning AE_CTRL_TERMINATE from this API. Normally, wake_up() or
         set_event() may be used to implement this API.
      This patch also converts current command signaling implementation into a
      generic debugger layer (osgendbg.c) to be used by the existing OSPMs or
      acpiexec, in return, Linux can have chance to implement its own command
      handshake mechanism. This patch also implements acpiexec batch mode in a
      multi-threading mode comaptible style as a demo (this can be confirmed by
      configuring acpiexec into DEBUGGER_MULTI_THREADED mode where the batch mode
      is still working). Lv Zheng.
      
      Note that the OSPM specific command handshake mechanism is required by
      Linux kernel because:
      1. Linux kernel trends to use wait queue to synchronize two threads, using
         mutexes to achieve that will cause false "dead lock" warnings.
      2. The command handshake mechanism implemented by ACPICA is implemented in
         this way because of a design issue in debugger IO streaming. Debugger IO
         outputs are simply cached using a giant buffer, this should be tuned by
         Linux in the future.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f8d31489
  4. 22 10月, 2015 1 次提交
  5. 26 8月, 2015 2 次提交
  6. 24 7月, 2015 2 次提交
  7. 22 5月, 2015 1 次提交
  8. 05 2月, 2015 1 次提交
  9. 08 7月, 2014 1 次提交
  10. 18 3月, 2014 1 次提交
  11. 27 2月, 2014 1 次提交
  12. 11 2月, 2014 2 次提交
  13. 08 1月, 2014 1 次提交
    • L
      ACPICA: Linuxize: Cleanup spaces after special macro invocations. · ed606944
      Lv Zheng 提交于
      This patch reflects the improvment of a cleanup step which is performed in
      the release process.
      
      There are still spaces in the "linuxized" ACPICA files after special macro
      invocations.  This is because indent treats comments and pre-processor
      directives as spaces, thus we need to skip them.
      
      Before applying this patch, cleanup code will search from keyword back to
      end of line and wipe spaces between them.
      
      After applying this patch, cleanup code will search to the end of the macro
      invocations, skip "empty lines", "comments" and "pre-processor directives",
      then wipe the spaces between the new line and the first non-spaces
      characters.
      
      Following improvements are thus achieved in the release automation by this
      commit which are originally maintained manually:
       - acpi_status acpi_ev_remove_global_lock_handler(void);
       +acpi_status acpi_ev_remove_global_lock_handler(void);
       - acpi_status
       +acpi_status
        acpi_ev_match_gpe_method(acpi_handle obj_handle,
       - acpi_status acpi_subsystem_status(void);
       +acpi_status acpi_subsystem_status(void);
       - acpi_status acpi_install_notify_handler(acpi_handle device, u32 handler_type,
       +acpi_status acpi_install_notify_handler(acpi_handle device, u32 handler_type,
       - acpi_status
       +acpi_status
        acpi_acquire_mutex(acpi_handle handle, acpi_string pathname, u16 timeout);
       - acpi_status
       +acpi_status
        acpi_get_sleep_type_data(u8 sleep_state, u8 *slp_typ_a, u8 *slp_typ_b);
       - acpi_status acpi_leave_sleep_state_prep(u8 sleep_state);
       +acpi_status acpi_leave_sleep_state_prep(u8 sleep_state);
      Some empty lines are restored by this commit due to the change of the
      removal implementation.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ed606944
  14. 31 10月, 2013 1 次提交
    • L
      ACPICA: Fix indentation issues for macro invocations. · cd27d79f
      Lv Zheng 提交于
      During the automatic translation of the upstream ACPICA source code
      into Linux kernel source code some extra white spaces are added by
      the "indent" program at the beginning of each line which is an
      invocation of a macro and there is no ";" at the end of the line.
      
      For this reason, a new mode has been added to the translation scripts
      to remove the extra spaces inserted before invoking such macros and add
      an empty line between the invocations of such macros (like the other
      function declarations).  This new mode is executed after executing
      "indent" during the Linux release process.  Consequently, some
      existing ACPICA source code in the Linux kernel tree needs to be
      adjusted to allow the new scripts to work correctly.
      
      The affected macros and files are:
       1. ACPI_HW_DEPENDENT_RETURN (acpixf.h/acdebug.h/acevents.h):
          This macro is used as a wrapper for hardware dependent APIs to offer
          a stub when the reduced hardware is configured during compilation.
       2. ACPI_EXPORT_SYMBOL (utglobal.c):
          This macro is used by Linux to export symbols to be found by Linux
          modules.  All such invocations are well formatted except those
          exported as global variables.
      
      This can help to reduce the source code differences between Linux
      and upstream ACPICA, and also help to automate the release process.
      No functional or binary generation changes should result from it.
      Lv Zheng.
      
      [rjw: Changelog]
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cd27d79f
  15. 30 10月, 2013 1 次提交
    • B
      ACPICA: Add history/line-editing for Unix/Linux systems. · 1d98e9e0
      Bob Moore 提交于
      The original upstream ACPICA change added full history and limited
      line editing to the debugger:
      
       This change adds full history and limited line editing for Unix and
       Linux systems. It does not use readline() because of portability issues.
       Instead it uses the POSIX termio interface to put the terminal in raw
       input mode so that the various special keys can be trapped (such as
       up-arrow and down-arrow for history support).
      
      Since the debugger is not shipped in the kernel, it only is necessary
      to update one header file to keep the kernel source in sync with the
      upstream.
      
      [rjw: Changelog]
      Signed-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>
      1d98e9e0
  16. 24 9月, 2013 2 次提交
  17. 25 1月, 2013 1 次提交
  18. 11 1月, 2013 1 次提交
  19. 15 11月, 2012 1 次提交
    • L
      ACPICA: Fix unmerged debugger divergences. · f540fadf
      Lv Zheng 提交于
      Debugger improvements in ACPICA are always ignored by ACPICA Linux
      release.  This will lead to divergences between Linux and ACPICA.
      This patch fixes such unmerged debugger updates.
      
      Following patches are included:
      1. Fixed a couple compiler warnings for extra extern
         Wed, 14 Mar 2007 21:12:19 +0000
      2. Cleanup for internal Reference Object.
         Wed, 27 Aug 2008 10:11:30 -0700
      3. Debugger: Lock method args for multithread command.
         Fri, 24 Apr 2009 12:28:49 -0700
      4. Debugger: Add max count argument for Batch command.
         Tue, 29 Sep 2009 12:31:58 -0700
      5. Add new host interfaces for _OSI support.
         Thu, 5 Aug 2010 14:18:28 -0700
      6. Increase debugger buffer size for method return objects.
         Wed, 17 Nov 2010 13:48:30 -0800
      7. Debugger: Add command to display status of global handlers.
         Tue, 25 Jan 2011 13:47:58 -0800
      8. Debugger: Split large dbcmds.c file.
         Wed, 26 Jan 2011 13:03:41 -0800
      9. Debugger/AcpiExec: Add support to pass complex args to methods.
         Tue, 17 May 2011 13:33:39 -0700
      10.Debugger: Add Template command to dump resource templates.
         Fri, 28 Oct 2011 14:18:51 -0700
      11.Support for custom ACPICA build for ACPI 5.0 reduced hardware.
         Wed, 1 Feb 2012 13:18:17 -0800
      12.Debugger: Improve command help support.
         Wed, 15 Feb 2012 07:59:26 -0800
      13.Update ACPI_HW_DEPENDENT* macro invocations.
         Wed, 15 Feb 2012 08:14:08 -0800
      14.Debugger: Rename function to simplify source code conversion.
         Wed, 13 Jun 2012 14:23:06 -0700
      15.Debugger: Enhance "Tables" and "Unload" commands.
         Fri, 29 Jun 2012 13:10:58 -0700
      16.Debugger: update prototype for AcpiDbSleep function.
         Fri, 17 Aug 2012 13:43:02 -0700
      
      This patch will not affect the generated vmlinx binary.
      This will decrease 264 lines of 20120913 divergence.diff.
      Signed-off-by: NRobert 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>
      f540fadf
  20. 22 3月, 2012 1 次提交
  21. 17 1月, 2012 1 次提交
  22. 19 1月, 2011 1 次提交
  23. 01 10月, 2010 1 次提交
    • L
      ACPICA/ACPI: Add new host interfaces for _OSI support · b0ed7a91
      Lin Ming 提交于
      Adds install/remove interfaces so that the host can dynamically
      alter the global _OSI table. Also adds support for _OSI handlers.
      Additional support: new debugger command (osi), and test support in
      the acpiexec utility. Adds new file, utilities/utosi.c.
      ACPICA bugzilla 836.
      
      The Linux OSL _OSI code is also changed.
      acpi_osi_setup can't call acpi_install/remove_interface because ACPICA
      is not initialized yet at this early time.
      So we just save the osi string in acpi_osi_setup and will handle it
      later in a new function acpi_osi_setup_late.
      
      http://www.acpica.org/bugzilla/show_bug.cgi?id=836Signed-off-by: NLin Ming <ming.m.lin@intel.com>
      Signed-off-by: Bob Moore <robert.moore@intel.com
      Signed-off-by: NLen Brown <len.brown@intel.com>
      b0ed7a91
  24. 23 1月, 2010 1 次提交
  25. 27 8月, 2009 1 次提交
  26. 09 1月, 2009 1 次提交
  27. 23 10月, 2008 2 次提交
  28. 24 4月, 2008 1 次提交
  29. 03 2月, 2007 3 次提交
  30. 20 1月, 2006 1 次提交
    • B
      [ACPI] ACPICA 20060113 · 4a90c7e8
      Bob Moore 提交于
      Added 2006 copyright.
      
      At SuSE's suggestion, enabled all error messages
      without enabling function tracing, ie with CONFIG_ACPI_DEBUG=n
      
      Replaced all instances of the ACPI_DEBUG_PRINT macro invoked at
      the ACPI_DB_ERROR and ACPI_DB_WARN debug levels with
      the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros,
      respectively. This preserves all error and warning messages
      in the non-debug version of the ACPICA code (this has been
      referred to as the "debug lite" option.) Over 200 cases
      were converted to create a total of over 380 error/warning
      messages across the ACPICA code. This increases the code
      and data size of the default non-debug version by about 13K.
      Added ACPI_NO_ERROR_MESSAGES flag to enable deleting all messages.
      The size of the debug version remains about the same.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      4a90c7e8
  31. 05 8月, 2005 1 次提交
  32. 14 7月, 2005 1 次提交
    • R
      ACPICA 20050617-0624 from Bob Moore <robert.moore@intel.com> · 73459f73
      Robert Moore 提交于
      ACPICA 20050617:
      
      Moved the object cache operations into the OS interface
      layer (OSL) to allow the host OS to handle these operations
      if desired (for example, the Linux OSL will invoke the
      slab allocator).  This support is optional; the compile
      time define ACPI_USE_LOCAL_CACHE may be used to utilize
      the original cache code in the ACPI CA core.  The new OSL
      interfaces are shown below.  See utalloc.c for an example
      implementation, and acpiosxf.h for the exact interface
      definitions.  Thanks to Alexey Starikovskiy.
      	acpi_os_create_cache
      	acpi_os_delete_cache
      	acpi_os_purge_cache
      	acpi_os_acquire_object
      	acpi_os_release_object
      
      Modified the interfaces to acpi_os_acquire_lock and
      acpi_os_release_lock to return and restore a flags
      parameter.  This fits better with many OS lock models.
      Note: the current execution state (interrupt handler
      or not) is no longer passed to these interfaces.  If
      necessary, the OSL must determine this state by itself, a
      simple and fast operation.  Thanks to Alexey Starikovskiy.
      
      Fixed a problem in the ACPI table handling where a valid
      XSDT was assumed present if the revision of the RSDP
      was 2 or greater.  According to the ACPI specification,
      the XSDT is optional in all cases, and the table manager
      therefore now checks for both an RSDP >=2 and a valid
      XSDT pointer.  Otherwise, the RSDT pointer is used.
      Some ACPI 2.0 compliant BIOSs contain only the RSDT.
      
      Fixed an interpreter problem with the Mid() operator in the
      case of an input string where the resulting output string
      is of zero length.  It now correctly returns a valid,
      null terminated string object instead of a string object
      with a null pointer.
      
      Fixed a problem with the control method argument handling
      to allow a store to an Arg object that already contains an
      object of type Device.  The Device object is now correctly
      overwritten.  Previously, an error was returned.
      
      ACPICA 20050624:
      
      Modified the new OSL cache interfaces to use ACPI_CACHE_T
      as the type for the host-defined cache object.  This allows
      the OSL implementation to define and type this object in
      any manner desired, simplifying the OSL implementation.
      For example, ACPI_CACHE_T is defined as kmem_cache_t for
      Linux, and should be defined in the OS-specific header
      file for other operating systems as required.
      
      Changed the interface to AcpiOsAcquireObject to directly
      return the requested object as the function return (instead
      of ACPI_STATUS.) This change was made for performance
      reasons, since this is the purpose of the interface in the
      first place.  acpi_os_acquire_object is now similar to the
      acpi_os_allocate interface.  Thanks to Alexey Starikovskiy.
      
      Modified the initialization sequence in
      acpi_initialize_subsystem to call the OSL interface
      acpi_osl_initialize first, before any local initialization.
      This change was required because the global initialization
      now calls OSL interfaces.
      
      Restructured the code base to split some files because
      of size and/or because the code logically belonged in a
      separate file.  New files are listed below.
      
        utilities/utcache.c	/* Local cache interfaces */
        utilities/utmutex.c	/* Local mutex support */
        utilities/utstate.c	/* State object support */
        parser/psloop.c	/* Main AML parse loop */
      Signed-off-by: NLen Brown <len.brown@intel.com>
      73459f73