Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that contained invalid non-zero values in reserved fields could cause later failures because these fields have meaning in later revisions of the FADT. For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (Preferred_PM_Profile, PSTATE_CNT, CST_CNT, IAPC_BOOT_FLAGS.)
Implemented a design change for the handling of the Notify AML operator. Previously, notify handlers were dispatched and executed completely asynchronously in a deferred thread. The new design still executes the notify handlers in a different thread, but the original thread that executed the Notify() now waits at a synchronization point for the notify handler to complete. Some machines depend on a synchronous Notify operator in order to operate correctly.
Fixed a problem where the global lock handle was not properly updated if a thread that acquired the global lock via executing AML code then attempted to acquire the lock via the AcpiAcquireGlobalLock interface.
Fixed a problem in AcpiEvDeleteGpeXrupt where the global interrupt list could be corrupted if the interrupt being removed was at the head of the list. Reported by Linn Crosetto.
Implemented support to allow Package objects to be passed as method arguments to the AcpiEvaluateObject interface. Previously, this would return an AE_NOT_IMPLEMENTED exception.
The interpreter now evaluates operands in the order that they appear (both in the
AML and ASL), instead of in reverse order. This previously caused subtle incompatibilities with the MS interpreter as well as being non-intuitive.
Allows AcpiAcquireGlobalLock external interface to be called multiple times by the
same thread. Allows use of AML fields that require the global lock while the running
AML is already holding the global lock.
Added 2007 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities.
Debugger: Enhanced the Statistics/Memory command to emit the total (maximum) memory used during execution, as well as the maximum memory consumed by each of the various object types. (Valery Podrezov)
Support for 16-bit ACPICA has been completely removed since it is no longer necessary and it clutters the code. All 16-bit macros, types, and conditional compiles have been removed, cleaning up and simplifying the code across the entire subsystem. DOS support is no longer needed since the Linux firmware kit is now available.