1. 31 10月, 2013 2 次提交
    • L
      ACPICA: Deploy ACPI_EXPORT_SYMBOL_INIT for main ACPICA initialization interfaces. · d21f600b
      Lv Zheng 提交于
      This changes can reduce source code differences between Linux and ACPICA
      upstream to help improving the release automation.
      
      The side effect of applying this patch in Linux is:
      1. Some ACPICA initialization/termination APIs are no longer exported in
         Linux, these include:
          acpi_load_tables
          acpi_initialize_subsystem
          acpi_enable_subsystem
          acpi_initialize_objects
          acpi_terminate
      2. This patch does not affect the following APIs as they are currently not
         marked with ACPI_EXPORT_SYMBOL in Linux:
          acpi_reallocate_root_table
          acpi_initialize_tables
      Such functions should not be exported as they are internal to ACPI
      subsystem in Linux, and will only be invoked inside of ACPI subsystem's
      initialization routines marked with __init and termination routines marked
      with __exit.  While on other OSPMs, such functions may still need to be
      exported.
      
      Thus this patch adds the configurability for ACPICA, so that it leaves
      OSPMs to determine if the __init/__exit marked functions should be exported
      or not.  Lv Zheng.
      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>
      d21f600b
    • L
      ACPICA: Add EXPORT_ACPI_INTERFACES macro to external interface modules. · 839e928f
      Lv Zheng 提交于
      For Linux, there are no functional changes/binary generation differences
      introduced by this patch.
      
      This change adds a new macro to all files that contain external ACPICA
      interfaces. It can be detected and used by the host (via the host-specific
      header) for any special processing required for such modules. Lv Zheng.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      839e928f
  2. 23 7月, 2013 1 次提交
  3. 12 4月, 2013 1 次提交
  4. 25 1月, 2013 1 次提交
  5. 10 1月, 2013 1 次提交
    • L
      ACPICA: Cleanup source to reduce differences between Linux and ACPICA. · 739dcbb9
      Lv Zheng 提交于
      This is a cosmetic patch only. Comparison of the resulting binary showed
      only line number differences.
      
      This patch does not affect the generation of the Linux binary.
      This patch decreases 389 lines of 20121018 divergence.diff.
      
      This patch reduces source code diff caused by the simple code maintenance
      work:
      1. Deletion of the unused include files.
      2. Deletion of the deprecated codes blocks.
      3. Repositioning of the code blocks.
      4. Replacing the values with the well defined macros.
      5. Replacing the types with the equivalent types.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      739dcbb9
  6. 15 11月, 2012 2 次提交
  7. 21 9月, 2012 2 次提交
  8. 17 7月, 2012 1 次提交
  9. 22 3月, 2012 1 次提交
  10. 17 1月, 2012 2 次提交
  11. 01 11月, 2011 1 次提交
  12. 19 1月, 2011 1 次提交
  13. 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
  14. 25 9月, 2010 1 次提交
    • R
      ACPI / ACPICA: Defer enabling of runtime GPEs (v3) · a2100801
      Rafael J. Wysocki 提交于
      The current ACPI GPEs initialization code has a problem that it
      enables some GPEs pointed to by device _PRW methods, generally
      intended for signaling wakeup events (system or device wakeup).
      These GPEs are then almost immediately disabled by the ACPI namespace
      scanning code with the help of acpi_gpe_can_wake(), but it would be
      better not to enable them at all until really necessary.
      
      Modify the initialization of GPEs so that the ones that have
      associated _Lxx or _Exx methods and are not pointed to by any _PRW
      methods will be enabled after the namespace scan is complete.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      a2100801
  15. 13 7月, 2010 1 次提交
    • R
      ACPI / ACPICA: Do not execute _PRW methods during initialization · 9874647b
      Rafael J. Wysocki 提交于
      Currently, during initialization ACPICA walks the entire ACPI
      namespace in search of any device objects with assciated _PRW
      methods.  All of the _PRW methods found are executed in the process
      to extract the GPE information returned by them, so that the GPEs in
      question can be marked as "able to wakeup" (more precisely, the
      ACPI_GPE_CAN_WAKE flag is set for them).  The only purpose of this
      exercise is to avoid enabling the CAN_WAKE GPEs automatically, even
      if there are _Lxx/_Exx methods associated with them.  However, it is
      both costly and unnecessary, because the host OS has to execute the
      _PRW methods anyway to check which devices can wake up the system
      from sleep states.  Moreover, it then uses full information
      returned by _PRW, including the GPE information, so it can take care
      of disabling the GPEs if necessary.
      
      Remove the code that walks the namespace and executes _PRW from
      ACPICA and modify comments to reflect that change.  Make
      acpi_bus_set_run_wake_flags() disable GPEs for wakeup devices
      so that they don't cause spurious wakeup events to be signaled.
      This not only reduces the complexity of the ACPICA initialization
      code, but in some cases it should reduce the kernel boot time as
      well.
      
      Unfortunately, for this purpose we need a new ACPICA function,
      acpi_gpe_can_wake(), to be called by the host OS in order to disable
      the GPEs that can wake up the system and were previously enabled by
      acpi_ev_initialize_gpe_block() or acpi_ev_update_gpes() (such a GPE
      should be disabled only once, because the initialization code enables
      it only once, but it may be pointed to by _PRW for multiple devices
      and that's why the additional function is necessary).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      9874647b
  16. 23 1月, 2010 1 次提交
  17. 29 8月, 2009 2 次提交
  18. 09 1月, 2009 2 次提交
  19. 31 12月, 2008 1 次提交
  20. 30 12月, 2008 1 次提交
  21. 23 10月, 2008 1 次提交
  22. 25 4月, 2008 1 次提交
  23. 24 4月, 2008 1 次提交
  24. 23 4月, 2008 1 次提交
  25. 30 5月, 2007 1 次提交
  26. 10 5月, 2007 1 次提交
  27. 03 2月, 2007 4 次提交
  28. 14 6月, 2006 1 次提交
    • B
      ACPI: ACPICA 20060421 · b229cf92
      Bob Moore 提交于
      Removed a device initialization optimization introduced in
      20051216 where the _STA method was not run unless an _INI
      was also present for the same device. This optimization
      could cause problems because it could allow _INI methods
      to be run within a not-present device subtree (If a
      not-present device had no _INI, _STA would not be run,
      the not-present status would not be discovered, and the
      children of the device would be incorrectly traversed.)
      
      Implemented a new _STA optimization where namespace
      subtrees that do not contain _INI are identified and
      ignored during device initialization. Selectively running
      _STA can significantly improve boot time on large machines
      (with assistance from Len Brown.)
      
      Implemented support for the device initialization case
      where the returned _STA flags indicate a device not-present
      but functioning. In this case, _INI is not run, but the
      device children are examined for presence, as per the
      ACPI specification.
      
      Implemented an additional change to the IndexField support
      in order to conform to MS behavior. The value written to
      the Index Register is not simply a byte offset, it is a
      byte offset in units of the access width of the parent
      Index Field. (Fiodor Suietov)
      
      Defined and deployed a new OSL interface,
      acpi_os_validate_address().  This interface is called during
      the creation of all AML operation regions, and allows
      the host OS to exert control over what addresses it will
      allow the AML code to access. Operation Regions whose
      addresses are disallowed will cause a runtime exception
      when they are actually accessed (will not affect or abort
      table loading.)
      
      Defined and deployed a new OSL interface,
      acpi_os_validate_interface().  This interface allows the host OS
      to match the various "optional" interface/behavior strings
      for the _OSI predefined control method as appropriate
      (with assistance from Bjorn Helgaas.)
      
      Restructured and corrected various problems in the
      exception handling code paths within DsCallControlMethod
      and DsTerminateControlMethod in dsmethod (with assistance
      from Takayoshi Kochi.)
      
      Modified the Linux source converter to ignore quoted string
      literals while converting identifiers from mixed to lower
      case. This will correct problems with the disassembler
      and other areas where such strings must not be modified.
      
      The ACPI_FUNCTION_* macros no longer require quotes around
      the function name. This allows the Linux source converter
      to convert the names, now that the converter ignores
      quoted strings.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      b229cf92
  29. 01 4月, 2006 1 次提交
    • B
      ACPI: ACPICA 20060310 · 8313524a
      Bob Moore 提交于
      Tagged all external interfaces to the subsystem with the
      new ACPI_EXPORT_SYMBOL macro. This macro can be defined
      as necessary to assist kernel integration. For Linux,
      the macro resolves to the EXPORT_SYMBOL macro. The default
      definition is NULL.
      
      Added the ACPI_THREAD_ID type for the return value from
      acpi_os_get_thread_id(). This allows the host to define this
      as necessary to simplify kernel integration. The default
      definition is ACPI_NATIVE_UINT.
      
      Valery Podrezov fixed two interpreter problems related
      to error processing, the deletion of objects, and placing
      invalid pointers onto the internal operator result stack.
      http://bugzilla.kernel.org/show_bug.cgi?id=6028
      http://bugzilla.kernel.org/show_bug.cgi?id=6151
      
      Increased the reference count threshold where a warning is
      emitted for large reference counts in order to eliminate
      unnecessary warnings on systems with large namespaces
      (especially 64-bit.) Increased the value from 0x400
      to 0x800.
      
      Due to universal disagreement as to the meaning of the
      'c' in the calloc() function, the ACPI_MEM_CALLOCATE
      macro has been renamed to ACPI_ALLOCATE_ZEROED so that the
      purpose of the interface is 'clear'. ACPI_MEM_ALLOCATE and
      ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and ACPI_FREE.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      8313524a
  30. 31 1月, 2006 1 次提交
    • B
      [ACPI] ACPICA 20060127 · b8e4d893
      Bob Moore 提交于
      Implemented support in the Resource Manager to allow
      unresolved namestring references within resource package
      objects for the _PRT method. This support is in addition
      to the previously implemented unresolved reference
      support within the AML parser. If the interpreter slack
      mode is enabled (true on Linux unless acpi=strict),
      these unresolved references will be passed through
      to the caller as a NULL package entry.
      http://bugzilla.kernel.org/show_bug.cgi?id=5741
      
      Implemented and deployed new macros and functions for
      error and warning messages across the subsystem. These
      macros are simpler and generate less code than their
      predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION,
      ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_*
      macros.
      
      Implemented the acpi_cpu_flags type to simplify host OS
      integration of the Acquire/Release Lock OSL interfaces.
      Suggested by Steven Rostedt and Andrew Morton.
      
      Fixed a problem where Alias ASL operators are sometimes
      not correctly resolved. causing AE_AML_INTERNAL
      http://bugzilla.kernel.org/show_bug.cgi?id=5189
      http://bugzilla.kernel.org/show_bug.cgi?id=5674
      
      Fixed several problems with the implementation of the
      ConcatenateResTemplate ASL operator. As per the ACPI
      specification, zero length buffers are now treated as a
      single EndTag. One-length buffers always cause a fatal
      exception. Non-zero length buffers that do not end with
      a full 2-byte EndTag cause a fatal exception.
      
      Fixed a possible structure overwrite in the
      AcpiGetObjectInfo external interface. (With assistance
      from Thomas Renninger)
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      b8e4d893
  31. 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