1. 28 12月, 2005 1 次提交
  2. 10 12月, 2005 5 次提交
    • B
      [ACPI] ACPICA 20051202 · 28f55ebc
      Bob Moore 提交于
      Modified the parsing of control methods to no longer
      create namespace objects during the first pass of the
      parse. Objects are now created only during the execute
      phase, at the moment the namespace creation operator
      is encountered in the AML (Name, OperationRegion,
      CreateByteField, etc.) This should eliminate ALREADY_EXISTS
      exceptions seen on some machines where reentrant control
      methods are protected by an AML mutex. The mutex will now
      correctly block multiple threads from attempting to create
      the same object more than once.
      
      Increased the number of available Owner Ids for namespace
      object tracking from 32 to 255. This should eliminate the
      OWNER_ID_LIMIT exceptions seen on some machines with a
      large number of ACPI tables (either static or dynamic).
      
      Enhanced the namespace dump routine to output the owner
      ID for each namespace object.
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      28f55ebc
    • 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
    • B
      [ACPI] ACPICA 20050930 · 50eca3eb
      Bob Moore 提交于
      Completed a major overhaul of the Resource Manager code -
      specifically, optimizations in the area of the AML/internal
      resource conversion code. The code has been optimized to
      simplify and eliminate duplicated code, CPU stack use has
      been decreased by optimizing function parameters and local
      variables, and naming conventions across the manager have
      been standardized for clarity and ease of maintenance (this
      includes function, parameter, variable, and struct/typedef
      names.)
      
      All Resource Manager dispatch and information tables have
      been moved to a single location for clarity and ease of
      maintenance. One new file was created, named "rsinfo.c".
      
      The ACPI return macros (return_ACPI_STATUS, etc.) have
      been modified to guarantee that the argument is
      not evaluated twice, making them less prone to macro
      side-effects. However, since there exists the possibility
      of additional stack use if a particular compiler cannot
      optimize them (such as in the debug generation case),
      the original macros are optionally available.  Note that
      some invocations of the return_VALUE macro may now cause
      size mismatch warnings; the return_UINT8 and return_UINT32
      macros are provided to eliminate these. (From Randy Dunlap)
      
      Implemented a new mechanism to enable debug tracing for
      individual control methods. A new external interface,
      acpi_debug_trace(), is provided to enable this mechanism. The
      intent is to allow the host OS to easily enable and disable
      tracing for problematic control methods. This interface
      can be easily exposed to a user or debugger interface if
      desired. See the file psxface.c for details.
      
      acpi_ut_callocate() will now return a valid pointer if a
      length of zero is specified - a length of one is used
      and a warning is issued. This matches the behavior of
      acpi_ut_allocate().
      Signed-off-by: NBob Moore <robert.moore@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      50eca3eb
  3. 07 12月, 2005 2 次提交
  4. 06 12月, 2005 2 次提交
  5. 05 12月, 2005 1 次提交
  6. 04 12月, 2005 11 次提交
  7. 03 12月, 2005 12 次提交
  8. 02 12月, 2005 6 次提交