1. 16 1月, 2016 1 次提交
  2. 01 1月, 2016 1 次提交
  3. 22 10月, 2015 1 次提交
    • 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
  4. 02 7月, 2015 1 次提交
  5. 23 6月, 2015 1 次提交
  6. 05 2月, 2015 1 次提交
  7. 11 2月, 2014 1 次提交
  8. 21 11月, 2013 1 次提交
  9. 31 10月, 2013 1 次提交
  10. 16 6月, 2013 1 次提交
  11. 02 6月, 2013 1 次提交
  12. 25 1月, 2013 1 次提交
  13. 10 1月, 2013 3 次提交
    • R
      ACPICA: Resource Manager: Add a pointer cast for a namespace node. · 0fdce476
      Rafael J. Wysocki 提交于
      Add a missing cast for a namespace node pointer passed in from
      an external interface. Reported Rafael Wysocki.
      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>
      0fdce476
    • L
      ACPICA: Cleanup coding style to reduce differences between Linux and ACPICA. · 9c0d7939
      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 314 lines of 20121018 divergence.diff.
      
      ACPICA core uses ()'s on return statements. This is a known and committed
      differences from Linux standard coding style.
      
      This patch cleans up the Linux side ACPICA code to use this codying style
      in order to reduce the source code differences between Linux and ACPICA.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9c0d7939
    • L
      ACPICA: Cleanup indentation to reduce differences between Linux and ACPICA. · 3e8214e5
      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 210 lines of 20121018 divergence.diff.
      
      The ACPICA source codes uses a totally different indentation style from the
      Linux to be compatible with other users (operating systems or BIOS).
      
      Indentation differences are critical to the release automation. There are
      two causes related to the "indentation" that are affecting the release
      automation:
      1. The ACPICA -> Linux release process is:
           ACPICA source -- acpisrc - hierarchy - indent ->
           linuxized ACPICA source -- diff ->
           linuxized ACPICA patch (x) -- human intervention ->
           linuxized ACPICA patch (o)
           Where
             'x' means "cannot be directly applied to the Linux"
             'o' means "can be directly applied to the Linux"
         Different "indent" version or "indent" options used in the "indent"
         step will lead to different divergences.
         The version of "indent" used for the current release process is:
           GNU indent 2.2.11
         The options of "indent" used for the current release process is:
           -npro -kr -i8 -ts8 -sob -l80 -ss -ncs
      2. Manual indentation prettifying work in the Linux side will also harm the
         automatically generated linuxized ACPICA patches, making them impossible
         to apply directly.
      
      This patch fixes source code differences caused by the two causes so that
      the "human intervention" can be reduced in the future.
      Signed-off-by: NLv Zheng <lv.zheng@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3e8214e5
  14. 17 7月, 2012 1 次提交
  15. 17 1月, 2012 3 次提交
  16. 19 1月, 2011 1 次提交
  17. 29 9月, 2010 1 次提交
  18. 23 1月, 2010 1 次提交
  19. 09 1月, 2009 2 次提交
  20. 31 12月, 2008 1 次提交
  21. 17 7月, 2008 2 次提交
  22. 24 4月, 2008 1 次提交
  23. 23 4月, 2008 1 次提交
  24. 10 5月, 2007 1 次提交
  25. 03 2月, 2007 1 次提交
  26. 14 6月, 2006 3 次提交
    • B
      ACPI: ACPICA 20060526 · 4119532c
      Bob Moore 提交于
      Restructured, flattened, and simplified the internal
      interfaces for namespace object evaluation - resulting
      in smaller code, less CPU stack use, and fewer
      interfaces. (With assistance from Mikhail Kouzmich)
      
      Fixed a problem with the CopyObject operator where the
      first parameter was not typed correctly for the parser,
      interpreter, compiler, and disassembler. Caused various
      errors and unexpected behavior.
      
      Fixed a problem where a ShiftLeft or ShiftRight of
      more than 64 bits produced incorrect results with some
      C compilers. Since the behavior of C compilers when
      the shift value is larger than the datatype width is
      apparently not well defined, the interpreter now detects
      this condition and simply returns zero as expected in all
      such cases. (BZ 395)
      
      Fixed problem reports (Valery Podrezov) integrated: -
      Update String-to-Integer conversion to match ACPI 3.0A spec
      http://bugzilla.kernel.org/show_bug.cgi?id=5329
      Allow interpreter to handle nested method declarations
      http://bugzilla.kernel.org/show_bug.cgi?id=5361
      
      Fixed problem reports (Fiodor Suietov) integrated: -
      acpi_terminate() doesn't free debug memory allocation
      list objects (BZ 355) - After Core Subsystem
      shutdown, acpi_subsystem_status() returns AE_OK (BZ 356) -
      acpi_os_unmap_memory() for RSDP can be invoked inconsistently
      (BZ 357) - Resource Manager should return AE_TYPE for
      non-device objects (BZ 358) - Incomplete cleanup branch
      in AcpiNsEvaluateRelative (BZ 359) - Use acpi_os_free()
      instead of ACPI_FREE in acpi_rs_set_srs_method_data (BZ 360)
      - Incomplete cleanup branch in acpi_ps_parse_aml (BZ 361) -
      Incomplete cleanup branch in acpi_ds_delete_walk_state (BZ 362)
      - acpi_get_table_header returns AE_NO_ACPI_TABLES until DSDT
      is loaded (BZ 365) - Status of the Global Initialization
      Handler call not used (BZ 366) - Incorrect object parameter
      to Global Initialization Handler (BZ 367)
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      4119532c
    • B
      ACPI: ACPICA 20060512 · 958dd242
      Bob Moore 提交于
      Replaced the acpi_os_queue_for_execution() with a new
      interface named acpi_os_execute(). The major difference is
      that the new interface does not have a Priority parameter,
      this appeared to be useless and has been replaced by
      a Type parameter. The Type tells the OS what type of
      execution is being requested, such as global lock handler,
      notify handler, GPE handler, etc. This allows the host
      to queue and execute the request as appropriate for the
      request type, possibly using different work queues and
      different priorities for the various request types. This
      enables fixes for multithreading deadlock problems such as
      http://bugzilla.kernel.org/show_bug.cgi?id=5534
      (Alexey Starikovskiy and Bob Moore)
      
      Fixed a possible memory leak associated with the
      support for the so-called "implicit return" ACPI
      extension. Reported by FreeBSD  (Fiodor Suietov)
      http://bugzilla.kernel.org/show_bug.cgi?id=6514
      
      Fixed a problem with the Load() operator where a table
      load from an operation region could overwrite an internal
      table buffer by up to 7 bytes and cause alignment faults
      on IPF systems. (With assistance from Luming Yu)
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      958dd242
    • 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
  27. 01 4月, 2006 1 次提交
    • B
      ACPI: ACPICA 20060217 · ea936b78
      Bob Moore 提交于
      Implemented a change to the IndexField support to match
      the behavior of the Microsoft AML interpreter. The value
      written to the Index register is now a byte offset,
      no longer an index based upon the width of the Data
      register. This should fix IndexField problems seen on
      some machines where the Data register is not exactly one
      byte wide. The ACPI specification will be clarified on
      this point.
      
      Fixed a problem where several resource descriptor
      types could overrun the internal descriptor buffer due
      to size miscalculation: VendorShort, VendorLong, and
      Interrupt. This was noticed on IA64 machines, but could
      affect all platforms.
      
      Fixed a problem where individual resource descriptors were
      misaligned within the internal buffer, causing alignment
      faults on IA64 platforms.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ea936b78
  28. 31 3月, 2006 1 次提交
  29. 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
  30. 10 12月, 2005 3 次提交
    • B
      [ACPI] ACPICA 20051117 · c51a4de8
      Bob Moore 提交于
      Fixed a problem in the AML parser where the method thread
      count could be decremented below zero if any errors
      occurred during the method parse phase. This should
      eliminate AE_AML_METHOD_LIMIT exceptions seen on some
      machines. This also fixed a related regression with the
      mechanism that detects and corrects methods that cannot
      properly handle reentrancy (related to the deployment of
      the new OwnerId mechanism.)
      
      Eliminated the pre-parsing of control methods (to detect
      errors) during table load. Related to the problem above,
      this was causing unwind issues if any errors occurred
      during the parse, and it seemed to be overkill. A table
      load should not be aborted if there are problems with
      any single control method, thus rendering this feature
      rather pointless.
      
      Fixed a problem with the new table-driven resource manager
      where an internal buffer overflow could occur for small
      resource templates.
      
      Implemented a new external interface, acpi_get_vendor_resource()
      This interface will find and return a vendor-defined
      resource descriptor within a _CRS or _PRS
      method via an ACPI 3.0 UUID match. (from Bjorn Helgaas)
      
      Removed the length limit (200) on string objects as
      per the upcoming ACPI 3.0A specification. This affects
      the following areas of the interpreter: 1) any implicit
      conversion of a Buffer to a String, 2) a String object
      result of the ASL Concatentate operator, 3) the String
      object result of the ASL ToString operator.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      c51a4de8
    • B
      [ACPI] ACPICA 20051102 · 96db255c
      Bob Moore 提交于
      Modified the subsystem initialization sequence to improve
      GPE support. The GPE initialization has been split into
      two parts in order to defer execution of the _PRW methods
      (Power Resources for Wake) until after the hardware is
      fully initialized and the SCI handler is installed. This
      allows the _PRW methods to access fields protected by the
      Global Lock. This will fix systems where a NO_GLOBAL_LOCK
      exception has been seen during initialization.
      
      Fixed a regression with the ConcatenateResTemplate()
      ASL operator introduced in the 20051021 release.
      
      Implemented support for "local" internal ACPI object
      types within the debugger "Object" command and the
      acpi_walk_namespace() external interfaces. These local
      types include RegionFields, BankFields, IndexFields, Alias,
      and reference objects.
      
      Moved common AML resource handling code into a new file,
      "utresrc.c". This code is shared by both the Resource
      Manager and the AML Debugger.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      96db255c
    • B
      [ACPI] ACPICA 20051021 · 0897831b
      Bob Moore 提交于
      Implemented support for the EM64T and other x86_64
      processors. This essentially entails recognizing
      that these processors support non-aligned memory
      transfers. Previously, all 64-bit processors were assumed
      to lack hardware support for non-aligned transfers.
      
      Completed conversion of the Resource Manager to nearly
      full table-driven operation. Specifically, the resource
      conversion code (convert AML to internal format and the
      reverse) and the debug code to dump internal resource
      descriptors are fully table-driven, reducing code and data
      size and improving maintainability.
      
      The OSL interfaces for Acquire and Release Lock now use a
      64-bit flag word on 64-bit processors instead of a fixed
      32-bit word. (Alexey Starikovskiy)
      
      Implemented support within the resource conversion code
      for the Type-Specific byte within the various ACPI 3.0
      *WordSpace macros.
      
      Fixed some issues within the resource conversion code for
      the type-specific flags for both Memory and I/O address
      resource descriptors. For Memory, implemented support
      for the MTP and TTP flags. For I/O, split the TRS and TTP
      flags into two separate fields.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      0897831b