1. 22 Jun, 2004 2 commits
    • Len Brown's avatar
      [ACPI] ACPICA 20040527 from Bob Moore · 2d837fe9
      Len Brown authored
      Completed a new design and implementation for EBDA
      (Extended BIOS Data Area) support in the RSDP scan code.
      The original code improperly scanned for the EBDA by simply
      scanning from memory location 0 to 0x400.  The correct
      method is to first obtain the EBDA pointer from within
      the BIOS data area, then scan 1K of memory starting at the
      EBDA pointer.  There appear to be few if any machines that
      place the RSDP in the EBDA, however.
      http://bugme.osdl.org/show_bug.cgi?id=2415
      
      Integrated a fix for a possible fault during evaluation
      of BufferField arguments.  Obsolete code that was causing
      the problem was removed. (Asus laptop boot crash)
      https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=121760
      
      Found and fixed a problem in the Field Support Code
      where data could be corrupted on a bit field read that
      starts on an aligned boundary but does not end on an
      aligned boundary.  Merged the read/write "datum length"
      calculation code into a common procedure.
      2d837fe9
    • Len Brown's avatar
      [ACPI] ACPICA 20040514 from Bob Moore · f81d800e
      Len Brown authored
      Fixed a problem where hardware GPE enable bits sometimes
      not set properly during and after GPE method execution.
      Result of ACPICA 20040427 changes.
      
      Removed extra "clear all GPEs" when sleeping/waking.
      
      Removed acpi_ht_enable_gpe and acpi_hw_disable_gpe, replaced
      by the single acpi_hw_write_gpe_enable_reg. Changed a couple
      of calls to the functions above to the new acpi_ev* calls
      as appropriate.
      
      ACPI_OS_NAME was removed from the OS-specific headers.
      The default name is now "Microsoft Windows NT" for maximum
      compatibility. However this can be changed by modifying
      the acconfig.h file.  Fixes EHCI probe issue:
      http://bugme.osdl.org/show_bug.cgi?id=1762
      
      Allow a single invocation of acpi_install_notify_handler
      for a handler that traps both types of notifies (System,
      Device). Use ACPI_ALL_NOTIFY flag.
      
      Run _INI methods on ThermalZone objects. This is against
      the ACPI specification, but there is apparently ASL code
      in the field that has these _INI methods, and apparently
      "other" AML interpreters execute them.
      
      Performed a full 16/32/64 bit lint that resulted in some
      small changes.
      f81d800e
  2. 07 May, 2004 2 commits
    • Len Brown's avatar
      [ACPI] ACPICA 20040427 from Bob Moore · 5eb3a43d
      Len Brown authored
      Completed a major overhaul of the GPE handling within ACPI CA.
      There are now three types of GPEs:
      wake-only; runtime-only; combination wake/run.
      
      The only GPEs allowed to be combination wake/run are for
      button-style devices such as a control-method power button,
      control-method sleep button, or a notebook lid switch.
      GPEs that have an _Lxx or _Exx method and are not referenced
      by any _PRW methods are marked for "runtime" and hardware enabled.
      
      Any GPE that is referenced by a _PRW method is marked for "wake"
      (and disabled at runtime).  However, at sleep time, only those
      GPEs that have been specifically enabled for wake via the
      acpi_enable_gpe() interface will actually be hardware enabled.
      
      A new external interface has been added, acpi_set_gpe_type()
      that is meant to be used by device drivers to force a GPE
      to a particular type.  It will be especially useful for the
      drivers for the button devices mentioned above.
      
      Completed restructuring of the ACPI CA initialization sequence
      so that default operation region handlers are installed
      before GPEs are initialized and the _PRW methods are executed.
      This will prevent errors when the _PRW methods attempt to
      access system memory or I/O space.
      
      GPE enable/disable no longer reads the GPE enable register.
      We now keep the enable info for runtime and wake separate
      and in the GPE_EVENT_INFO.  We thus no longer depend on
      the hardware to maintain these bits.
      
      Always clear the wake status and fixed/GPE status bits
      before sleep, even for state S5.
      
      Improved the AML debugger output for displaying the
      GPE blocks and their current status.
      
      Added new strings for the _OSI method, of the form
      "Windows 2001 SPx" where x = 0,1,2,3,4.
      
      Fixed a problem where the physical address was incorrectly
      calculated when the Load() operator was used to directly
      load from an Operation Region (vs. loading from a Field object.)
      Also added check for minimum table length for this case.
      
      Fix for multiple mutex acquisition.  Restore original thread
      SyncLevel on mutex release.
      
      Added ACPI_VALID_SXDS flag to the acpi_get_object_info interface
      for consistency with the other fields returned.
      
      Shrunk the ACPI_GPE_EVENT_INFO structure by 40%.
      There is one such structure for each GPE in the system,
      so the size of this structure is important.
      
      CPU stack requirement reduction:
      Cleaned up the method execution and object evaluation paths
      so that now a parameter structure is passed, instead of copying
      the various method parameters over and over again.
      
      In evregion.c:
      Correctly exit and reenter the interpreter region if and only
      if dispatching an operation region request to a user-installed
      handler. Do not exit/reenter when dispatching to a default
      handler (e.g., default system memory or I/O handlers)
      5eb3a43d
    • Len Brown's avatar
      [ACPI] ACPICA 20040402 from Bob Moore · a308df02
      Len Brown authored
      Fixed an interpreter problem where an indirect store through an
      ArgX parameter was incorrectly applying the "implicit conversion
      rules" during the store.  From the ACPI specification: "If the
      target is a method local or argument (LocalX or ArgX), no
      conversion is performed and the result is stored directly to the
      target".  The new behavior is to disable implicit conversion
      during ALL stores to an ArgX.
      
      Changed the behavior of the _PRW method scan to ignore any and
      all errors returned by a given _PRW.  This prevents the scan from
      aborting from the failure of any single _PRW.
      
      Moved the runtime configuration parameters from the global init
      procedure to static variables in acglobal.h.  This will allow the
      host to override the default values easily.
      a308df02
  3. 03 May, 2004 1 commit
  4. 02 May, 2004 1 commit
  5. 30 Apr, 2004 1 commit
  6. 28 Apr, 2004 1 commit
  7. 27 Apr, 2004 8 commits
  8. 23 Apr, 2004 3 commits
  9. 22 Apr, 2004 2 commits
  10. 20 Apr, 2004 2 commits
  11. 16 Apr, 2004 1 commit
  12. 14 Apr, 2004 1 commit
  13. 03 Apr, 2004 9 commits
  14. 02 Apr, 2004 6 commits