--- old/usr/src/uts/intel/io/acpica/changes.txt	jeu. déc. 26 13:48:16 2013
+++ /dev/null	jeu. déc. 26 13:48:15 2013
@@ -1,10651 +0,0 @@
-----------------------------------------
-27 May 2011. Summary of changes for version 20110527:
-
-This release is available at www.acpica.org/downloads
-
-1) ACPI CA Core Subsystem:
-
-ASL Load() operator: Reinstate most restrictions on the incoming ACPI table 
-signature. Now, only allow SSDT, OEMx, and a null signature. History:
-    1) Originally, we checked the table signature for "SSDT" or "PSDT".
-       (PSDT is now obsolete.)
-    2) We added support for OEMx tables, signature "OEM" plus a fourth
-       "don't care" character.
-    3) Valid tables were encountered with a null signature, so we just
-       gave up on validating the signature, (05/2008).
-    4) We encountered non-AML tables such as the MADT, which caused
-       interpreter errors and kernel faults. So now, we once again allow
-       only SSDT, OEMx, and now, also a null signature. (05/2011).
-
-Added the missing _TDL predefined name to the global name list in order to 
-enable validation. Affects both the core ACPICA code and the iASL compiler.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug 
-version of the code includes the debug output trace mechanism and has a much 
-larger code and data size.
-
-  Previous Release (VC 9.0):
-    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
-    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
-  Current Release (VC 9.0):
-    Non-Debug Version:  90.1K Code, 23.9K Data, 114.0K Total
-    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Debugger/AcpiExec: Implemented support for "complex" method arguments on the 
-debugger command line. This adds support beyond simple integers -- including 
-Strings, Buffers, and Packages. Includes support for nested packages. 
-Increased the default command line buffer size to accommodate these arguments. 
-See the ACPICA reference for details and syntax. ACPICA BZ 917.
- 
-Debugger/AcpiExec: Implemented support for "default" method arguments for the 
-Execute/Debug command. Now, the debugger will always invoke a control method 
-with the required number of arguments -- even if the command line specifies 
-none or insufficient arguments. It uses default integer values for any missing 
-arguments. Also fixes a bug where only six method arguments maximum were 
-supported instead of the required seven.
-
-Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and 
-also return status in order to prevent buffer overruns. See the ACPICA 
-reference for details and syntax. ACPICA BZ 921
-
-iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and 
-makefiles to simplify support for the two different but similar parser 
-generators, bison and yacc.
-
-Updated the generic unix makefile for gcc 4. The default gcc version is now 
-expected to be 4 or greater, since options specific to gcc 4 are used.
-
-----------------------------------------
-13 April 2011. Summary of changes for version 20110413:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support to execute a so-called "orphan" _REG method under the EC 
-device. This change will force the execution of a _REG method underneath the 
-EC 
-device even if there is no corresponding operation region of type 
-EmbeddedControl. Fixes a problem seen on some machines and apparently is 
-compatible with Windows behavior. ACPICA BZ 875.
-
-Added more predefined methods that are eligible for automatic NULL package 
-element removal. This change adds another group of predefined names to the 
-list 
-of names that can be repaired by having NULL package elements dynamically 
-removed. This group are those methods that return a single variable-length 
-package containing simple data types such as integers, buffers, strings. This 
-includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, 
-_Sx, 
-and _TZD. ACPICA BZ 914.
-
-Split and segregated all internal global lock functions to a new file, 
-evglock.c.
-
-Updated internal address SpaceID for DataTable regions. Moved this internal 
-space 
-id in preparation for ACPI 5.0 changes that will include some new space IDs. 
-This 
-change should not affect user/host code.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib 
-produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of 
-the code includes the debug output trace mechanism and has a much larger code 
-and 
-data size.
-
-  Previous Release (VC 9.0):
-    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
-    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
-  Current Release (VC 9.0):
-    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
-    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL/DTC: Major update for new grammar features. Allow generic data types in 
-custom ACPI tables. Field names are now optional. Any line can be split to 
-multiple lines using the continuation char (\). Large buffers now use line-
-continuation character(s) and no colon on the continuation lines. See the 
-grammar 
-update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore.
-
-iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements. 
-Since the parser stuffs a "zero" as the return value for these statements (due 
-to 
-the underlying AML grammar), they were seen as "return with value" by the iASL 
-semantic checking. They are now seen correctly as "null" return statements.
-
-iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a 
-check for each _REG to ensure that there is in fact a corresponding operation 
-region declaration in the same scope. If not, the _REG method is not very 
-useful 
-since it probably won't be executed. ACPICA BZ 915.
-
-iASL/DTC: Finish support for expression evaluation. Added a new expression 
-parser 
-that implements c-style operator precedence and parenthesization. ACPICA 
-bugzilla 
-908.
-
-Disassembler/DTC: Remove support for () and <> style comments in data tables. 
-Now 
-that DTC has full expression support, we don't want to have comment strings 
-that 
-start with a parentheses or a less-than symbol. Now, only the standard /* and 
-// 
-comments are supported, as well as the bracket [] comments.
-
-AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have 
-"unusual" 
-headers in the acpidump file. Update the header validation to support these 
-tables. Problem introduced in previous AcpiXtract version in the change to 
-support "wrong checksum" error messages emitted by acpidump utility.
-
-iASL: Add a * option to generate all template files (as a synonym for ALL) as 
-in 
-"iasl -T *" or "iasl -T ALL".
-
-iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely 
-abort the compiler on "fatal" errors, simply should abort the current compile. 
-This allows multiple compiles with a single (possibly wildcard) compiler 
-invocation.
-
-----------------------------------------
-16 March 2011. Summary of changes for version 20110316:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem caused by a _PRW method appearing at the namespace root scope 
-during the setup of wake GPEs. A fault could occur if a _PRW directly under 
-the 
-root object was passed to the AcpiSetupGpeForWake interface. Lin Ming.
-
-Implemented support for "spurious" Global Lock interrupts. On some systems, a 
-global lock interrupt can occur without the pending flag being set. Upon a GL 
-interrupt, we now ensure that a thread is actually waiting for the lock before 
-signaling GL availability. Rafael Wysocki, Bob Moore.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib 
-produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of 
-the code includes the debug output trace mechanism and has a much larger code 
-and 
-data size.
-
-  Previous Release (VC 9.0):
-    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-  Current Release (VC 9.0):
-    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
-    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented full support for the "SLIC" ACPI table. Includes support in the 
-header files, disassembler, table compiler, and template generator. Bob Moore, 
-Lin Ming.
-
-AcpiXtract: Correctly handle embedded comments and messages from AcpiDump. 
-Apparently some or all versions of acpidump will occasionally emit a comment 
-like 
-"Wrong checksum", etc., into the dump file. This was causing problems for 
-AcpiXtract. ACPICA BZ 905.
-
-iASL: Fix the Linux makefile by removing an inadvertent double file inclusion. 
-ACPICA BZ 913.
-
-AcpiExec: Update installation of operation region handlers. Install one 
-handler 
-for a user-defined address space. This is used by the ASL test suite (ASLTS).
-
-----------------------------------------
-11 February 2011. Summary of changes for version 20110211:
-
-1) ACPI CA Core Subsystem:
-
-Added a mechanism to defer _REG methods for some early-installed handlers. 
-Most user handlers should be installed before call to AcpiEnableSubsystem. 
-However, Event handlers and region handlers should be installed after 
-AcpiInitializeObjects. Override handlers for the "default" regions should be 
-installed early, however. This change executes all _REG methods for the 
-default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any 
-chicken/egg issues between them. ACPICA BZ 848.
-
-Implemented an optimization for GPE detection. This optimization will simply 
-ignore GPE registers that contain no enabled GPEs -- there is no need to 
-read the register since this information is available internally. This 
-becomes more important on machines with a large GPE space. ACPICA bugzilla 
-884. Lin Ming. Suggestion from Joe Liu.
-
-Removed all use of the highly unreliable FADT revision field. The revision 
-number in the FADT has been found to be completely unreliable and cannot be 
-trusted. Only the actual table length can be used to infer the version. This 
-change updates the ACPICA core and the disassembler so that both no longer 
-even look at the FADT version and instead depend solely upon the FADT 
-length.
-
-Fix an unresolved name issue for the no-debug and no-error-message source 
-generation cases. The _AcpiModuleName was left undefined in these cases, but 
-it is actually needed as a parameter to some interfaces. Define 
-_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
-
-Split several large files (makefiles and project files updated)
-  utglobal.c   -> utdecode.c
-  dbcomds.c    -> dbmethod.c dbnames.c
-  dsopcode.c   -> dsargs.c dscontrol.c
-  dsload.c     -> dsload2.c
-  aslanalyze.c -> aslbtypes.c aslwalks.c
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release (VC 9.0):
-    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-  Current Release (VC 9.0):
-    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. 
-These are useful C-style macros with the standard definitions. ACPICA 
-bugzilla 898.
-
-iASL/DTC: Added support for integer expressions and labels. Support for full 
-expressions for all integer fields in all ACPI tables. Support for labels in 
-"generic" portions of tables such as UEFI. See the iASL reference manual.
-
-Debugger: Added a command to display the status of global handlers. The 
-"handlers" command will display op region, fixed event, and miscellaneous 
-global handlers. installation status -- and for op regions, whether default 
-or user-installed handler will be used.
-
-iASL: Warn if reserved method incorrectly returns a value. Many predefined 
-names are defined such that they do not return a value. If implemented as a 
-method, issue a warning if such a name explicitly returns a value. ACPICA 
-Bugzilla 855.
-
-iASL: Added detection of GPE method name conflicts. Detects a conflict where 
-there are two GPE methods of the form _Lxy and _Exy in the same scope. (For 
-example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
-
-iASL/DTC: Fixed a couple input scanner issues with comments and line 
-numbers. Comment remover could get confused and miss a comment ending. Fixed 
-a problem with line counter maintenance.
-
-iASL/DTC: Reduced the severity of some errors from fatal to error. There is 
-no need to abort on simple errors within a field definition.
-
-Debugger: Simplified the output of the help command. All help output now in 
-a single screen, instead of help subcommands. ACPICA Bugzilla 897.
-
-----------------------------------------
-12 January 2011. Summary of changes for version 20110112:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a race condition between method execution and namespace walks that can 
-possibly cause a fault. The problem was apparently introduced in version 
-20100528 as a result of a performance optimization that reduces the number of 
-namespace walks upon method exit by using the delete_namespace_subtree 
-function instead of the delete_namespace_by_owner function used previously. 
-Bug is a missing namespace lock in the delete_namespace_subtree function. 
-dana.myers@oracle.com
-
-Fixed several issues and a possible fault with the automatic "serialized" 
-method support. History: This support changes a method to "serialized" on the 
-fly if the method generates an AE_ALREADY_EXISTS error, indicating the 
-possibility that it cannot handle reentrancy. This fix repairs a couple of 
-issues seen in the field, especially on machines with many cores:
-
-    1) Delete method children only upon the exit of the last thread,
-       so as to not delete objects out from under other running threads
-      (and possibly causing a fault.)
-    2) Set the "serialized" bit for the method only upon the exit of the
-       Last thread, so as to not cause deadlock when running threads
-       attempt to exit.
-    3) Cleanup the use of the AML "MethodFlags" and internal method flags
-       so that there is no longer any confusion between the two.
-
-    Lin Ming, Bob Moore. Reported by dana.myers@oracle.com.
-
-Debugger: Now lock the namespace for duration of a namespace dump. Prevents 
-issues if the namespace is changing dynamically underneath the debugger. 
-Especially affects temporary namespace nodes, since the debugger displays 
-these also.
-
-Updated the ordering of include files. The ACPICA headers should appear 
-before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set 
-any necessary compiler-specific defines, etc. Affects the ACPI-related tools 
-and utilities.
-
-Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright 
-to all module headers and signons, including the Linux header. This affects 
-virtually every file in the ACPICA core subsystem, iASL compiler, and all 
-utilities.
-
-Added project files for MS Visual Studio 2008 (VC++ 9.0). The original 
-project files for VC++ 6.0 are now obsolete. New project files can be found 
-under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for 
-details.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release (VC 6.0):
-    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
-    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
-  Current Release (VC 9.0):
-    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Added generic data types to the Data Table compiler. Add "generic" data 
-types such as UINT32, String, Unicode, etc., to simplify the generation of 
-platform-defined tables such as UEFI. Lin Ming.
-
-iASL: Added listing support for the Data Table Compiler. Adds listing support 
-(-l) to display actual binary output for each line of input code.
-
-----------------------------------------
-09 December 2010. Summary of changes for version 20101209:
-
-1) ACPI CA Core Subsystem:
-
-Completed the major overhaul of the GPE support code that was begun in July 
-2010. Major features include: removal of _PRW execution in ACPICA (host 
-executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, 
-changes to existing interfaces, simplification of GPE handler operation, and 
-a handful of new interfaces:
-
-    AcpiUpdateAllGpes
-    AcpiFinishGpe
-    AcpiSetupGpeForWake
-    AcpiSetGpeWakeMask
-    One new file, evxfgpe.c to consolidate all external GPE interfaces.
-
-See the ACPICA Programmer Reference for full details and programming 
-information. See the new section 4.4 "General Purpose Event (GPE) Support" 
-for a full overview, and section 8.7 "ACPI General Purpose Event Management" 
-for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, 
-Bob Moore, Rafael Wysocki.
-
-Implemented a new GPE feature for Windows compatibility, the "Implicit Wake 
-GPE Notify". This feature will automatically issue a Notify(2) on a device 
-when a Wake GPE is received if there is no corresponding GPE method or 
-handler. ACPICA BZ 870.
-
-Fixed a problem with the Scope() operator during table parse and load phase. 
-During load phase (table load or method execution), the scope operator should 
-not enter the target into the namespace. Instead, it should open a new scope 
-at the target location. Linux BZ 19462, ACPICA BZ 882.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
-    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
-  Current Release:
-    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Relax the alphanumeric restriction on _CID strings. These strings are 
-"bus-specific" per the ACPI specification, and therefore any characters are 
-acceptable. The only checks that can be performed are for a null string and 
-perhaps for a leading asterisk. ACPICA BZ 886.
-
-iASL: Fixed a problem where a syntax error that caused a premature EOF 
-condition on the source file emitted a very confusing error message. The 
-premature EOF is now detected correctly. ACPICA BZ 891.
-
-Disassembler: Decode the AccessSize within a Generic Address Structure (byte 
-access, word access, etc.) Note, this field does not allow arbitrary bit 
-access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
-
-New: AcpiNames utility - Example namespace dump utility. Shows an example of 
-ACPICA configuration for a minimal namespace dump utility. Uses table and 
-namespace managers, but no AML interpreter. Does not add any functionality 
-over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to 
-partition and configure ACPICA. ACPICA BZ 883.
-
-AML Debugger: Increased the debugger buffer size for method return objects. 
-Was 4K, increased to 16K. Also enhanced error messages for debugger method 
-execution, including the buffer overflow case.
-
-----------------------------------------
-13 October 2010. Summary of changes for version 20101013:
-
-1) ACPI CA Core Subsystem:
-
-Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now 
-clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via 
-HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
-
-Changed the type of the predefined namespace object _TZ from ThermalZone to 
-Device. This was found to be confusing to the host software that processes 
-the various thermal zones, since _TZ is not really a ThermalZone. However, a 
-Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui 
-Zhang.
-
-Added Windows Vista SP2 to the list of supported _OSI strings. The actual 
-string is "Windows 2006 SP2".
-
-Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair 
-code automatically repairs _HID-related strings, this type of code is no 
-longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-  Current Release:
-    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented additional compile-time validation for _HID strings. The 
-non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of 
-the string must be exactly seven or eight characters. For both _HID and _CID 
-strings, all characters must be alphanumeric. ACPICA BZ 874.
-
-iASL: Allow certain "null" resource descriptors. Some BIOS code creates 
-descriptors that are mostly or all zeros, with the expectation that they will 
-be filled in at runtime. iASL now allows this as long as there is a "resource 
-tag" (name) associated with the descriptor, which gives the ASL a handle 
-needed to modify the descriptor. ACPICA BZ 873.
-
-Added single-thread support to the generic Unix application OSL. Primarily 
-for iASL support, this change removes the use of semaphores in the single-
-threaded ACPICA tools/applications - increasing performance. The 
-_MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED 
-option. ACPICA BZ 879.
-
-AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support 
-for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
-
-iASL: Moved all compiler messages to a new file, aslmessages.h.
-
-----------------------------------------
-15 September 2010. Summary of changes for version 20100915:
-
-1) ACPI CA Core Subsystem:
-
-Removed the AcpiOsDerivePciId OSL interface. The various host implementations 
-of this function were not OS-dependent and are now obsolete and can be 
-removed from all host OSLs. This function has been replaced by 
-AcpiHwDerivePciId, which is now part of the ACPICA core code. 
-AcpiHwDerivePciId has been implemented without recursion. Adds one new 
-module, hwpci.c. ACPICA BZ 857.
-
-Implemented a dynamic repair for _HID and _CID strings. The following 
-problems are now repaired at runtime: 1) Remove a leading asterisk in the 
-string, and 2) the entire string is uppercased. Both repairs are in 
-accordance with the ACPI specification and will simplify host driver code. 
-ACPICA BZ 871.
-
-The ACPI_THREAD_ID type is no longer configurable, internally it is now 
-always UINT64. This simplifies the ACPICA code, especially any printf output. 
-UINT64 is the only common data type for all thread_id types across all 
-operating systems. It is now up to the host OSL to cast the native thread_id 
-type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). 
-Lin Ming, Bob Moore.
-
-Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" 
-keyword is not standard across compilers, and this type allows inline to be 
-configured on a per-compiler basis. Lin Ming.
-
-Made the system global AcpiGbl_SystemAwakeAndRunning publically available. 
-Added an extern for this boolean in acpixf.h. Some hosts utilize this value 
-during suspend/restore operations. ACPICA BZ 869.
-
-All code that implements error/warning messages with the "ACPI:" prefix has 
-been moved to a new module, utxferror.c.
-
-The UINT64_OVERLAY was moved to utmath.c, which is the only module where it 
-is used. ACPICA BZ 829. Lin Ming, Bob Moore.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
-    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
-  Current Release:
-    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL/Disassembler: Write ACPI errors to stderr instead of the output file. 
-This keeps the output files free of random error messages that may originate 
-from within the namespace/interpreter code. Used this opportunity to merge 
-all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 
-866. Lin Ming, Bob Moore.
-
-Tools: update some printfs for ansi warnings on size_t. Handle width change 
-of size_t on 32-bit versus 64-bit generations. Lin Ming.
-
-----------------------------------------
-06 August 2010. Summary of changes for version 20100806:
-
-1) ACPI CA Core Subsystem:
-
-Designed and implemented a new host interface to the _OSI support code. This 
-will allow the host to dynamically add or remove multiple _OSI strings, as 
-well as install an optional handler that is called for each _OSI invocation. 
-Also added a new AML debugger command, 'osi' to display and modify the global 
-_OSI string table, and test support in the AcpiExec utility. See the ACPICA 
-reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
-New Functions:
-    AcpiInstallInterface - Add an _OSI string.
-    AcpiRemoveInterface - Delete an _OSI string.
-    AcpiInstallInterfaceHandler - Install optional _OSI handler.
-Obsolete Functions:
-    AcpiOsValidateInterface - no longer used.
-New Files:
-    source/components/utilities/utosi.c
-
-Re-introduced the support to enable multi-byte transfers for Embedded 
-Controller (EC) operation regions. A reported problem was found to be a bug 
-in the host OS, not in the multi-byte support. Previously, the maximum data 
-size passed to the EC operation region handler was a single byte. There are 
-often EC Fields larger than one byte that need to be transferred, and it is 
-useful for the EC driver to lock these as a single transaction. This change 
-enables single transfers larger than 8 bits. This effectively changes the 
-access to the EC space from ByteAcc to AnyAcc, and will probably require 
-changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit 
-transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
-
-Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The 
-prototype in acpiosxf.h had the output value pointer as a (void *).
-It should be a (UINT64 *). This may affect some host OSL code.
-
-Fixed a couple problems with the recently modified Linux makefiles for iASL 
-and AcpiExec. These new makefiles place the generated object files in the 
-local directory so that there can be no collisions between the files that are 
-shared between them that are compiled with different options.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
-  Current Release:
-    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
-    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL/Disassembler: Added a new option (-da, "disassemble all") to load the 
-namespace from and disassemble an entire group of AML files. Useful for 
-loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and 
-disassembling with one simple command. ACPICA BZ 865. Lin Ming.
-
-iASL: Allow multiple invocations of -e option. This change allows multiple 
-uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. 
-Lin Ming.
-
-----------------------------------------
-02 July 2010. Summary of changes for version 20100702:
-
-1) ACPI CA Core Subsystem:
-
-Implemented several updates to the recently added GPE reference count 
-support. The model for "wake" GPEs is changing to give the host OS complete 
-control of these GPEs. Eventually, the ACPICA core will not execute any _PRW 
-methods, since the host already must execute them. Also, additional changes 
-were made to help ensure that the reference counts are kept in proper 
-synchronization with reality. Rafael J. Wysocki.
-
-1) Ensure that GPEs are not enabled twice during initialization.
-2) Ensure that GPE enable masks stay in sync with the reference count.
-3) Do not inadvertently enable GPEs when writing GPE registers.
-4) Remove the internal wake reference counter and add new AcpiGpeWakeup 
-interface. This interface will set or clear individual GPEs for wakeup.
-5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces 
-are now used for "runtime" GPEs only.
-
-Changed the behavior of the GPE install/remove handler interfaces. The GPE is 
-no longer disabled during this process, as it was found to cause problems on 
-some machines. Rafael J. Wysocki.
-
-Reverted a change introduced in version 20100528 to enable Embedded 
-Controller multi-byte transfers. This change was found to cause problems with 
-Index Fields and possibly Bank Fields. It will be reintroduced when these 
-problems have been resolved.
-
-Fixed a problem with references to Alias objects within Package Objects. A 
-reference to an Alias within the definition of a Package was not always 
-resolved properly. Aliases to objects like Processors, Thermal zones, etc. 
-were resolved to the actual object instead of a reference to the object as it 
-should be. Package objects are only allowed to contain integer, string, 
-buffer, package, and reference objects. Redhat bugzilla 608648.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-    Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
-  Current Release:
-    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented a new compiler subsystem to allow definition and 
-compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These 
-are called "ACPI Data Tables", and the new compiler is the "Data Table 
-Compiler". This compiler is intended to simplify the existing error-prone 
-process of creating these tables for the BIOS, as well as allowing the 
-disassembly, modification, recompilation, and override of existing ACPI data 
-tables. See the iASL User Guide for detailed information.
-
-iASL: Implemented a new Template Generator option in support of the new Data 
-Table Compiler. This option will create examples of all known ACPI tables 
-that can be used as the basis for table development. See the iASL 
-documentation and the -T option.
-
-Disassembler and headers: Added support for the WDDT ACPI table (Watchdog 
-Descriptor Table).
-
-Updated the Linux makefiles for iASL and AcpiExec to place the generated 
-object files in the local directory so that there can be no collisions 
-between the shared files between them that are generated with different 
-options.
-
-Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use 
-the #define __APPLE__ to enable this support.
-
-----------------------------------------
-28 May 2010. Summary of changes for version 20100528:
-
-Note: The ACPI 4.0a specification was released on April 5, 2010 and is 
-available at www.acpi.info. This is primarily an errata release.
-
-1) ACPI CA Core Subsystem:
-
-Undefined ACPI tables: We are looking for the definitions for the following 
-ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
-
-Implemented support to enable multi-byte transfers for Embedded Controller 
-(EC) operation regions. Previously, the maximum data size passed to the EC 
-operation region handler was a single byte. There are often EC Fields larger 
-than one byte that need to be transferred, and it is useful for the EC driver 
-to lock these as a single transaction. This change enables single transfers 
-larger than 8 bits. This effectively changes the access to the EC space from 
-ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded 
-Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit 
-transfers. Alexey Starikovskiy, Lin Ming
-
-Implemented a performance enhancement for namespace search and access. This 
-change enhances the performance of namespace searches and walks by adding a 
-backpointer to the parent in each namespace node. On large namespaces, this 
-change can improve overall ACPI performance by up to 9X. Adding a pointer to 
-each namespace node increases the overall size of the internal namespace by 
-about 5%, since each namespace entry usually consists of both a namespace 
-node and an ACPI operand object. However, this is the first growth of the 
-namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
-
-Implemented a performance optimization that reduces the number of namespace 
-walks. On control method exit, only walk the namespace if the method is known 
-to have created namespace objects outside of its local scope. Previously, the 
-entire namespace was traversed on each control method exit. This change can 
-improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore.
-
-Added support to truncate I/O addresses to 16 bits for Windows compatibility. 
-Some ASL code has been seen in the field that inadvertently has bits set 
-above bit 15. This feature is optional and is enabled if the BIOS requests 
-any Windows OSI strings. It can also be enabled by the host OS. Matthew 
-Garrett, Bob Moore.
-
-Added support to limit the maximum time for the ASL Sleep() operator. To 
-prevent accidental deep sleeps, limit the maximum time that Sleep() will 
-actually sleep. Configurable, the default maximum is two seconds. ACPICA 
-bugzilla 854.
-
-Added run-time validation support for the _WDG and_WED Microsoft predefined 
-methods. These objects are defined by "Windows Instrumentation", and are not 
-part of the ACPI spec. ACPICA BZ 860.
-
-Expanded all statistic counters used during namespace and device 
-initialization from 16 to 32 bits in order to support very large namespaces.
-
-Replaced all instances of %d in printf format specifiers with %u since nearly 
-all integers in ACPICA are unsigned.
-
-Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned 
-as AE_NO_HANDLER.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
-    Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
-  Current Release:
-    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-    Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Added compiler support for the _WDG and_WED Microsoft predefined 
-methods. These objects are defined by "Windows Instrumentation", and are not 
-part of the ACPI spec. ACPICA BZ 860.
-
-AcpiExec: added option to disable the memory tracking mechanism. The -dt 
-option will disable the tracking mechanism, which improves performance 
-considerably.
-
-AcpiExec: Restructured the command line options into -d (disable) and -e 
-(enable) options.
-
-----------------------------------------
-28 April 2010. Summary of changes for version 20100428:
-
-1) ACPI CA Core Subsystem:
-
-Implemented GPE support for dynamically loaded ACPI tables. For all GPEs, 
-including FADT-based and GPE Block Devices, execute any _PRW methods in the 
-new table, and process any _Lxx/_Exx GPE methods in the new table. Any 
-runtime GPE that is referenced by an _Lxx/_Exx method in the new table is 
-immediately enabled. Handles the FADT-defined GPEs as well as GPE Block 
-Devices. Provides compatibility with other ACPI implementations. Two new 
-files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore.
-
-Fixed a regression introduced in version 20100331 within the table manager 
-where initial table loading could fail. This was introduced in the fix for 
-AcpiReallocateRootTable. Also, renamed some of fields in the table manager 
-data structures to clarify their meaning and use.
-
-Fixed a possible allocation overrun during internal object copy in 
-AcpiUtCopySimpleObject. The original code did not correctly handle the case 
-where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.
-
-Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a 
-possible access beyond end-of-allocation. Also, now fully validate descriptor 
-(size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
-    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
-  Current Release:
-    Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
-    Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented Min/Max/Len/Gran validation for address resource 
-descriptors. This change implements validation for the address fields that 
-are common to all address-type resource descriptors. These checks are 
-implemented: Checks for valid Min/Max, length within the Min/Max window, 
-valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per 
-table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c 
-and aslrestype2.c files into five new files. ACPICA BZ 840.
-
-iASL: Added support for the _Wxx predefined names. This support was missing 
-and these names were not recognized by the compiler as valid predefined 
-names. ACPICA BZ 851.
-
-iASL: Added an error for all predefined names that are defined to return no 
-value and thus must be implemented as Control Methods. These include all of 
-the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous 
-names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
-
-iASL: Implemented the -ts option to emit hex AML data in ASL format, as an 
-ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be 
-dynamically loaded via the Load() operator. Also cleaned up output for the -
-ta and -tc options. ACPICA BZ 853.
-
-Tests: Added a new file with examples of extended iASL error checking. 
-Demonstrates the advanced error checking ability of the iASL compiler. 
-Available at tests/misc/badcode.asl.
-
-----------------------------------------
-31 March 2010. Summary of changes for version 20100331:
-
-1) ACPI CA Core Subsystem:
-
-Completed a major update for the GPE support in order to improve support for 
-shared GPEs and to simplify both host OS and ACPICA code. Added a reference 
-count mechanism to support shared GPEs that require multiple device drivers. 
-Several external interfaces have changed. One external interface has been 
-removed. One new external interface was added. Most of the GPE external 
-interfaces now use the GPE spinlock instead of the events mutex (and the 
-Flags parameter for many GPE interfaces has been removed.) See the updated 
-ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael 
-Wysocki. ACPICA BZ 831.
-
-Changed:
-    AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
-Removed:
-    AcpiSetGpeType
-New:
-    AcpiSetGpe
-
-Implemented write support for DataTable operation regions. These regions are 
-defined via the DataTableRegion() operator. Previously, only read support was 
-implemented. The ACPI specification allows DataTableRegions to be read/write, 
-however.
-
-Implemented a new subsystem option to force a copy of the DSDT to local 
-memory. Optionally copy the entire DSDT to local memory (instead of simply 
-mapping it.) There are some (albeit very rare) BIOSs that corrupt or replace 
-the original DSDT, creating the need for this option. Default is FALSE, do 
-not copy the DSDT.
-
-Implemented detection of a corrupted or replaced DSDT. This change adds 
-support to detect a DSDT that has been corrupted and/or replaced from outside 
-the OS (by firmware). This is typically catastrophic for the system, but has 
-been seen on some machines. Once this problem has been detected, the DSDT 
-copy option can be enabled via system configuration. Lin Ming, Bob Moore.
-
-Fixed two problems with AcpiReallocateRootTable during the root table copy. 
-When copying the root table to the new allocation, the length used was 
-incorrect. The new size was used instead of the current table size, meaning 
-too much data was copied. Also, the count of available slots for ACPI tables 
-was not set correctly. Alexey Starikovskiy, Bob Moore.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
-    Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
-  Current Release:
-    Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
-    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implement limited typechecking for values returned from predefined 
-control methods. The type of any returned static (unnamed) object is now 
-validated. For example, Return(1). ACPICA BZ 786.
-
-iASL: Fixed a predefined name object verification regression. Fixes a problem 
-introduced in version 20100304. An error is incorrectly generated if a 
-predefined name is declared as a static named object with a value defined 
-using the keywords "Zero", "One", or "Ones". Lin Ming.
-
-iASL: Added Windows 7 support for the -g option (get local ACPI tables) by 
-reducing the requested registry access rights. ACPICA BZ 842.
-
-Disassembler: fixed a possible fault when generating External() statements. 
-Introduced in commit ae7d6fd: Properly handle externals with parent-prefix 
-(carat). Fixes a string length allocation calculation. Lin Ming.
-
-----------------------------------------
-04 March 2010. Summary of changes for version 20100304:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a possible problem with the AML Mutex handling function 
-AcpiExReleaseMutex where the function could fault under the very rare 
-condition when the interpreter has blocked, the interpreter lock is released, 
-the interpreter is then reentered via the same thread, and attempts to 
-acquire an AML mutex that was previously acquired. FreeBSD report 140979. Lin 
-Ming.
-
-Implemented additional configuration support for the AML "Debug Object". 
-Output from the debug object can now be enabled via a global variable, 
-AcpiGbl_EnableAmlDebugObject. This will assist with remote machine debugging. 
-This debug output is now available in the release version of ACPICA instead 
-of just the debug version. Also, the entire debug output module can now be 
-configured out of the ACPICA build if desired. One new file added, 
-executer/exdebug.c. Lin Ming, Bob Moore.
-
-Added header support for the ACPI MCHI table (Management Controller Host 
-Interface Table). This table was added in ACPI 4.0, but the defining document 
-has only recently become available.
-
-Standardized output of integer values for ACPICA warnings/errors. Always use 
-0x prefix for hex output, always use %u for unsigned integer decimal output. 
-Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 400 
-invocations.) These invocations were converted from the original 
-ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
-    Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
-  Current Release:
-    Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
-    Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented typechecking support for static (non-control method) 
-predefined named objects that are declared with the Name() operator. For 
-example, the type of this object is now validated to be of type Integer: 
-Name(_BBN, 1). This change migrates the compiler to using the core predefined 
-name table instead of maintaining a local version. Added a new file, 
-aslpredef.c. ACPICA BZ 832.
-
-Disassembler: Added support for the ACPI 4.0 MCHI table.
-
-----------------------------------------
-21 January 2010. Summary of changes for version 20100121:
-
-1) ACPI CA Core Subsystem:
-
-Added the 2010 copyright to all module headers and signons. This affects 
-virtually every file in the ACPICA core subsystem, the iASL compiler, the 
-tools/utilities, and the test suites.
-
-Implemented a change to the AcpiGetDevices interface to eliminate unnecessary 
-invocations of the _STA method. In the case where a specific _HID is 
-requested, do not run _STA until a _HID match is found. This eliminates 
-potentially dozens of _STA calls during a search for a particular device/HID, 
-which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
-
-Implemented an additional repair for predefined method return values. Attempt 
-to repair unexpected NULL elements within returned Package objects. Create an 
-Integer of value zero, a NULL String, or a zero-length Buffer as appropriate. 
-ACPICA BZ 818. Lin Ming, Bob Moore.
-
-Removed the obsolete ACPI_INTEGER data type. This type was introduced as the 
-code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 (with 
-64-bit AML integers). It is now obsolete and this change removes it from the 
-ACPICA code base, replaced by UINT64. The original typedef has been retained 
-for now for compatibility with existing device driver code. ACPICA BZ 824.
-
-Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in 
-the parse tree object.
-
-Added additional warning options for the gcc-4 generation. Updated the source 
-accordingly. This includes some code restructuring to eliminate unreachable 
-code, elimination of some gotos, elimination of unused return values, some 
-additional casting, and removal of redundant declarations.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
-    Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
-  Current Release:
-    Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
-    Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-No functional changes for this release.
-
-----------------------------------------
-14 December 2009. Summary of changes for version 20091214:
-
-1) ACPI CA Core Subsystem:
-
-Enhanced automatic data type conversions for predefined name repairs. This 
-change expands the automatic repairs/conversions for predefined name return 
-values to make Integers, Strings, and Buffers fully interchangeable. Also, a 
-Buffer can be converted to a Package of Integers if necessary. The nsrepair.c 
-module was completely restructured. Lin Ming, Bob Moore.
-
-Implemented automatic removal of null package elements during predefined name 
-repairs. This change will automatically remove embedded and trailing NULL 
-package elements from returned package objects that are defined to contain a 
-variable number of sub-packages. The driver is then presented with a package 
-with no null elements to deal with. ACPICA BZ 819.
-
-Implemented a repair for the predefined _FDE and _GTM names. The expected 
-return value for both names is a Buffer of 5 DWORDs. This repair fixes two 
-possible problems (both seen in the field), where a package of integers is 
-returned, or a buffer of BYTEs is returned. With assistance from Jung-uk Kim.
-
-Implemented additional module-level code support. This change will properly 
-execute module-level code that is not at the root of the namespace (under a 
-Device object, etc.). Now executes the code within the current scope instead 
-of the root. ACPICA BZ 762. Lin Ming.
-
-Fixed possible mutex acquisition errors when running _REG methods. Fixes a 
-problem where mutex errors can occur when running a _REG method that is in 
-the same scope as a method-defined operation region or an operation region 
-under a module-level IF block. This type of code is rare, so the problem has 
-not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
-
-Fixed a possible memory leak during module-level code execution. An object 
-could be leaked for each block of executed module-level code if the 
-interpreter slack mode is enabled This change deletes any implicitly returned 
-object from the module-level code block. Lin Ming.
-
-Removed messages for successful predefined repair(s). The repair mechanism 
-was considered too wordy. Now, messages are only unconditionally emitted if 
-the return object cannot be repaired. Existing messages for successful 
-repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
-    Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
-  Current Release:
-    Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
-    Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Fixed a regression introduced in 20091112 where intermediate .SRC files 
-were no longer automatically removed at the termination of the compile.
-
-acpiexec: Implemented the -f option to specify default region fill value. 
-This option specifies the value used to initialize buffers that simulate 
-operation regions. Default value is zero. Useful for debugging problems that 
-depend on a specific initial value for a region or field.
-
-----------------------------------------
-12 November 2009. Summary of changes for version 20091112:
-
-1) ACPI CA Core Subsystem:
-
-Implemented a post-order callback to AcpiWalkNamespace. The existing 
-interface only has a pre-order callback. This change adds an additional 
-parameter for a post-order callback which will be more useful for bus scans. 
-ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
-
-Modified the behavior of the operation region memory mapping cache for 
-SystemMemory. Ensure that the memory mappings created for operation regions 
-do not cross 4K page boundaries. Crossing a page boundary while mapping 
-regions can cause kernel warnings on some hosts if the pages have different 
-attributes. Such regions are probably BIOS bugs, and this is the workaround. 
-Linux BZ 14445. Lin Ming.
-
-Implemented an automatic repair for predefined methods that must return 
-sorted lists. This change will repair (by sorting) packages returned by _ALR, 
-_PSS, and _TSS. Drivers can now assume that the packages are correctly sorted 
-and do not contain NULL package elements. Adds one new file, 
-namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
-
-Fixed a possible fault during predefined name validation if a return Package 
-object contains NULL elements. Also adds a warning if a NULL element is 
-followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement may 
-include repair or removal of all such NULL elements where possible.
-
-Implemented additional module-level executable AML code support. This change 
-will execute module-level code that is not at the root of the namespace 
-(under a Device object, etc.) at table load time. Module-level executable AML 
-code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
-
-Implemented a new internal function to create Integer objects. This function 
-simplifies miscellaneous object creation code. ACPICA BZ 823.
-
-Reduced the severity of predefined repair messages, Warning to Info. Since 
-the object was successfully repaired, a warning is too severe. Reduced to an 
-info message for now. These messages may eventually be changed to debug-only. 
-ACPICA BZ 812.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
-    Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
-  Current Release:
-    Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
-    Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Implemented Switch() with While(1) so that Break works correctly. This 
-change correctly implements the Switch operator with a surrounding While(1) 
-so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
-
-iASL: Added a message if a package initializer list is shorter than package 
-length. Adds a new remark for a Package() declaration if an initializer list 
-exists, but is shorter than the declared length of the package. Although 
-technically legal, this is probably a coding error and it is seen in the 
-field. ACPICA BZ 815. Lin Ming, Bob Moore.
-
-iASL: Fixed a problem where the compiler could fault after the maximum number 
-of errors was reached (200).
-
-acpixtract: Fixed a possible warning for pointer cast if the compiler warning 
-level set very high.
-
-----------------------------------------
-13 October 2009. Summary of changes for version 20091013:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where an Operation Region _REG method could be executed more 
-than once. If a custom address space handler is installed by the host before 
-the "initialize operation regions" phase of the ACPICA initialization, any 
-_REG methods for that address space could be executed twice. This change 
-fixes the problem. ACPICA BZ 427. Lin Ming.
-
-Fixed a possible memory leak for the Scope() ASL operator. When the exact 
-invocation of "Scope(\)" is executed (change scope to root), one internal 
-operand object was leaked. Lin Ming.
-
-Implemented a run-time repair for the _MAT predefined method. If the _MAT 
-return value is defined as a Field object in the AML, and the field
-size is less than or equal to the default width of an integer (32 or 64),_MAT 
-can incorrectly return an Integer instead of a Buffer. ACPICA now 
-automatically repairs this problem. ACPICA BZ 810.
-
-Implemented a run-time repair for the _BIF and _BIX predefined methods. The 
-"OEM Information" field is often incorrectly returned as an Integer with 
-value zero if the field is not supported by the platform. This is due to an 
-ambiguity in the ACPI specification. The field should always be a string. 
-ACPICA now automatically repairs this problem by returning a NULL string 
-within the returned Package. ACPICA BZ 807.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
-    Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
-  Current Release:
-    Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
-    Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Fixed a problem where references to external symbols that 
-contained one or more parent-prefixes (carats) were not handled correctly, 
-possibly causing a fault. ACPICA BZ 806. Lin Ming.
-
-Disassembler: Restructured the code so that all functions that handle 
-external symbols are in a single module. One new file is added, 
-common/dmextern.c.
-
-AML Debugger: Added a max count argument for the Batch command (which 
-executes multiple predefined methods within the namespace.)
-
-iASL: Updated the compiler documentation (User Reference.) Available at 
-http://www.acpica.org/documentation/. ACPICA BZ 750.
-
-AcpiXtract: Updated for Lint and other formatting changes. Close all open 
-files.
-
-----------------------------------------
-03 September 2009. Summary of changes for version 20090903:
-
-1) ACPI CA Core Subsystem:
-
-For Windows Vista compatibility, added the automatic execution of an _INI 
-method located at the namespace root (\_INI). This method is executed at 
-table load time. This support is in addition to the automatic execution of 
-\_SB._INI. Lin Ming.
-
-Fixed a possible memory leak in the interpreter for AML package objects if 
-the package initializer list is longer than the defined size of the package. 
-This apparently can only happen if the BIOS changes the package size on the 
-fly (seen in a _PSS object), as ASL compilers do not allow this. The 
-interpreter will truncate the package to the defined size (and issue an error 
-message), but previously could leave the extra objects undeleted if they were 
-pre-created during the argument processing (such is the case if the package 
-consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
-
-Fixed a problem seen when a Buffer or String is stored to itself via ASL. 
-This has been reported in the field. Previously, ACPICA would zero out the 
-buffer/string. Now, the operation is treated as a noop. Provides Windows 
-compatibility. ACPICA BZ 803. Lin Ming.
-
-Removed an extraneous error message for ASL constructs of the form 
-Store(LocalX,LocalX) when LocalX is uninitialized. These curious statements 
-are seen in many BIOSs and are once again treated as NOOPs and no error is 
-emitted when they are encountered. ACPICA BZ 785.
-
-Fixed an extraneous warning message if a _DSM reserved method returns a 
-Package object. _DSM can return any type of object, so validation on the 
-return type cannot be performed. ACPICA BZ 802.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
-    Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
-  Current Release:
-    Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
-    Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Fixed a problem with the use of the Alias operator and Resource 
-Templates. The correct alias is now constructed and no error is emitted. 
-ACPICA BZ 738.
-
-iASL: Implemented the -I option to specify additional search directories for 
-include files. Allows multiple additional search paths for include files. 
-Directories are searched in the order specified on the command line (after 
-the local directory is searched.) ACPICA BZ 800.
-
-iASL: Fixed a problem where the full pathname for include files was not 
-emitted for warnings/errors. This caused the IDE support to not work 
-properly. ACPICA BZ 765.
-
-iASL: Implemented the -@ option to specify a Windows-style response file 
-containing additional command line options. ACPICA BZ 801.
-
-AcpiExec: Added support to load multiple AML files simultaneously (such as a 
-DSDT and multiple SSDTs). Also added support for wildcards within the AML 
-pathname. These features allow all machine tables to be easily loaded and 
-debugged together. ACPICA BZ 804.
-
-Disassembler: Added missing support for disassembly of HEST table Error Bank 
-subtables. 
-
-----------------------------------------
-30 July 2009. Summary of changes for version 20090730:
-
-The ACPI 4.0 implementation for ACPICA is complete with this release.
-
-1) ACPI CA Core Subsystem:
-
-ACPI 4.0: Added header file support for all new and changed ACPI tables. 
-Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are new 
-for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, BERT, 
-EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. There 
-have been some ACPI 4.0 changes to other existing tables. Split the large 
-actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
-
-ACPI 4.0: Implemented predefined name validation for all new names. There are 
-31 new names in ACPI 4.0. The predefined validation module was split into two 
-files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
-
-Implemented support for so-called "module-level executable code". This is 
-executable AML code that exists outside of any control method and is intended 
-to be executed at table load time. Although illegal since ACPI 2.0, this type 
-of code still exists and is apparently still being created. Blocks of this 
-code are now detected and executed as intended. Currently, the code blocks 
-must exist under either an If, Else, or While construct; these are the 
-typical cases seen in the field. ACPICA BZ 762. Lin Ming.
-
-Implemented an automatic dynamic repair for predefined names that return 
-nested Package objects. This applies to predefined names that are defined to 
-return a variable-length Package of sub-packages. If the number of sub-
-packages is one, BIOS code is occasionally seen that creates a simple single 
-package with no sub-packages. This code attempts to fix the problem by 
-wrapping a new package object around the existing package. These methods can 
-be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA BZ 
-790.
-
-Fixed a regression introduced in 20090625 for the AcpiGetDevices interface. 
-The _HID/_CID matching was broken and no longer matched IDs correctly. ACPICA 
-BZ 793.
-
-Fixed a problem with AcpiReset where the reset would silently fail if the 
-register was one of the protected I/O ports. AcpiReset now bypasses the port 
-validation mechanism. This may eventually be driven into the AcpiRead/Write 
-interfaces.
-
-Fixed a regression related to the recent update of the AcpiRead/Write 
-interfaces. A sleep/suspend could fail if the optional PM2 Control register 
-does not exist during an attempt to write the Bus Master Arbitration bit. 
-(However, some hosts already delete the code that writes this bit, and the 
-code may in fact be obsolete at this date.) ACPICA BZ 799.
-
-Fixed a problem where AcpiTerminate could fault if inadvertently called twice 
-in succession. ACPICA BZ 795.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
-    Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
-  Current Release:
-    Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
-    Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-ACPI 4.0: Implemented disassembler support for all new ACPI tables and 
-changes to existing tables. ACPICA BZ 775.
-
-----------------------------------------
-25 June 2009. Summary of changes for version 20090625:
-
-The ACPI 4.0 Specification was released on June 16 and is available at 
-www.acpi.info. ACPICA implementation of ACPI 4.0 is underway and will 
-continue for the next few releases.
-
-1) ACPI CA Core Subsystem:
-
-ACPI 4.0: Implemented interpreter support for the IPMI operation region 
-address space. Includes support for bi-directional data buffers and an IPMI 
-address space handler (to be installed by an IPMI device driver.) ACPICA BZ 
-773. Lin Ming.
-
-ACPI 4.0: Added changes for existing ACPI tables - FACS and SRAT. Includes 
-support in both the header files and the disassembler.
-
-Completed a major update for the AcpiGetObjectInfo external interface. 
-Changes include:
- - Support for variable, unlimited length HID, UID, and CID strings.
- - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
- - Call the _SxW power methods on behalf of a device object.
- - Determine if a device is a PCI root bridge.
- - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
-These changes will require an update to all callers of this interface. See 
-the updated ACPICA Programmer Reference for details. One new source file has 
-been added - utilities/utids.c. ACPICA BZ 368, 780.
-
-Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit 
-transfers. The Value parameter has been extended from 32 bits to 64 bits in 
-order to support new ACPI 4.0 tables. These changes will require an update to 
-all callers of these interfaces. See the ACPICA Programmer Reference for 
-details. ACPICA BZ 768.
-
-Fixed several problems with AcpiAttachData. The handler was not invoked when 
-the host node was deleted. The data sub-object was not automatically deleted 
-when the host node was deleted. The interface to the handler had an unused 
-parameter, this was removed. ACPICA BZ 778.
-
-Enhanced the function that dumps ACPI table headers. All non-printable 
-characters in the string fields are now replaced with '?' (Signature, OemId, 
-OemTableId, and CompilerId.) ACPI tables with non-printable characters in 
-these fields are occasionally seen in the field. ACPICA BZ 788.
-
-Fixed a problem with predefined method repair code where the code that 
-attempts to repair/convert an object of incorrect type is only executed on 
-the first time the predefined method is called. The mechanism that disables 
-warnings on subsequent calls was interfering with the repair mechanism. 
-ACPICA BZ 781.
-
-Fixed a possible memory leak in the predefined validation/repair code when a 
-buffer is automatically converted to an expected string object.
-
-Removed obsolete 16-bit files from the distribution and from the current git 
-tree head. ACPICA BZ 776.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
-    Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
-  Current Release:
-    Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
-    Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-ACPI 4.0: iASL and Disassembler - implemented support for the new IPMI 
-operation region keyword. ACPICA BZ 771, 772. Lin Ming.
-
-ACPI 4.0: iASL - implemented compile-time validation support for all new 
-predefined names and control methods (31 total). ACPICA BZ 769.
-
-----------------------------------------
-21 May 2009. Summary of changes for version 20090521:
-
-1) ACPI CA Core Subsystem:
-
-Disabled the preservation of the SCI enable bit in the PM1 control register. 
-The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to be 
-a "preserved" bit - "OSPM always preserves this bit position", section 
-4.7.3.2.1. However, some machines fail if this bit is in fact preserved 
-because the bit needs to be explicitly set by the OS as a workaround. No 
-machines fail if the bit is not preserved. Therefore, ACPICA no longer 
-attempts to preserve this bit.
-
-Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or 
-incorrectly formed _PRT package could cause a fault. Added validation to 
-ensure that each package element is actually a sub-package.
-
-Implemented a new interface to install or override a single control method, 
-AcpiInstallMethod. This interface is useful when debugging in order to repair 
-an existing method or to install a missing method without having to override 
-the entire ACPI table. See the ACPICA Programmer Reference for use and 
-examples. Lin Ming, Bob Moore.
-
-Fixed several reference count issues with the DdbHandle object that is 
-created from a Load or LoadTable operator. Prevent premature deletion of the 
-object. Also, mark the object as invalid once the table has been unloaded. 
-This is needed because the handle itself may not be deleted after the table 
-unload, depending on whether it has been stored in a named object by the 
-caller. Lin Ming.
-
-Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple 
-mutexes of the same sync level are acquired but then not released in strict 
-opposite order, the internally maintained Current Sync Level becomes confused 
-and can cause subsequent execution errors. ACPICA BZ 471.
-
-Changed the allowable release order for ASL mutex objects. The ACPI 4.0 
-specification has been changed to make the SyncLevel for mutex objects more 
-useful. When releasing a mutex, the SyncLevel of the mutex must now be the 
-same as the current sync level. This makes more sense than the previous rule 
-(SyncLevel less than or equal). This change updates the code to match the 
-specification.
-
-Fixed a problem with the local version of the AcpiOsPurgeCache function. The 
-(local) cache must be locked during all cache object deletions. Andrew 
-Baumann.
-
-Updated the Load operator to use operation region interfaces. This replaces 
-direct memory mapping with region access calls. Now, all region accesses go 
-through the installed region handler as they should.
-
-Simplified and optimized the NsGetNextNode function. Reduced parameter count 
-and reduced code for this frequently used function.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
-    Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
-  Current Release:
-    Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
-    Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some problems 
-with sub-table disassembly and handling invalid sub-tables. Attempt recovery 
-after an invalid sub-table ID.
-
-----------------------------------------
-22 April 2009. Summary of changes for version 20090422:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a compatibility issue with the recently released I/O port protection 
-mechanism. For windows compatibility, 1) On a port protection violation, 
-simply ignore the request and do not return an exception (allow the control 
-method to continue execution.) 2) If only part of the request overlaps a 
-protected port, read/write the individual ports that are not protected. Linux 
-BZ 13036. Lin Ming
-
-Enhanced the execution of the ASL/AML BreakPoint operator so that it actually 
-breaks into the AML debugger if the debugger is present. This matches the 
-ACPI-defined behavior.
-
-Fixed several possible warnings related to the use of the configurable 
-ACPI_THREAD_ID. This type can now be configured as either an integer or a 
-pointer with no warnings. Also fixes several warnings in printf-like 
-statements for the 64-bit build when the type is configured as a pointer. 
-ACPICA BZ 766, 767.
-
-Fixed a number of possible warnings when compiling with gcc 4+ (depending on 
-warning options.) Examples include printf formats, aliasing, unused globals, 
-missing prototypes, missing switch default statements, use of non-ANSI 
-library functions, use of non-ANSI constructs. See generate/unix/Makefile for 
-a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
-    Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
-  Current Release:
-    Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
-    Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings on 
-the 64-bit build.
-
-iASL: Fixed a problem where the Unix/Linux versions of the compiler could not 
-correctly digest Windows/DOS formatted files (with CR/LF).
-
-iASL: Added a new option for "quiet mode" (-va) that produces only the 
-compilation summary, not individual errors and warnings. Useful for large 
-batch compilations.
-
-AcpiExec: Implemented a new option (-z) to enable a forced semaphore/mutex 
-timeout that can be used to detect hang conditions during execution of AML 
-code (includes both internal semaphores and AML-defined mutexes and events.)
-
-Added new makefiles for the generation of acpica in a generic unix-like 
-environment. These makefiles are intended to generate the acpica tools and 
-utilities from the original acpica git source tree structure.
-
-Test Suites: Updated and cleaned up the documentation files. Updated the 
-copyrights to 2009, affecting all source files. Use the new version of iASL 
-with quiet mode. Increased the number of available semaphores in the Windows 
-OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, added 
-an alternate implementation of the semaphore timeout to allow aslts to 
-execute fully on Cygwin.
-
-----------------------------------------
-20 March 2009. Summary of changes for version 20090320:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a possible race condition between AcpiWalkNamespace and dynamic table 
-unloads. Added a reader/writer locking mechanism to allow multiple concurrent 
-namespace walks (readers), but block a dynamic table unload until it can gain 
-exclusive write access to the namespace. This fixes a problem where a table 
-unload could (possibly catastrophically) delete the portion of the namespace 
-that is currently being examined by a walk. Adds a new file, utlock.c, that 
-implements the reader/writer lock mechanism. ACPICA BZ 749.
-
-Fixed a regression introduced in version 20090220 where a change to the FADT 
-handling could cause the ACPICA subsystem to access non-existent I/O ports.
-
-Modified the handling of FADT register and table (FACS/DSDT) addresses. The 
-FADT can contain both 32-bit and 64-bit versions of these addresses. 
-Previously, the 64-bit versions were favored, meaning that if both 32 and 64 
-versions were valid, but not equal, the 64-bit version was used. This was 
-found to cause some machines to fail. Now, in this case, the 32-bit version 
-is used instead. This now matches the Windows behavior.
-
-Implemented a new mechanism to protect certain I/O ports. Provides Microsoft 
-compatibility and protects the standard PC I/O ports from access via AML 
-code. Adds a new file, hwvalid.c
-
-Fixed a possible extraneous warning message from the FADT support. The 
-message warns of a 32/64 length mismatch between the legacy and GAS 
-definitions for a register.
-
-Removed the obsolete AcpiOsValidateAddress OSL interface. This interface is 
-made obsolete by the port protection mechanism above. It was previously used 
-to validate the entire address range of an operation region, which could be 
-incorrect if the range included illegal ports, but fields within the 
-operation region did not actually access those ports. Validation is now 
-performed on a per-field basis instead of the entire region.
-
-Modified the handling of the PM1 Status Register ignored bit (bit 11.) 
-Ignored bits must be "preserved" according to the ACPI spec. Usually, this 
-means a read/modify/write when writing to the register. However, for status 
-registers, writing a one means clear the event. Writing a zero means preserve 
-the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec, 
-and the ACPICA code now simply always writes a zero to the ignored bit.
-
-Modified the handling of ignored bits for the PM1 A/B Control Registers. As 
-per the ACPI specification, for the control registers, preserve 
-(read/modify/write) all bits that are defined as either reserved or ignored.
-
-Updated the handling of write-only bits in the PM1 A/B Control Registers. 
-When reading the register, zero the write-only bits as per the ACPI spec. 
-ACPICA BZ 443. Lin Ming.
-
-Removed "Linux" from the list of supported _OSI strings. Linux no longer 
-wants to reply true to this request. The Windows strings are the only paths 
-through the AML that are tested and known to work properly.
-
-  Previous Release:
-    Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
-    Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
-  Current Release:
-    Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
-    Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c and 
-aetables.c
-
-----------------------------------------
-20 February 2009. Summary of changes for version 20090220:
-
-1) ACPI CA Core Subsystem:
-
-Optimized the ACPI register locking. Removed locking for reads from the ACPI 
-bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is 
-not required when reading the single-bit registers. The 
-AcpiGetRegisterUnlocked function is no longer needed and has been removed. 
-This will improve performance for reads on these registers. ACPICA BZ 760.
-
-Fixed the parameter validation for AcpiRead/Write. Now return 
-AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if 
-the register has an address of zero. Previously, these cases simply returned 
-AE_OK. For optional registers such as PM1B status/enable/control, the caller 
-should check for a valid register address before calling. ACPICA BZ 748.
-
-Renamed the external ACPI bit register access functions. Renamed 
-AcpiGetRegister and AcpiSetRegister to clarify the purpose of these 
-functions. The new names are AcpiReadBitRegister and AcpiWriteBitRegister. 
-Also, restructured the code for these functions by simplifying the code path 
-and condensing duplicate code to reduce code size.
-
-Added new functions to transparently handle the possibly split PM1 A/B 
-registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions 
-now handle the split registers for PM1 Status, Enable, and Control. ACPICA BZ 
-746.
-
-Added a function to handle the PM1 control registers, AcpiHwWritePm1Control. 
-This function writes both of the PM1 control registers (A/B). These registers 
-are different than the PM1 A/B status and enable registers in that different 
-values can be written to the A/B registers. Most notably, the SLP_TYP bits 
-can be different, as per the values returned from the _Sx predefined methods.
-
-Removed an extra register write within AcpiHwClearAcpiStatus. This function 
-was writing an optional PM1B status register twice. The existing call to the 
-low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B 
-register. ACPICA BZ 751.
-
-Split out the PM1 Status registers from the FADT. Added new globals for these 
-registers (A/B), similar to the way the PM1 Enable registers are handled. 
-Instead of overloading the FADT Event Register blocks. This makes the code 
-clearer and less prone to error.
-
-Fixed the warning message for when the platform contains too many ACPI tables 
-for the default size of the global root table data structure. The calculation 
-for the truncation value was incorrect.
-
-Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this 
-obsolete macro, since it is now a simple reference to ->common.type. There 
-were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
-
-Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as 
-TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to 
-simply SLEEP_TYPE. ACPICA BZ 754.
-
-Conditionally compile the AcpiSetFirmwareWakingVector64 function. This 
-function is only needed on 64-bit host operating systems and is thus not 
-included for 32-bit hosts.
-
-Debug output: print the input and result for invocations of the _OSI reserved 
-control method via the ACPI_LV_INFO debug level. Also, reduced some of the 
-verbosity of this debug level. Len Brown.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
-    Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
-  Current Release:
-    Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
-    Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the 
-various legal performance profiles.
-
-----------------------------------------
-23 January 2009. Summary of changes for version 20090123:
-
-1) ACPI CA Core Subsystem:
-
-Added the 2009 copyright to all module headers and signons. This affects 
-virtually every file in the ACPICA core subsystem, the iASL compiler, and 
-the tools/utilities.
-
-Implemented a change to allow the host to override any ACPI table, including 
-dynamically loaded tables. Previously, only the DSDT could be replaced by the 
-host. With this change, the AcpiOsTableOverride interface is called for each 
-table found in the RSDT/XSDT during ACPICA initialization, and also whenever 
-a table is dynamically loaded via the AML Load operator.
-
-Updated FADT flag definitions, especially the Boot Architecture flags.
-
-Debugger: For the Find command, automatically pad the input ACPI name with 
-underscores if the name is shorter than 4 characters. This enables a match 
-with the actual namespace entry which is itself padded with underscores.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
-    Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
-  Current Release:
-    Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
-    Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fix build error under Bison-2.4.
-
-Dissasembler: Enhanced FADT support. Added decoding of the Boot Architecture 
-flags. Now decode all flags, regardless of the FADT version. Flag output 
-includes the FADT version which first defined each flag.
-
-The iASL -g option now dumps the RSDT to a file (in addition to the FADT and 
-DSDT). Windows only.
-
-----------------------------------------
-04 December 2008. Summary of changes for version 20081204:
-
-1) ACPI CA Core Subsystem:
-
-The ACPICA Programmer Reference has been completely updated and revamped for 
-this release. This includes updates to the external interfaces, OSL 
-interfaces, the overview sections, and the debugger reference.
-
-Several new ACPICA interfaces have been implemented and documented in the 
-programmer reference:
-AcpiReset - Writes the reset value to the FADT-defined reset register.
-AcpiDisableAllGpes - Disable all available GPEs.
-AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
-AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
-AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
-AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
-AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
-
-Most of the public ACPI hardware-related interfaces have been moved to a new 
-file, components/hardware/hwxface.c
-
-Enhanced the FADT parsing and low-level ACPI register access: The ACPI 
-register lengths within the FADT are now used, and the low level ACPI 
-register access no longer hardcodes the ACPI register lengths. Given that 
-there may be some risk in actually trusting the FADT register lengths, a run-
-time option was added to fall back to the default hardcoded lengths if the 
-FADT proves to contain incorrect values - UseDefaultRegisterWidths. This 
-option is set to true for now, and a warning is issued if a suspicious FADT 
-register length is overridden with the default value.
-
-Fixed a reference count issue in NsRepairObject. This problem was introduced 
-in version 20081031 as part of a fix to repair Buffer objects within 
-Packages. Lin Ming.
-
-Added semaphore support to the Linux/Unix application OS-services layer 
-(OSL). ACPICA BZ 448. Lin Ming.
-
-Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes will 
-be implemented in the OSL, or will binary semaphores be used instead.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
-    Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
-  Current Release:
-    Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
-    Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Completed the '-e' option to include additional ACPI tables in order to 
-aid with disassembly and External statement generation. ACPICA BZ 742. Lin 
-Ming.
-
-iASL: Removed the "named object in while loop" error. The compiler cannot 
-determine how many times a loop will execute. ACPICA BZ 730.
-
-Disassembler: Implemented support for FADT revision 2 (MS extension). ACPICA 
-BZ 743.
-
-Disassembler: Updates for several ACPI data tables (HEST, EINJ, and MCFG).
-
-----------------------------------------
-31 October 2008. Summary of changes for version 20081031:
-
-1) ACPI CA Core Subsystem:
-
-Restructured the ACPICA header files into public/private. acpi.h now includes 
-only the "public" acpica headers. All other acpica headers are "private" and 
-should not be included by acpica users. One new file, accommon.h is used to 
-include the commonly used private headers for acpica code generation. Future 
-plans include moving all private headers to a new subdirectory.
-
-Implemented an automatic Buffer->String return value conversion for 
-predefined ACPI methods. For these methods (such as _BIF), added automatic 
-conversion for return objects that are required to be a String, but a Buffer 
-was found instead. This can happen when reading string battery data from an 
-operation region, because it used to be difficult to convert the data from 
-buffer to string from within the ASL. Ensures that the host OS is provided 
-with a valid null-terminated string. Linux BZ 11822.
-
-Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector 
-into two: one for the 32-bit vector, another for the 64-bit vector. This is 
-required because the host OS must setup the wake much differently for each 
-vector (real vs. protected mode, etc.) and the interface itself should not be 
-deciding which vector to use. Also, eliminated the GetFirmwareWakingVector 
-interface, as it served no purpose (only the firmware reads the vector, OS 
-only writes the vector.) ACPICA BZ 731.
-
-Implemented a mechanism to escape infinite AML While() loops. Added a loop 
-counter to force exit from AML While loops if the count becomes too large. 
-This can occur in poorly written AML when the hardware does not respond 
-within a while loop and the loop does not implement a timeout. The maximum 
-loop count is configurable. A new exception code is returned when a loop is 
-broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
-
-Optimized the execution of AML While loops. Previously, a control state 
-object was allocated and freed for each execution of the loop. The 
-optimization is to simply reuse the control state for each iteration. This 
-speeds up the raw loop execution time by about 5%.
-
-Enhanced the implicit return mechanism. For Windows compatibility, return an 
-implicit integer of value zero for methods that contain no executable code. 
-Such methods are seen in the field as stubs (presumably), and can cause 
-drivers to fail if they expect a return value. Lin Ming.
-
-Allow multiple backslashes as root prefixes in namepaths. In a fully 
-qualified namepath, allow multiple backslash prefixes. This can happen (and 
-is seen in the field) because of the use of a double-backslash in strings 
-(since backslash is the escape character) causing confusion. ACPICA BZ 739 
-Lin Ming.
-
-Emit a warning if two different FACS or DSDT tables are discovered in the 
-FADT. Checks if there are two valid but different addresses for the FACS and 
-DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
-
-Consolidated the method argument count validation code. Merged the code that 
-validates control method argument counts into the predefined validation 
-module. Eliminates possible multiple warnings for incorrect argument counts.
-
-Implemented ACPICA example code. Includes code for ACPICA initialization, 
-handler installation, and calling a control method. Available at 
-source/tools/examples.
-
-Added a global pointer for FACS table to simplify internal FACS access. Use 
-the global pointer instead of using AcpiGetTableByIndex for each FACS access. 
-This simplifies the code for the Global Lock and the Firmware Waking 
-Vector(s).
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
-    Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
-  Current Release:
-    Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
-    Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Improved disassembly of external method calls. Added the -e option to 
-allow the inclusion of additional ACPI tables to help with the disassembly of 
-method invocations and the generation of external declarations during the 
-disassembly. Certain external method invocations cannot be disassembled 
-properly without the actual declaration of the method. Use the -e option to 
-include the table where the external method(s) are actually declared. Most 
-useful for disassembling SSDTs that make method calls back to the master 
-DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT:  iasl -d 
--e dsdt.aml ssdt1.aml
-
-iASL: Fix to allow references to aliases within ASL namepaths. Fixes a 
-problem where the use of an alias within a namepath would result in a not 
-found error or cause the compiler to fault. Also now allows forward 
-references from the Alias operator itself. ACPICA BZ 738.
-
-----------------------------------------
-26 September 2008. Summary of changes for version 20080926:
-
-1) ACPI CA Core Subsystem:
-
-Designed and implemented a mechanism to validate predefined ACPI methods and 
-objects. This code validates the predefined ACPI objects (objects whose names 
-start with underscore) that appear in the namespace, at the time they are 
-evaluated. The argument count and the type of the returned object are 
-validated against the ACPI specification. The purpose of this validation is 
-to detect problems with the BIOS-implemented predefined ACPI objects before 
-the results are returned to the ACPI-related drivers. Future enhancements may 
-include actual repair of incorrect return objects where possible. Two new 
-files are nspredef.c and acpredef.h.
-
-Fixed a fault in the AML parser if a memory allocation fails during the Op 
-completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
-
-Fixed an issue with implicit return compatibility. This change improves the 
-implicit return mechanism to be more compatible with the MS interpreter. Lin 
-Ming, ACPICA BZ 349.
-
-Implemented support for zero-length buffer-to-string conversions. Allow zero 
-length strings during interpreter buffer-to-string conversions. For example, 
-during the ToDecimalString and ToHexString operators, as well as implicit 
-conversions. Fiodor Suietov, ACPICA BZ 585.
-
-Fixed two possible memory leaks in the error exit paths of 
-AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions are 
-similar in that they use a stack of state objects in order to eliminate 
-recursion. The stack must be fully unwound and deallocated if an error 
-occurs. Lin Ming. ACPICA BZ 383.
-
-Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the global 
-ACPI register table. This bit does not exist and is unused. Lin Ming, Bob 
-Moore ACPICA BZ 442.
-
-Removed the obsolete version number in module headers. Removed the 
-"$Revision" number that appeared in each module header. This version number 
-was useful under SourceSafe and CVS, but has no meaning under git. It is not 
-only incorrect, it could also be misleading.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
-    Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
-  Current Release:
-    Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
-    Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
-
-----------------------------------------
-29 August 2008. Summary of changes for version 20080829:
-
-1) ACPI CA Core Subsystem:
-
-Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type 
-Reference. Changes include the elimination of cheating on the Object field 
-for the DdbHandle subtype, addition of a reference class field to 
-differentiate the various reference types (instead of an AML opcode), and the 
-cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
-
-Reduce an error to a warning for an incorrect method argument count. 
-Previously aborted with an error if too few arguments were passed to a 
-control method via the external ACPICA interface. Now issue a warning instead 
-and continue. Handles the case where the method inadvertently declares too 
-many arguments, but does not actually use the extra ones. Applies mainly to 
-the predefined methods. Lin Ming. Linux BZ 11032.
-
-Disallow the evaluation of named object types with no intrinsic value. Return 
-AE_TYPE for objects that have no value and therefore evaluation is undefined: 
-Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation of 
-these types were allowed, but an exception would be generated at some point 
-during the evaluation. Now, the error is generated up front.
-
-Fixed a possible memory leak in the AcpiNsGetExternalPathname function 
-(nsnames.c). Fixes a leak in the error exit path.
-
-Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These debug 
-levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and ACPI_EXCEPTION 
-interfaces. Also added ACPI_DB_EVENTS to correspond with the existing 
-ACPI_LV_EVENTS.
-
-Removed obsolete and/or unused exception codes from the acexcep.h header. 
-There is the possibility that certain device drivers may be affected if they 
-use any of these exceptions.
-
-The ACPICA documentation has been added to the public git source tree, under 
-acpica/documents. Included are the ACPICA programmer reference, the iASL 
-compiler reference, and the changes.txt release logfile.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
-    Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
-  Current Release:
-    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
-    Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Allow multiple argument counts for the predefined _SCP method. ACPI 3.0 
-defines _SCP with 3 arguments. Previous versions defined it with only 1 
-argument. iASL now allows both definitions.
-
-iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for zero-
-length subtables when disassembling ACPI tables. Also fixed a couple of 
-errors where a full 16-bit table type field was not extracted from the input 
-properly.
-
-acpisrc: Improve comment counting mechanism for generating source code 
-statistics. Count first and last lines of multi-line comments as whitespace, 
-not comment lines. Handle Linux legal header in addition to standard acpica 
-header.
-
-----------------------------------------
-
-29 July 2008. Summary of changes for version 20080729:
-
-1) ACPI CA Core Subsystem:
-
-Fix a possible deadlock in the GPE dispatch. Remove call to 
-AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will attempt 
-to acquire the GPE lock but can deadlock since the GPE lock is already held 
-at dispatch time. This code was introduced in version 20060831 as a response 
-to Linux BZ 6881 and has since been removed from Linux.
-
-Add a function to dereference returned reference objects. Examines the return 
-object from a call to AcpiEvaluateObject. Any Index or RefOf references are 
-automatically dereferenced in an attempt to return something useful (these 
-reference types cannot be converted into an external ACPI_OBJECT.) Provides 
-MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
-
-x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new 
-subtables for the MADT and one new subtable for the SRAT. Includes 
-disassembler and AcpiSrc support. Data from the Intel 64 Architecture x2APIC 
-Specification, June 2008.
-
-Additional error checking for pathname utilities. Add error check after all 
-calls to AcpiNsGetPathnameLength. Add status return from 
-AcpiNsBuildExternalPath and check after all calls. Add parameter validation 
-to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
-
-Return status from the global init function AcpiUtGlobalInitialize. This is 
-used by both the kernel subsystem and the utilities such as iASL compiler. 
-The function could possibly fail when the caches are initialized. Yang Yi.
-
-Add a function to decode reference object types to strings. Created for 
-improved error messages. 
-
-Improve object conversion error messages. Better error messages during object 
-conversion from internal to the external ACPI_OBJECT. Used for external calls 
-to AcpiEvaluateObject.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
-    Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
-  Current Release:
-    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
-    Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Debugger: fix a possible hang when evaluating non-methods. Fixes a problem 
-introduced in version 20080701. If the object being evaluated (via execute 
-command) is not a method, the debugger can hang while trying to obtain non-
-existent parameters.
-
-iASL: relax error for using reserved "_T_x" identifiers. These names can 
-appear in a disassembled ASL file if they were emitted by the original 
-compiler. Instead of issuing an error or warning and forcing the user to 
-manually change these names, issue a remark instead.
-
-iASL: error if named object created in while loop. Emit an error if any named 
-object is created within a While loop. If allowed, this code will generate a 
-run-time error on the second iteration of the loop when an attempt is made to 
-create the same named object twice. ACPICA bugzilla 730.
-
-iASL: Support absolute pathnames for include files. Add support for absolute 
-pathnames within the Include operator. previously, only relative pathnames 
-were supported.
-
-iASL: Enforce minimum 1 interrupt in interrupt macro and Resource Descriptor. 
-The ACPI spec requires one interrupt minimum. BZ 423
-
-iASL: Handle a missing ResourceSource arg, with a present SourceIndex. 
-Handles the case for the Interrupt Resource Descriptor where
-the ResourceSource argument is omitted but ResourceSourceIndex
-is present. Now leave room for the Index. BZ 426
-
-iASL: Prevent error message if CondRefOf target does not exist. Fixes cases 
-where an error message is emitted if the target does not exist. BZ 516
-
-iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option 
-(get ACPI tables on Windows). This was apparently broken in version 20070919.
-
-AcpiXtract: Handle EOF while extracting data. Correctly handle the case where 
-the EOF happens immediately after the last table in the input file. Print 
-completion message. Previously, no message was displayed in this case.
-
-----------------------------------------
-01 July 2008. Summary of changes for version 20080701:
-
-0) Git source tree / acpica.org
-
-Fixed a problem where a git-clone from http would not transfer the entire 
-source tree.
-
-1) ACPI CA Core Subsystem:
-
-Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one 
-enable bit. Now performs a read-change-write of the enable register instead 
-of simply writing out the cached enable mask. This will prevent inadvertent 
-enabling of GPEs if a rogue GPE is received during initialization (before GPE 
-handlers are installed.)
-
-Implemented a copy for dynamically loaded tables. Previously, dynamically 
-loaded tables were simply mapped - but on some machines this memory is 
-corrupted after suspend. Now copy the table to a local buffer. For the 
-OpRegion case, added checksum verify. Use the table length from the table 
-header, not the region length. For the Buffer case, use the table length 
-also. Dennis Noordsij, Bob Moore. BZ 10734
-
-Fixed a problem where the same ACPI table could not be dynamically loaded and 
-unloaded more than once. Without this change, a table cannot be loaded again 
-once it has been loaded/unloaded one time. The current mechanism does not 
-unregister a table upon an unload. During a load, if the same table is found, 
-this no longer returns an exception. BZ 722
-
-Fixed a problem where the wrong descriptor length was calculated for the 
-EndTag descriptor in 64-bit mode. The "minimal" descriptors such as EndTag 
-are calculated as 12 bytes long, but the actual length in the internal 
-descriptor is 16 because of the round-up to 8 on the 64-bit build. Reported 
-by Linn Crosetto. BZ 728
-
-Fixed a possible memory leak in the Unload operator. The DdbHandle returned 
-by Load() did not have its reference count decremented during unload, leading 
-to a memory leak. Lin Ming. BZ 727
-
-Fixed a possible memory leak when deleting thermal/processor objects. Any 
-associated notify handlers (and objects) were not being deleted. Fiodor 
-Suietov. BZ 506
-
-Fixed the ordering of the ASCII names in the global mutex table to match the 
-actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug only. 
-Vegard Nossum. BZ 726
-
-Enhanced the AcpiGetObjectInfo interface to return the number of required 
-arguments if the object is a control method. Added this call to the debugger 
-so the proper number of default arguments are passed to a method. This 
-prevents a warning when executing methods from AcpiExec.
-
-Added a check for an invalid handle in AcpiGetObjectInfo. Return 
-AE_BAD_PARAMETER if input handle is invalid. BZ 474
-
-Fixed an extraneous warning from exconfig.c on the 64-bit build.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
-    Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
-  Current Release:
-    Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
-    Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both 
-resource descriptor names.
-
-iASL: Detect invalid ASCII characters in input (windows version). Removed the 
-"-CF" flag from the flex compile, enables correct detection of non-ASCII 
-characters in the input. BZ 441
-
-iASL: Eliminate warning when result of LoadTable is not used. Eliminate the 
-"result of operation not used" warning when the DDB handle returned from 
-LoadTable is not used. The warning is not needed. BZ 590
-
-AcpiExec: Add support for dynamic table load/unload. Now calls _CFG method to 
-pass address of table to the AML. Added option to disable OpRegion simulation 
-to allow creation of an OpRegion with a real address that was passed to _CFG. 
-All of this allows testing of the Load and Unload operators from AcpiExec.
-
-Debugger: update tables command for unloaded tables. Handle unloaded tables 
-and use the standard table header output routine.
-
-----------------------------------------
-09 June 2008. Summary of changes for version 20080609:
-
-1) ACPI CA Core Subsystem:
-
-Implemented a workaround for reversed _PRT entries. A significant number of 
-BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This 
-change dynamically detects and repairs this problem. Provides compatibility 
-with MS ACPI. BZ 6859
-
-Simplified the internal ACPI hardware interfaces to eliminate the locking 
-flag parameter from Register Read/Write. Added a new external interface, 
-AcpiGetRegisterUnlocked.
-
-Fixed a problem where the invocation of a GPE control method could hang. This 
-was a regression introduced in 20080514. The new method argument count 
-validation mechanism can enter an infinite loop when a GPE method is 
-dispatched. Problem fixed by removing the obsolete code that passed GPE block 
-information to the notify handler via the control method parameter pointer.
-
-Fixed a problem where the _SST execution status was incorrectly returned to 
-the caller of AcpiEnterSleepStatePrep. This was a regression introduced in 
-20080514. _SST is optional and a NOT_FOUND exception should never be 
-returned. BZ 716
-
-Fixed a problem where a deleted object could be accessed from within the AML 
-parser. This was a regression introduced in version 20080123 as a fix for the 
-Unload operator. Lin Ming. BZ 10669
-
-Cleaned up the debug operand dump mechanism. Eliminated unnecessary operands 
-and eliminated the use of a negative index in a loop. Operands are now 
-displayed in the correct order, not backwards. This also fixes a regression 
-introduced in 20080514 on 64-bit systems where the elimination of 
-ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 715
-
-Fixed a possible memory leak in EvPciConfigRegionSetup where the error exit 
-path did not delete a locally allocated structure.
-
-Updated definitions for the DMAR and SRAT tables to synchronize with the 
-current specifications. Includes disassembler support.
-
-Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect 
-loop termination value was used. Loop terminated on iteration early, missing 
-one mutex. Linn Crosetto
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
-    Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
-  Current Release:
-    Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
-    Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Implemented support for EisaId() within _CID objects. Now 
-disassemble integer _CID objects back to EisaId invocations, including 
-multiple integers within _CID packages. Includes single-step support for 
-debugger also.
-
-Disassembler: Added support for DMAR and SRAT table definition changes.
-
-----------------------------------------
-14 May 2008. Summary of changes for version 20080514:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where GPEs were enabled too early during the ACPICA 
-initialization. This could lead to "handler not installed" errors on some 
-machines. Moved GPE enable until after _REG/_STA/_INI methods are run. This 
-ensures that all operation regions and devices throughout the namespace have 
-been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
-
-Implemented a change to the enter sleep code. Moved execution of the _GTS 
-method to just before setting sleep enable bit. The execution was moved from 
-AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed 
-immediately before the SLP_EN bit is set, as per the ACPI specification. 
-Luming Yu, BZ 1653.
-
-Implemented a fix to disable unknown GPEs (2nd version). Now always disable 
-the GPE, even if ACPICA thinks that that it is already disabled. It is 
-possible that the AML or some other code has enabled the GPE unbeknownst to 
-the ACPICA code.
-
-Fixed a problem with the Field operator where zero-length fields would return 
-an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length ASL 
-field declarations in Field(), BankField(), and IndexField(). BZ 10606.
-
-Implemented a fix for the Load operator, now load the table at the namespace 
-root. This reverts a change introduced in version 20071019. The table is now 
-loaded at the namespace root even though this goes against the ACPI 
-specification. This provides compatibility with other ACPI implementations. 
-The ACPI specification will be updated to reflect this in ACPI 4.0. Lin Ming.
-
-Fixed a problem where ACPICA would not Load() tables with unusual signatures. 
-Now ignore ACPI table signature for Load() operator. Only "SSDT" is 
-acceptable to the ACPI spec, but tables are seen with OEMx and null sigs. 
-Therefore, signature validation is worthless. Apparently MS ACPI accepts such 
-signatures, ACPICA must be compatible. BZ 10454.
-
-Fixed a possible negative array index in AcpiUtValidateException. Added NULL 
-fields to the exception string arrays to eliminate a -1 subtraction on the 
-SubStatus field.
-
-Updated the debug tracking macros to reduce overall code and data size. 
-Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings 
-instead of pointers to static strings. Jan Beulich and Bob Moore.
-
-Implemented argument count checking in control method invocation via 
-AcpiEvaluateObject. Now emit an error if too few arguments, warning if too 
-many. This applies only to extern programmatic control method execution, not 
-method-to-method calls within the AML. Lin Ming.
-
-Eliminated the ACPI_NATIVE_UINT type across all ACPICA code. This type is no 
-longer needed, especially with the removal of 16-bit support. It was replaced 
-mostly with UINT32, but also ACPI_SIZE where a type that changes 32/64 bit on 
-32/64-bit platforms is required.
-
-Added the C const qualifier for appropriate string constants -- mostly 
-MODULE_NAME and printf format strings. Jan Beulich.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has a 
-much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
-    Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
-  Current Release:
-    Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
-    Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented ACPI table revision ID validation in the disassembler. Zero is 
-always invalid. For DSDTs, the ID controls the interpreter integer width. 1 
-means 32-bit and this is unusual. 2 or greater is 64-bit.
-
-----------------------------------------
-21 March 2008. Summary of changes for version 20080321:
-
-1) ACPI CA Core Subsystem:
-
-Implemented an additional change to the GPE support in order to suppress 
-spurious or stray GPEs. The AcpiEvDisableGpe function will now permanently 
-disable incoming GPEs that are neither enabled nor disabled -- meaning that 
-the GPE is unknown to the system. This should prevent future interrupt floods 
-from that GPE. BZ 6217 (Zhang Rui)
-
-Fixed a problem where NULL package elements were not returned to the 
-AcpiEvaluateObject interface correctly. The element was simply ignored 
-instead of returning a NULL ACPI_OBJECT package element, potentially causing 
-a buffer overflow and/or confusing the caller who expected a fixed number of 
-elements. BZ 10132 (Lin Ming, Bob Moore)
-
-Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, Dword, 
-Qword), Field, BankField, and IndexField operators when invoked from inside 
-an executing control method. In this case, these operators created namespace 
-nodes that were incorrectly left marked as permanent nodes instead of 
-temporary nodes. This could cause a problem if there is race condition 
-between an exiting control method and a running namespace walk. (Reported by 
-Linn Crosetto)
-
-Fixed a problem where the CreateField and CreateXXXField operators would 
-incorrectly allow duplicate names (the name of the field) with no exception 
-generated.
-
-Implemented several changes for Notify handling. Added support for new Notify 
-values (ACPI 2.0+) and improved the Notify debug output. Notify on 
-PowerResource objects is no longer allowed, as per the ACPI specification. 
-(Bob Moore, Zhang Rui)
-
-All Reference Objects returned via the AcpiEvaluateObject interface are now 
-marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved for 
-NULL objects - either NULL package elements or unresolved named references.
-
-Fixed a problem where an extraneous debug message was produced for package 
-objects (when debugging enabled). The message "Package List length larger 
-than NumElements count" is now produced in the correct case, and is now an 
-error message rather than a debug message. Added a debug message for the 
-opposite case, where NumElements is larger than the Package List (the package 
-will be padded out with NULL elements as per the ACPI spec.)
-
-Implemented several improvements for the output of the ASL "Debug" object to 
-clarify and keep all data for a given object on one output line.
-
-Fixed two size calculation issues with the variable-length Start Dependent 
-resource descriptor.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
-    Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
-  Current Release:
-    Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
-    Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed a problem with the use of the Switch operator where execution of the 
-containing method by multiple concurrent threads could cause an 
-AE_ALREADY_EXISTS exception. This is caused by the fact that there is no 
-actual Switch opcode, it must be simulated with local named temporary 
-variables and if/else pairs. The solution chosen was to mark any method that 
-uses Switch as Serialized, thus preventing multiple thread entries. BZ 469.
-
-----------------------------------------
-13 February 2008. Summary of changes for version 20080213:
-
-1) ACPI CA Core Subsystem:
-
-Implemented another MS compatibility design change for GPE/Notify handling. 
-GPEs are now cleared/enabled asynchronously to allow all pending notifies to 
-complete first. It is expected that the OSL will queue the enable request 
-behind all pending notify requests (may require changes to the local host OSL 
-in AcpiOsExecute). Alexey Starikovskiy.
-
-Fixed a problem where buffer and package objects passed as arguments to a 
-control method via the external AcpiEvaluateObject interface could cause an 
-AE_AML_INTERNAL exception depending on the order and type of operators 
-executed by the target control method.
-
-Fixed a problem where resource descriptor size optimization could cause a 
-problem when a _CRS resource template is passed to a _SRS method. The _SRS 
-resource template must use the same descriptors (with the same size) as 
-returned from _CRS. This change affects the following resource descriptors: 
-IRQ / IRQNoFlags and StartDependendentFn / StartDependentFnNoPri. (BZ 9487)
-
-Fixed a problem where a CopyObject to RegionField, BankField, and IndexField 
-objects did not perform an implicit conversion as it should. These types must 
-retain their initial type permanently as per the ACPI specification. However, 
-a CopyObject to all other object types should not perform an implicit 
-conversion, as per the ACPI specification. (Lin Ming, Bob Moore) BZ 388
-
-Fixed a problem with the AcpiGetDevices interface where the mechanism to 
-match device CIDs did not examine the entire list of available CIDs, but 
-instead aborted on the first non-matching CID. Andrew Patterson.
-
-Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro was 
-inadvertently changed to return a 16-bit value instead of a 32-bit value, 
-truncating the upper dword of a 64-bit value. This macro is only used to 
-display debug output, so no incorrect calculations were made. Also, 
-reimplemented the macro so that a 64-bit shift is not performed by 
-inefficient compilers.
-
-Added missing va_end statements that should correspond with each va_start 
-statement.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
-    Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
-  Current Release:
-    Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
-    Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented full disassembler support for the following new ACPI tables: 
-BERT, EINJ, and ERST. Implemented partial disassembler support for the 
-complicated HEST table. These tables support the Windows Hardware Error 
-Architecture (WHEA).
-
-----------------------------------------
-23 January 2008. Summary of changes for version 20080123:
-
-1) ACPI CA Core Subsystem:
-
-Added the 2008 copyright to all module headers and signons. This affects 
-virtually every file in the ACPICA core subsystem, the iASL compiler, and 
-the tools/utilities.
-
-Fixed a problem with the SizeOf operator when used with Package and Buffer 
-objects. These objects have deferred execution for some arguments, and the 
-execution is now completed before the SizeOf is executed. This problem caused 
-unexpected AE_PACKAGE_LIMIT errors on some systems (Lin Ming, Bob Moore) BZ 
-9558
-
-Implemented an enhancement to the interpreter "slack mode". In the absence of 
-an explicit return or an implicitly returned object from the last executed 
-opcode, a control method will now implicitly return an integer of value 0 for 
-Microsoft compatibility. (Lin Ming) BZ 392
-
-Fixed a problem with the Load operator where an exception was not returned in 
-the case where the table is already loaded. (Lin Ming) BZ 463
-
-Implemented support for the use of DDBHandles as an Indexed Reference, as per 
-the ACPI spec. (Lin Ming) BZ 486
-
-Implemented support for UserTerm (Method invocation) for the Unload operator 
-as per the ACPI spec. (Lin Ming) BZ 580
-
-Fixed a problem with the LoadTable operator where the OemId and OemTableId 
-input strings could cause unexpected failures if they were shorter than the 
-maximum lengths allowed. (Lin Ming, Bob Moore) BZ 576
-
-Implemented support for UserTerm (Method invocation) for the Unload operator 
-as per the ACPI spec. (Lin Ming) BZ 580
-
-Implemented header file support for new ACPI tables - BERT, ERST, EINJ, HEST, 
-IBFT, UEFI, WDAT. Disassembler support is forthcoming.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
-    Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
-  Current Release:
-    Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
-    Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented support in the disassembler for checksum validation on incoming 
-binary DSDTs and SSDTs. If incorrect, a message is displayed within the table 
-header dump at the start of the disassembly.
-
-Implemented additional debugging information in the namespace listing file 
-created during compilation. In addition to the namespace hierarchy, the full 
-pathname to each namespace object is displayed.
-
-Fixed a problem with the disassembler where invalid ACPI tables could cause 
-faults or infinite loops.
-
-Fixed an unexpected parse error when using the optional "parameter types" 
-list in a control method declaration. (Lin Ming) BZ 397
-
-Fixed a problem where two External declarations with the same name did not 
-cause an error (Lin Ming) BZ 509
-
-Implemented support for full TermArgs (adding Argx, Localx and method 
-invocation) for the ParameterData parameter to the LoadTable operator. (Lin 
-Ming) BZ 583,587
-
-----------------------------------------
-19 December 2007. Summary of changes for version 20071219:
-
-1) ACPI CA Core Subsystem:
-
-Implemented full support for deferred execution for the TermArg string 
-arguments for DataTableRegion. This enables forward references and full 
-operand resolution for the three string arguments. Similar to OperationRegion 
-deferred argument execution.) Lin Ming. BZ 430
-
-Implemented full argument resolution support for the BankValue argument to 
-BankField. Previously, only constants were supported, now any TermArg may be 
-used. Lin Ming BZ 387, 393
-
-Fixed a problem with AcpiGetDevices where the search of a branch of the 
-device tree could be terminated prematurely. In accordance with the ACPI 
-specification, the search down the current branch is terminated if a device 
-is both not present and not functional (instead of just not present.) Yakui 
-Zhao.
-
-Fixed a problem where "unknown" GPEs could be allowed to fire repeatedly if 
-the underlying AML code changed the GPE enable registers. Now, any unknown 
-incoming GPE (no _Lxx/_Exx method and not the EC GPE) is immediately disabled 
-instead of simply ignored. Rui Zhang.
-
-Fixed a problem with Index Fields where the Index register was incorrectly 
-limited to a maximum of 32 bits. Now any size may be used.
-
-Fixed a couple memory leaks associated with "implicit return" objects when 
-the AML Interpreter slack mode is enabled. Lin Ming BZ 349
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
-    Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
-  Current Release:
-    Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
-    Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
-
-----------------------------------------
-14 November 2007. Summary of changes for version 20071114:
-
-1) ACPI CA Core Subsystem:
-
-Implemented event counters for each of the Fixed Events, the ACPI SCI 
-(interrupt) itself, and control methods executed. Named 
-AcpiFixedEventCount[], AcpiSciCount, and AcpiMethodCount respectively. These 
-should be useful for debugging and statistics.
-
-Implemented a new external interface, AcpiGetStatistics, to retrieve the 
-contents of the various event counters. Returns the current values for 
-AcpiSciCount, AcpiGpeCount, the AcpiFixedEventCount array, and 
-AcpiMethodCount. The interface can be expanded in the future if new counters 
-are added. Device drivers should use this interface rather than access the 
-counters directly.
-
-Fixed a problem with the FromBCD and ToBCD operators. With some compilers, 
-the ShortDivide function worked incorrectly, causing problems with the BCD 
-functions with large input values. A truncation from 64-bit to 32-bit 
-inadvertently occurred. Internal BZ 435. Lin Ming
-
-Fixed a problem with Index references passed as method arguments. References 
-passed as arguments to control methods were dereferenced immediately (before 
-control was passed to the called method). The references are now correctly 
-passed directly to the called method. BZ 5389. Lin Ming
-
-Fixed a problem with CopyObject used in conjunction with the Index operator. 
-The reference was incorrectly dereferenced before the copy. The reference is 
-now correctly copied. BZ 5391. Lin Ming
-
-Fixed a problem with Control Method references within Package objects. These 
-references are now correctly generated. This completes the package 
-construction overhaul that began in version 20071019.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
-    Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
-  Current Release:
-    Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
-    Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-The AcpiExec utility now installs handlers for all of the predefined 
-Operation Region types. New types supported are: PCI_Config, CMOS, and 
-PCIBARTarget.
-
-Fixed a problem with the 64-bit version of AcpiExec where the extended (64-
-bit) address fields for the DSDT and FACS within the FADT were not being 
-used, causing truncation of the upper 32-bits of these addresses. Lin Ming 
-and Bob Moore
-
-----------------------------------------
-19 October 2007. Summary of changes for version 20071019:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem with the Alias operator when the target of the alias is a 
-named ASL operator that opens a new scope -- Scope, Device, PowerResource, 
-Processor, and ThermalZone. In these cases, any children of the original 
-operator could not be accessed via the alias, potentially causing unexpected 
-AE_NOT_FOUND exceptions. (BZ 9067)
-
-Fixed a problem with the Package operator where all named references were 
-created as object references and left otherwise unresolved. According to the 
-ACPI specification, a Package can only contain Data Objects or references to 
-control methods. The implication is that named references to Data Objects 
-(Integer, Buffer, String, Package, BufferField, Field) should be resolved 
-immediately upon package creation. This is the approach taken with this 
-change. References to all other named objects (Methods, Devices, Scopes, 
-etc.) are all now properly created as reference objects. (BZ 5328)
-
-Reverted a change to Notify handling that was introduced in version 
-20070508. This version changed the Notify handling from asynchronous to 
-fully synchronous (Device driver Notify handling with respect to the Notify 
-ASL operator). It was found that this change caused more problems than it 
-solved and was removed by most users.
-
-Fixed a problem with the Increment and Decrement operators where the type of 
-the target object could be unexpectedly and incorrectly changed. (BZ 353) 
-Lin Ming.
-
-Fixed a problem with the Load and LoadTable operators where the table 
-location within the namespace was ignored. Instead, the table was always 
-loaded into the root or current scope. Lin Ming.
-
-Fixed a problem with the Load operator when loading a table from a buffer 
-object. The input buffer was prematurely zeroed and/or deleted. (BZ 577)
-
-Fixed a problem with the Debug object where a store of a DdbHandle reference 
-object to the Debug object could cause a fault.
-
-Added a table checksum verification for the Load operator, in the case where 
-the load is from a buffer. (BZ 578).
-
-Implemented additional parameter validation for the LoadTable operator. The 
-length of the input strings SignatureString, OemIdString, and OemTableId are 
-now checked for maximum lengths. (BZ 582) Lin Ming.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
-    Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
-  Current Release:
-    Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
-    Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem where if a single file was specified and the file did not 
-exist, no error message was emitted. (Introduced with wildcard support in 
-version 20070917.)
-
-----------------------------------------
-19 September 2007. Summary of changes for version 20070919:
-
-1) ACPI CA Core Subsystem:
-
-Designed and implemented new external interfaces to install and remove 
-handlers for ACPI table-related events. Current events that are defined are 
-LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as 
-they are dynamically loaded and unloaded. See AcpiInstallTableHandler and 
-AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
-
-Fixed a problem where the use of the AcpiGbl_AllMethodsSerialized flag 
-(acpi_serialized option on Linux) could cause some systems to hang during 
-initialization. (Bob Moore) BZ 8171
-
-Fixed a problem where objects of certain types (Device, ThermalZone, 
-Processor, PowerResource) can be not found if they are declared and 
-referenced from within the same control method (Lin Ming) BZ 341
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
-    Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
-  Current Release:
-    Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
-    Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support to allow multiple files to be compiled/disassembled in a 
-single invocation. This includes command line wildcard support for both the 
-Windows and Unix versions of the compiler. This feature simplifies the 
-disassembly and compilation of multiple ACPI tables in a single directory.
-
-----------------------------------------
-08 May 2007. Summary of changes for version 20070508:
-
-1) ACPI CA Core Subsystem:
-
-Implemented a Microsoft compatibility 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.
-
-Implemented support to allow Package objects to be passed as method 
-arguments to the external AcpiEvaluateObject interface. Previously, this 
-would return the AE_NOT_IMPLEMENTED exception. This feature had not been 
-implemented since there were no reserved control methods that required it 
-until recently.
-
-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. (The fields 
-are: Preferred_PM_Profile, PSTATE_CNT, CST_CNT, and IAPC_BOOT_FLAGS.)
-
-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. Reported by Joe 
-Liu.
-
-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.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
-    Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
-
-----------------------------------------
-20 March 2007. Summary of changes for version 20070320:
-
-1) ACPI CA Core Subsystem:
-
-Implemented a change to the order of interpretation and evaluation of AML 
-operand objects within the AML interpreter. The interpreter now evaluates 
-operands in the order that they appear in the AML stream (and the 
-corresponding ASL code), instead of in the reverse order (after the entire 
-operand list has been parsed). The previous behavior caused several subtle 
-incompatibilities with the Microsoft AML interpreter as well as being 
-somewhat non-intuitive. BZ 7871, local BZ 263. Valery Podrezov.
-
-Implemented a change to the ACPI Global Lock support. All interfaces to the 
-global lock now allow the same thread to acquire the lock multiple times. 
-This affects the AcpiAcquireGlobalLock external interface to the global lock 
-as well as the internal use of the global lock to support AML fields -- a 
-control method that is holding the global lock can now simultaneously access 
-AML fields that require global lock protection. Previously, in both cases, 
-this would have resulted in an AE_ALREADY_ACQUIRED exception. The change to 
-AcpiAcquireGlobalLock is of special interest to drivers for the Embedded 
-Controller. There is no change to the behavior of the AML Acquire operator, 
-as this can already be used to acquire a mutex multiple times by the same 
-thread. BZ 8066. With assistance from Alexey Starikovskiy.
-
-Fixed a problem where invalid objects could be referenced in the AML 
-Interpreter after error conditions. During operand evaluation, ensure that 
-the internal "Return Object" field is cleared on error and only valid 
-pointers are stored there. Caused occasional access to deleted objects that 
-resulted in "large reference count" warning messages. Valery Podrezov.
-
-Fixed a problem where an AE_STACK_OVERFLOW internal exception could occur on 
-deeply nested control method invocations. BZ 7873, local BZ 487. Valery 
-Podrezov.
-
-Fixed an internal problem with the handling of result objects on the 
-interpreter result stack. BZ 7872. Valery Podrezov.
-
-Removed obsolete code that handled the case where AML_NAME_OP is the target 
-of a reference (Reference.Opcode). This code was no longer necessary. BZ 
-7874. Valery Podrezov.
-
-Removed obsolete ACPI_NO_INTEGER64_SUPPORT from two header files. This was a 
-remnant from the previously discontinued 16-bit support.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
-
-----------------------------------------
-26 January 2007. Summary of changes for version 20070126:
-
-1) ACPI CA Core Subsystem:
-
-Added the 2007 copyright to all module headers and signons. This affects 
-virtually every file in the ACPICA core subsystem, the iASL compiler, and 
-the utilities.
-
-Implemented a fix for an incorrect parameter passed to AcpiTbDeleteTable 
-during a table load. A bad pointer was passed in the case where the DSDT is 
-overridden, causing a fault in this case.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
-
-----------------------------------------
-15 December 2006. Summary of changes for version 20061215:
-
-1) ACPI CA Core Subsystem:
-
-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 
-bootable Linux firmware kit is now available.
-
-The handler for the Global Lock is now removed during AcpiTerminate to 
-enable a clean subsystem restart, via the implementation of the 
-AcpiEvRemoveGlobalLockHandler function. (With assistance from Joel Bretz, 
-HP)
-
-Implemented enhancements to the multithreading support within the debugger 
-to enable improved multithreading debugging and evaluation of the subsystem. 
-(Valery Podrezov)
-
-Debugger: Enhanced the Statistics/Memory command to emit the total (maximum) 
-memory used during the execution, as well as the maximum memory consumed by 
-each of the various object types. (Valery Podrezov)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
-    Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
-    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-AcpiExec: Implemented a new option (-m) to display full memory use 
-statistics upon subsystem/program termination. (Valery Podrezov)
-
-----------------------------------------
-09 November 2006. Summary of changes for version 20061109:
-
-1) ACPI CA Core Subsystem:
-
-Optimized the Load ASL operator in the case where the source operand is an 
-operation region. Simply map the operation region memory, instead of 
-performing a bytewise read. (Region must be of type SystemMemory, see 
-below.)
-
-Fixed the Load ASL operator for the case where the source operand is a 
-region field. A buffer object is also allowed as the source operand. BZ 480
-
-Fixed a problem where the Load ASL operator allowed the source operand to be 
-an operation region of any type. It is now restricted to regions of type 
-SystemMemory, as per the ACPI specification. BZ 481
-
-Additional cleanup and optimizations for the new Table Manager code.
-
-AcpiEnable will now fail if all of the required ACPI tables are not loaded 
-(FADT, FACS, DSDT). BZ 477
-
-Added #pragma pack(8/4) to acobject.h to ensure that the structures in this 
-header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been 
-manually optimized to be aligned and will not work if it is byte-packed. 
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
-    Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
-    Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed a problem where the presence of the _OSI predefined control method 
-within complex expressions could cause an internal compiler error.
-
-AcpiExec: Implemented full region support for multiple address spaces. 
-SpaceId is now part of the REGION object. BZ 429
-
-----------------------------------------
-11 October 2006. Summary of changes for version 20061011:
-
-1) ACPI CA Core Subsystem:
-
-Completed an AML interpreter performance enhancement for control method 
-execution. Previously a 2-pass parse/execution, control methods are now 
-completely parsed and executed in a single pass. This improves overall 
-interpreter performance by ~25%, reduces code size, and reduces CPU stack 
-use. (Valery Podrezov + interpreter changes in version 20051202 that 
-eliminated namespace loading during the pass one parse.)
-
-Implemented _CID support for PCI Root Bridge detection. If the _HID does not 
-match the predefined PCI Root Bridge IDs, the _CID list (if present) is now 
-obtained and also checked for an ID match.
-
-Implemented additional support for the PCI _ADR execution: upsearch until a 
-device scope is found before executing _ADR. This allows PCI_Config 
-operation regions to be declared locally within control methods underneath 
-PCI device objects.
-
-Fixed a problem with a possible race condition between threads executing 
-AcpiWalkNamespace and the AML interpreter. This condition was removed by 
-modifying AcpiWalkNamespace to (by default) ignore all temporary namespace 
-entries created during any concurrent control method execution. An 
-additional namespace race condition is known to exist between 
-AcpiWalkNamespace and the Load/Unload ASL operators and is still under 
-investigation.
-
-Restructured the AML ParseLoop function, breaking it into several 
-subfunctions in order to reduce CPU stack use and improve maintainability. 
-(Mikhail Kouzmich)
-
-AcpiGetHandle: Fix for parameter validation to detect invalid combinations 
-of prefix handle and pathname. BZ 478
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
-    Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
-  Current Release:
-    Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
-    Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
-
-2) iASL Compiler/Disassembler and Tools:
-
-Ported the -g option (get local ACPI tables) to the new ACPICA Table Manager 
-to restore original behavior.
-
-----------------------------------------
-27 September 2006. Summary of changes for version 20060927:
-
-1) ACPI CA Core Subsystem:
-
-Removed the "Flags" parameter from AcpiGetRegister and AcpiSetRegister. 
-These functions now use a spinlock for mutual exclusion and the interrupt 
-level indication flag is not needed.
-
-Fixed a problem with the Global Lock where the lock could appear to be 
-obtained before it is actually obtained. The global lock semaphore was 
-inadvertently created with one unit instead of zero units. (BZ 464) Fiodor 
-Suietov.
-
-Fixed a possible memory leak and fault in AcpiExResolveObjectToValue during 
-a read from a buffer or region field. (BZ 458) Fiodor Suietov.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
-    Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
-    Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed a compilation problem with the pre-defined Resource Descriptor field 
-names where an "object does not exist" error could be incorrectly generated 
-if the parent ResourceTemplate pathname places the template within a 
-different namespace scope than the current scope. (BZ 7212)
-
-Fixed a problem where the compiler could hang after syntax errors detected 
-in an ElseIf construct. (BZ 453)
-
-Fixed a problem with the AmlFilename parameter to the DefinitionBlock() 
-operator. An incorrect output filename was produced when this parameter was 
-a null string (""). Now, the original input filename is used as the AML 
-output filename, with an ".aml" extension.
-
-Implemented a generic batch command mode for the AcpiExec utility (execute 
-any AML debugger command) (Valery Podrezov).
-
-----------------------------------------
-12 September 2006. Summary of changes for version 20060912:
-
-1) ACPI CA Core Subsystem:
-
-Enhanced the implementation of the "serialized mode" of the interpreter 
-(enabled via the AcpiGbl_AllMethodsSerialized flag.) When this mode is 
-specified, instead of creating a serialization semaphore per control method, 
-the interpreter lock is simply no longer released before a blocking 
-operation during control method execution. This effectively makes the AML 
-Interpreter single-threaded. The overhead of a semaphore per-method is 
-eliminated.
-
-Fixed a regression where an error was no longer emitted if a control method 
-attempts to create 2 objects of the same name. This once again returns 
-AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism that 
-will dynamically serialize the control method to possible prevent future 
-errors. (BZ 440)
-
-Integrated a fix for a problem with PCI Express HID detection in the PCI 
-Config Space setup procedure. (BZ 7145)
-
-Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the 
-AcpiHwInitialize function - the FADT registers are now validated when the 
-table is loaded.
-
-Added two new warnings during FADT verification - 1) if the FADT is larger 
-than the largest known FADT version, and 2) if there is a mismatch between a 
-32-bit block address and the 64-bit X counterpart (when both are non-zero.)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
-    Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
-    Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed a problem with the implementation of the Switch() operator where the 
-temporary variable was declared too close to the actual Switch, instead of 
-at method level. This could cause a problem if the Switch() operator is 
-within a while loop, causing an error on the second iteration. (BZ 460)
-
-Disassembler - fix for error emitted for unknown type for target of scope 
-operator. Now, ignore it and continue.
-
-Disassembly of an FADT now verifies the input FADT and reports any errors 
-found. Fix for proper disassembly of full-sized (ACPI 2.0) FADTs.
-
-Disassembly of raw data buffers with byte initialization data now prefixes 
-each output line with the current buffer offset.
-
-Disassembly of ASF! table now includes all variable-length data fields at 
-the end of some of the subtables.
-
-The disassembler now emits a comment if a buffer appears to be a 
-ResourceTemplate, but cannot be disassembled as such because the EndTag does 
-not appear at the very end of the buffer.
-
-AcpiExec - Added the "-t" command line option to enable the serialized mode 
-of the AML interpreter.
-
-----------------------------------------
-31 August 2006. Summary of changes for version 20060831:
-
-1) ACPI CA Core Subsystem:
-
-Miscellaneous fixes for the Table Manager:
-- Correctly initialize internal common FADT for all 64-bit "X" fields
-- Fixed a couple table mapping issues during table load
-- Fixed a couple alignment issues for IA64
-- Initialize input array to zero in AcpiInitializeTables
-- Additional parameter validation for AcpiGetTable, AcpiGetTableHeader, 
-AcpiGetTableByIndex
-
-Change for GPE support: when a "wake" GPE is received, all wake GPEs are now 
-immediately disabled to prevent the waking GPE from firing again and to 
-prevent other wake GPEs from interrupting the wake process.
-
-Added the AcpiGpeCount global that tracks the number of processed GPEs, to 
-be used for debugging systems with a large number of ACPI interrupts.
-
-Implemented support for the "DMAR" ACPI table (DMA Redirection Table) in 
-both the ACPICA headers and the disassembler.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
-    Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
-    Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler support for the DMAR ACPI table.
-
-----------------------------------------
-23 August 2006. Summary of changes for version 20060823:
-
-1) ACPI CA Core Subsystem:
-
-The Table Manager component has been completely redesigned and 
-reimplemented. The new design is much simpler, and reduces the overall code 
-and data size of the kernel-resident ACPICA by approximately 5%. Also, it is 
-now possible to obtain the ACPI tables very early during kernel 
-initialization, even before dynamic memory management is initialized. 
-(Alexey Starikovskiy, Fiodor Suietov, Bob Moore)
-
-Obsolete ACPICA interfaces:
-
-- AcpiGetFirmwareTable: Use AcpiGetTable instead (works at early kernel init 
-time).
-- AcpiLoadTable: Not needed.
-- AcpiUnloadTable: Not needed.
-
-New ACPICA interfaces:
-
-- AcpiInitializeTables: Must be called before the table manager can be used.
-- AcpiReallocateRootTable: Used to transfer the root table to dynamically 
-allocated memory after it becomes available.
-- AcpiGetTableByIndex: Allows the host to easily enumerate all ACPI tables 
-in the RSDT/XSDT.
-
-Other ACPICA changes:
-
-- AcpiGetTableHeader returns the actual mapped table header, not a copy. Use 
-AcpiOsUnmapMemory to free this mapping.
-- AcpiGetTable returns the actual mapped table. The mapping is managed 
-internally and must not be deleted by the caller. Use of this interface 
-causes no additional dynamic memory allocation.
-- AcpiFindRootPointer: Support for physical addressing has been eliminated, 
-it appeared to be unused.
-- The interface to AcpiOsMapMemory has changed to be consistent with the 
-other allocation interfaces.
-- The interface to AcpiOsGetRootPointer has changed to eliminate unnecessary 
-parameters.
-- ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64 bits on 64-
-bit platforms. Was previously 64 bits on all platforms.
-- The interface to the ACPI Global Lock acquire/release macros have changed 
-slightly since ACPICA no longer keeps a local copy of the FACS with a 
-constructed pointer to the actual global lock.
-
-Porting to the new table manager:
-
-- AcpiInitializeTables: Must be called once, and can be called anytime 
-during the OS initialization process. It allows the host to specify an area 
-of memory to be used to store the internal version of the RSDT/XSDT (root 
-table). This allows the host to access ACPI tables before memory management 
-is initialized and running.
-- AcpiReallocateRootTable: Can be called after memory management is running 
-to copy the root table to a dynamically allocated array, freeing up the 
-scratch memory specified in the call to AcpiInitializeTables.
-- AcpiSubsystemInitialize: This existing interface is independent of the 
-Table Manager, and does not have to be called before the Table Manager can 
-be used, it only must be called before the rest of ACPICA can be used.
-- ACPI Tables: Some changes have been made to the names and structure of the 
-actbl.h and actbl1.h header files and may require changes to existing code. 
-For example, bitfields have been completely removed because of their lack of 
-portability across C compilers.
-- Update interfaces to the Global Lock acquire/release macros if local 
-versions are used. (see acwin.h)
-
-Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c
-
-New files: tbfind.c
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
-    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
-  Current Release:
-    Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
-    Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-No changes for this release.
-
-----------------------------------------
-21 July 2006. Summary of changes for version 20060721:
-
-1) ACPI CA Core Subsystem:
-
-The full source code for the ASL test suite used to validate the iASL 
-compiler and the ACPICA core subsystem is being released with the ACPICA 
-source for the first time. The source is contained in a separate package and 
-consists of over 1100 files that exercise all ASL/AML operators. The package 
-should appear on the Intel/ACPI web site shortly. (Valery Podrezov, Fiodor 
-Suietov)
-
-Completed a new design and implementation for support of the ACPI Global 
-Lock. On the OS side, the global lock is now treated as a standard AML 
-mutex. Previously, multiple OS threads could "acquire" the global lock 
-simultaneously. However, this could cause the BIOS to be starved out of the 
-lock - especially in cases such as the Embedded Controller driver where 
-there is a tight coupling between the OS and the BIOS.
-
-Implemented an optimization for the ACPI Global Lock interrupt mechanism. 
-The Global Lock interrupt handler no longer queues the execution of a 
-separate thread to signal the global lock semaphore. Instead, the semaphore 
-is signaled directly from the interrupt handler.
-
-Implemented support within the AML interpreter for package objects that 
-contain a larger AML length (package list length) than the package element 
-count. In this case, the length of the package is truncated to match the 
-package element count. Some BIOS code apparently modifies the package length 
-on the fly, and this change supports this behavior. Provides compatibility 
-with the MS AML interpreter. (With assistance from Fiodor Suietov)
-
-Implemented a temporary fix for the BankValue parameter of a Bank Field to 
-support all constant values, now including the Zero and One opcodes. 
-Evaluation of this parameter must eventually be converted to a full TermArg 
-evaluation. A not-implemented error is now returned (temporarily) for non-
-constant values for this parameter.
-
-Fixed problem reports (Fiodor Suietov) integrated:
-- Fix for premature object deletion after CopyObject on Operation Region (BZ 
-350)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.7K Code, 18.0K Data,  98.7K Total
-    Debug Version:     160.9K Code, 65.1K Data, 226.0K Total
-  Current Release:
-    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
-    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-No changes for this release.
-
-----------------------------------------
-07 July 2006. Summary of changes for version 20060707:
-
-1) ACPI CA Core Subsystem:
-
-Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers 
-that do not allow the initialization of address pointers within packed 
-structures - even though the hardware itself may support misaligned 
-transfers. Some of the debug data structures are packed by default to 
-minimize size.
-
-Added an error message for the case where AcpiOsGetThreadId() returns zero. 
-A non-zero value is required by the core ACPICA code to ensure the proper 
-operation of AML mutexes and recursive control methods.
-
-The DSDT is now the only ACPI table that determines whether the AML 
-interpreter is in 32-bit or 64-bit mode. Not really a functional change, but 
-the hooks for per-table 32/64 switching have been removed from the code. A 
-clarification to the ACPI specification is forthcoming in ACPI 3.0B.
-
-Fixed a possible leak of an OwnerID in the error path of 
-AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table OwnerID 
-deletion to a single place in AcpiTbUninstallTable to correct possible leaks 
-when using the AcpiTbDeleteTablesByType interface (with assistance from 
-Lance Ortiz.)
-
-Fixed a problem with Serialized control methods where the semaphore 
-associated with the method could be over-signaled after multiple method 
-invocations.
-
-Fixed two issues with the locking of the internal namespace data structure. 
-Both the Unload() operator and AcpiUnloadTable interface now lock the 
-namespace during the namespace deletion associated with the table unload 
-(with assistance from Linn Crosetto.)
-
-Fixed problem reports (Valery Podrezov) integrated:
-- Eliminate unnecessary memory allocation for CreateXxxxField (BZ 5426)
-
-Fixed problem reports (Fiodor Suietov) integrated:
-- Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
-- On Address Space handler deletion, needless deactivation call (BZ 374)
-- AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 375)
-- Possible memory leak, Notify sub-objects of Processor, Power, ThermalZone 
-(BZ 376)
-- AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378)
-- Minimum Length of RSDT should be validated (BZ 379)
-- AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no 
-Handler (BZ (380)
-- AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type loaded 
-(BZ 381)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
-    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
-  Current Release:
-    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
-    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed problem reports:
-Compiler segfault when ASL contains a long (>1024) String declaration (BZ 
-436)
-
-----------------------------------------
-23 June 2006. Summary of changes for version 20060623:
-
-1) ACPI CA Core Subsystem:
-
-Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces. This 
-allows the type to be customized to the host OS for improved efficiency 
-(since a spinlock is usually a very small object.)
-
-Implemented support for "ignored" bits in the ACPI registers. According to 
-the ACPI specification, these bits should be preserved when writing the 
-registers via a read/modify/write cycle. There are 3 bits preserved in this 
-manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].
-
-Implemented the initial deployment of new OSL mutex interfaces. Since some 
-host operating systems have separate mutex and semaphore objects, this 
-feature was requested. The base code now uses mutexes (and the new mutex 
-interfaces) wherever a binary semaphore was used previously. However, for 
-the current release, the mutex interfaces are defined as macros to map them 
-to the existing semaphore interfaces. Therefore, no OSL changes are required 
-at this time. (See acpiosxf.h)
-
-Fixed several problems with the support for the control method SyncLevel 
-parameter. The SyncLevel now works according to the ACPI specification and 
-in concert with the Mutex SyncLevel parameter, since the current SyncLevel 
-is a property of the executing thread. Mutual exclusion for control methods 
-is now implemented with a mutex instead of a semaphore.
-
-Fixed three instances of the use of the C shift operator in the bitfield 
-support code (exfldio.c) to avoid the use of a shift value larger than the 
-target data width. The behavior of C compilers is undefined in this case and 
-can cause unpredictable results, and therefore the case must be detected and 
-avoided. (Fiodor Suietov)
-
-Added an info message whenever an SSDT or OEM table is loaded dynamically 
-via the Load() or LoadTable() ASL operators. This should improve debugging 
-capability since it will show exactly what tables have been loaded (beyond 
-the tables present in the RSDT/XSDT.)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
-    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
-  Current Release:
-    Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
-    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-No changes for this release.
-
-----------------------------------------
-08 June 2006. Summary of changes for version 20060608:
-
-1) ACPI CA Core Subsystem:
-
-Converted the locking mutex used for the ACPI hardware to a spinlock. This 
-change should eliminate all problems caused by attempting to acquire a 
-semaphore at interrupt level, and it means that all ACPICA external 
-interfaces that directly access the ACPI hardware can be safely called from 
-interrupt level. OSL code that implements the semaphore interfaces should be 
-able to eliminate any workarounds for being called at interrupt level.
-
-Fixed a regression introduced in 20060526 where the ACPI device 
-initialization could be prematurely aborted with an AE_NOT_FOUND if a device 
-did not have an optional _INI method.
-
-Fixed an IndexField issue where a write to the Data Register should be 
-limited in size to the AccessSize (width) of the IndexField itself. (BZ 433, 
-Fiodor Suietov)
-
-Fixed problem reports (Valery Podrezov) integrated:
-- Allow store of ThermalZone objects to Debug object (BZ 5369/5370)
-
-Fixed problem reports (Fiodor Suietov) integrated:
-- AcpiGetTableHeader doesn't handle multiple instances correctly (BZ 364)
-
-Removed four global mutexes that were obsolete and were no longer being 
-used.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
-    Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
-  Current Release:
-    Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
-    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Fixed a fault when using -g option (get tables from registry) on Windows 
-machines.
-
-Fixed problem reports integrated:
-- Generate error if CreateField NumBits parameter is zero. (BZ 405)
-- Fault if Offset/Length in Field unit is very large (BZ 432, Fiodor 
-Suietov)
-- Global table revision override (-r) is ignored (BZ 413)
-
-----------------------------------------
-26 May 2006. Summary of changes for version 20060526:
-
-1) ACPI CA Core Subsystem:
-
-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 (BZ 5329)
-- Allow interpreter to handle nested method declarations (BZ 5361)
-
-Fixed problem reports (Fiodor Suietov) integrated:
-- AcpiTerminate doesn't free debug memory allocation list objects (BZ 355)
-- After Core Subsystem shutdown, AcpiSubsystemStatus returns AE_OK (BZ 356)
-- AcpiOsUnmapMemory 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 AcpiOsFree instead of ACPI_FREE in AcpiRsSetSrsMethodData (BZ 360)
-- Incomplete cleanup branch in AcpiPsParseAml (BZ 361)
-- Incomplete cleanup branch in AcpiDsDeleteWalkState (BZ 362)
-- AcpiGetTableHeader 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)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
-    Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
-  Current Release:
-    Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
-    Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Modified the parser to allow the names IO, DMA, and IRQ to be used as 
-namespace identifiers with no collision with existing resource descriptor 
-macro names. This provides compatibility with other ASL compilers and is 
-most useful for disassembly/recompilation of existing tables without parse 
-errors. (With assistance from Thomas Renninger)
-
-Disassembler: fixed an incorrect disassembly problem with the 
-DataTableRegion and CopyObject operators. Fixed a possible fault during 
-disassembly of some Alias operators.
-
-----------------------------------------
-12 May 2006. Summary of changes for version 20060512:
-
-1) ACPI CA Core Subsystem:
-
-Replaced the AcpiOsQueueForExecution interface with a new interface named 
-AcpiOsExecute. 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 host 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 BZ #5534, and will require changes to all existing 
-OS interface layers. (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, BZ #6514. (Fiodor 
-Suietov)
-
-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)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
-    Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
-  Current Release:
-    Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
-    Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
-
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Implemented support to cross reference the internal namespace 
-and automatically generate ASL External() statements for symbols not defined 
-within the current table being disassembled. This will simplify the 
-disassembly and recompilation of interdependent tables such as SSDTs since 
-these statements will no longer have to be added manually.
-
-Disassembler: Implemented experimental support to automatically detect 
-invocations of external control methods and generate appropriate External() 
-statements. This is problematic because the AML cannot be correctly parsed 
-until the number of arguments for each control method is known. Currently, 
-standalone method invocations and invocations as the source operand of a 
-Store() statement are supported.
-
-Disassembler: Implemented support for the ASL pseudo-operators LNotEqual, 
-LLessEqual, and LGreaterEqual. Previously disassembled as LNot(LEqual()), 
-LNot(LGreater()), and LNot(LLess()), this makes the disassembled ASL code 
-more readable and likely closer to the original ASL source.
-
-----------------------------------------
-21 April 2006. Summary of changes for version 20060421:
-
-1) ACPI CA Core Subsystem:
-
-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, AcpiOsValidateAddress. 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.) See oswinxf or osunixxf for an example 
-implementation.
-
-Defined and deployed a new OSL interface, AcpiOsValidateInterface. 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.) See oswinxf or osunixxf 
-for an example implementation.
-
-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.
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-
-    Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
-    Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
-  Current Release:
-    Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
-    Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented 3 new warnings for iASL, and implemented multiple warning levels 
-(w2 flag).
-
-1) Ignored timeouts: If the TimeoutValue parameter to Wait or Acquire is not 
-WAIT_FOREVER (0xFFFF) and the code does not examine the return value to 
-check for the possible timeout, a warning is issued.
-
-2) Useless operators: If an ASL operator does not specify an optional target 
-operand and it also does not use the function return value from the 
-operator, a warning is issued since the operator effectively does nothing.
-
-3) Unreferenced objects: If a namespace object is created, but never 
-referenced, a warning is issued. This is a warning level 2 since there are 
-cases where this is ok, such as when a secondary table is loaded that uses 
-the unreferenced objects. Even so, care is taken to only flag objects that 
-don't look like they will ever be used. For example, the reserved methods 
-(starting with an underscore) are usually not referenced because it is 
-expected that the OS will invoke them.
-
-----------------------------------------
-31 March 2006. Summary of changes for version 20060331:
-
-1) ACPI CA Core Subsystem:
-
-Implemented header file support for the following additional ACPI tables: 
-ASF!, BOOT, CPEP, DBGP, MCFG, SPCR, SPMI, TCPA, and WDRT. With this support, 
-all current and known ACPI tables are now defined in the ACPICA headers and 
-are available for use by device drivers and other software.
-
-Implemented support to allow tables that contain ACPI names with invalid 
-characters to be loaded. Previously, this would cause the table load to 
-fail, but since there are several known cases of such tables on existing 
-machines, this change was made to enable ACPI support for them. Also, this 
-matches the behavior of the Microsoft ACPI implementation.
-
-Fixed a couple regressions introduced during the memory optimization in the 
-20060317 release. The namespace node definition required additional 
-reorganization and an internal datatype that had been changed to 8-bit was 
-restored to 32-bit. (Valery Podrezov)
-
-Fixed a problem where a null pointer passed to AcpiUtDeleteGenericState 
-could be passed through to AcpiOsReleaseObject which is unexpected. Such 
-null pointers are now trapped and ignored, matching the behavior of the 
-previous implementation before the deployment of AcpiOsReleaseObject.
-(Valery Podrezov, Fiodor Suietov)
-
-Fixed a memory mapping leak during the deletion of a SystemMemory operation 
-region where a cached memory mapping was not deleted. This became a 
-noticeable problem for operation regions that are defined within frequently 
-used control methods. (Dana Meyers)
-
-Reorganized the ACPI table header files into two main files: one for the 
-ACPI tables consumed by the ACPICA core, and another for the miscellaneous 
-ACPI tables that are consumed by the drivers and other software. The various 
-FADT definitions were merged into one common section and three different 
-tables (ACPI 1.0, 1.0+, and 2.0)
-
-Example Code and Data Size: These are the sizes for the OS-independent 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-debug version of the code includes the debug output trace mechanism and has 
-a much larger code and data size.
-
-  Previous Release:
-    Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
-    Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
-  Current Release:
-    Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
-    Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Disassembler: Implemented support to decode and format all non-AML ACPI 
-tables (tables other than DSDTs and SSDTs.) This includes the new tables 
-added to the ACPICA headers, therefore all current and known ACPI tables are 
-supported.
-
-Disassembler: The change to allow ACPI names with invalid characters also 
-enables the disassembly of such tables. Invalid characters within names are 
-changed to '*' to make the name printable; the iASL compiler will still 
-generate an error for such names, however, since this is an invalid ACPI 
-character.
-
-Implemented an option for AcpiXtract (-a) to extract all tables found in the 
-input file. The default invocation extracts only the DSDTs and SSDTs.
-
-Fixed a couple of gcc generation issues for iASL and AcpiExec and added a 
-makefile for the AcpiXtract utility.
-
-----------------------------------------
-17 March 2006. Summary of changes for version 20060317:
-
-1) ACPI CA Core Subsystem:
-
-Implemented the use of a cache object for all internal namespace nodes. 
-Since there are about 1000 static nodes in a typical system, this will 
-decrease memory use for cache implementations that minimize per-allocation 
-overhead (such as a slab allocator.)
-
-Removed the reference count mechanism for internal namespace nodes, since it 
-was deemed unnecessary. This reduces the size of each namespace node by 
-about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit case, 
-and 32 bytes for the 64-bit case.
-
-Optimized several internal data structures to reduce object size on 64-bit 
-platforms by packing data within the 64-bit alignment. This includes the 
-frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static 
-instances corresponding to the namespace objects.
-
-Added two new strings for the predefined _OSI method: "Windows 2001.1 SP1" 
-and "Windows 2006".
-
-Split the allocation tracking mechanism out to a separate file, from 
-utalloc.c to uttrack.c. This mechanism appears to be only useful for 
-application-level code. Kernels may wish to not include uttrack.c in 
-distributions.
-
-Removed all remnants of the obsolete ACPI_REPORT_* macros and the associated 
-code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING 
-macros.)
-
-Code and Data Size: These are the sizes for the acpica.lib produced by the 
-Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
-driver or OSPM code. The debug version of the code includes the debug output 
-trace mechanism and has a much larger code and data size. Note that these 
-values will vary depending on the efficiency of the compiler and the 
-compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
-    Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
-  Current Release:
-    Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
-    Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
-
-
-2) iASL Compiler/Disassembler and Tools:
-
-Implemented an ANSI C version of the acpixtract utility. This version will 
-automatically extract the DSDT and all SSDTs from the input acpidump text 
-file and dump the binary output to separate files. It can also display a 
-summary of the input file including the headers for each table found and 
-will extract any single ACPI table, with any signature. (See 
-source/tools/acpixtract)
-
-----------------------------------------
-10 March 2006. Summary of changes for version 20060310:
-
-1) ACPI CA Core Subsystem:
-
-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 AcpiOsGetThreadId. 
-This allows the host to define this as necessary to simplify kernel 
-integration. The default definition is ACPI_NATIVE_UINT.
-
-Fixed two interpreter problems related to error processing, the deletion of 
-objects, and placing invalid pointers onto the internal operator result 
-stack. BZ 6028, 6151 (Valery Podrezov)
-
-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.
-
-Code and Data Size: These are the sizes for the acpica.lib produced by the 
-Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
-driver or OSPM code. The debug version of the code includes the debug output 
-trace mechanism and has a much larger code and data size. Note that these 
-values will vary depending on the efficiency of the compiler and the 
-compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
-    Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
-  Current Release:
-    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
-    Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Disassembler: implemented support for symbolic resource descriptor 
-references. If a CreateXxxxField operator references a fixed offset within a 
-resource descriptor, a name is assigned to the descriptor and the offset is 
-translated to the appropriate resource tag and pathname. The addition of 
-this support brings the disassembled code very close to the original ASL 
-source code and helps eliminate run-time errors when the disassembled code 
-is modified (and recompiled) in such a way as to invalidate the original 
-fixed offsets.
-
-Implemented support for a Descriptor Name as the last parameter to the ASL 
-Register() macro. This parameter was inadvertently left out of the ACPI 
-specification, and will be added for ACPI 3.0b.
-
-Fixed a problem where the use of the "_OSI" string (versus the full path 
-"\_OSI") caused an internal compiler error. ("No back ptr to op")
-
-Fixed a problem with the error message that occurs when an invalid string is 
-used for a _HID object (such as one with an embedded asterisk: "*PNP010A".) 
-The correct message is now displayed.
-
-----------------------------------------
-17 February 2006. Summary of changes for version 20060217:
-
-1) ACPI CA Core Subsystem:
-
-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.
-
-Code and Data Size: These are the sizes for the acpica.lib produced by the 
-Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
-driver or OSPM code. The debug version of the code includes the debug output 
-trace mechanism and has a much larger code and data size. Note that these 
-values will vary depending on the efficiency of the compiler and the 
-compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
-    Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
-  Current Release:
-    Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
-    Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support for new reserved names: _WDG and _WED are Microsoft 
-extensions for Windows Instrumentation Management, _TDL is a new ACPI-
-defined method (Throttling Depth Limit.)
-
-Fixed a problem where a zero-length VendorShort or VendorLong resource 
-descriptor was incorrectly emitted as a descriptor of length one.
-
-----------------------------------------
-10 February 2006. Summary of changes for version 20060210:
-
-1) ACPI CA Core Subsystem:
-
-Removed a couple of extraneous ACPI_ERROR messages that appeared during 
-normal execution. These became apparent after the conversion from 
-ACPI_DEBUG_PRINT.
-
-Fixed a problem where the CreateField operator could hang if the BitIndex or 
-NumBits parameter referred to a named object. (Valery Podrezov, BZ 5359)
-
-Fixed a problem where a DeRefOf operation on a buffer object incorrectly 
-failed with an exception. This also fixes a couple of related RefOf and 
-DeRefOf issues. (Valery Podrezov, BZ 5360/5392/5387)
-
-Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead of 
-AE_STRING_LIMIT on an out-of-bounds Index() operation. (Valery Podrezov, BZ 
-5480)
-
-Implemented a memory cleanup at the end of the execution of each iteration 
-of an AML While() loop, preventing the accumulation of outstanding objects. 
-(Valery Podrezov, BZ 5427)
-
-Eliminated a chunk of duplicate code in the object resolution code. (Valery 
-Podrezov, BZ 5336)
-
-Fixed several warnings during the 64-bit code generation.
-
-The AcpiSrc source code conversion tool now inserts one line of whitespace 
-after an if() statement that is followed immediately by a comment, improving 
-readability of the Linux code.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
-    Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
-  Current Release:
-    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
-    Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with the disassembly of a BankField operator with a complex 
-expression for the BankValue parameter.
-
-----------------------------------------
-27 January 2006. Summary of changes for version 20060127:
-
-1) ACPI CA Core Subsystem:
-
-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, these 
-unresolved references will be passed through to the caller as a NULL package 
-entry.
-
-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. The older 
-macros remain defined to allow ACPI drivers time to migrate to the new 
-macros.
-
-Implemented the ACPI_CPU_FLAGS type to simplify host OS integration of the 
-Acquire/Release Lock OSL interfaces.
-
-Fixed a problem where Alias ASL operators are sometimes not correctly 
-resolved, in both the interpreter and the iASL compiler.
-
-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)
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
-    Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
-  Current Release:
-    Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
-    Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed an internal error that was generated for any forward references to ASL 
-Alias objects.
-
-----------------------------------------
-13 January 2006. Summary of changes for version 20060113:
-
-1) ACPI CA Core Subsystem:
-
-Added 2006 copyright to all module headers and signons. This affects 
-virtually every file in the ACPICA core subsystem, iASL compiler, and the 
-utilities.
- 
-Enhanced the ACPICA error reporting in order to simplify user migration to 
-the non-debug version of ACPICA. 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 of the code somewhat (about 13K), 
-but all error/warning reporting may be disabled if desired (and code 
-eliminated) by specifying the ACPI_NO_ERROR_MESSAGES compile-time 
-configuration option. The size of the debug version of ACPICA remains about 
-the same.
-
-Fixed a memory leak within the AML Debugger "Set" command. One object was 
-not properly deleted for every successful invocation of the command.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
-    Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
-  Current Release:
-    Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
-    Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
-
-
-2) iASL Compiler/Disassembler:
-
-The compiler now officially supports the ACPI 3.0a specification that was 
-released on December 30, 2005. (Specification is available at www.acpi.info)
-
-----------------------------------------
-16 December 2005. Summary of changes for version 20051216:
-
-1) ACPI CA Core Subsystem:
-
-Implemented optional support to allow unresolved names within ASL Package 
-objects. A null object is inserted in the package when a named reference 
-cannot be located in the current namespace. Enabled via the interpreter 
-slack flag, this should eliminate AE_NOT_FOUND exceptions seen on machines 
-that contain such code.
-
-Implemented an optimization to the initialization sequence that can improve 
-boot time. During ACPI device initialization, the _STA method is now run if 
-and only if the _INI method exists. The _STA method is used to determine if 
-the device is present; An _INI can only be run if _STA returns present, but 
-it is a waste of time to run the _STA method if the _INI does not exist. 
-(Prototype and assistance from Dong Wei)
-
-Implemented use of the C99 uintptr_t for the pointer casting macros if it is 
-available in the current compiler. Otherwise, the default (void *) cast is 
-used as before.
-
-Fixed some possible memory leaks found within the execution path of the 
-Break, Continue, If, and CreateField operators. (Valery Podrezov)
-
-Fixed a problem introduced in the 20051202 release where an exception is 
-generated during method execution if a control method attempts to declare 
-another method.
-
-Moved resource descriptor string constants that are used by both the AML 
-disassembler and AML debugger to the common utilities directory so that 
-these components are independent.
-
-Implemented support in the AcpiExec utility (-e switch) to globally ignore 
-exceptions during control method execution (method is not aborted.)
-
-Added the rsinfo.c source file to the AcpiExec makefile for Linux/Unix 
-generation.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
-    Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
-  Current Release:
-    Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
-    Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem where a CPU stack overflow fault could occur if a recursive 
-method call was made from within a Return statement.
-
-----------------------------------------
-02 December 2005. Summary of changes for version 20051202:
-
-1) ACPI CA Core Subsystem:
-
-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).
-
-Fixed a problem with the AcpiExec utility where a fault could occur when the 
--b switch (batch mode) is used.
-
-Enhanced the namespace dump routine to output the owner ID for each 
-namespace object.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
-    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
-  Current Release:
-    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
-    Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a parse error during compilation of certain Switch/Case constructs. To 
-simplify the parse, the grammar now allows for multiple Default statements 
-and this error is now detected and flagged during the analysis phase.
-
-Disassembler: The disassembly now includes the contents of the original 
-table header within a comment at the start of the file. This includes the 
-name and version of the original ASL compiler.
-
-----------------------------------------
-17 November 2005. Summary of changes for version 20051117:
-
-1) ACPI CA Core Subsystem:
-
-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, AcpiGetVendorResource. This interface 
-will find and return a vendor-defined resource descriptor within a _CRS or 
-_PRS method via an ACPI 3.0 UUID match. With assistance 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.
-
-Fixed a problem in the Windows OS interface layer (OSL) where a WAIT_FOREVER 
-on a semaphore object would incorrectly timeout. This allows the 
-multithreading features of the AcpiExec utility to work properly under 
-Windows.
-
-Updated the Linux makefiles for the iASL compiler and AcpiExec to include 
-the recently added file named "utresrc.c".
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
-    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
-  Current Release:
-    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
-    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Removed the limit (200) on string objects as per the upcoming ACPI 3.0A 
-specification. For the iASL compiler, this means that string literals within 
-the source ASL can be of any length. 
-
-Enhanced the listing output to dump the AML code for resource descriptors 
-immediately after the ASL code for each descriptor, instead of in a block at 
-the end of the entire resource template.
-
-Enhanced the compiler debug output to dump the entire original parse tree 
-constructed during the parse phase, before any transforms are applied to the 
-tree. The transformed tree is dumped also.
-
-----------------------------------------
-02 November 2005. Summary of changes for version 20051102:
-
-1) ACPI CA Core Subsystem:
-
-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.
-
-Converted the ACPI internal object disassemble and display code within the 
-AML debugger to fully table-driven operation, reducing code size and 
-increasing maintainability.
-
-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 AcpiWalkNamespace 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.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
-    Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
-  Current Release:
-    Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
-    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with very large initializer lists (more than 4000 elements) 
-for both Buffer and Package objects where the parse stack could overflow.
-
-Enhanced the pre-compile source code scan for non-ASCII characters to ignore 
-characters within comment fields. The scan is now always performed and is no 
-longer optional, detecting invalid characters within a source file 
-immediately rather than during the parse phase or later.
-
-Enhanced the ASL grammar definition to force early reductions on all list-
-style grammar elements so that the overall parse stack usage is greatly 
-reduced. This should improve performance and reduce the possibility of parse 
-stack overflow.
-
-Eliminated all reduce/reduce conflicts in the iASL parser generation. Also, 
-with the addition of a %expected statement, the compiler generates from 
-source with no warnings.
-
-Fixed a possible segment fault in the disassembler if the input filename 
-does not contain a "dot" extension (Thomas Renninger).
-
-----------------------------------------
-21 October 2005. Summary of changes for version 20051021:
-
-1) ACPI CA Core Subsystem:
-
-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. (With assistance from 
-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.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
-    Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
-  Current Release:
-    Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
-    Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
-
-
-
-2) iASL Compiler/Disassembler:
-
-Relaxed a compiler restriction that disallowed a ResourceIndex byte if the 
-corresponding ResourceSource string was not also present in a resource 
-descriptor declaration. This restriction caused problems with existing 
-AML/ASL code that includes the Index byte without the string. When such AML 
-was disassembled, it could not be compiled without modification. Further, 
-the modified code created a resource template with a different size than the 
-original, breaking code that used fixed offsets into the resource template 
-buffer.
-
-Removed a recent feature of the disassembler to ignore a lone ResourceIndex 
-byte. This byte is now emitted if present so that the exact AML can be 
-reproduced when the disassembled code is recompiled.
-
-Improved comments and text alignment for the resource descriptor code 
-emitted by the disassembler.
-
-Implemented disassembler support for the ACPI 3.0 AccessSize field within a 
-Register() resource descriptor.
-
-----------------------------------------
-30 September 2005. Summary of changes for version 20050930:
-
-1) ACPI CA Core Subsystem:
-
-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.) The update may force changes in some 
-driver code, depending on how resources are handled by the host OS.
-
-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, AcpiDebugTrace, 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.
-
-AcpiUtCallocate 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 AcpiUtAllocate.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
-    Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
-  Current Release:
-    Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
-    Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-A remark is issued if the effective compile-time length of a package or 
-buffer is zero. Previously, this was a warning.
-
-----------------------------------------
-16 September 2005. Summary of changes for version 20050916:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem within the Resource Manager where support for the Generic 
-Register descriptor was not fully implemented. This descriptor is now fully 
-recognized, parsed, disassembled, and displayed.
-
-Completely restructured the Resource Manager code to utilize table-driven 
-dispatch and lookup, eliminating many of the large switch() statements. This 
-reduces overall subsystem code size and code complexity. Affects the 
-resource parsing and construction, disassembly, and debug dump output.
-
-Cleaned up and restructured the debug dump output for all resource 
-descriptors. Improved readability of the output and reduced code size.
-
-Fixed a problem where changes to internal data structures caused the 
-optional ACPI_MUTEX_DEBUG code to fail compilation if specified.
-
-Code and Data Size: The current and previous library sizes for the core 
-subsystem are shown below. These are the code and data sizes for the 
-acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
-values do not include any ACPI driver or OSPM code. The debug version of the 
-code includes the debug output trace mechanism and has a much larger code 
-and data size. Note that these values will vary depending on the efficiency 
-of the compiler and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
-    Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
-  Current Release:
-    Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
-    Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Updated the disassembler to automatically insert an EndDependentFn() macro 
-into the ASL stream if this macro is missing in the original AML code, 
-simplifying compilation of the resulting ASL module.
-
-Fixed a problem in the disassembler where a disassembled ResourceSource 
-string (within a large resource descriptor) was not surrounded by quotes and 
-not followed by a comma, causing errors when the resulting ASL module was 
-compiled. Also, escape sequences within a ResourceSource string are now 
-handled correctly (especially "\\")
-
-----------------------------------------
-02 September 2005. Summary of changes for version 20050902:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem with the internal Owner ID allocation and deallocation 
-mechanisms for control method execution and recursive method invocation. 
-This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId" 
-messages seen on some systems. Recursive method invocation depth is 
-currently limited to 255. (Alexey Starikovskiy)
-
-Completely eliminated all vestiges of support for the "module-level 
-executable code" until this support is fully implemented and debugged. This 
-should eliminate the NO_RETURN_VALUE exceptions seen during table load on 
-some systems that invoke this support.
-
-Fixed a problem within the resource manager code where the transaction flags 
-for a 64-bit address descriptor were handled incorrectly in the type-
-specific flag byte.
-
-Consolidated duplicate code within the address descriptor resource manager 
-code, reducing overall subsystem code size.
-
-Fixed a fault when using the AML debugger "disassemble" command to 
-disassemble individual control methods.
-
-Removed references to the "release_current" directory within the Unix 
-release package.
-
-Code and Data Size: The current and previous core subsystem library sizes 
-are shown below. These are the code and data sizes for the acpica.lib 
-produced by the Microsoft Visual C++ 6.0 compiler. These values do not 
-include any ACPI driver or OSPM code. The debug version of the code includes 
-the debug output trace mechanism and has a much larger code and data size. 
-Note that these values will vary depending on the efficiency of the compiler 
-and the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
-    Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
-  Current Release:
-    Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
-    Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented an error check for illegal duplicate values in the interrupt and 
-dma lists for the following ASL macros: Dma(), Irq(), IrqNoFlags(), and 
-Interrupt().
-
-Implemented error checking for the Irq() and IrqNoFlags() macros to detect 
-too many values in the interrupt list (16 max) and invalid values in the 
-list (range 0 - 15)
-
-The maximum length string literal within an ASL file is now restricted to 
-200 characters as per the ACPI specification.
-
-Fixed a fault when using the -ln option (generate namespace listing).
-
-Implemented an error check to determine if a DescriptorName within a 
-resource descriptor has already been used within the current scope.
-
-----------------------------------------
-15 August 2005.  Summary of changes for version 20050815:
- 
-1) ACPI CA Core Subsystem:
- 
-Implemented a full bytewise compare to determine if a table load request is 
-attempting to load a duplicate table. The compare is performed if the table 
-signatures and table lengths match. This will allow different tables with 
-the same OEM Table ID and revision to be loaded - probably against the ACPI 
-specification, but discovered in the field nonetheless.
- 
-Added the changes.txt logfile to each of the zipped release packages.
- 
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
- 
-  Previous Release:
-    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
-    Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
-  Current Release:
-    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
-    Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
- 
- 
-2) iASL Compiler/Disassembler:
- 
-Fixed a problem where incorrect AML code could be generated for Package 
-objects if optimization is disabled (via the -oa switch).
- 
-Fixed a problem with where incorrect AML code is generated for variable-
-length packages when the package length is not specified and the number of 
-initializer values is greater than 255.
- 
-
-----------------------------------------
-29 July 2005.  Summary of changes for version 20050729:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support to ignore an attempt to install/load a particular ACPI 
-table more than once. Apparently there exists BIOS code that repeatedly 
-attempts to load the same SSDT upon certain events. With assistance from 
-Venkatesh Pallipadi.
-
-Restructured the main interface to the AML parser in order to correctly 
-handle all exceptional conditions. This will prevent leakage of the OwnerId 
-resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on some 
-machines. With assistance from Alexey Starikovskiy.
-
-Support for "module level code" has been disabled in this version due to a 
-number of issues that have appeared on various machines. The support can be 
-enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem 
-compilation. When the issues are fully resolved, the code will be enabled by 
-default again.
-
-Modified the internal functions for debug print support to define the 
-FunctionName parameter as a (const char *) for compatibility with compiler 
-built-in macros such as __FUNCTION__, etc.
-
-Linted the entire ACPICA source tree for both 32-bit and 64-bit.
-
-Implemented support to display an object count summary for the AML Debugger 
-commands Object and Methods.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
-    Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
-  Current Release:
-    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
-    Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a regression that appeared in the 20050708 version of the compiler 
-where an error message was inadvertently emitted for invocations of the _OSI 
-reserved control method.
-
-----------------------------------------
-08 July 2005.  Summary of changes for version 20050708:
-
-1) ACPI CA Core Subsystem:
-
-The use of the CPU stack in the debug version of the subsystem has been 
-considerably reduced. Previously, a debug structure was declared in every 
-function that used the debug macros. This structure has been removed in 
-favor of declaring the individual elements as parameters to the debug 
-functions. This reduces the cumulative stack use during nested execution of 
-ACPI function calls at the cost of a small increase in the code size of the 
-debug version of the subsystem. With assistance from Alexey Starikovskiy and 
-Len Brown.
-
-Added the ACPI_GET_FUNCTION_NAME macro to enable the compiler-dependent 
-headers to define a macro that will return the current function name at 
-runtime (such as __FUNCTION__ or _func_, etc.) The function name is used by 
-the debug trace output. If ACPI_GET_FUNCTION_NAME is not defined in the 
-compiler-dependent header, the function name is saved on the CPU stack (one 
-pointer per function.) This mechanism is used because apparently there 
-exists no standard ANSI-C defined macro that that returns the function name.
-
-Redesigned and reimplemented the "Owner ID" mechanism used to track 
-namespace objects created/deleted by ACPI tables and control method 
-execution. A bitmap is now used to allocate and free the IDs, thus solving 
-the wraparound problem present in the previous implementation. The size of 
-the namespace node descriptor was reduced by 2 bytes as a result (Alexey 
-Starikovskiy).
-
-Removed the UINT32_BIT and UINT16_BIT types that were used for the bitfield 
-flag definitions within the headers for the predefined ACPI tables. These 
-have been replaced by UINT8_BIT in order to increase the code portability of 
-the subsystem. If the use of UINT8 remains a problem, we may be forced to 
-eliminate bitfields entirely because of a lack of portability.
-
-Enhanced the performance of the AcpiUtUpdateObjectReference procedure. This 
-is a frequently used function and this improvement increases the performance 
-of the entire subsystem (Alexey Starikovskiy).
-
-Fixed several possible memory leaks and the inverse - premature object 
-deletion (Alexey Starikovskiy).
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
-    Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
-  Current Release:
-    Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
-    Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
-
-----------------------------------------
-24 June 2005.  Summary of changes for version 20050624:
-
-1) ACPI CA Core Subsystem:
-
-Modified the new OSL cache interfaces to use ACPI_CACHE_T as the type for 
-the host-defined cache object. This allows the OSL implementation to define 
-and type this object in any manner desired, simplifying the OSL 
-implementation. For example, ACPI_CACHE_T is defined as kmem_cache_t for 
-Linux, and should be defined in the OS-specific header file for other 
-operating systems as required.
-
-Changed the interface to AcpiOsAcquireObject to directly return the 
-requested object as the function return (instead of ACPI_STATUS.) This 
-change was made for performance reasons, since this is the purpose of the 
-interface in the first place. AcpiOsAcquireObject is now similar to the 
-AcpiOsAllocate interface.
-
-Implemented a new AML debugger command named Businfo. This command displays 
-information about all devices that have an associate _PRT object. The _ADR, 
-_HID, _UID, and _CID are displayed for these devices.
-
-Modified the initialization sequence in AcpiInitializeSubsystem to call the 
-OSL interface AcpiOslInitialize first, before any local initialization. This 
-change was required because the global initialization now calls OSL 
-interfaces.
-
-Enhanced the Dump command to display the entire contents of Package objects 
-(including all sub-objects and their values.) 
-
-Restructured the code base to split some files because of size and/or 
-because the code logically belonged in a separate file. New files are listed 
-below. All makefiles and project files included in the ACPI CA release have 
-been updated.
-    utilities/utcache.c           /* Local cache interfaces */
-    utilities/utmutex.c           /* Local mutex support */
-    utilities/utstate.c           /* State object support */
-    interpreter/parser/psloop.c   /* Main AML parse loop */
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
-    Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
-  Current Release:
-    Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
-    Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a regression introduced in version 20050513 where the use of a Package 
-object within a Case() statement caused a compile time exception. The 
-original behavior has been restored (a Match() operator is emitted.)
-
-----------------------------------------
-17 June 2005.  Summary of changes for version 20050617:
-
-1) ACPI CA Core Subsystem:
-
-Moved the object cache operations into the OS interface layer (OSL) to allow 
-the host OS to handle these operations if desired (for example, the Linux 
-OSL will invoke the slab allocator). This support is optional; the compile 
-time define ACPI_USE_LOCAL_CACHE may be used to utilize the original cache 
-code in the ACPI CA core. The new OSL interfaces are shown below. See 
-utalloc.c for an example implementation, and acpiosxf.h for the exact 
-interface definitions. With assistance from Alexey Starikovskiy.
-    AcpiOsCreateCache
-    AcpiOsDeleteCache
-    AcpiOsPurgeCache
-    AcpiOsAcquireObject
-    AcpiOsReleaseObject
-
-Modified the interfaces to AcpiOsAcquireLock and AcpiOsReleaseLock to return 
-and restore a flags parameter. This fits better with many OS lock models. 
-Note: the current execution state (interrupt handler or not) is no longer 
-passed to these interfaces. If necessary, the OSL must determine this state 
-by itself, a simple and fast operation. With assistance from Alexey 
-Starikovskiy.
-
-Fixed a problem in the ACPI table handling where a valid XSDT was assumed 
-present if the revision of the RSDP was 2 or greater. According to the ACPI 
-specification, the XSDT is optional in all cases, and the table manager 
-therefore now checks for both an RSDP >=2 and a valid XSDT pointer. 
-Otherwise, the RSDT pointer is used. Some ACPI 2.0 compliant BIOSs contain 
-only the RSDT.
-
-Fixed an interpreter problem with the Mid() operator in the case of an input 
-string where the resulting output string is of zero length. It now correctly 
-returns a valid, null terminated string object instead of a string object 
-with a null pointer.
-
-Fixed a problem with the control method argument handling to allow a store 
-to an Arg object that already contains an object of type Device. The Device 
-object is now correctly overwritten. Previously, an error was returned.
-
-
-Enhanced the debugger Find command to emit object values in addition to the 
-found object pathnames. The output format is the same as the dump namespace 
-command.
-
-Enhanced the debugger Set command. It now has the ability to set the value 
-of any Named integer object in the namespace (Previously, only method locals 
-and args could be set.)
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
-    Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
-    Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a regression in the disassembler where if/else/while constructs were 
-output incorrectly. This problem was introduced in the previous release 
-(20050526). This problem also affected the single-step disassembly in the 
-debugger.
-
-Fixed a problem where compiling the reserved _OSI method would randomly (but 
-rarely) produce compile errors.
-
-Enhanced the disassembler to emit compilable code in the face of incorrect 
-AML resource descriptors. If the optional ResourceSourceIndex is present, 
-but the ResourceSource is not, do not emit the ResourceSourceIndex in the 
-disassembly. Otherwise, the resulting code cannot be compiled without 
-errors.
-
-----------------------------------------
-26 May 2005.  Summary of changes for version 20050526:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support to execute Type 1 and Type 2 AML opcodes appearing at 
-the module level (not within a control method.) These opcodes are executed 
-exactly once at the time the table is loaded. This type of code was legal up 
-until the release of ACPI 2.0B (2002) and is now supported within ACPI CA in 
-order to provide backwards compatibility with earlier BIOS implementations. 
-This eliminates the "Encountered executable code at module level" warning 
-that was previously generated upon detection of such code.
-
-Fixed a problem in the interpreter where an AE_NOT_FOUND exception could 
-inadvertently be generated during the lookup of namespace objects in the 
-second pass parse of ACPI tables and control methods. It appears that this 
-problem could occur during the resolution of forward references to namespace 
-objects.
-
-Added the ACPI_MUTEX_DEBUG #ifdef to the AcpiUtReleaseMutex function, 
-corresponding to the same #ifdef in the AcpiUtAcquireMutex function. This 
-allows the deadlock detection debug code to be compiled out in the normal 
-case, improving mutex performance (and overall subsystem performance) 
-considerably.
-
-Implemented a handful of miscellaneous fixes for possible memory leaks on 
-error conditions and error handling control paths. These fixes were 
-suggested by FreeBSD and the Coverity Prevent source code analysis tool.
-
-Added a check for a null RSDT pointer in AcpiGetFirmwareTable (tbxfroot.c) 
-to prevent a fault in this error case.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
-    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
-  Current Release:
-    Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
-    Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support to allow Type 1 and Type 2 ASL operators to appear at 
-the module level (not within a control method.) These operators will be 
-executed once at the time the table is loaded. This type of code was legal 
-up until the release of ACPI 2.0B (2002) and is now supported by the iASL 
-compiler in order to provide backwards compatibility with earlier BIOS ASL 
-code.
-
-The ACPI integer width (specified via the table revision ID or the -r 
-override, 32 or 64 bits) is now used internally during compile-time constant 
-folding to ensure that constants are truncated to 32 bits if necessary. 
-Previously, the revision ID value was only emitted in the AML table header.
-
-An error message is now generated for the Mutex and Method operators if the 
-SyncLevel parameter is outside the legal range of 0 through 15.
-
-Fixed a problem with the Method operator ParameterTypes list handling (ACPI 
-3.0). Previously, more than 2 types or 2 arguments generated a syntax error.  
-The actual underlying implementation of method argument typechecking is 
-still under development, however.
-
-----------------------------------------
-13 May 2005.  Summary of changes for version 20050513:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for PCI Express root bridges -- added support for device 
-PNP0A08 in the root bridge search within AcpiEvPciConfigRegionSetup.
-
-The interpreter now automatically truncates incoming 64-bit constants to 32 
-bits if currently executing out of a 32-bit ACPI table (Revision < 2). This 
-also affects the iASL compiler constant folding. (Note: as per below, the 
-iASL compiler no longer allows 64-bit constants within 32-bit tables.)
-
-Fixed a problem where string and buffer objects with "static" pointers 
-(pointers to initialization data within an ACPI table) were not handled 
-consistently. The internal object copy operation now always copies the data 
-to a newly allocated buffer, regardless of whether the source object is 
-static or not.
-
-Fixed a problem with the FromBCD operator where an implicit result 
-conversion was improperly performed while storing the result to the target 
-operand. Since this is an "explicit conversion" operator, the implicit 
-conversion should never be performed on the output.
-
-Fixed a problem with the CopyObject operator where a copy to an existing 
-named object did not always completely overwrite the existing object stored 
-at name. Specifically, a buffer-to-buffer copy did not delete the existing 
-buffer.
-
-Replaced "InterruptLevel" with "InterruptNumber" in all GPE interfaces and 
-structs for consistency.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
-    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
-  Current Release: (Same sizes)
-    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
-    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
-
-
-2) iASL Compiler/Disassembler:
-
-The compiler now emits a warning if an attempt is made to generate a 64-bit 
-integer constant from within a 32-bit ACPI table (Revision < 2). The integer 
-is truncated to 32 bits.
-
-Fixed a problem with large package objects: if the static length of the 
-package is greater than 255, the "variable length package" opcode is 
-emitted. Previously, this caused an error. This requires an update to the 
-ACPI spec, since it currently (incorrectly) states that packages larger than 
-255 elements are not allowed.
-
-The disassembler now correctly handles variable length packages and packages 
-larger than 255 elements.
-
-----------------------------------------
-08 April 2005.  Summary of changes for version 20050408:
-
-1) ACPI CA Core Subsystem:
-
-Fixed three cases in the interpreter where an "index" argument to an ASL 
-function was still (internally) 32 bits instead of the required 64 bits. 
-This was the Index argument to the Index, Mid, and Match operators.
-
-The "strupr" function is now permanently local (AcpiUtStrupr), since this is 
-not a POSIX-defined function and not present in most kernel-level C 
-libraries. All references to the C library strupr function have been removed 
-from the headers.
-
-Completed the deployment of static functions/prototypes. All prototypes with 
-the static attribute have been moved from the headers to the owning C file.
-
-Implemented an extract option (-e) for the AcpiBin utility (AML binary 
-utility). This option allows the utility to extract individual ACPI tables 
-from the output of AcpiDmp. It provides the same functionality of the 
-acpixtract.pl perl script without the worry of setting the correct perl 
-options. AcpiBin runs on Windows and has not yet been generated/validated in 
-the Linux/Unix environment (but should be soon).
- 
-Updated and fixed the table dump option for AcpiBin (-d). This option 
-converts a single ACPI table to a hex/ascii file, similar to the output of 
-AcpiDmp.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
-    Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
-  Current Release:
-    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
-    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Disassembler fix: Added a check to ensure that the table length found in the 
-ACPI table header within the input file is not longer than the actual input 
-file size. This indicates some kind of file or table corruption.
-
-----------------------------------------
-29 March 2005.  Summary of changes for version 20050329:
-
-1) ACPI CA Core Subsystem:
-
-An error is now generated if an attempt is made to create a Buffer Field of 
-length zero (A CreateField with a length operand of zero.)
-
-The interpreter now issues a warning whenever executable code at the module 
-level is detected during ACPI table load. This will give some idea of the 
-prevalence of this type of code.
-
-Implemented support for references to named objects (other than control 
-methods) within package objects.
-
-Enhanced package object output for the debug object. Package objects are now 
-completely dumped, showing all elements.
-
-Enhanced miscellaneous object output for the debug object. Any object can 
-now be written to the debug object (for example, a device object can be 
-written, and the type of the object will be displayed.)
-
-The "static" qualifier has been added to all local functions across both the 
-core subsystem and the iASL compiler.
-
-The number of "long" lines (> 80 chars) within the source has been 
-significantly reduced, by about 1/3.
-
-Cleaned up all header files to ensure that all CA/iASL functions are 
-prototyped (even static functions) and the formatting is consistent.
-
-Two new header files have been added, acopcode.h and acnames.h.
-
-Removed several obsolete functions that were no longer used.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
-    Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
-    Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
-
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with the resource descriptor generation/support. For the 
-ResourceSourceIndex and the ResourceSource fields, both must be present, or 
-both must be not present - can't have one without the other.
-
-The compiler now returns non-zero from the main procedure if any errors have 
-occurred during the compilation.
-
-
-----------------------------------------
-09 March 2005.  Summary of changes for version 20050309:
-
-1) ACPI CA Core Subsystem:
-
-The string-to-buffer implicit conversion code has been modified again after 
-a change to the ACPI specification.  In order to match the behavior of the 
-other major ACPI implementation, the target buffer is no longer truncated if 
-the source string is smaller than an existing target buffer. This change 
-requires an update to the ACPI spec, and should eliminate the recent 
-AE_AML_BUFFER_LIMIT issues.
-
-The "implicit return" support was rewritten to a new algorithm that solves 
-the general case. Rather than attempt to determine when a method is about to 
-exit, the result of every ASL operator is saved momentarily until the very 
-next ASL operator is executed. Therefore, no matter how the method exits, 
-there will always be a saved implicit return value. This feature is only 
-enabled with the AcpiGbl_EnableInterpreterSlack flag, and should eliminate 
-AE_AML_NO_RETURN_VALUE errors when enabled.
-
-Implemented implicit conversion support for the predicate (operand) of the 
-If, Else, and While operators. String and Buffer arguments are automatically 
-converted to Integers.
-
-Changed the string-to-integer conversion behavior to match the new ACPI 
-errata: "If no integer object exists, a new integer is created. The ASCII 
-string is interpreted as a hexadecimal constant. Each string character is 
-interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting 
-with the first character as the most significant digit, and ending with the 
-first non-hexadecimal character or end-of-string." This means that the first 
-non-hex character terminates the conversion and this is the code that was 
-changed.
-
-Fixed a problem where the ObjectType operator would fail (fault) when used 
-on an Index of a Package which pointed to a null package element. The 
-operator now properly returns zero (Uninitialized) in this case.
-
-Fixed a problem where the While operator used excessive memory by not 
-properly popping the result stack during execution. There was no memory leak 
-after execution, however. (Code provided by Valery Podrezov.)
-
-Fixed a problem where references to control methods within Package objects 
-caused the method to be invoked, instead of producing a reference object 
-pointing to the method.
-
-Restructured and simplified the pswalk.c module (AcpiPsDeleteParseTree) to 
-improve performance and reduce code size. (Code provided by Alexey 
-Starikovskiy.)
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
-    Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
-    Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with the Return operator with no arguments. Since the AML 
-grammar for the byte encoding requires an operand for the Return opcode, the 
-compiler now emits a Return(Zero) for this case.  An ACPI specification 
-update has been written for this case.
-
-For tables other than the DSDT, namepath optimization is automatically 
-disabled. This is because SSDTs can be loaded anywhere in the namespace, the 
-compiler has no knowledge of where, and thus cannot optimize namepaths.
-
-Added "ProcessorObj" to the ObjectTypeKeyword list. This object type was 
-inadvertently omitted from the ACPI specification, and will require an 
-update to the spec.
-
-The source file scan for ASCII characters is now optional (-a). This change 
-was made because some vendors place non-ascii characters within comments. 
-However, the scan is simply a brute-force byte compare to ensure all 
-characters in the file are in the range 0x00 to 0x7F.
-
-Fixed a problem with the CondRefOf operator where the compiler was 
-inappropriately checking for the existence of the target. Since the point of 
-the operator is to check for the existence of the target at run-time, the 
-compiler no longer checks for the target existence.
-
-Fixed a problem where errors generated from the internal AML interpreter 
-during constant folding were not handled properly, causing a fault.
-
-Fixed a problem with overly aggressive range checking for the Stall 
-operator. The valid range (max 255) is now only checked if the operand is of 
-type Integer. All other operand types cannot be statically checked.
-
-Fixed a problem where control method references within the RefOf, DeRefOf, 
-and ObjectType operators were not treated properly. They are now treated as 
-actual references, not method invocations.
-
-Fixed and enhanced the "list namespace" option (-ln). This option was broken 
-a number of releases ago.
-
-Improved error handling for the Field, IndexField, and BankField operators. 
-The compiler now cleanly reports and recovers from errors in the field 
-component (FieldUnit) list.
-
-Fixed a disassembler problem where the optional ResourceDescriptor fields 
-TRS and TTP were not always handled correctly.
-
-Disassembler - Comments in output now use "//" instead of "/*"
-
-----------------------------------------
-28 February 2005.  Summary of changes for version 20050228:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where the result of an Index() operator (an object 
-reference) must increment the reference count on the target object for the 
-life of the object reference.
-
-Implemented AML Interpreter and Debugger support for the new ACPI 3.0 
-Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and WordSpace 
-resource descriptors.
-
-Implemented support in the _OSI method for the ACPI 3.0 "Extended Address 
-Space Descriptor" string, indicating interpreter support for the descriptors 
-above.
-
-Implemented header support for the new ACPI 3.0 FADT flag bits.
-
-Implemented header support for the new ACPI 3.0 PCI Express bits for the PM1 
-status/enable registers.
-
-Updated header support for the MADT processor local Apic struct and MADT 
-platform interrupt source struct for new ACPI 3.0 fields.
-
-Implemented header support for the SRAT and SLIT ACPI tables.
-
-Implemented the -s switch in AcpiExec to enable the "InterpreterSlack" flag 
-at runtime.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
-    Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
-    Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with the internal 64-bit String-to-integer conversion with 
-strings less than two characters long.
-
-Fixed a problem with constant folding where the result of the Index() 
-operator can not be considered a constant. This means that Index() cannot be 
-a type3 opcode and this will require an update to the ACPI specification.
-
-Disassembler: Implemented support for the TTP, MTP, and TRS resource 
-descriptor fields. These fields were inadvertently ignored and not output in 
-the disassembly of the resource descriptor.
-
-
- ----------------------------------------
-11 February 2005.  Summary of changes for version 20050211:
-
-1) ACPI CA Core Subsystem:
-
-Implemented ACPI 3.0 support for implicit conversion within the Match() 
-operator. MatchObjects can now be of type integer, buffer, or string instead 
-of just type integer.  Package elements are implicitly converted to the type 
-of the MatchObject. This change aligns the behavior of Match() with the 
-behavior of the other logical operators (LLess(), etc.) It also requires an 
-errata change to the ACPI specification as this support was intended for 
-ACPI 3.0, but was inadvertently omitted.
-
-Fixed a problem with the internal implicit "to buffer" conversion. Strings 
-that are converted to buffers will cause buffer truncation if the string is 
-smaller than the target buffer. Integers that are converted to buffers will 
-not cause buffer truncation, only zero extension (both as per the ACPI 
-spec.) The problem was introduced when code was added to truncate the 
-buffer, but this should not be performed in all cases, only the string case.
-
-Fixed a problem with the Buffer and Package operators where the interpreter 
-would get confused if two such operators were used as operands to an ASL 
-operator (such as LLess(Buffer(1){0},Buffer(1){1}). The internal result 
-stack was not being popped after the execution of these operators, resulting 
-in an AE_NO_RETURN_VALUE exception.
-
-Fixed a problem with constructs of the form Store(Index(...),...). The 
-reference object returned from Index was inadvertently resolved to an actual 
-value. This problem was introduced in version 20050114 when the behavior of 
-Store() was modified to restrict the object types that can be used as the 
-source operand (to match the ACPI specification.)
-
-Reduced excessive stack use within the AcpiGetObjectInfo procedure.
-
-Added a fix to aclinux.h to allow generation of AcpiExec on Linux.
-
-Updated the AcpiSrc utility to add the FADT_DESCRIPTOR_REV2_MINUS struct.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.1K Code, 11.5K Data,  89.6K Total
-    Debug Version:     164.8K Code, 69.2K Data, 234.0K Total
-  Current Release:
-    Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
-    Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a code generation problem in the constant folding optimization code 
-where incorrect code was generated if a constant was reduced to a buffer 
-object (i.e., a reduced type 5 opcode.)
-
-Fixed a typechecking problem for the ToBuffer operator. Caused by an 
-incorrect return type in the internal opcode information table.
-
-----------------------------------------
-25 January 2005.  Summary of changes for version 20050125:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a recently introduced problem with the Global Lock where the 
-underlying semaphore was not created.  This problem was introduced in 
-version 20050114, and caused an AE_AML_NO_OPERAND exception during an 
-Acquire() operation on _GL.
-
-The local object cache is now optional, and is disabled by default. Both 
-AcpiExec and the iASL compiler enable the cache because they run in user 
-mode and this enhances their performance. #define ACPI_ENABLE_OBJECT_CACHE 
-to enable the local cache.
-
-Fixed an issue in the internal function AcpiUtEvaluateObject concerning the 
-optional "implicit return" support where an error was returned if no return 
-object was expected, but one was implicitly returned. AE_OK is now returned 
-in this case and the implicitly returned object is deleted. 
-AcpiUtEvaluateObject is only occasionally used, and only to execute reserved 
-methods such as _STA and _INI where the return type is known up front.
-
-Fixed a few issues with the internal convert-to-integer code. It now returns 
-an error if an attempt is made to convert a null string, a string of only 
-blanks/tabs, or a zero-length buffer. This affects both implicit conversion 
-and explicit conversion via the ToInteger() operator.
-
-The internal debug code in AcpiUtAcquireMutex has been commented out. It is 
-not needed for normal operation and should increase the performance of the 
-entire subsystem. The code remains in case it is needed for debug purposes 
-again.
-
-The AcpiExec source and makefile are included in the Unix/Linux package for 
-the first time.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
-    Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
-  Current Release:
-    Non-Debug Version:  78.1K Code,  11.5K Data,   89.6K Total
-    Debug Version:     164.8K Code,  69.2K Data,  234.0K Total
-
-2) iASL Compiler/Disassembler:
-
-Switch/Case support: A warning is now issued if the type of the Switch value 
-cannot be determined at compile time. For example, Switch(Arg0) will 
-generate the warning, and the type is assumed to be an integer. As per the 
-ACPI spec, use a construct such as Switch(ToInteger(Arg0)) to eliminate the 
-warning.
-
-Switch/Case support: Implemented support for buffer and string objects as 
-the switch value.  This is an ACPI 3.0 feature, now that LEqual supports 
-buffers and strings.
-
-Switch/Case support: The emitted code for the LEqual() comparisons now uses 
-the switch value as the first operand, not the second. The case value is now 
-the second operand, and this allows the case value to be implicitly 
-converted to the type of the switch value, not the other way around.
-
-Switch/Case support: Temporary variables are now emitted immediately within 
-the control method, not at the global level. This means that there are now 
-36 temps available per-method, not 36 temps per-module as was the case with 
-the earlier implementation (_T_0 through _T_9 and _T_A through _T_Z.)
-
-----------------------------------------
-14 January 2005.  Summary of changes for version 20050114:
-
-Added 2005 copyright to all module headers.  This affects every module in 
-the core subsystem, iASL compiler, and the utilities.
-
-1) ACPI CA Core Subsystem:
-
-Fixed an issue with the String-to-Buffer conversion code where the string 
-null terminator was not included in the buffer after conversion, but there 
-is existing ASL that assumes the string null terminator is included. This is 
-the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was 
-introduced in the previous version when the code was updated to correctly 
-set the converted buffer size as per the ACPI specification. The ACPI spec 
-is ambiguous and will be updated to specify that the null terminator must be 
-included in the converted buffer. This also affects the ToBuffer() ASL 
-operator.
-
-Fixed a problem with the Mid() ASL/AML operator where it did not work 
-correctly on Buffer objects. Newly created sub-buffers were not being marked 
-as initialized.
-
-
-Fixed a problem in AcpiTbFindTable where incorrect string compares were 
-performed on the OemId and OemTableId table header fields.  These fields are 
-not null terminated, so strncmp is now used instead of strcmp.
-
-Implemented a restriction on the Store() ASL/AML operator to align the 
-behavior with the ACPI specification.  Previously, any object could be used 
-as the source operand.  Now, the only objects that may be used are Integers, 
-Buffers, Strings, Packages, Object References, and DDB Handles.  If 
-necessary, the original behavior can be restored by enabling the 
-EnableInterpreterSlack flag.
-
-Enhanced the optional "implicit return" support to allow an implicit return 
-value from methods that are invoked externally via the AcpiEvaluateObject 
-interface.  This enables implicit returns from the _STA and _INI methods, 
-for example.
-
-Changed the Revision() ASL/AML operator to return the current version of the 
-AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned 
-the supported ACPI version (This is the function of the _REV method).
-
-Updated the _REV predefined method to return the currently supported version 
-of ACPI, now 3.
-
-Implemented batch mode option for the AcpiExec utility (-b).
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
-    Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
-  Current Release:
-    Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
-    Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
-
-----------------------------------------
-10 December 2004.  Summary of changes for version 20041210:
-
-ACPI 3.0 support is nearing completion in both the iASL compiler and the 
-ACPI CA core subsystem.
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem in the ToDecimalString operator where the resulting string 
-length was incorrectly calculated. The length is now calculated exactly, 
-eliminating incorrect AE_STRING_LIMIT exceptions.
-
-Fixed a problem in the ToHexString operator to allow a maximum 200 character 
-string to be produced.
-
-Fixed a problem in the internal string-to-buffer and buffer-to-buffer copy 
-routine where the length of the resulting buffer was not truncated to the 
-new size (if the target buffer already existed).
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
-    Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
-    Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented the new ACPI 3.0 resource template macros - DWordSpace, 
-ExtendedIO, ExtendedMemory, ExtendedSpace, QWordSpace, and WordSpace. 
-Includes support in the disassembler.
-
-Implemented support for the new (ACPI 3.0) parameter to the Register macro, 
-AccessSize.
-
-Fixed a problem where the _HE resource name for the Interrupt macro was 
-referencing bit 0 instead of bit 1.
-
-Implemented check for maximum 255 interrupts in the Interrupt macro.
-
-Fixed a problem with the predefined resource descriptor names where 
-incorrect AML code was generated if the offset within the resource buffer 
-was 0 or 1.  The optimizer shortened the AML code to a single byte opcode 
-but did not update the surrounding package lengths.
-
-Changes to the Dma macro:  All channels within the channel list must be in 
-the range 0-7.  Maximum 8 channels can be specified. BusMaster operand is 
-optional (default is BusMaster).
-
-Implemented check for maximum 7 data bytes for the VendorShort macro.
-
-The ReadWrite parameter is now optional for the Memory32 and similar macros.
-
-----------------------------------------
-03 December 2004.  Summary of changes for version 20041203:
-
-1) ACPI CA Core Subsystem:
-
-The low-level field insertion/extraction code (exfldio) has been completely 
-rewritten to eliminate unnecessary complexity, bugs, and boundary 
-conditions.
-
-Fixed a problem in the ToInteger, ToBuffer, ToHexString, and ToDecimalString 
-operators where the input operand could be inadvertently deleted if no 
-conversion was necessary (e.g., if the input to ToInteger was an Integer 
-object.)
-
-Fixed a problem with the ToDecimalString and ToHexString where an incorrect 
-exception code was returned if the resulting string would be > 200 chars.  
-AE_STRING_LIMIT is now returned.
-
-Fixed a problem with the Concatenate operator where AE_OK was always 
-returned, even if the operation failed.
-
-Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128 
-semaphores to be allocated.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
-    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
-  Current Release:
-    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
-    Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed typechecking for the ObjectType and SizeOf operators.  Problem was 
-recently introduced in 20041119.
-
-Fixed a problem with the ToUUID macro where the upper nybble of each buffer 
-byte was inadvertently set to zero.
-
-----------------------------------------
-19 November 2004.  Summary of changes for version 20041119:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem in the internal ConvertToInteger routine where new integers 
-were not truncated to 32 bits for 32-bit ACPI tables. This routine converts 
-buffers and strings to integers.
-
-Implemented support to store a value to an Index() on a String object. This 
-is an ACPI 2.0 feature that had not yet been implemented.
-
-Implemented new behavior for storing objects to individual package elements 
-(via the Index() operator). The previous behavior was to invoke the implicit 
-conversion rules if an object was already present at the index.  The new 
-behavior is to simply delete any existing object and directly store the new 
-object. Although the ACPI specification seems unclear on this subject, other 
-ACPI implementations behave in this manner.  (This is the root of the 
-AE_BAD_HEX_CONSTANT issue.)
-
-Modified the RSDP memory scan mechanism to support the extended checksum for 
-ACPI 2.0 (and above) RSDPs. Note that the search continues until a valid 
-RSDP signature is found with a valid checksum.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
-    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
-  Current Release:
-    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
-    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a missing semicolon in the aslcompiler.y file.
-
-----------------------------------------
-05 November 2004.  Summary of changes for version 20041105:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for FADT revision 2.  This was an interim table (between 
-ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register.
-
-Implemented optional support to allow uninitialized LocalX and ArgX 
-variables in a control method.  The variables are initialized to an Integer 
-object with a value of zero.  This support is enabled by setting the 
-AcpiGbl_EnableInterpreterSlack flag to TRUE.
-
-Implemented support for Integer objects for the SizeOf operator.  Either 4 
-or 8 is returned, depending on the current integer size (32-bit or 64-bit, 
-depending on the parent table revision).
-
-Fixed a problem in the implementation of the SizeOf and ObjectType operators 
-where the operand was resolved to a value too early, causing incorrect 
-return values for some objects.
-
-Fixed some possible memory leaks during exceptional conditions.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
-    Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
-  Current Release:
-    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
-    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support for all ACPI 3.0 reserved names and methods.
-
-Implemented all ACPI 3.0 grammar elements in the front-end, including 
-support for semicolons.
-
-Implemented the ACPI 3.0 Function() and ToUUID() macros
-
-Fixed a problem in the disassembler where a Scope() operator would not be 
-emitted properly if the target of the scope was in another table.
-
-----------------------------------------
-15 October 2004.  Summary of changes for version 20041015:
-
-Note:  ACPI CA is currently undergoing an in-depth and complete formal 
-evaluation to test/verify the following areas. Other suggestions are 
-welcome. This will result in an increase in the frequency of releases and 
-the number of bug fixes in the next few months.
-  - Functional tests for all ASL/AML operators
-  - All implicit/explicit type conversions
-  - Bit fields and operation regions
-  - 64-bit math support and 32-bit-only "truncated" math support
-  - Exceptional conditions, both compiler and interpreter
-  - Dynamic object deletion and memory leaks
-  - ACPI 3.0 support when implemented
-  - External interfaces to the ACPI subsystem
-
-
-1) ACPI CA Core Subsystem:
-
-Fixed two alignment issues on 64-bit platforms - within debug statements in 
-AcpiEvGpeDetect and AcpiEvCreateGpeBlock. Removed references to the Address 
-field within the non-aligned ACPI generic address structure.
-
-Fixed a problem in the Increment and Decrement operators where incorrect 
-operand resolution could result in the inadvertent modification of the 
-original integer when the integer is passed into another method as an 
-argument and the arg is then incremented/decremented.
-
-Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit 
-BCD number were truncated during conversion.
-
-Fixed a problem in the ToDecimal operator where the length of the resulting 
-string could be set incorrectly too long if the input operand was a Buffer 
-object.
-
-Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0) 
-within a buffer would prematurely terminate a compare between buffer 
-objects.
-
-Added a check for string overflow (>200 characters as per the ACPI 
-specification) during the Concatenate operator with two string operands.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
-    Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
-    Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
-
-
-
-2) iASL Compiler/Disassembler:
-
-Allow the use of the ObjectType operator on uninitialized Locals and Args 
-(returns 0 as per the ACPI specification).
-
-Fixed a problem where the compiler would fault if there was a syntax error 
-in the FieldName of all of the various CreateXXXField operators.
-
-Disallow the use of lower case letters within the EISAID macro, as per the 
-ACPI specification.  All EISAID strings must be of the form "UUUNNNN" Where 
-U is an uppercase letter and N is a hex digit.
-
-
-----------------------------------------
-06 October 2004.  Summary of changes for version 20041006:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for the ACPI 3.0 Timer operator. This ASL function 
-implements a 64-bit timer with 100 nanosecond granularity.
-
-Defined a new OSL interface, AcpiOsGetTimer. This interface is used to 
-implement the ACPI 3.0 Timer operator.  This allows the host OS to implement 
-the timer with the best clock available. Also, it keeps the core subsystem 
-out of the clock handling business, since the host OS (usually) performs 
-this function.
-
-Fixed an alignment issue on 64-bit platforms. The HwLowLevelRead(Write) 
-functions use a 64-bit address which is part of the packed ACPI Generic 
-Address Structure. Since the structure is non-aligned, the alignment macros 
-are now used to extract the address to a local variable before use.
-
-Fixed a problem where the ToInteger operator assumed all input strings were 
-hexadecimal. The operator now handles both decimal strings and hex strings 
-(prefixed with "0x").
-
-Fixed a problem where the string length in the string object created as a 
-result of the internal ConvertToString procedure could be incorrect. This 
-potentially affected all implicit conversions and also the ToDecimalString 
-and ToHexString operators.
-
-Fixed two problems in the ToString operator. If the length parameter was 
-zero, an incorrect string object was created and the value of the input 
-length parameter was inadvertently changed from zero to Ones.
-
-Fixed a problem where the optional ResourceSource string in the ExtendedIRQ 
-resource macro was ignored.
-
-Simplified the interfaces to the internal division functions, reducing code 
-size and complexity.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
-    Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
-  Current Release:
-    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
-    Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support for the ACPI 3.0 Timer operator.
-
-Fixed a problem where the Default() operator was inadvertently ignored in a 
-Switch/Case block.  This was a problem in the translation of the Switch 
-statement to If...Else pairs.
-
-Added support to allow a standalone Return operator, with no parentheses (or 
-operands).
-
-Fixed a problem with code generation for the ElseIf operator where the 
-translated Else...If parse tree was improperly constructed leading to the 
-loss of some code.
-
-----------------------------------------
-22 September 2004.  Summary of changes for version 20040922:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem with the implementation of the LNot() operator where "Ones" 
-was not returned for the TRUE case. Changed the code to return Ones instead 
-of (!Arg) which was usually 1. This change affects iASL constant folding for 
-this operator also.
-
-Fixed a problem in AcpiUtInitializeBuffer where an existing buffer was not 
-initialized properly -- Now zero the entire buffer in this case where the 
-buffer already exists.
-
-Changed the interface to AcpiOsSleep from (UINT32 Seconds, UINT32 
-Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all 
-related code considerably. This will require changes/updates to all OS 
-interface layers (OSLs.)
-
-Implemented a new external interface, AcpiInstallExceptionHandler, to allow 
-a system exception handler to be installed. This handler is invoked upon any 
-run-time exception that occurs during control method execution.
-
-Added support for the DSDT in AcpiTbFindTable. This allows the 
-DataTableRegion() operator to access the local copy of the DSDT.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below. These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code. The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size. Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
-    Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
-    Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem with constant folding and the LNot operator. LNot was 
-returning 1 in the TRUE case, not Ones as per the ACPI specification. This 
-could result in the generation of an incorrect folded/reduced constant.
-
-End-Of-File is now allowed within a "//"-style comment.  A parse error no 
-longer occurs if such a comment is at the very end of the input ASL source 
-file.
-
-Implemented the "-r" option to override the Revision in the table header. 
-The initial use of this option will be to simplify the evaluation of the AML 
-interpreter by allowing a single ASL source module to be compiled for either 
-32-bit or 64-bit integers.
-
-
-----------------------------------------
-27 August 2004.  Summary of changes for version 20040827:
-
-1) ACPI CA Core Subsystem:
-
-- Implemented support for implicit object conversion in the non-numeric 
-logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and 
-LNotEqual.)  Any combination of Integers/Strings/Buffers may now be used; 
-the second operand is implicitly converted on the fly to match the type of 
-the first operand.  For example:
-
-    LEqual (Source1, Source2)
-
-Source1 and Source2 must each evaluate to an integer, a string, or a buffer. 
-The data type of Source1 dictates the required type of Source2. Source2 is 
-implicitly converted if necessary to match the type of Source1.
-
-- Updated and corrected the behavior of the string conversion support.  The 
-rules concerning conversion of buffers to strings (according to the ACPI 
-specification) are as follows:
-
-ToDecimalString - explicit byte-wise conversion of buffer to string of 
-decimal values (0-255) separated by commas. ToHexString - explicit byte-wise 
-conversion of buffer to string of hex values (0-FF) separated by commas. 
-ToString - explicit byte-wise conversion of buffer to string.  Byte-by-byte 
-copy with no transform except NULL terminated. Any other implicit buffer-to-
-string conversion - byte-wise conversion of buffer to string of hex values 
-(0-FF) separated by spaces.
-
-- Fixed typo in definition of AcpiGbl_EnableInterpreterSlack.
-
-- Fixed a problem in AcpiNsGetPathnameLength where the returned length was 
-one byte too short in the case of a node in the root scope.  This could 
-cause a fault during debug output.
-
-- Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
-    Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
-  Current Release:
-    Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
-    Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
-
-
-2) iASL Compiler/Disassembler:
-
-- Fixed a Linux generation error.
-
-
-----------------------------------------
-16 August 2004.  Summary of changes for version 20040816:
-
-1) ACPI CA Core Subsystem:
-
-Designed and implemented support within the AML interpreter for the so-
-called "implicit return".  This support returns the result of the last ASL 
-operation within a control method, in the absence of an explicit Return() 
-operator.  A few machines depend on this behavior, even though it is not 
-explicitly supported by the ASL language.  It is optional support that can 
-be enabled at runtime via the AcpiGbl_EnableInterpreterSlack flag.
-
-Removed support for the PCI_Config address space from the internal low level 
-hardware interfaces (AcpiHwLowLevelRead and AcpiHwLowLevelWrite).  This 
-support was not used internally, and would not work correctly anyway because 
-the PCI bus number and segment number were not supported.  There are 
-separate interfaces for PCI configuration space access because of the unique 
-interface.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
-    Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
-  Current Release:
-    Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
-    Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a problem where constants in ASL expressions at the root level (not 
-within a control method) could be inadvertently truncated during code 
-generation.  This problem was introduced in the 20040715 release.
-
-
-----------------------------------------
-15 July 2004.  Summary of changes for version 20040715:
-
-1) ACPI CA Core Subsystem:
-
-Restructured the internal HW GPE interfaces to pass/track the current state 
-of interrupts (enabled/disabled) in order to avoid possible deadlock and 
-increase flexibility of the interfaces.
-
-Implemented a "lexicographical compare" for String and Buffer objects within 
-the logical operators -- LGreater, LLess, LGreaterEqual, and LLessEqual -- 
-as per further clarification to the ACPI specification.  Behavior is similar 
-to C library "strcmp".
-
-Completed a major reduction in CPU stack use for the AcpiGetFirmwareTable 
-external function.  In the 32-bit non-debug case, the stack use has been 
-reduced from 168 bytes to 32 bytes.
-
-Deployed a new run-time configuration flag, AcpiGbl_EnableInterpreterSlack, 
-whose purpose is to allow the AML interpreter to forgive certain bad AML 
-constructs.  Default setting is FALSE.
-
-Implemented the first use of AcpiGbl_EnableInterpreterSlack in the Field IO 
-support code.  If enabled, it allows field access to go beyond the end of a 
-region definition if the field is within the region length rounded up to the 
-next access width boundary (a common coding error.)
-
-Renamed OSD_HANDLER to ACPI_OSD_HANDLER, and OSD_EXECUTION_CALLBACK to 
-ACPI_OSD_EXEC_CALLBACK for consistency with other ACPI symbols.  Also, these 
-symbols are lowercased by the latest version of the AcpiSrc tool.
-
-The prototypes for the PCI interfaces in acpiosxf.h have been updated to 
-rename "Register" to simply "Reg" to prevent certain compilers from 
-complaining.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
-    Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
-  Current Release:
-    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
-    Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented full support for Package objects within the Case() operator.  
-Note: The Break() operator is currently not supported within Case blocks 
-(TermLists) as there is some question about backward compatibility with ACPI 
-1.0 interpreters.
-
-
-Fixed a problem where complex terms were not supported properly within the 
-Switch() operator.
-
-Eliminated extraneous warning for compiler-emitted reserved names of the 
-form "_T_x".  (Used in Switch/Case operators.)
-
-Eliminated optimization messages for "_T_x" objects and small constants 
-within the DefinitionBlock operator.
-
-
-----------------------------------------
-15 June 2004.  Summary of changes for version 20040615:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for Buffer and String objects (as per ACPI 2.0) for the 
-following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
-LLessEqual.
-
-All directory names in the entire source package are lower case, as they 
-were in earlier releases.
-
-Implemented "Disassemble" command in the AML debugger that will disassemble 
-a single control method.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
-    Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
-
-  Current Release:
-    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
-    Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Implemented support for Buffer and String objects (as per ACPI 2.0) for the 
-following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
-LLessEqual.
-
-All directory names in the entire source package are lower case, as they 
-were in earlier releases.
-
-Fixed a fault when using the -g or -d<nofilename> options if the FADT was 
-not found.
-
-Fixed an issue with the Windows version of the compiler where later versions 
-of Windows place the FADT in the registry under the name "FADT" and not 
-"FACP" as earlier versions did.  This applies when using the -g or -
-d<nofilename> options.  The compiler now looks for both strings as 
-necessary.
-
-Fixed a problem with compiler namepath optimization where a namepath within 
-the Scope() operator could not be optimized if the namepath was a subpath of 
-the current scope path.
-
-----------------------------------------
-27 May 2004.  Summary of changes for version 20040527:
-
-1) ACPI CA Core Subsystem:
-
-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.
-
-Integrated a fix for a possible fault during evaluation of BufferField 
-arguments.  Obsolete code that was causing the problem was removed.
-
-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.
-
-Rolled in a couple of changes to the FreeBSD-specific header.
-
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
-    Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
-  Current Release:
-    Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
-    Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Fixed a generation warning produced by some overly-verbose compilers for a 
-64-bit constant.
-
-----------------------------------------
-14 May 2004.  Summary of changes for version 20040514:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where hardware GPE enable bits sometimes not set properly 
-during and after GPE method execution.  Result of 04/27 changes.
-
-Removed extra "clear all GPEs" when sleeping/waking.
-
-Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the single 
-AcpiHwWriteGpeEnableReg. Changed a couple of calls to the functions above to 
-the new AcpiEv* 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.
-
-Allow a single invocation of AcpiInstallNotifyHandler 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.
-
-Added a sleep simulation command to the AML debugger to test sleep code. 
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
-    Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
-  Current Release:
-    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
-    Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
-
-----------------------------------------
-27 April 2004.  Summary of changes for version 20040427:
-
-1) ACPI CA Core Subsystem:
-
-Completed a major overhaul of the GPE handling within ACPI CA.  There are 
-now three types of GPEs:  wake-only, runtime-only, and 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 AcpiEnableGpe interface will 
-actually be hardware enabled.
-
-A new external interface has been added, AcpiSetGpeType(), 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 AcpiGetObjectInfo 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)
-
-
-Notes for updating drivers for the new GPE support.  The following changes 
-must be made to ACPI-related device drivers that are attached to one or more 
-GPEs: (This information will be added to the ACPI CA Programmer Reference.)
-
-1) AcpiInstallGpeHandler no longer automatically enables the GPE, you must 
-explicitly call AcpiEnableGpe.
-2) There is a new interface called AcpiSetGpeType. This should be called 
-before enabling the GPE.  Also, this interface will automatically disable 
-the GPE if it is currently enabled.
-3) AcpiEnableGpe no longer supports a GPE type flag.
-
-Specific drivers that must be changed:
-1) EC driver:
-    AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED, 
-AeGpeHandler, NULL);
-    AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
-    AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
-
-2) Button Drivers (Power, Lid, Sleep):
-Run _PRW method under parent device
-If _PRW exists: /* This is a control-method button */
-    Extract GPE number and possibly GpeDevice
-    AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
-    AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
-
-For all other devices that have _PRWs, we automatically set the GPE type to 
-ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically (wake) enabled.  This 
-must be done on a selective basis, usually requiring some kind of user app 
-to allow the user to pick the wake devices.
-
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
-    Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
-  Current Release:
-
-    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
-    Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
-
-
-
-----------------------------------------
-02 April 2004.  Summary of changes for version 20040402:
-
-1) ACPI CA Core Subsystem:
-
-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.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
-    Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
-  Current Release:
-    Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
-    Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-iASL now fully disassembles SSDTs.  However, External() statements are not 
-generated automatically for unresolved symbols at this time.  This is a 
-planned feature for future implementation.
-
-Fixed a scoping problem in the disassembler that occurs when the type of the 
-target of a Scope() operator is overridden.  This problem caused an 
-incorrectly nested internal namespace to be constructed.
-
-Any warnings or errors that are emitted during disassembly are now commented 
-out automatically so that the resulting file can be recompiled without any 
-hand editing.
-
-----------------------------------------
-26 March 2004.  Summary of changes for version 20040326:
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for "wake" GPEs via interaction between GPEs and the 
-_PRW methods.  Every GPE that is pointed to by one or more _PRWs is 
-identified as a WAKE GPE and by default will no longer be enabled at 
-runtime.  Previously, we were blindly enabling all GPEs with a corresponding 
-_Lxx or _Exx method - but most of these turn out to be WAKE GPEs anyway.  We 
-believe this has been the cause of thousands of "spurious" GPEs on some 
-systems.
-
-This new GPE behavior is can be reverted to the original behavior (enable 
-ALL GPEs at runtime) via a runtime flag.
-
-Fixed a problem where aliased control methods could not access objects 
-properly.  The proper scope within the namespace was not initialized 
-(transferred to the target of the aliased method) before executing the 
-target method.
-
-Fixed a potential race condition on internal object deletion on the return 
-object in AcpiEvaluateObject. 
-
-Integrated a fix for resource descriptors where both _MEM and _MTP were 
-being extracted instead of just _MEM.  (i.e. bitmask was incorrectly too 
-wide, 0x0F instead of 0x03.)
-
-Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName, preventing a 
-fault in some cases.
-
-Updated Notify() values for debug statements in evmisc.c
-
-Return proper status from AcpiUtMutexInitialize, not just simply AE_OK.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-
-    Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
-    Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
-  Current Release:
-    Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
-    Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
-
-----------------------------------------
-11 March 2004.  Summary of changes for version 20040311:
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where errors occurring during the parse phase of control 
-method execution did not abort cleanly.  For example, objects created and 
-installed in the namespace were not deleted.  This caused all subsequent 
-invocations of the method to return the AE_ALREADY_EXISTS exception.
-
-Implemented a mechanism to force a control method to "Serialized" execution 
-if the method attempts to create namespace objects. (The root of the 
-AE_ALREADY_EXISTS problem.)
-
-Implemented support for the predefined _OSI "internal" control method.  
-Initial supported strings are "Linux", "Windows 2000", "Windows 2001", and 
-"Windows 2001.1", and can be easily upgraded for new strings as necessary.  
-This feature will allow "other" operating systems to execute the fully 
-tested, "Windows" code path through the ASL code
-
-Global Lock Support:  Now allows multiple acquires and releases with any 
-internal thread.  Removed concept of "owning thread" for this special mutex.
-
-Fixed two functions that were inappropriately declaring large objects on the 
-CPU stack:  PsParseLoop, NsEvaluateRelative.  Reduces the stack usage during 
-method execution considerably.
-
-Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the 
-S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
-
-Fixed a problem where AcpiEvGpeDetect would fault if there were no GPEs 
-defined on the machine.
-
-Implemented two runtime options:  One to force all control method execution 
-to "Serialized" to mimic Windows behavior, another to disable _OSI support 
-if it causes problems on a given machine.
-
-Code and Data Size: Current and previous core subsystem library sizes are 
-shown below.  These are the code and data sizes for the acpica.lib produced 
-by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
-any ACPI driver or OSPM code.  The debug version of the code includes the 
-debug output trace mechanism and has a much larger code and data size.  Note 
-that these values will vary depending on the efficiency of the compiler and 
-the compiler options used during generation.
-
-  Previous Release:
-    Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
-    Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
-  Current Release:
-    Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
-    Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
-
-2) iASL Compiler/Disassembler:
-
-Fixed an array size problem for FreeBSD that would cause the compiler to 
-fault.
-
-----------------------------------------
-20 February 2004.  Summary of changes for version 20040220:
-
-
-1) ACPI CA Core Subsystem:
-
-Implemented execution of _SxD methods for Device objects in the 
-GetObjectInfo interface.
-
-Fixed calls to _SST method to pass the correct arguments.
-
-Added a call to _SST on wake to restore to "working" state.
-
-Check for End-Of-Buffer failure case in the WalkResources interface.
-
-Integrated fix for 64-bit alignment issue in acglobal.h by moving two 
-structures to the beginning of the file.
-
-After wake, clear GPE status register(s) before enabling GPEs.
-
-After wake, clear/enable power button.  (Perhaps we should clear/enable all 
-fixed events upon wake.)
-
-Fixed a couple of possible memory leaks in the Namespace manager.
-
-Integrated latest acnetbsd.h file.
-
-----------------------------------------
-11 February 2004.  Summary of changes for version 20040211:
-
-
-1) ACPI CA Core Subsystem:
-
-Completed investigation and implementation of the call-by-reference 
-mechanism for control method arguments.
-
-Fixed a problem where a store of an object into an indexed package could 
-fail if the store occurs within a different method than the method that 
-created the package.
-
-Fixed a problem where the ToDecimal operator could return incorrect results.
-
-Fixed a problem where the CopyObject operator could fail on some of the more 
-obscure objects (e.g., Reference objects.)
-
-Improved the output of the Debug object to display buffer, package, and 
-index objects.
-
-Fixed a problem where constructs of the form "RefOf (ArgX)" did not return 
-the expected result.
-
-Added permanent ACPI_REPORT_ERROR macros for all instances of the 
-ACPI_AML_INTERNAL exception.
-
-Integrated latest version of acfreebsd.h
-
-----------------------------------------
-16 January 2004.  Summary of changes for version 20040116:
-
-The purpose of this release is primarily to update the copyright years in 
-each module, thus causing a huge number of diffs.  There are a few small 
-functional changes, however.
-
-1) ACPI CA Core Subsystem:
-
-Improved error messages when there is a problem finding one or more of the 
-required base ACPI tables
-
-Reintroduced the definition of APIC_HEADER in actbl.h
-
-Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
-
-Removed extraneous reference to NewObj in dsmthdat.c
-
-2) iASL compiler
-
-Fixed a problem introduced in December that disabled the correct disassembly 
-of Resource Templates
-
-
-----------------------------------------
-03 December 2003.  Summary of changes for version 20031203:
-
-1) ACPI CA Core Subsystem:
-
-Changed the initialization of Operation Regions during subsystem
-init to perform two entire walks of the ACPI namespace; The first
-to initialize the regions themselves, the second to execute the
-_REG methods.  This fixed some interdependencies across _REG
-methods found on some machines.
-
-Fixed a problem where a Store(Local0, Local1) could simply update
-the object reference count, and not create a new copy of the
-object if the Local1 is uninitialized.
-
-Implemented support for the _SST reserved method during sleep
-transitions.
-
-Implemented support to clear the SLP_TYP and SLP_EN bits when
-waking up, this is apparently required by some machines.
-
-When sleeping, clear the wake status only if SleepState is not S5.
-
-Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
-pointer arithmetic advanced a string pointer too far.
-
-Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
-could be returned if the requested table has not been loaded.
-
-Within the support for IRQ resources, restructured the handling of
-the active and edge/level bits.
-
-Fixed a few problems in AcpiPsxExecute() where memory could be
-leaked under certain error conditions.
-
-Improved error messages for the cases where the ACPI mode could
-not be entered.
-
-Code and Data Size: Current and previous core subsystem library
-sizes are shown below.  These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code.  The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size.  Note that
-these values will vary depending on the efficiency of the compiler
-and the compiler options used during generation.
-
-  Previous Release (20031029):
-    Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
-    Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
-  Current Release:
-    Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
-    Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
-
-2) iASL Compiler/Disassembler:
-
-Implemented a fix for the iASL disassembler where a bad index was
-generated.  This was most noticeable on 64-bit platforms
-
-
-----------------------------------------
-29 October 2003.  Summary of changes for version 20031029:
-
-1) ACPI CA Core Subsystem:
-
-
-Fixed a problem where a level-triggered GPE with an associated
-_Lxx control method was incorrectly cleared twice.
-
-Fixed a problem with the Field support code where an access can
-occur beyond the end-of-region if the field is non-aligned but
-extends to the very end of the parent region (resulted in an
-AE_AML_REGION_LIMIT exception.)
-
-Fixed a problem with ACPI Fixed Events where an RT Clock handler
-would not get invoked on an RTC event.  The RTC event bitmasks for
-the PM1 registers were not being initialized properly.
-
-Implemented support for executing _STA and _INI methods for
-Processor objects.  Although this is currently not part of the
-ACPI specification, there is existing ASL code that depends on the
-init-time execution of these methods.
-
-Implemented and deployed a GetDescriptorName function to decode
-the various types of internal descriptors.  Guards against null
-descriptors during debug output also.
-
-Implemented and deployed a GetNodeName function to extract the 4-
-character namespace node name.  This function simplifies the debug
-and error output, as well as guarding against null pointers during
-output.
-
-Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
-simplify the debug and error output of 64-bit integers.  This
-macro replaces the HIDWORD and LODWORD macros for dumping these
-integers.
-
-Updated the implementation of the Stall() operator to only call
-AcpiOsStall(), and also return an error if the operand is larger
-than 255.  This preserves the required behavior of not
-relinquishing the processor, as would happen if AcpiOsSleep() was
-called for "long stalls".
-
-Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
-initialized are now treated as NOOPs.
-
-Cleaned up a handful of warnings during 64-bit generation.
-
-Fixed a reported error where and incorrect GPE number was passed
-to the GPE dispatch handler.  This value is only used for error
-output, however.  Used this opportunity to clean up and streamline
-the GPE dispatch code.
-
-Code and Data Size: Current and previous core subsystem library
-sizes are shown below.  These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code.  The
-
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size.  Note that
-these values will vary depending on the efficiency of the compiler
-and the compiler options used during generation.
-
-  Previous Release (20031002):
-    Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
-    Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
-  Current Release:
-    Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
-    Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
-
-
-2) iASL Compiler/Disassembler:
-
-Updated the iASL compiler to return an error if the operand to the
-Stall() operator is larger than 255.
-
-
-----------------------------------------
-02 October 2003.  Summary of changes for version 20031002:
-
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem with Index Fields where the index was not
-incremented for fields that require multiple writes to the
-index/data registers (Fields that are wider than the data
-register.)
-
-Fixed a problem with all Field objects where a write could go
-beyond the end-of-field if the field was larger than the access
-granularity and therefore required multiple writes to complete the
-request.  An extra write beyond the end of the field could happen
-inadvertently.
-
-Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
-would incorrectly be returned if the width of the Data Register
-was larger than the specified field access width.
-
-Completed fixes for LoadTable() and Unload() and verified their
-operation.  Implemented full support for the "DdbHandle" object
-throughout the ACPI CA subsystem.
-
-Implemented full support for the MADT and ECDT tables in the ACPI
-CA header files.  Even though these tables are not directly
-consumed by ACPI CA, the header definitions are useful for ACPI
-device drivers.
-
-Integrated resource descriptor fixes posted to the Linux ACPI
-list.  This included checks for minimum descriptor length, and
-support for trailing NULL strings within descriptors that have
-optional string elements.
-
-Code and Data Size: Current and previous core subsystem library
-sizes are shown below.  These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code.  The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size.  Note that
-these values will vary depending on the efficiency of the compiler
-and the compiler options used during generation.
-
-  Previous Release (20030918):
-    Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
-    Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
-  Current Release:
-    Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
-    Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
-
-
-2) iASL Compiler:
-
-Implemented detection of non-ASCII characters within the input
-source ASL file.  This catches attempts to compile binary (AML)
-files early in the compile, with an informative error message.
-
-Fixed a problem where the disassembler would fault if the output
-filename could not be generated or if the output file could not be
-opened.
-
-----------------------------------------
-18 September 2003.  Summary of changes for version 20030918:
-
-
-1) ACPI CA Core Subsystem:
-
-Found and fixed a longstanding problem with the late execution of
-the various deferred AML opcodes (such as Operation Regions,
-Buffer Fields, Buffers, and Packages).  If the name string
-specified for the name of the new object placed the object in a
-scope other than the current scope, the initialization/execution
-of the opcode failed.  The solution to this problem was to
-implement a mechanism where the late execution of such opcodes
-does not attempt to lookup/create the name a second time in an
-incorrect scope.  This fixes the "region size computed
-incorrectly" problem.
-
-Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing a
-Global Lock AE_BAD_PARAMETER error.
-
-Fixed several 64-bit issues with prototypes, casting and data
-types.
-
-Removed duplicate prototype from acdisasm.h
-
-Fixed an issue involving EC Operation Region Detach (Shaohua Li)
-
-Code and Data Size: Current and previous core subsystem library
-sizes are shown below.  These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code.  The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size.  Note that
-these values will vary depending on the efficiency of the compiler
-and the compiler options used during generation.
-
-  Previous Release:
-
-    Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
-    Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
-  Current Release:
-    Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
-    Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
-
-
-2) Linux:
-
-Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
-correct sleep time in seconds.
-
-----------------------------------------
-14 July 2003.  Summary of changes for version 20030619:
-
-1) ACPI CA Core Subsystem:
-
-Parse SSDTs in order discovered, as opposed to reverse order
-(Hrvoje Habjanic)
-
-Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
-Klausner,
-   Nate Lawson)
-
-
-2) Linux:
-
-Dynamically allocate SDT list (suggested by Andi Kleen)
-
-proc function return value cleanups (Andi Kleen)
-
-Correctly handle NMI watchdog during long stalls (Andrew Morton)
-
-Make it so acpismp=force works (reported by Andrew Morton)
-
-
-----------------------------------------
-19 June 2003.  Summary of changes for version 20030619:
-
-1) ACPI CA Core Subsystem:
-
-Fix To/FromBCD, eliminating the need for an arch-specific #define.
-
-Do not acquire a semaphore in the S5 shutdown path.
-
-Fix ex_digits_needed for 0. (Takayoshi Kochi)
-
-Fix sleep/stall code reversal. (Andi Kleen)
-
-Revert a change having to do with control method calling
-semantics.
-
-2) Linux:
-
-acpiphp update (Takayoshi Kochi)
-
-Export acpi_disabled for sonypi (Stelian Pop)
-
-Mention acpismp=force in config help
-
-Re-add acpitable.c and acpismp=force. This improves backwards
-
-compatibility and also cleans up the code to a significant degree.
-
-Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
-
-----------------------------------------
-22 May 2003.  Summary of changes for version 20030522:
-
-1) ACPI CA Core Subsystem:
-
-Found and fixed a reported problem where an AE_NOT_FOUND error
-occurred occasionally during _BST evaluation.  This turned out to
-be an Owner ID allocation issue where a called method did not get
-a new ID assigned to it.  Eventually, (after 64k calls), the Owner
-ID UINT16 would wraparound so that the ID would be the same as the
-caller's and the called method would delete the caller's
-namespace.
-
-Implemented extended error reporting for control methods that are
-aborted due to a run-time exception.  Output includes the exact
-AML instruction that caused the method abort, a dump of the method
-locals and arguments at the time of the abort, and a trace of all
-nested control method calls.
-
-Modified the interpreter to allow the creation of buffers of zero
-length from the AML code. Implemented new code to ensure that no
-attempt is made to actually allocate a memory buffer (of length
-zero) - instead, a simple buffer object with a NULL buffer pointer
-and length zero is created.  A warning is no longer issued when
-the AML attempts to create a zero-length buffer.
-
-Implemented a workaround for the "leading asterisk issue" in
-_HIDs, _UIDs, and _CIDs in the AML interpreter.  One leading
-asterisk is automatically removed if present in any HID, UID, or
-CID strings.  The iASL compiler will still flag this asterisk as
-an error, however.
-
-Implemented full support for _CID methods that return a package of
-multiple CIDs (Compatible IDs).  The AcpiGetObjectInfo() interface
-now additionally returns a device _CID list if present.  This
-required a change to the external interface in order to pass an
-ACPI_BUFFER object as a parameter since the _CID list is of
-variable length.
-
-Fixed a problem with the new AE_SAME_HANDLER exception where
-handler initialization code did not know about this exception.
-
-Code and Data Size: Current and previous core subsystem library
-sizes are shown below.  These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code.  The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size.  Note that
-these values will vary depending on the efficiency of the compiler
-and the compiler options used during generation.
-
-  Previous Release (20030509):
-    Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
-    Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
-  Current Release:
-    Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
-    Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
-
-
-2) Linux:
-
-Fixed a bug in which we would reinitialize the ACPI interrupt
-after it was already working, thus disabling all ACPI and the IRQs
-for any other device sharing the interrupt. (Thanks to Stian
-Jordet)
-
-Toshiba driver update (John Belmonte)
-
-Return only 0 or 1 for our interrupt handler status (Andrew
-Morton)
-
-
-3) iASL Compiler:
-
-Fixed a reported problem where multiple (nested) ElseIf()
-statements were not handled correctly by the compiler, resulting
-in incorrect warnings and incorrect AML code.  This was a problem
-in both the ASL parser and the code generator.
-
-
-4) Documentation:
-
-Added changes to existing interfaces, new exception codes, and new
-text concerning reference count object management versus garbage
-collection.
-
-----------------------------------------
-09 May 2003.  Summary of changes for version 20030509.
-
-
-1) ACPI CA Core Subsystem:
-
-Changed the subsystem initialization sequence to hold off
-installation of address space handlers until the hardware has been
-initialized and the system has entered ACPI mode.  This is because
-the installation of space handlers can cause _REG methods to be
-run.  Previously, the _REG methods could potentially be run before
-ACPI mode was enabled.
-
-Fixed some memory leak issues related to address space handler and
-notify handler installation.  There were some problems with the
-reference count mechanism caused by the fact that the handler
-objects are shared across several namespace objects.
-
-Fixed a reported problem where reference counts within the
-namespace were not properly updated when named objects created by
-method execution were deleted.
-
-Fixed a reported problem where multiple SSDTs caused a deletion
-issue during subsystem termination.  Restructured the table data
-structures to simplify the linked lists and the related code.
-
-Fixed a problem where the table ID associated with secondary
-tables (SSDTs) was not being propagated into the namespace objects
-created by those tables.  This would only present a problem for
-tables that are unloaded at run-time, however.
-
-Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
-type as the length parameter (instead of UINT32).
-
-Solved a long-standing problem where an ALREADY_EXISTS error
-appears on various systems.  This problem could happen when there
-are multiple PCI_Config operation regions under a single PCI root
-bus.  This doesn't happen very frequently, but there are some
-systems that do this in the ASL.
-
-Fixed a reported problem where the internal DeleteNode function
-was incorrectly handling the case where a namespace node was the
-first in the parent's child list, and had additional peers (not
-the only child, but first in the list of children.)
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
-    Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
-  Current Release:
-    Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
-    Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
-
-
-2) Linux:
-
-Allow ":" in OS override string (Ducrot Bruno)
-
-Kobject fix (Greg KH)
-
-
-3 iASL Compiler/Disassembler:
-
-Fixed a problem in the generation of the C source code files (AML
-is emitted in C source statements for BIOS inclusion) where the
-Ascii dump that appears within a C comment at the end of each line
-could cause a compile time error if the AML sequence happens to
-have an open comment or close comment sequence embedded.
-
-
-----------------------------------------
-24 April 2003.  Summary of changes for version 20030424.
-
-
-1) ACPI CA Core Subsystem:
-
-Support for big-endian systems has been implemented.  Most of the
-support has been invisibly added behind big-endian versions of the
-ACPI_MOVE_* macros.
-
-Fixed a problem in AcpiHwDisableGpeBlock() and
-AcpiHwClearGpeBlock() where an incorrect offset was passed to the
-low level hardware write routine.  The offset parameter was
-actually eliminated from the low level read/write routines because
-they had become obsolete.
-
-Fixed a problem where a handler object was deleted twice during
-the removal of a fixed event handler.
-
-
-2) Linux:
-
-A fix for SMP systems with link devices was contributed by
-
-Compaq's Dan Zink.
-
-(2.5) Return whether we handled the interrupt in our IRQ handler.
-(Linux ISRs no longer return void, so we can propagate the handler
-return value from the ACPI CA core back to the OS.)
-
-
-
-3) Documentation:
-
-The ACPI CA Programmer Reference has been updated to reflect new
-interfaces and changes to existing interfaces.
-
-----------------------------------------
-28 March 2003.  Summary of changes for version 20030328.
-
-1) ACPI CA Core Subsystem:
-
-The GPE Block Device support has been completed.  New interfaces
-are AcpiInstallGpeBlock and AcpiRemoveGpeBlock.  The Event
-interfaces (enable, disable, clear, getstatus) have been split
-into separate interfaces for Fixed Events and General Purpose
-Events (GPEs) in order to support GPE Block Devices properly.
-
-Fixed a problem where the error message "Failed to acquire
-semaphore" would appear during operations on the embedded
-controller (EC).
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
-    Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
-  Current Release:
-    Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
-    Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
-
-
-----------------------------------------
-28 February 2003.  Summary of changes for version 20030228.
-
-
-1) ACPI CA Core Subsystem:
-
-The GPE handling and dispatch code has been completely overhauled
-in preparation for support of GPE Block Devices (ID ACPI0006).
-This affects internal data structures and code only; there should
-be no differences visible externally.  One new file has been
-added, evgpeblk.c
-
-The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
-fields that are used to determine the GPE block lengths.  The
-REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
-structures are ignored.  This is per the ACPI specification but it
-isn't very clear.  The full 256 Block 0/1 GPEs are now supported
-(the use of REGISTER_BIT_WIDTH limited the number of GPEs to 128).
-
-In the SCI interrupt handler, removed the read of the PM1_CONTROL
-register to look at the SCI_EN bit.  On some machines, this read
-causes an SMI event and greatly slows down SCI events.  (This may
-in fact be the cause of slow battery status response on some
-systems.)
-
-Fixed a problem where a store of a NULL string to a package object
-could cause the premature deletion of the object.  This was seen
-during execution of the battery _BIF method on some systems,
-resulting in no battery data being returned.
-
-Added AcpiWalkResources interface to simplify parsing of resource
-lists.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
-    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
-  Current Release:
-    Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
-    Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
-
-
-2) Linux
-
-S3 fixes (Ole Rohne)
-
-Update ACPI PHP driver with to use new acpi_walk_resource API
-(Bjorn Helgaas)
-
-Add S4BIOS support (Pavel Machek)
-
-Map in entire table before performing checksum (John Stultz)
-
-Expand the mem= cmdline to allow the specification of reserved and
-ACPI DATA blocks (Pavel Machek)
-
-Never use ACPI on VISWS
-
-Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
-
-Revert a change that allowed P_BLK lengths to be 4 or 5. This is
-causing us to think that some systems support C2 when they really
-don't.
-
-Do not count processor objects for non-present CPUs (Thanks to
-Dominik Brodowski)
-
-
-3) iASL Compiler:
-
-Fixed a problem where ASL include files could not be found and
-opened.
-
-Added support for the _PDC reserved name.
-
-
-----------------------------------------
-22 January 2003.  Summary of changes for version 20030122.
-
-
-1) ACPI CA Core Subsystem:
-
-Added a check for constructs of the form:  Store (Local0, Local0)
-where Local0 is not initialized.  Apparently, some BIOS
-programmers believe that this is a NOOP.  Since this store doesn't
-do anything anyway, the new prototype behavior will ignore this
-error.  This is a case where we can relax the strict checking in
-the interpreter in the name of compatibility.
-
-
-2) Linux
-
-The AcpiSrc Source Conversion Utility has been released with the
-Linux package for the first time.  This is the utility that is
-used to convert the ACPI CA base source code to the Linux version.
-
-(Both) Handle P_BLK lengths shorter than 6 more gracefully
-
-(Both) Move more headers to include/acpi, and delete an unused
-header.
-
-(Both) Move drivers/acpi/include directory to include/acpi
-
-(Both) Boot functions don't use cmdline, so don't pass it around
-
-(Both) Remove include of unused header (Adrian Bunk)
-
-(Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
-the
-former now also includes the latter, acpiphp.h only needs the one,
-now.
-
-(2.5) Make it possible to select method of bios restoring after S3
-resume. [=> no more ugly ifdefs] (Pavel Machek)
-
-(2.5) Make proc write interfaces work (Pavel Machek)
-
-(2.5) Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
-
-(2.5) Break out ACPI Perf code into its own module, under cpufreq
-(Dominik Brodowski)
-
-(2.4) S4BIOS support (Ducrot Bruno)
-
-(2.4) Fix acpiphp_glue.c for latest ACPI struct changes (Sergio
-Visinoni)
-
-
-3) iASL Compiler:
-
-Added support to disassemble SSDT and PSDTs.
-
-Implemented support to obtain SSDTs from the Windows registry if
-available.
-
-
-----------------------------------------
-09 January 2003.  Summary of changes for version 20030109.
-
-1) ACPI CA Core Subsystem:
-
-Changed the behavior of the internal Buffer-to-String conversion
-function.  The current ACPI specification states that the contents
-of the buffer are "converted to a string of two-character
-hexadecimal numbers, each separated by a space".  Unfortunately,
-this definition is not backwards compatible with existing ACPI 1.0
-implementations (although the behavior was not defined in the ACPI
-1.0 specification).  The new behavior simply copies data from the
-buffer to the string until a null character is found or the end of
-the buffer is reached.  The new String object is always null
-terminated.  This problem was seen during the generation of _BIF
-battery data where incorrect strings were returned for battery
-type, etc.  This will also require an errata to the ACPI
-specification.
-
-Renamed all instances of NATIVE_UINT and NATIVE_INT to
-ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
-
-Copyright in all module headers (both Linux and non-Linux) has be
-updated to 2003.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
-    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
-  Current Release:
-    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
-    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
-
-
-2) Linux
-
-Fixed an oops on module insertion/removal (Matthew Tippett)
-
-(2.4) Fix to handle dynamic size of mp_irqs (Joerg Prante)
-
-(2.5) Replace pr_debug (Randy Dunlap)
-
-(2.5) Remove usage of CPUFREQ_ALL_CPUS (Dominik Brodowski)
-
-(Both) Eliminate spawning of thread from timer callback, in favor
-of schedule_work()
-
-(Both) Show Lid status in /proc (Zdenek OGAR Skalak)
-
-(Both) Added define for Fixed Function HW region (Matthew Wilcox)
-
-(Both) Add missing statics to button.c (Pavel Machek)
-
-Several changes have been made to the source code translation
-utility that generates the Linux Code in order to make the code
-more "Linux-like":
-
-All typedefs on structs and unions have been removed in keeping
-with the Linux coding style.
-
-Removed the non-Linux SourceSafe module revision number from each
-module header.
-
-Completed major overhaul of symbols to be lowercased for linux.
-Doubled the number of symbols that are lowercased.
-
-Fixed a problem where identifiers within procedure headers and
-within quotes were not fully lower cased (they were left with a
-starting capital.)
-
-Some C macros whose only purpose is to allow the generation of 16-
-bit code are now completely removed in the Linux code, increasing
-readability and maintainability.
-
-----------------------------------------
-
-12 December 2002.  Summary of changes for version 20021212.
-
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where the creation of a zero-length AML Buffer
-would cause a fault.
-
-Fixed a problem where a Buffer object that pointed to a static AML
-buffer (in an ACPI table) could inadvertently be deleted, causing
-memory corruption.
-
-Fixed a problem where a user buffer (passed in to the external
-ACPI CA interfaces) could be overwritten if the buffer was too
-small to complete the operation, causing memory corruption.
-
-Fixed a problem in the Buffer-to-String conversion code where a
-string of length one was always returned, regardless of the size
-of the input Buffer object.
-
-Removed the NATIVE_CHAR data type across the entire source due to
-lack of need and lack of consistent use.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
-    Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
-  Current Release:
-    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
-    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
-
-
-----------------------------------------
-05 December 2002.  Summary of changes for version 20021205.
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where a store to a String or Buffer object could
-cause corruption of the DSDT if the object type being stored was
-the same as the target object type and the length of the object
-being stored was equal to or smaller than the original (existing)
-target object.  This was seen to cause corruption of battery _BIF
-buffers if the _BIF method modified the buffer on the fly.
-
-Fixed a problem where an internal error was generated if a control
-method invocation was used in an OperationRegion, Buffer, or
-Package declaration.  This was caused by the deferred parsing of
-the control method and thus the deferred creation of the internal
-method object.  The solution to this problem was to create the
-internal method object at the moment the method is encountered in
-the first pass - so that subsequent references to the method will
-able to obtain the required parameter count and thus properly
-parse the method invocation.  This problem presented itself as an
-AE_AML_INTERNAL during the pass 1 parse phase during table load.
-
-Fixed a problem where the internal String object copy routine did
-not always allocate sufficient memory for the target String object
-and caused memory corruption.  This problem was seen to cause
-"Allocation already present in list!" errors as memory allocation
-became corrupted.
-
-Implemented a new function for the evaluation of namespace objects
-that allows the specification of the allowable return object
-types.  This simplifies a lot of code that checks for a return
-object of one or more specific objects returned from the
-evaluation (such as _STA, etc.)  This may become and external
-function if it would be useful to ACPI-related drivers.
-
-Completed another round of prefixing #defines with "ACPI_" for
-clarity.
-
-Completed additional code restructuring to allow more modular
-linking for iASL compiler and AcpiExec.  Several files were split
-creating new files.  New files:  nsparse.c dsinit.c evgpe.c
-
-Implemented an abort mechanism to terminate an executing control
-method via the AML debugger.  This feature is useful for debugging
-control methods that depend (wait) for specific hardware
-responses.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
-    Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
-  Current Release:
-    Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
-    Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
-
-
-2) iASL Compiler/Disassembler
-
-Fixed a compiler code generation problem for "Interrupt" Resource
-Descriptors.  If specified in the ASL, the optional "Resource
-Source Index" and "Resource Source" fields were not inserted into
-the correct location within the AML resource descriptor, creating
-an invalid descriptor.
-
-Fixed a disassembler problem for "Interrupt" resource descriptors.
-The optional "Resource Source Index" and "Resource Source" fields
-were ignored.
-
-
-----------------------------------------
-22 November 2002.  Summary of changes for version 20021122.
-
-
-1) ACPI CA Core Subsystem:
-
-Fixed a reported problem where an object stored to a Method Local
-or Arg was not copied to a new object during the store - the
-object pointer was simply copied to the Local/Arg.  This caused
-all subsequent operations on the Local/Arg to also affect the
-original source of the store operation.
-
-Fixed a problem where a store operation to a Method Local or Arg
-was not completed properly if the Local/Arg contained a reference
-(from RefOf) to a named field.  The general-purpose store-to-
-namespace-node code is now used so that this case is handled
-automatically.
-
-Fixed a problem where the internal object copy routine would cause
-a protection fault if the object being copied was a Package and
-contained either 1) a NULL package element or 2) a nested sub-
-package.
-
-Fixed a problem with the GPE initialization that resulted from an
-ambiguity in the ACPI specification.  One section of the
-specification states that both the address and length of the GPE
-block must be zero if the block is not supported.  Another section
-implies that only the address need be zero if the block is not
-supported.  The code has been changed so that both the address and
-the length must be non-zero to indicate a valid GPE block (i.e.,
-if either the address or the length is zero, the GPE block is
-invalid.)
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
-    Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
-  Current Release:
-    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
-    Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
-
-
-2) Linux
-
-Cleaned up EC driver. Exported an external EC read/write
-interface. By going through this, other drivers (most notably
-sonypi) will be able to serialize access to the EC.
-
-
-3) iASL Compiler/Disassembler
-
-Implemented support to optionally generate include files for both
-ASM and C (the -i switch).  This simplifies BIOS development by
-automatically creating include files that contain external
-declarations for the symbols that are created within the
-
-(optionally generated) ASM and C AML source files.
-
-
-----------------------------------------
-15 November 2002.  Summary of changes for version 20021115.
-
-1) ACPI CA Core Subsystem:
-
-Fixed a memory leak problem where an error during resolution of
-
-method arguments during a method invocation from another method
-failed to cleanup properly by deleting all successfully resolved
-argument objects.
-
-Fixed a problem where the target of the Index() operator was not
-correctly constructed if the source object was a package.  This
-problem has not been detected because the use of a target operand
-with Index() is very rare.
-
-Fixed a problem with the Index() operator where an attempt was
-made to delete the operand objects twice.
-
-Fixed a problem where an attempt was made to delete an operand
-twice during execution of the CondRefOf() operator if the target
-did not exist.
-
-Implemented the first of perhaps several internal create object
-functions that create and initialize a specific object type.  This
-consolidates duplicated code wherever the object is created, thus
-shrinking the size of the subsystem.
-
-Implemented improved debug/error messages for errors that occur
-during nested method invocations.  All executing method pathnames
-are displayed (with the error) as the call stack is unwound - thus
-simplifying debug.
-
-Fixed a problem introduced in the 10/02 release that caused
-premature deletion of a buffer object if a buffer was used as an
-ASL operand where an integer operand is required (Thus causing an
-implicit object conversion from Buffer to Integer.)  The change in
-the 10/02 release was attempting to fix a memory leak (albeit
-incorrectly.)
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
-    Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
-  Current Release:
-    Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
-    Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
-
-
-2) Linux
-
-Changed the implementation of the ACPI semaphores to use down()
-instead of down_interruptable().  It is important that the
-execution of ACPI control methods not be interrupted by signals.
-Methods must run to completion, or the system may be left in an
-unknown/unstable state.
-
-Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not set.
-(Shawn Starr)
-
-
-3) iASL Compiler/Disassembler
-
-
-Changed the default location of output files.  All output files
-are now placed in the current directory by default instead of in
-the directory of the source file.  This change may affect some
-existing makefiles, but it brings the behavior of the compiler in
-line with other similar tools.  The location of the output files
-can be overridden with the -p command line switch.
-
-
-----------------------------------------
-11 November 2002.  Summary of changes for version 20021111.
-
-
-0) ACPI Specification 2.0B is released and is now available at:
-http://www.acpi.info/index.html
-
-
-1) ACPI CA Core Subsystem:
-
-Implemented support for the ACPI 2.0 SMBus Operation Regions.
-This includes the early detection and handoff of the request to
-the SMBus region handler (avoiding all of the complex field
-support code), and support for the bidirectional return packet
-from an SMBus write operation.  This paves the way for the
-development of SMBus drivers in each host operating system.
-
-Fixed a problem where the semaphore WAIT_FOREVER constant was
-defined as 32 bits, but must be 16 bits according to the ACPI
-specification.  This had the side effect of causing ASL
-Mutex/Event timeouts even though the ASL code requested a wait
-forever.  Changed all internal references to the ACPI timeout
-parameter to 16 bits to prevent future problems.  Changed the name
-of WAIT_FOREVER to ACPI_WAIT_FOREVER.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
-    Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
-  Current Release:
-    Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
-    Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
-
-
-2) Linux
-
-Module loading/unloading fixes (John Cagle)
-
-
-3) iASL Compiler/Disassembler
-
-Added support for the SMBBlockProcessCall keyword (ACPI 2.0)
-
-Implemented support for the disassembly of all SMBus protocol
-keywords (SMBQuick, SMBWord, etc.)
-
-----------------------------------------
-01 November 2002.  Summary of changes for version 20021101.
-
-
-1) ACPI CA Core Subsystem:
-
-Fixed a problem where platforms that have a GPE1 block but no GPE0
-block were not handled correctly.  This resulted in a "GPE
-overlap" error message.  GPE0 is no longer required.
-
-Removed code added in the previous release that inserted nodes
-into the namespace in alphabetical order.  This caused some side-
-effects on various machines.  The root cause of the problem is
-still under investigation since in theory, the internal ordering
-of the namespace nodes should not matter.
-
-
-Enhanced error reporting for the case where a named object is not
-found during control method execution.  The full ACPI namepath
-(name reference) of the object that was not found is displayed in
-this case.
-
-Note: as a result of the overhaul of the namespace object types in
-the previous release, the namespace nodes for the predefined
-scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
-instead of ACPI_TYPE_ANY.  This simplifies the namespace
-management code but may affect code that walks the namespace tree
-looking for specific object types.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a much larger code and data size.  Note that these values will
-vary depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
-    Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
-  Current Release:
-    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
-    Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
-
-
-2) Linux
-
-Fixed a problem introduced in the previous release where the
-Processor and Thermal objects were not recognized and installed in
-/proc.  This was related to the scope type change described above.
-
-
-3) iASL Compiler/Disassembler
-
-Implemented the -g option to get all of the required ACPI tables
-from the registry and save them to files (Windows version of the
-compiler only.)  The required tables are the FADT, FACS, and DSDT.
-
-Added ACPI table checksum validation during table disassembly in
-order to catch corrupted tables.
-
-
-----------------------------------------
-22 October 2002.  Summary of changes for version 20021022.
-
-1) ACPI CA Core Subsystem:
-
-Implemented a restriction on the Scope operator that the target
-must already exist in the namespace at the time the operator is
-encountered (during table load or method execution).  In other
-words, forward references are not allowed and Scope() cannot
-create a new object. This changes the previous behavior where the
-interpreter would create the name if not found.  This new behavior
-correctly enables the search-to-root algorithm during namespace
-lookup of the target name.  Because of this upsearch, this fixes
-the known Compaq _SB_.OKEC problem and makes both the AML
-interpreter and iASL compiler compatible with other ACPI
-implementations.
-
-Completed a major overhaul of the internal ACPI object types for
-the ACPI Namespace and the associated operand objects.  Many of
-these types had become obsolete with the introduction of the two-
-pass namespace load.  This cleanup simplifies the code and makes
-the entire namespace load mechanism much clearer and easier to
-understand.
-
-Improved debug output for tracking scope opening/closing to help
-diagnose scoping issues.  The old scope name as well as the new
-scope name are displayed.  Also improved error messages for
-problems with ASL Mutex objects and error messages for GPE
-problems.
-
-Cleaned up the namespace dump code, removed obsolete code.
-
-All string output (for all namespace/object dumps) now uses the
-common ACPI string output procedure which handles escapes properly
-and does not emit non-printable characters.
-
-Fixed some issues with constants in the 64-bit version of the
-local C library (utclib.c)
-
-
-2) Linux
-
-EC Driver:  No longer attempts to acquire the Global Lock at
-interrupt level.
-
-
-3) iASL Compiler/Disassembler
-
-Implemented ACPI 2.0B grammar change that disallows all Type 1 and
-2 opcodes outside of a control method.  This means that the
-"executable" operators (versus the "namespace" operators) cannot
-be used at the table level; they can only be used within a control
-method.
-
-Implemented the restriction on the Scope() operator where the
-target must already exist in the namespace at the time the
-operator is encountered (during ASL compilation). In other words,
-forward references are not allowed and Scope() cannot create a new
-object.  This makes the iASL compiler compatible with other ACPI
-implementations and makes the Scope() implementation adhere to the
-ACPI specification.
-
-Fixed a problem where namepath optimization for the Alias operator
-was optimizing the wrong path (of the two namepaths.)  This caused
-a "Missing alias link" error message.
-
-Fixed a problem where an "unknown reserved name" warning could be
-incorrectly generated for names like "_SB" when the trailing
-underscore is not used in the original ASL.
-
-Fixed a problem where the reserved name check did not handle
-NamePaths with multiple NameSegs correctly.  The first nameseg of
-the NamePath was examined instead of the last NameSeg.
-
-
-----------------------------------------
-
-02 October 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem version 20021002:
-
-Fixed a problem where a store/copy of a string to an existing
-string did not always set the string length properly in the String
-object.
-
-Fixed a reported problem with the ToString operator where the
-behavior was identical to the ToHexString operator instead of just
-simply converting a raw buffer to a string data type.
-
-Fixed a problem where CopyObject and the other "explicit"
-conversion operators were not updating the internal namespace node
-type as part of the store operation.
-
-Fixed a memory leak during implicit source operand conversion
-where the original object was not deleted if it was converted to a
-new object of a different type.
-
-Enhanced error messages for all problems associated with namespace
-lookups.  Common procedure generates and prints the lookup name as
-well as the formatted status.
-
-Completed implementation of a new design for the Alias support
-within the namespace.  The existing design did not handle the case
-where a new object was assigned to one of the two names due to the
-use of an explicit conversion operator, resulting in the two names
-pointing to two different objects.  The new design simply points
-the Alias name to the original name node - not to the object.
-This results in a level of indirection that must be handled in the
-name resolution mechanism.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
-    Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
-  Current Release:
-    Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
-    Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
-
-
-2) Linux
-
-Initialize thermal driver's timer before it is used. (Knut
-Neumann)
-
-Allow handling negative celsius values. (Kochi Takayoshi)
-
-Fix thermal management and make trip points. R/W (Pavel Machek)
-
-Fix /proc/acpi/sleep. (P. Christeas)
-
-IA64 fixes. (David Mosberger)
-
-Fix reversed logic in blacklist code. (Sergio Monteiro Basto)
-
-Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT. (Dominik
-Brodowski)
-
-
-3) iASL Compiler/Disassembler
-
-Clarified some warning/error messages.
-
-
-----------------------------------------
-18 September 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem version 20020918:
-
-Fixed a reported problem with reference chaining (via the Index()
-and RefOf() operators) in the ObjectType() and SizeOf() operators.
-The definition of these operators includes the dereferencing of
-all chained references to return information on the base object.
-
-Fixed a problem with stores to indexed package elements - the
-existing code would not complete the store if an "implicit
-conversion" was not performed.  In other words, if the existing
-object (package element) was to be replaced completely, the code
-didn't handle this case.
-
-Relaxed typechecking on the ASL "Scope" operator to allow the
-target name to refer to an object of type Integer, String, or
-Buffer, in addition to the scoping object types (Device,
-predefined Scopes, Processor, PowerResource, and ThermalZone.)
-This allows existing AML code that has workarounds for a bug in
-Windows to function properly.  A warning is issued, however.  This
-affects both the AML interpreter and the iASL compiler. Below is
-an example of this type of ASL code:
-
-      Name(DEB,0x00)
-      Scope(DEB)
-      {
-
-Fixed some reported problems with 64-bit integer support in the
-local implementation of C library functions (clib.c)
-
-
-2) Linux
-
-Use ACPI fix map region instead of IOAPIC region, since it is
-undefined in non-SMP.
-
-Ensure that the SCI has the proper polarity and trigger, even on
-systems that do not have an interrupt override entry in the MADT.
-
-2.5 big driver reorganization (Pat Mochel)
-
-Use early table mapping code from acpitable.c (Andi Kleen)
-
-New blacklist entries (Andi Kleen)
-
-Blacklist improvements. Split blacklist code out into a separate
-file. Move checking the blacklist to very early. Previously, we
-would use ACPI tables, and then halfway through init, check the
-blacklist -- too late. Now, it's early enough to completely fall-
-back to non-ACPI.
-
-
-3) iASL Compiler/Disassembler version 20020918:
-
-Fixed a problem where the typechecking code didn't know that an
-alias could point to a method.  In other words, aliases were not
-being dereferenced during typechecking.
-
-
-----------------------------------------
-29 August 2002.  Summary of changes for this release.
-
-1) ACPI CA Core Subsystem Version 20020829:
-
-If the target of a Scope() operator already exists, it must be an
-object type that actually opens a scope -- such as a Device,
-Method, Scope, etc.  This is a fatal runtime error.  Similar error
-check has been added to the iASL compiler also.
-
-Tightened up the namespace load to disallow multiple names in the
-same scope.  This previously was allowed if both objects were of
-the same type.  (i.e., a lookup was the same as entering a new
-name).
-
-
-2) Linux
-
-Ensure that the ACPI interrupt has the proper trigger and
-polarity.
-
-local_irq_disable is extraneous. (Matthew Wilcox)
-
-Make "acpi=off" actually do what it says, and not use the ACPI
-interpreter *or* the tables.
-
-Added arch-neutral support for parsing SLIT and SRAT tables (Kochi
-Takayoshi)
-
-
-3) iASL Compiler/Disassembler  Version 20020829:
-
-Implemented namepath optimization for name declarations.  For
-example, a declaration like "Method (\_SB_.ABCD)" would get
-optimized to "Method (ABCD)" if the declaration is within the
-\_SB_ scope.  This optimization is in addition to the named
-reference path optimization first released in the previous
-version. This would seem to complete all possible optimizations
-for namepaths within the ASL/AML.
-
-If the target of a Scope() operator already exists, it must be an
-object type that actually opens a scope -- such as a Device,
-Method, Scope, etc.
-
-Implemented a check and warning for unreachable code in the same
-block below a Return() statement.
-
-Fixed a problem where the listing file was not generated if the
-compiler aborted if the maximum error count was exceeded (200).
-
-Fixed a problem where the typechecking of method return values was
-broken.  This includes the check for a return value when the
-method is invoked as a TermArg (a return value is expected.)
-
-Fixed a reported problem where EOF conditions during a quoted
-string or comment caused a fault.
-
-
-----------------------------------------
-15 August 2002.  Summary of changes for this release.
-
-1) ACPI CA Core Subsystem Version 20020815:
-
-Fixed a reported problem where a Store to a method argument that
-contains a reference did not perform the indirect store correctly.
-This problem was created during the conversion to the new
-reference object model - the indirect store to a method argument
-code was not updated to reflect the new model.
-
-Reworked the ACPI mode change code to better conform to ACPI 2.0,
-handle corner cases, and improve code legibility (Kochi Takayoshi)
-
-Fixed a problem with the pathname parsing for the carat (^)
-prefix.  The heavy use of the carat operator by the new namepath
-optimization in the iASL compiler uncovered a problem with the AML
-interpreter handling of this prefix.  In the case where one or
-more carats precede a single nameseg, the nameseg was treated as
-standalone and the search rule (to root) was inadvertently
-applied.  This could cause both the iASL compiler and the
-interpreter to find the wrong object or to miss the error that
-should occur if the object does not exist at that exact pathname.
-
-Found and fixed the problem where the HP Pavilion DSDT would not
-load.  This was a relatively minor tweak to the table loading code
-(a problem caused by the unexpected encounter with a method
-invocation not within a control method), but it does not solve the
-overall issue of the execution of AML code at the table level.
-This investigation is still ongoing.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
-    Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
-  Current Release:
-    Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
-    Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
-
-
-2) Linux
-
-Remove redundant slab.h include (Brad Hards)
-
-Fix several bugs in thermal.c (Herbert Nachtnebel)
-
-Make CONFIG_ACPI_BOOT work properly (Pavel Machek)
-
-Change acpi_system_suspend to use updated irq functions (Pavel
-Machek)
-
-Export acpi_get_firmware_table (Matthew Wilcox)
-
-Use proper root proc entry for ACPI (Kochi Takayoshi)
-
-Fix early-boot table parsing (Bjorn Helgaas)
-
-
-3) iASL Compiler/Disassembler
-
-Reworked the compiler options to make them more consistent and to
-use two-letter options where appropriate.  We were running out of
-sensible letters.   This may break some makefiles, so check the
-current options list by invoking the compiler with no parameters.
-
-Completed the design and implementation of the ASL namepath
-optimization option for the compiler.  This option optimizes all
-references to named objects to the shortest possible path.  The
-first attempt tries to utilize a single nameseg (4 characters) and
-the "search-to-root" algorithm used by the interpreter.  If that
-cannot be used (because either the name is not in the search path
-or there is a conflict with another object with the same name),
-the pathname is optimized using the carat prefix (usually a
-shorter string than specifying the entire path from the root.)
-
-Implemented support to obtain the DSDT from the Windows registry
-(when the disassembly option is specified with no input file).
-Added this code as the implementation for AcpiOsTableOverride in
-the Windows OSL.  Migrated the 16-bit code (used in the AcpiDump
-utility) to scan memory for the DSDT to the AcpiOsTableOverride
-function in the DOS OSL to make the disassembler truly OS
-independent.
-
-Implemented a new option to disassemble and compile in one step.
-When used without an input filename, this option will grab the
-DSDT from the local machine, disassemble it, and compile it in one
-step.
-
-Added a warning message for invalid escapes (a backslash followed
-by any character other than the allowable escapes).  This catches
-the quoted string error "\_SB_" (which should be "\\_SB_" ).
-
-Also, there are numerous instances in the ACPI specification where
-this error occurs.
-
-Added a compiler option to disable all optimizations.  This is
-basically the "compatibility mode" because by using this option,
-the AML code will come out exactly the same as other ASL
-compilers.
-
-Added error messages for incorrectly ordered dependent resource
-functions.  This includes: missing EndDependentFn macro at end of
-dependent resource list, nested dependent function macros (both
-start and end), and missing StartDependentFn macro.  These are
-common errors that should be caught at compile time.
-
-Implemented _OSI support for the disassembler and compiler.  _OSI
-must be included in the namespace for proper disassembly (because
-the disassembler must know the number of arguments.)
-
-Added an "optimization" message type that is optional (off by
-default).  This message is used for all optimizations - including
-constant folding, integer optimization, and namepath optimization.
-
-----------------------------------------
-25 July 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem Version 20020725:
-
-The AML Disassembler has been enhanced to produce compilable ASL
-code and has been integrated into the iASL compiler (see below) as
-well as the single-step disassembly for the AML debugger and the
-disassembler for the AcpiDump utility.  All ACPI 2.0A opcodes,
-resource templates and macros are fully supported.  The
-disassembler has been tested on over 30 different AML files,
-producing identical AML when the resulting disassembled ASL file
-is recompiled with the same ASL compiler.
-
-Modified the Resource Manager to allow zero interrupts and zero
-dma channels during the GetCurrentResources call.  This was
-causing problems on some platforms.
-
-Added the AcpiOsRedirectOutput interface to the OSL to simplify
-output redirection for the AcpiOsPrintf and AcpiOsVprintf
-interfaces.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
-    Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
-  Current Release:
-    Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
-    Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
-
-
-2) Linux
-
-Fixed a panic in the EC driver (Dominik Brodowski)
-
-Implemented checksum of the R/XSDT itself during Linux table scan
-(Richard Schaal)
-
-
-3) iASL compiler
-
-The AML disassembler is integrated into the compiler.  The "-d"
-option invokes the disassembler  to completely disassemble an
-input AML file, producing as output a text ASL file with the
-extension ".dsl" (to avoid name collisions with existing .asl
-source files.)  A future enhancement will allow the disassembler
-to obtain the BIOS DSDT from the registry under Windows.
-
-Fixed a problem with the VendorShort and VendorLong resource
-descriptors where an invalid AML sequence was created.
-
-Implemented a fix for BufferData term in the ASL parser.  It was
-inadvertently defined twice, allowing invalid syntax to pass and
-causing reduction conflicts.
-
-Fixed a problem where the Ones opcode could get converted to a
-value of zero if "Ones" was used where a byte, word or dword value
-was expected.  The 64-bit value is now truncated to the correct
-size with the correct value.
-
-
-
-----------------------------------------
-02 July 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem Version 20020702:
-
-The Table Manager code has been restructured to add several new
-features.  Tables that are not required by the core subsystem
-(other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
-validated in any way and are returned from AcpiGetFirmwareTable if
-requested.  The AcpiOsTableOverride interface is now called for
-each table that is loaded by the subsystem in order to allow the
-host to override any table it chooses.  Previously, only the DSDT
-could be overridden.  Added one new files, tbrsdt.c and
-tbgetall.c.
-
-Fixed a problem with the conversion of internal package objects to
-external objects (when a package is returned from a control
-method.)  The return buffer length was set to zero instead of the
-proper length of the package object.
-
-Fixed a reported problem with the use of the RefOf and DeRefOf
-operators when passing reference arguments to control methods.  A
-new type of Reference object is used internally for references
-produced by the RefOf operator.
-
-Added additional error messages in the Resource Manager to explain
-AE_BAD_DATA errors when they occur during resource parsing.
-
-Split the AcpiEnableSubsystem into two primitives to enable a
-finer granularity initialization sequence.  These two calls should
-be called in this order: AcpiEnableSubsystem (flags),
-AcpiInitializeObjects (flags).  The flags parameter remains the
-same.
-
-
-2) Linux
-
-Updated the ACPI utilities module to understand the new style of
-fully resolved package objects that are now returned from the core
-subsystem.  This eliminates errors of the form:
-
-    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
-    acpi_utils-0430 [145] acpi_evaluate_reference:
-        Invalid element in package (not a device reference)
-
-The method evaluation utility uses the new buffer allocation
-scheme instead of calling AcpiEvaluate Object twice.
-
-Added support for ECDT. This allows the use of the Embedded
-
-Controller before the namespace has been fully initialized, which
-is necessary for ACPI 2.0 support, and for some laptops to
-initialize properly. (Laptops using ECDT are still rare, so only
-limited testing was performed of the added functionality.)
-
-Fixed memory leaks in the EC driver.
-
-Eliminated a brittle code structure in acpi_bus_init().
-
-Eliminated the acpi_evaluate() helper function in utils.c. It is
-no longer needed since acpi_evaluate_object can optionally
-allocate memory for the return object.
-
-Implemented fix for keyboard hang when getting battery readings on
-some systems (Stephen White)
-
-PCI IRQ routing update (Dominik Brodowski)
-
-Fix an ifdef to allow compilation on UP with LAPIC but no IOAPIC
-support
-
-----------------------------------------
-11 June 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem Version 20020611:
-
-Fixed a reported problem where constants such as Zero and One
-appearing within _PRT packages were not handled correctly within
-the resource manager code.  Originally reported against the ASL
-compiler because the code generator now optimizes integers to
-their minimal AML representation (i.e. AML constants if possible.)
-The _PRT code now handles all AML constant opcodes correctly
-(Zero, One, Ones, Revision).
-
-Fixed a problem with the Concatenate operator in the AML
-interpreter where a buffer result object was incorrectly marked as
-not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
-
-All package sub-objects are now fully resolved before they are
-returned from the external ACPI interfaces.  This means that name
-strings are resolved to object handles, and constant operators
-(Zero, One, Ones, Revision) are resolved to Integers.
-
-Implemented immediate resolution of the AML Constant opcodes
-(Zero, One, Ones, Revision) to Integer objects upon detection
-within the AML stream. This has simplified and reduced the
-generated code size of the subsystem by eliminating about 10
-switch statements for these constants (which previously were
-contained in Reference objects.)  The complicating issues are that
-the Zero opcode is used as a "placeholder" for unspecified
-optional target operands and stores to constants are defined to be
-no-ops.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below. These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
-    Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
-  Current Release:
-    Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
-    Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
-
-
-2) Linux
-
-
-Added preliminary support for obtaining _TRA data for PCI root
-bridges (Bjorn Helgaas).
-
-
-3) iASL Compiler Version X2046:
-
-Fixed a problem where the "_DDN" reserved name was defined to be a
-control method with one argument.  There are no arguments, and
-_DDN does not have to be a control method.
-
-Fixed a problem with the Linux version of the compiler where the
-source lines printed with error messages were the wrong lines.
-This turned out to be the "LF versus CR/LF" difference between
-Windows and Unix.  This appears to be the longstanding issue
-concerning listing output and error messages.
-
-Fixed a problem with the Linux version of compiler where opcode
-names within error messages were wrong.  This was caused by a
-slight difference in the output of the Flex tool on Linux versus
-Windows.
-
-Fixed a problem with the Linux compiler where the hex output files
-contained some garbage data caused by an internal buffer overrun.
-
-
-----------------------------------------
-17 May 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem Version 20020517:
-
-Implemented a workaround to an BIOS bug discovered on the HP
-OmniBook where the FADT revision number and the table size are
-inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size).  The new
-behavior is to fallback to using only the ACPI 1.0 fields of the
-FADT if the table is too small to be a ACPI 2.0 table as claimed
-by the revision number.  Although this is a BIOS bug, this is a
-case where the workaround is simple enough and with no side
-effects, so it seemed prudent to add it.  A warning message is
-issued, however.
-
-Implemented minimum size checks for the fixed-length ACPI tables -
-- the FADT and FACS, as well as consistency checks between the
-revision number and the table size.
-
-Fixed a reported problem in the table override support where the
-new table pointer was incorrectly treated as a physical address
-instead of a logical address.
-
-Eliminated the use of the AE_AML_ERROR exception and replaced it
-with more descriptive codes.
-
-Fixed a problem where an exception would occur if an ASL Field was
-defined with no named Field Units underneath it (used by some
-index fields).
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
-    Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
-  Current Release:
-    Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
-    Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
-
-
-
-2) Linux
-
-Much work done on ACPI init (MADT and PCI IRQ routing support).
-(Paul D. and Dominik Brodowski)
-
-Fix PCI IRQ-related panic on boot (Sam Revitch)
-
-Set BM_ARB_DIS when entering a sleep state (Ducrot Bruno)
-
-Fix "MHz" typo (Dominik Brodowski)
-
-Fix RTC year 2000 issue (Dominik Brodowski)
-
-Preclude multiple button proc entries (Eric Brunet)
-
-Moved arch-specific code out of include/platform/aclinux.h
-
-3) iASL Compiler Version X2044:
-
-Implemented error checking for the string used in the EISAID macro
-(Usually used in the definition of the _HID object.)  The code now
-strictly enforces the PnP format - exactly 7 characters, 3
-uppercase letters and 4 hex digits.
-
-If a raw string is used in the definition of the _HID object
-(instead of the EISAID macro), the string must contain all
-alphanumeric characters (e.g., "*PNP0011" is not allowed because
-of the asterisk.)
-
-Implemented checking for invalid use of ACPI reserved names for
-most of the name creation operators (Name, Device, Event, Mutex,
-OperationRegion, PowerResource, Processor, and ThermalZone.)
-Previously, this check was only performed for control methods.
-
-Implemented an additional check on the Name operator to emit an
-error if a reserved name that must be implemented in ASL as a
-control method is used.  We know that a reserved name must be a
-method if it is defined with input arguments.
-
-The warning emitted when a namespace object reference is not found
-during the cross reference phase has been changed into an error.
-The "External" directive should be used for names defined in other
-modules.
-
-
-4) Tools and Utilities
-
-The 16-bit tools (adump16 and aexec16) have been regenerated and
-tested.
-
-Fixed a problem with the output of both acpidump and adump16 where
-the indentation of closing parentheses and brackets was not
-
-aligned properly with the parent block.
-
-
-----------------------------------------
-03 May 2002.  Summary of changes for this release.
-
-
-1) ACPI CA Core Subsystem Version 20020503:
-
-Added support a new OSL interface that allows the host operating
-
-system software to override the DSDT found in the firmware -
-AcpiOsTableOverride.  With this interface, the OSL can examine the
-version of the firmware DSDT and replace it with a different one
-if desired.
-
-Added new external interfaces for accessing ACPI registers from
-device drivers and other system software - AcpiGetRegister and
-AcpiSetRegister.  This was simply an externalization of the
-existing AcpiHwBitRegister interfaces.
-
-Fixed a regression introduced in the previous build where the
-ASL/AML CreateField operator always returned an error,
-"destination must be a NS Node".
-
-Extended the maximum time (before failure) to successfully enable
-ACPI mode to 3 seconds.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
-    Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
-  Current Release:
-    Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
-    Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
-
-
-2) Linux
-
-Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
-free. While 3 out of 4 of our in-house systems work fine, the last
-one still hangs when testing the LAPIC timer.
-
-Renamed many files in 2.5 kernel release to omit "acpi_" from the
-name.
-
-Added warning on boot for Presario 711FR.
-
-Sleep improvements (Pavel Machek)
-
-ACPI can now be built without CONFIG_PCI enabled.
-
-IA64: Fixed memory map functions (JI Lee)
-
-
-3) iASL Compiler Version X2043:
-
-Added support to allow the compiler to be integrated into the MS
-VC++ development environment for one-button compilation of single
-files or entire projects -- with error-to-source-line mapping.
-
-Implemented support for compile-time constant folding for the
-Type3, Type4, and Type5 opcodes first defined in the ACPI 2.0
-specification.  This allows the ASL writer to use expressions
-instead of Integer/Buffer/String constants in terms that must
-evaluate to constants at compile time and will also simplify the
-emitted AML in any such sub-expressions that can be folded
-(evaluated at compile-time.)  This increases the size of the
-compiler significantly because a portion of the ACPI CA AML
-interpreter is included within the compiler in order to pre-
-evaluate constant expressions.
-
-
-Fixed a problem with the "Unicode" ASL macro that caused the
-compiler to fault.  (This macro is used in conjunction with the
-_STR reserved name.)
-
-Implemented an AML opcode optimization to use the Zero, One, and
-Ones opcodes where possible to further reduce the size of integer
-constants and thus reduce the overall size of the generated AML
-code.
-
-Implemented error checking for new reserved terms for ACPI version
-2.0A.
-
-Implemented the -qr option to display the current list of ACPI
-reserved names known to the compiler.
-
-Implemented the -qc option to display the current list of ASL
-operators that are allowed within constant expressions and can
-therefore be folded at compile time if the operands are constants.
-
-
-4) Documentation
-
-Updated the Programmer's Reference for new interfaces, data types,
-and memory allocation model options.
-
-Updated the iASL Compiler User Reference to apply new format and
-add information about new features and options.
-
-----------------------------------------
-19 April 2002.  Summary of changes for this release.
-
-1) ACPI CA Core Subsystem Version 20020419:
-
-The source code base for the Core Subsystem has been completely
-cleaned with PC-lint (FlexLint) for both 32-bit and 64-bit
-versions.  The Lint option files used are included in the
-/acpi/generate/lint directory.
-
-Implemented enhanced status/error checking across the entire
-Hardware manager subsystem.  Any hardware errors (reported from
-the OSL) are now bubbled up and will abort a running control
-method.
-
-
-Fixed a problem where the per-ACPI-table integer width (32 or 64)
-was stored only with control method nodes, causing a fault when
-non-control method code was executed during table loading.  The
-solution implemented uses a global variable to indicate table
-width across the entire ACPI subsystem.  Therefore, ACPI CA does
-not support mixed integer widths across different ACPI tables
-(DSDT, SSDT).
-
-Fixed a problem where NULL extended fields (X fields) in an ACPI
-2.0 ACPI FADT caused the table load to fail.  Although the
-existing ACPI specification is a bit fuzzy on this topic, the new
-behavior is to fall back on a ACPI 1.0 field if the corresponding
-ACPI 2.0 X field is zero (even though the table revision indicates
-a full ACPI 2.0 table.)  The ACPI specification will be updated to
-clarify this issue.
-
-Fixed a problem with the SystemMemory operation region handler
-where memory was always accessed byte-wise even if the AML-
-specified access width was larger than a byte.  This caused
-problems on systems with memory-mapped I/O.  Memory is now
-accessed with the width specified.  On systems that do not support
-non-aligned transfers, a check is made to guarantee proper address
-alignment before proceeding in order to avoid an AML-caused
-alignment fault within the kernel.
-
-
-Fixed a problem with the ExtendedIrq resource where only one byte
-of the 4-byte Irq field was extracted.
-
-Fixed the AcpiExDigitsNeeded() procedure to support _UID.  This
-function was out of date and required a rewrite.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
-    Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
-  Current Release:
-    Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
-    Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
-
-
-2) Linux
-
-PCI IRQ routing fixes (Dominik Brodowski)
-
-
-3) iASL Compiler Version X2042:
-
-Implemented an additional compile-time error check for a field
-unit whose size + minimum access width would cause a run-time
-access beyond the end-of-region.  Previously, only the field size
-itself was checked.
-
-The Core subsystem and iASL compiler now share a common parse
-object in preparation for compile-time evaluation of the type
-3/4/5 ASL operators.
-
-
-----------------------------------------
-Summary of changes for this release: 03_29_02
-
-1) ACPI CA Core Subsystem Version 20020329:
-
-Implemented support for late evaluation of TermArg operands to
-Buffer and Package objects.  This allows complex expressions to be
-used in the declarations of these object types.
-
-Fixed an ACPI 1.0 compatibility issue when reading Fields. In ACPI
-1.0, if the field was larger than 32 bits, it was returned as a
-buffer - otherwise it was returned as an integer.  In ACPI 2.0,
-the field is returned as a buffer only if the field is larger than
-64 bits.  The TableRevision is now considered when making this
-conversion to avoid incompatibility with existing ASL code.
-
-Implemented logical addressing for AcpiOsGetRootPointer.  This
-allows an RSDP with either a logical or physical address.  With
-this support, the host OS can now override all ACPI tables with
-one logical RSDP.  Includes implementation of  "typed" pointer
-support to allow a common data type for both physical and logical
-pointers internally.  This required a change to the
-AcpiOsGetRootPointer interface.
-
-Implemented the use of ACPI 2.0 Generic Address Structures for all
-GPE, Fixed Event, and PM Timer I/O.  This allows the use of memory
-mapped I/O for these ACPI features.
-
-Initialization now ignores not only non-required tables (All
-tables other than the FADT, FACS, DSDT, and SSDTs), but also does
-not validate the table headers of unrecognized tables.
-
-Fixed a problem where a notify handler could only be
-installed/removed on an object of type Device.  All "notify"
-
-objects are now supported -- Devices, Processor, Power, and
-Thermal.
-
-Removed most verbosity from the ACPI_DB_INFO debug level.  Only
-critical information is returned when this debug level is enabled.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release
-    Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
-    Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
-  Current Release:
-    Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
-    Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
-
-
-2) Linux:
-
-The processor driver (acpi_processor.c) now fully supports ACPI
-2.0-based processor performance control (e.g. Intel(R)
-SpeedStep(TM) technology) Note that older laptops that only have
-the Intel "applet" interface are not supported through this.  The
-'limit' and 'performance' interface (/proc) are fully functional.
-[Note that basic policy for controlling performance state
-transitions will be included in the next version of ospmd.]  The
-idle handler was modified to more aggressively use C2, and PIIX4
-errata handling underwent a complete overhaul (big thanks to
-Dominik Brodowski).
-
-Added support for ACPI-PCI device binding (acpi_pci_root.c). _ADR-
-based devices in the ACPI namespace are now dynamically bound
-(associated) with their PCI counterparts (e.g. PCI1->01:00.0).
-This allows, among other things, ACPI to resolve bus numbers for
-subordinate PCI bridges.
-
-Enhanced PCI IRQ routing to get the proper bus number for _PRT
-entries defined underneath PCI bridges.
-
-Added IBM 600E to bad bios list due to invalid _ADR value for
-PIIX4 PCI-ISA bridge, resulting in improper PCI IRQ routing.
-
-In the process of adding full MADT support (e.g. IOAPIC) for IA32
-(acpi.c, mpparse.c) -- stay tuned.
-
-Added back visual differentiation between fixed-feature and
-control-method buttons in dmesg.  Buttons are also subtyped (e.g.
-button/power/PWRF) to simplify button identification.
-
-We no longer use -Wno-unused when compiling debug. Please ignore
-any "_THIS_MODULE defined but not used" messages.
-
-Can now shut down the system using "magic sysrq" key.
-
-
-3) iASL Compiler version 2041:
-
-Fixed a problem where conversion errors for hex/octal/decimal
-constants were not reported.
-
-Implemented a fix for the General Register template Address field.
-This field was 8 bits when it should be 64.
-
-Fixed a problem where errors/warnings were no longer being emitted
-within the listing output file.
-
-Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
-exactly 4 characters, alphanumeric only.
-
-
-
-
-----------------------------------------
-Summary of changes for this release: 03_08_02
-
-
-1) ACPI CA Core Subsystem Version 20020308:
-
-Fixed a problem with AML Fields where the use of the "AccessAny"
-keyword could cause an interpreter error due to attempting to read
-or write beyond the end of the parent Operation Region.
-
-Fixed a problem in the SystemMemory Operation Region handler where
-an attempt was made to map memory beyond the end of the region.
-This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
-errors on some Linux systems.
-
-Fixed a problem where the interpreter/namespace "search to root"
-algorithm was not functioning for some object types.  Relaxed the
-internal restriction on the search to allow upsearches for all
-external object types as well as most internal types.
-
-
-2) Linux:
-
-We now use safe_halt() macro versus individual calls to sti | hlt.
-
-Writing to the processor limit interface should now work. "echo 1"
-will increase the limit, 2 will decrease, and 0 will reset to the
-
-default.
-
-
-3) ASL compiler:
-
-Fixed segfault on Linux version.
-
-
-----------------------------------------
-Summary of changes for this release: 02_25_02
-
-1) ACPI CA Core Subsystem:
-
-
-Fixed a problem where the GPE bit masks were not initialized
-properly, causing erratic GPE behavior.
-
-Implemented limited support for multiple calling conventions.  The
-code can be generated with either the VPL (variable parameter
-list, or "C") convention, or the FPL (fixed parameter list, or
-"Pascal") convention.  The core subsystem is about 3.4% smaller
-when generated with FPL.
-
-
-2) Linux
-
-Re-add some /proc/acpi/event functionality that was lost during
-the rewrite
-
-Resolved issue with /proc events for fixed-feature buttons showing
-up as the system device.
-
-Fixed checks on C2/C3 latencies to be inclusive of maximum values.
-
-Replaced AE_ERRORs in acpi_osl.c with more specific error codes.
-
-Changed ACPI PRT option from "pci=noacpi-routing" to "pci=noacpi"
-
-Fixed limit interface & usage to fix bugs with passive cooling
-hysterisis.
-
-Restructured PRT support.
-
-
-----------------------------------------
-Summary of changes for this label: 02_14_02
-
-
-1) ACPI CA Core Subsystem:
-
-Implemented support in AcpiLoadTable to allow loading of FACS and
-FADT tables.
-
-Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
-been removed.  All 64-bit platforms should be migrated to the ACPI
-2.0 tables.  The actbl71.h header has been removed from the source
-tree.
-
-All C macros defined within the subsystem have been prefixed with
-"ACPI_" to avoid collision with other system include files.
-
-Removed the return value for the two AcpiOsPrint interfaces, since
-it is never used and causes lint warnings for ignoring the return
-value.
-
-Added error checking to all internal mutex acquire and release
-calls.  Although a failure from one of these interfaces is
-probably a fatal system error, these checks will cause the
-immediate abort of the currently executing method or interface.
-
-Fixed a problem where the AcpiSetCurrentResources interface could
-fault.  This was a side effect of the deployment of the new memory
-allocation model.
-
-Fixed a couple of problems with the Global Lock support introduced
-in the last major build.  The "common" (1.0/2.0) internal FACS was
-being overwritten with the FACS signature and clobbering the
-Global Lock pointer.  Also, the actual firmware FACS was being
-unmapped after construction of the "common" FACS, preventing
-access to the actual Global Lock field within it.  The "common"
-internal FACS is no longer installed as an actual ACPI table; it
-is used simply as a global.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below.  These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release (02_07_01)
-    Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
-    Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
-  Current Release:
-    Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
-    Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
-
-
-2) Linux
-
-Updated Linux-specific code for core macro and OSL interface
-changes described above.
-
-Improved /proc/acpi/event. It now can be opened only once and has
-proper poll functionality.
-
-Fixed and restructured power management (acpi_bus).
-
-Only create /proc "view by type" when devices of that class exist.
-
-Fixed "charging/discharging" bug (and others) in acpi_battery.
-
-Improved thermal zone code.
-
-
-3) ASL Compiler, version X2039:
-
-
-Implemented the new compiler restriction on ASL String hex/octal
-escapes to non-null, ASCII values.  An error results if an invalid
-value is used.  (This will require an ACPI 2.0 specification
-change.)
-
-AML object labels that are output to the optional C and ASM source
-are now prefixed with both the ACPI table signature and table ID
-to help guarantee uniqueness within a large BIOS project.
-
-
-----------------------------------------
-Summary of changes for this label: 02_01_02
-
-1) ACPI CA Core Subsystem:
-
-ACPI 2.0 support is complete in the entire Core Subsystem and the
-ASL compiler. All new ACPI 2.0 operators are implemented and all
-other changes for ACPI 2.0 support are complete.  With
-simultaneous code and data optimizations throughout the subsystem,
-ACPI 2.0 support has been implemented with almost no additional
-cost in terms of code and data size.
-
-Implemented a new mechanism for allocation of return buffers.  If
-the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
-be allocated on behalf of the caller.  Consolidated all return
-buffer validation and allocation to a common procedure.  Return
-buffers will be allocated via the primary OSL allocation interface
-since it appears that a separate pool is not needed by most users.
-If a separate pool is required for these buffers, the caller can
-still use the original mechanism and pre-allocate the buffer(s).
-
-Implemented support for string operands within the DerefOf
-operator.
-
-Restructured the Hardware and Event managers to be table driven,
-simplifying the source code and reducing the amount of generated
-code.
-
-Split the common read/write low-level ACPI register bitfield
-procedure into a separate read and write, simplifying the code
-considerably.
-
-Obsoleted the AcpiOsCallocate OSL interface.  This interface was
-used only a handful of times and didn't have enough critical mass
-for a separate interface.  Replaced with a common calloc procedure
-in the core.
-
-Fixed a reported problem with the GPE number mapping mechanism
-that allows GPE1 numbers to be non-contiguous with GPE0.
-Reorganized the GPE information and shrunk a large array that was
-originally large enough to hold info for all possible GPEs (256)
-to simply large enough to hold all GPEs up to the largest GPE
-number on the machine.
-
-Fixed a reported problem with resource structure alignment on 64-
-bit platforms.
-
-Changed the AcpiEnableEvent and AcpiDisableEvent external
-interfaces to not require any flags for the common case of
-enabling/disabling a GPE.
-
-Implemented support to allow a "Notify" on a Processor object.
-
-Most TBDs in comments within the source code have been resolved
-and eliminated.
-
-
-Fixed a problem in the interpreter where a standalone parent
-prefix (^) was not handled correctly in the interpreter and
-debugger.
-
-Removed obsolete and unnecessary GPE save/restore code.
-
-Implemented Field support in the ASL Load operator.  This allows a
-table to be loaded from a named field, in addition to loading a
-table directly from an Operation Region.
-
-Implemented timeout and handle support in the external Global Lock
-interfaces.
-
-Fixed a problem in the AcpiDump utility where pathnames were no
-longer being generated correctly during the dump of named objects.
-
-Modified the AML debugger to give a full display of if/while
-predicates instead of just one AML opcode at a time.  (The
-predicate can have several nested ASL statements.)  The old method
-was confusing during single stepping.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below. These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release (12_18_01)
-     Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
-     Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
-   Current Release:
-     Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
-     Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
-
-2) Linux
-
- Implemented fix for PIIX reverse throttling errata (Processor
-driver)
-
-Added new Limit interface (Processor and Thermal drivers)
-
-New thermal policy (Thermal driver)
-
-Many updates to /proc
-
-Battery "low" event support (Battery driver)
-
-Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers)
-
-IA32 - IA64 initialization unification, no longer experimental
-
-Menuconfig options redesigned
-
-3) ASL Compiler, version X2037:
-
-Implemented several new output features to simplify integration of
-AML code into  firmware: 1) Output the AML in C source code with
-labels for each named ASL object.  The    original ASL source code
-is interleaved as C comments. 2) Output the AML in ASM source code
-with labels and interleaved ASL    source. 3) Output the AML in
-raw hex table form, in either C or ASM.
-
-Implemented support for optional string parameters to the
-LoadTable operator.
-
-Completed support for embedded escape sequences within string
-literals.  The compiler now supports all single character escapes
-as well as the Octal and Hex escapes.  Note: the insertion of a
-null byte into a string literal (via the hex/octal escape) causes
-the string to be immediately terminated.  A warning is issued.
-
-Fixed a problem where incorrect AML was generated for the case
-where an ASL namepath consists of a single parent prefix (
-
-) with no trailing name segments.
-
-The compiler has been successfully generated with a 64-bit C
-compiler.
-
-
-
-
-----------------------------------------
-Summary of changes for this label: 12_18_01
-
-1) Linux
-
-Enhanced blacklist with reason and severity fields. Any table's
-signature may now be used to identify a blacklisted system.
-
-Call _PIC control method to inform the firmware which interrupt
-model the OS is using. Turn on any disabled link devices.
-
-Cleaned up busmgr /proc error handling (Andreas Dilger)
-
- 2) ACPI CA Core Subsystem:
-
-Implemented ACPI 2.0 semantics for the "Break" operator (Exit from
-while loop)
-
-Completed implementation of the ACPI 2.0 "Continue",
-"ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
-operators.  All new ACPI 2.0 operators are now implemented in both
-the ASL compiler and the AML interpreter.  The only remaining ACPI
-2.0 task is support for the String data type in the DerefOf
-operator.  Fixed a problem with AcquireMutex where the status code
-was lost if the caller had to actually wait for the mutex.
-
-Increased the maximum ASL Field size from 64K bits to 4G bits.
-
-Completed implementation of the external Global Lock interfaces --
-AcpiAcquireGlobalLock and AcpiReleaseGlobalLock.  The Timeout and
-Handler parameters were added.
-
-Completed another pass at removing warnings and issues when
-compiling with 64-bit compilers.  The code now compiles cleanly
-with the Intel 64-bit C/C++ compiler.  Most notably, the pointer
-add and subtract (diff) macros have changed considerably.
-
-
-Created and deployed a new ACPI_SIZE type that is 64-bits wide on
-64-bit platforms, 32-bits on all others.  This type is used
-wherever memory allocation and/or the C sizeof() operator is used,
-and affects the OSL memory allocation interfaces AcpiOsAllocate
-and AcpiOsCallocate.
-
-Implemented sticky user breakpoints in the AML debugger.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below. These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size. Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release (12_05_01)
-     Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
-     Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
-   Current Release:
-     Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
-     Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
-
- 3) ASL Compiler, version X2034:
-
-Now checks for (and generates an error if detected) the use of a
-Break or Continue statement without an enclosing While statement.
-
-
-Successfully generated the compiler with the Intel 64-bit C
-compiler.
-
- ----------------------------------------
-Summary of changes for this label: 12_05_01
-
- 1) ACPI CA Core Subsystem:
-
-The ACPI 2.0 CopyObject operator is fully implemented.  This
-operator creates a new copy of an object (and is also used to
-bypass the "implicit conversion" mechanism of the Store operator.)
-
-The ACPI 2.0 semantics for the SizeOf operator are fully
-implemented.  The change is that performing a SizeOf on a
-reference object causes an automatic dereference of the object to
-tha actual value before the size is evaluated. This behavior was
-undefined in ACPI 1.0.
-
-The ACPI 2.0 semantics for the Extended IRQ resource descriptor
-have been implemented.  The interrupt polarity and mode are now
-independently set.
-
-Fixed a problem where ASL Constants (Zero, One, Ones, Revision)
-appearing in Package objects were not properly converted to
-integers when the internal Package was converted to an external
-object (via the AcpiEvaluateObject interface.)
-
-Fixed a problem with the namespace object deletion mechanism for
-objects created by control methods.  There were two parts to this
-problem: 1) Objects created during the initialization phase method
-parse were not being deleted, and 2) The object owner ID mechanism
-to track objects was broken.
-
-Fixed a problem where the use of the ASL Scope operator within a
-control method would result in an invalid opcode exception.
-
-Fixed a problem introduced in the previous label where the buffer
-length required for the _PRT structure was not being returned
-correctly.
-
-Code and Data Size: Current core subsystem library sizes are shown
-below. These are the code and data sizes for the acpica.lib
-produced by the Microsoft Visual C++ 6.0 compiler, and these
-values do not include any ACPI driver or OSPM code.  The debug
-version of the code includes the debug output trace mechanism and
-has a larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Previous Release (11_20_01)
-     Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
-     Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
-
-  Current Release:
-     Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
-     Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
-
- 2) Linux:
-
-Updated all files to apply cleanly against 2.4.16.
-
-Added basic PCI Interrupt Routing Table (PRT) support for IA32
-(acpi_pci.c), and unified the PRT code for IA32 and IA64.  This
-version supports both static and dyanmic PRT entries, but dynamic
-entries are treated as if they were static (not yet
-reconfigurable).  Architecture- specific code to use this data is
-absent on IA32 but should be available shortly.
-
-Changed the initialization sequence to start the ACPI interpreter
-(acpi_init) prior to initialization of the PCI driver (pci_init)
-in init/main.c.  This ordering is required to support PRT and
-facilitate other (future) enhancement.  A side effect is that the
-ACPI bus driver and certain device drivers can no longer be loaded
-as modules.
-
-Modified the 'make menuconfig' options to allow PCI Interrupt
-Routing support to be included without the ACPI Bus and other
-device drivers.
-
- 3) ASL Compiler, version X2033:
-
-Fixed some issues with the use of the new CopyObject and
-DataTableRegion operators.  Both are fully functional.
-
- ----------------------------------------
-Summary of changes for this label: 11_20_01
-
- 20 November 2001.  Summary of changes for this release.
-
- 1) ACPI CA Core Subsystem:
-
-Updated Index support to match ACPI 2.0 semantics.  Storing a
-Integer, String, or Buffer to an Index of a Buffer will store only
-the least-significant byte of the source to the Indexed buffer
-byte.  Multiple writes are not performed.
-
-Fixed a problem where the access type used in an AccessAs ASL
-operator was not recorded correctly into the field object.
-
-Fixed a problem where ASL Event objects were created in a
-signalled state. Events are now created in an unsignalled state.
-
-The internal object cache is now purged after table loading and
-initialization to reduce the use of dynamic kernel memory -- on
-the assumption that object use is greatest during the parse phase
-of the entire table (versus the run-time use of individual control
-methods.)
-
-ACPI 2.0 variable-length packages are now fully operational.
-
-Code and Data Size: Code and Data optimizations have permitted new
-feature development with an actual reduction in the library size.
-Current core subsystem library sizes are shown below.  These are
-the code and data sizes for the acpica.lib produced by the
-Microsoft Visual C++ 6.0 compiler, and these values do not include
-any ACPI driver or OSPM code.  The debug version of the code
-includes the debug output trace mechanism and has a larger code
-and data size.  Note that these values will vary depending on the
-efficiency of the compiler and the compiler options used during
-generation.
-
-  Previous Release (11_09_01):
-     Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
-     Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
-
-  Current Release:
-     Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
-     Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
-
- 2) Linux:
-
-Enhanced the ACPI boot-time initialization code to allow the use
-of Local APIC tables for processor enumeration on IA-32, and to
-pave the way for a fully MPS-free boot (on SMP systems) in the
-near future.  This functionality replaces
-arch/i386/kernel/acpitables.c, which was introduced in an earlier
-2.4.15-preX release.  To enable this feature you must add
-"acpi_boot=on" to the kernel command line -- see the help entry
-for CONFIG_ACPI_BOOT for more information.  An IA-64 release is in
-the works...
-
-Restructured the configuration options to allow boot-time table
-parsing support without inclusion of the ACPI Interpreter (and
-other) code.
-
-NOTE: This release does not include fixes for the reported events,
-power-down, and thermal passive cooling issues (coming soon).
-
- 3) ASL Compiler:
-
-Added additional typechecking for Fields within restricted access
-Operation Regions.  All fields within EC and CMOS regions must be
-declared with ByteAcc. All fields withing SMBus regions must be
-declared with the BufferAcc access type.
-
-Fixed a problem where the listing file output of control methods
-no longer interleaved the actual AML code with the ASL source
-code.
-
-
-
-
-----------------------------------------
-Summary of changes for this label: 11_09_01
-
-1) ACPI CA Core Subsystem:
-
-Implemented ACPI 2.0-defined support for writes to fields with a
-Buffer, String, or Integer source operand that is smaller than the
-target field. In these cases, the source operand is zero-extended
-to fill the target field.
-
-Fixed a problem where a Field starting bit offset (within the
-parent operation region) was calculated incorrectly if the
-
-alignment of the field differed from the access width.  This
-affected CreateWordField, CreateDwordField, CreateQwordField, and
-possibly other fields that use the "AccessAny" keyword.
-
-Fixed a problem introduced in the 11_02_01 release where indirect
-stores through method arguments did not operate correctly.
-
-2) Linux:
-
-Implemented boot-time ACPI table parsing support
-(CONFIG_ACPI_BOOT) for IA32 and IA64 UP/SMP systems.  This code
-facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
-legacy BIOS interfaces (e.g. MPS) for the configuration of system
-processors, memory, and interrupts during setup_arch().  Note that
-this patch does not include the required architecture-specific
-changes required to apply this information -- subsequent patches
-will be posted for both IA32 and IA64 to achieve this.
-
-Added low-level sleep support for IA32 platforms, courtesy of Pat
-Mochel. This allows IA32 systems to transition to/from various
-sleeping states (e.g. S1, S3), although the lack of a centralized
-driver model and power-manageable drivers will prevent its
-(successful) use on most systems.
-
-Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
-submenu, unified IA32 and IA64 options, added new "Boot using ACPI
-tables" option, etc.
-
-Increased the default timeout for the EC driver from 1ms to 10ms
-(1000 cycles of 10us) to try to address AE_TIME errors during EC
-transactions.
-
- ----------------------------------------
-Summary of changes for this label: 11_02_01
-
-1) ACPI CA Core Subsystem:
-
-ACPI 2.0 Support: Implemented ACPI 2.0 64-bit Field access
-(QWordAcc keyword). All ACPI 2.0 64-bit support is now
-implemented.
-
-OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
-changes to support ACPI 2.0 Qword field access.  Read/Write
-PciConfiguration(), Read/Write Memory(), and Read/Write Port() now
-accept an ACPI_INTEGER (64 bits) as the value parameter.  Also,
-the value parameter for the address space handler interface is now
-an ACPI_INTEGER.  OSL implementations of these interfaces must now
-handle the case where the Width parameter is 64.
-
-Index Fields: Fixed a problem where unaligned bit assembly and
-disassembly for IndexFields was not supported correctly.
-
-Index and Bank Fields:  Nested Index and Bank Fields are now
-supported. During field access, a check is performed to ensure
-that the value written to an Index or Bank register is not out of
-the range of the register.  The Index (or Bank) register is
-written before each access to the field data. Future support will
-include allowing individual IndexFields to be wider than the
-DataRegister width.
-
-Fields: Fixed a problem where the AML interpreter was incorrectly
-attempting to write beyond the end of a Field/OpRegion.  This was
-a boundary case that occurred when a DWORD field was written to a
-BYTE access OpRegion, forcing multiple writes and causing the
-interpreter to write one datum too many.
-
-Fields: Fixed a problem with Field/OpRegion access where the
-starting bit address of a field was incorrectly calculated if the
-current access type was wider than a byte (WordAcc, DwordAcc, or
-QwordAcc).
-
-Fields: Fixed a problem where forward references to individual
-FieldUnits (individual Field names within a Field definition) were
-not resolved during the AML table load.
-
-Fields: Fixed a problem where forward references from a Field
-definition to the parent Operation Region definition were not
-resolved during the AML table load.
-
-Fields: Duplicate FieldUnit names within a scope are now detected
-during AML table load.
-
-Acpi Interfaces: Fixed a problem where the AcpiGetName() interface
-returned an incorrect name for the root node.
-
-Code and Data Size: Code and Data optimizations have permitted new
-feature development with an actual reduction in the library size.
-Current core subsystem library sizes are shown below.  These are
-the code and data sizes for the acpica.lib produced by the
-Microsoft Visual C++ 6.0 compiler, and these values do not include
-any ACPI driver or OSPM code.  The debug version of the code
-includes the debug output trace mechanism and has a larger code
-and data size.  Note that these values will vary depending on the
-efficiency of the compiler and the compiler options used during
-generation.
-
-  Previous Release (10_18_01):
-     Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
-     Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
-
-  Current Release:
-     Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
-     Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
-
- 2) Linux:
-
-Improved /proc processor output (Pavel Machek) Re-added
-MODULE_LICENSE("GPL") to all modules.
-
- 3) ASL Compiler version X2030:
-
-Duplicate FieldUnit names within a scope are now detected and
-flagged as errors.
-
- 4) Documentation:
-
-Programmer Reference updated to reflect OSL and address space
-handler interface changes described above.
-
-----------------------------------------
-Summary of changes for this label: 10_18_01
-
-ACPI CA Core Subsystem:
-
-Fixed a problem with the internal object reference count mechanism
-that occasionally caused premature object deletion. This resolves
-all of the outstanding problem reports where an object is deleted
-in the middle of an interpreter evaluation.  Although this problem
-only showed up in rather obscure cases, the solution to the
-problem involved an adjustment of all reference counts involving
-objects attached to namespace nodes.
-
-Fixed a problem with Field support in the interpreter where
-writing to an aligned field whose length is an exact multiple (2
-or greater) of the field access granularity would cause an attempt
-to write beyond the end of the field.
-
-The top level AML opcode execution functions within the
-interpreter have been renamed with a more meaningful and
-consistent naming convention.  The modules exmonad.c and
-exdyadic.c were eliminated.  New modules are exoparg1.c,
-exoparg2.c, exoparg3.c, and exoparg6.c.
-
-Support for the ACPI 2.0 "Mid" ASL operator has been implemented.
-
-Fixed a problem where the AML debugger was causing some internal
-objects to not be deleted during subsystem termination.
-
-Fixed a problem with the external AcpiEvaluateObject interface
-where the subsystem would fault if the named object to be
-evaluated refered to a constant such as Zero, Ones, etc.
-
-Fixed a problem with IndexFields and BankFields where the
-subsystem would fault if the index, data, or bank registers were
-not defined in the same scope as the field itself.
-
-Added printf format string checking for compilers that support
-this feature.  Corrected more than 50 instances of issues with
-format specifiers within invocations of ACPI_DEBUG_PRINT
-throughout the core subsystem code.
-
-The ASL "Revision" operator now returns the ACPI support level
-implemented in the core - the value "2" since the ACPI 2.0 support
-is more than 50% implemented.
-
-Enhanced the output of the AML debugger "dump namespace" command
-to output in a more human-readable form.
-
-Current core subsystem library code sizes are shown below.  These
-
-are the code and data sizes for the acpica.lib produced by the
-Microsoft Visual C++ 6.0 compiler, and these values do not include
-any ACPI driver or OSPM code.  The debug version of the code
-includes the full debug trace mechanism -- leading to a much
-
-larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-     Previous Label (09_20_01):
-     Non-Debug Version:    65K Code,     5K Data,     70K Total
-     Debug Version:       138K Code,    58K Data,    196K Total
-
-     This Label:
-
-     Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
-     Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
-
-Linux:
-
-Implemented a "Bad BIOS Blacklist" to track machines that have
-known ASL/AML problems.
-
-Enhanced the /proc interface for the thermal zone driver and added
-support for _HOT (the critical suspend trip point).  The 'info'
-file now includes threshold/policy information, and allows setting
-of _SCP (cooling preference) and _TZP (polling frequency) values
-to the 'info' file. Examples: "echo tzp=5 > info" sets the polling
-frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
-preference to the passive/quiet mode (if supported by the ASL).
-
-Implemented a workaround for a gcc bug that resuted in an OOPs
-when loading the control method battery driver.
-
- ----------------------------------------
-Summary of changes for this label: 09_20_01
-
- ACPI CA Core Subsystem:
-
-The AcpiEnableEvent and AcpiDisableEvent interfaces have been
-modified to allow individual GPE levels to be flagged as wake-
-enabled (i.e., these GPEs are to remain enabled when the platform
-sleeps.)
-
-The AcpiEnterSleepState and AcpiLeaveSleepState interfaces now
-support wake-enabled GPEs.  This means that upon entering the
-sleep state, all GPEs that are not wake-enabled are disabled.
-When leaving the sleep state, these GPEs are reenabled.
-
-A local double-precision divide/modulo module has been added to
-enhance portability to OS kernels where a 64-bit math library is
-not available.  The new module is "utmath.c".
-
-Several optimizations have been made to reduce the use of CPU
-stack.  Originally over 2K, the maximum stack usage is now below
-2K at 1860  bytes (1.82k)
-
-Fixed a problem with the AcpiGetFirmwareTable interface where the
-root table pointer was not mapped into a logical address properly.
-
-Fixed a problem where a NULL pointer was being dereferenced in the
-interpreter code for the ASL Notify operator.
-
-Fixed a problem where the use of the ASL Revision operator
-returned an error. This operator now returns the current version
-of the ACPI CA core subsystem.
-
-Fixed a problem where objects passed as control method parameters
-to AcpiEvaluateObject were always deleted at method termination.
-However, these objects may end up being stored into the namespace
-by the called method.  The object reference count mechanism was
-applied to these objects instead of a force delete.
-
-Fixed a problem where static strings or buffers (contained in the
-AML code) that are declared as package elements within the ASL
-code could cause a fault because the interpreter would attempt to
-delete them.  These objects are now marked with the "static
-object" flag to prevent any attempt to delete them.
-
-Implemented an interpreter optimization to use operands directly
-from the state object instead of extracting the operands to local
-variables.  This reduces stack use and code size, and improves
-performance.
-
-The module exxface.c was eliminated as it was an unnecessary extra
-layer of code.
-
-Current core subsystem library code sizes are shown below.  These
-are the code and data sizes for the acpica.lib produced by the
-Microsoft Visual C++ 6.0 compiler, and these values do not include
-any ACPI driver or OSPM code.  The debug version of the code
-includes the full debug trace mechanism -- leading to a much
-larger code and data size.  Note that these values will vary
-depending on the efficiency of the compiler and the compiler
-options used during generation.
-
-  Non-Debug Version:  65K Code,   5K Data,   70K Total
-(Previously 69K)   Debug Version:     138K Code,  58K Data,  196K
-Total  (Previously 195K)
-
-Linux:
-
-Support for ACPI 2.0 64-bit integers has been added.   All ACPI
-Integer objects are now 64 bits wide
-
-All Acpi data types and structures are now in lower case.  Only
-Acpi macros are upper case for differentiation.
-
- Documentation:
-
-Changes to the external interfaces as described above.
-
- ----------------------------------------
-Summary of changes for this label: 08_31_01
-
- ACPI CA Core Subsystem:
-
-A bug with interpreter implementation of the ASL Divide operator
-was found and fixed.  The implicit function return value (not the
-explicit store operands) was returning the remainder instead of
-the quotient.  This was a longstanding bug and it fixes several
-known outstanding issues on various platforms.
-
-The ACPI_DEBUG_PRINT and function trace entry/exit macros have
-been further optimized for size.  There are 700 invocations of the
-DEBUG_PRINT macro alone, so each optimization reduces the size of
-the debug version of the subsystem significantly.
-
-A stack trace mechanism has been implemented.  The maximum stack
-usage is about 2K on 32-bit platforms.  The debugger command "stat
-stack" will display the current maximum stack usage.
-
-All public symbols and global variables within the subsystem are
-now prefixed with the string "Acpi".  This keeps all of the
-symbols grouped together in a kernel map, and avoids conflicts
-with other kernel subsystems.
-
-Most of the internal fixed lookup tables have been moved into the
-code segment via the const operator.
-
-Several enhancements have been made to the interpreter to both
-reduce the code size and improve performance.
-
-Current core subsystem library code sizes are shown below.  These
-are the code and data sizes for the acpica.lib produced by the
-Microsoft Visual C++ 6.0 compiler, and these values do not include
-any ACPI driver or OSPM code.  The debug version of the code
-includes the full debug trace mechanism which contains over 700
-invocations of the DEBUG_PRINT macro, 500 function entry macro
-invocations, and over 900 function exit macro invocations --
-leading to a much larger code and data size.  Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
-
-        Non-Debug Version:  64K Code,   5K Data,   69K Total
-Debug Version:     137K Code,  58K Data,  195K Total
-
- Linux:
-
-Implemented wbinvd() macro, pending a kernel-wide definition.
-
-Fixed /proc/acpi/event to handle poll() and short reads.
-
- ASL Compiler, version X2026:
-
-Fixed a problem introduced in the previous label where the AML
-
-code emitted for package objects produced packages with zero
-length.
-
- ----------------------------------------
-Summary of changes for this label: 08_16_01
-
-ACPI CA Core Subsystem:
-
-The following ACPI 2.0 ASL operators have been implemented in the
-AML interpreter (These are already supported by the Intel ASL
-compiler):  ToDecimalString, ToHexString, ToString, ToInteger, and
-ToBuffer.  Support for 64-bit AML constants is implemented in the
-AML parser, debugger, and disassembler.
-
-The internal memory tracking mechanism (leak detection code) has
-been upgraded to reduce the memory overhead (a separate tracking
-block is no longer allocated for each memory allocation), and now
-supports all of the internal object caches.
-
-The data structures and code for the internal object caches have
-been coelesced and optimized so that there is a single cache and
-memory list data structure and a single group of functions that
-implement generic cache management.  This has reduced the code
-size in both the debug and release versions of the subsystem.
-
-The DEBUG_PRINT macro(s) have been optimized for size and replaced
-by ACPI_DEBUG_PRINT.  The syntax for this macro is slightly
-different, because it generates a single call to an internal
-function.  This results in a savings of about 90 bytes per
-invocation, resulting in an overall code and data savings of about
-16% in the debug version of the subsystem.
-
- Linux:
-
-Fixed C3 disk corruption problems and re-enabled C3 on supporting
-machines.
-
-Integrated low-level sleep code by Patrick Mochel.
-
-Further tweaked source code Linuxization.
-
-Other minor fixes.
-
- ASL Compiler:
-
-Support for ACPI 2.0 variable length packages is fixed/completed.
-
-Fixed a problem where the optional length parameter for the ACPI
-2.0 ToString operator.
-
-Fixed multiple extraneous error messages when a syntax error is
-detected within the declaration line of a control method.
-
- ----------------------------------------
-Summary of changes for this label: 07_17_01
-
-ACPI CA Core Subsystem:
-
-Added a new interface named AcpiGetFirmwareTable to obtain any
-ACPI table via the ACPI signature.  The interface can be called at
-any time during kernel initialization, even before the kernel
-virtual memory manager is initialized and paging is enabled.  This
-allows kernel subsystems to obtain ACPI tables very early, even
-before the ACPI CA subsystem is initialized.
-
-Fixed a problem where Fields defined with the AnyAcc attribute
-could be resolved to the incorrect address under the following
-conditions: 1) the field width is larger than 8 bits and 2) the
-parent operation region is not defined on a DWORD boundary.
-
-Fixed a problem where the interpreter is not being locked during
-namespace initialization (during execution of the _INI control
-methods), causing an error when an attempt is made to release it
-later.
-
-ACPI 2.0 support in the AML Interpreter has begun and will be
-ongoing throughout the rest of this year.  In this label, The Mod
-operator is implemented.
-
-Added a new data type to contain full PCI addresses named
-ACPI_PCI_ID. This structure contains the PCI Segment, Bus, Device,
-and Function values.
-
- Linux:
-
-Enhanced the Linux version of the source code to change most
-capitalized ACPI type names to lowercase. For example, all
-instances of ACPI_STATUS are changed to acpi_status.  This will
-result in a large diff, but the change is strictly cosmetic and
-aligns the CA code closer to the Linux coding standard.
-
-OSL Interfaces:
-
-The interfaces to the PCI configuration space have been changed to
-add the PCI Segment number and to split the single 32-bit combined
-DeviceFunction field into two 16-bit fields.  This was
-accomplished by moving the four values that define an address in
-PCI configuration space (segment, bus, device, and function) to
-the new ACPI_PCI_ID structure.
-
-The changes to the PCI configuration space interfaces led to a
-reexamination of the complete set of address space access
-interfaces for PCI, I/O, and Memory.  The previously existing 18
-interfaces have proven difficult to maintain (any small change
-must be propagated across at least 6 interfaces) and do not easily
-allow for future expansion to 64 bits if necessary.  Also, on some
-systems, it would not be appropriate to demultiplex the access
-width (8, 16, 32,or 64) before calling the OSL if the
-corresponding native OS interfaces contain a similar access width
-parameter.  For these reasons, the 18 address space interfaces
-have been replaced by these 6 new ones:
-
-AcpiOsReadPciConfiguration
-AcpiOsWritePciConfiguration
-AcpiOsReadMemory
-AcpiOsWriteMemory
-AcpiOsReadPort
-AcpiOsWritePort
-
-Added a new interface named AcpiOsGetRootPointer to allow the OSL
-to perform the platform and/or OS-specific actions necessary to
-obtain the ACPI RSDP table pointer.  On IA-32 platforms, this
-interface will simply call down to the CA core to perform the low-
-memory search for the table.  On IA-64, the RSDP is obtained from
-EFI.  Migrating this interface to the OSL allows the CA core to
-
-remain OS and platform independent.
-
-Added a new interface named AcpiOsSignal to provide a generic
-"function code and pointer" interface for various miscellaneous
-signals and notifications that must be made to the host OS.   The
-first such signals are intended to support the ASL Fatal and
-Breakpoint operators.  In the latter case, the AcpiOsBreakpoint
-interface has been obsoleted.
-
-The definition of the AcpiFormatException interface has been
-changed to simplify its use.  The caller no longer must supply a
-buffer to the call; A pointer to a const string is now returned
-directly.  This allows the call to be easily used in printf
-statements, etc. since the caller does not have to manage a local
-buffer.
-
-
- ASL Compiler, Version X2025:
-
-The ACPI 2.0 Switch/Case/Default operators have been implemented
-and are fully functional.  They will work with all ACPI 1.0
-interpreters, since the operators are simply translated to If/Else
-pairs.
-
-The ACPI 2.0 ElseIf operator is implemented and will also work
-with 1.0 interpreters, for the same reason.
-
-Implemented support for ACPI 2.0 variable-length packages.  These
-packages have a separate opcode, and their size is determined by
-the interpreter at run-time.
-
-Documentation The ACPI CA Programmer Reference has been updated to
-reflect the new interfaces and changes to existing interfaces.
-
- ------------------------------------------
-Summary of changes for this label: 06_15_01
-
- ACPI CA Core Subsystem:
-
-Fixed a problem where a DWORD-accessed field within a Buffer
-object would get its byte address inadvertently rounded down to
-the nearest DWORD.  Buffers are always Byte-accessible.
-
- ASL Compiler, version X2024:
-
-Fixed a problem where the Switch() operator would either fault or
-hang the compiler.  Note however, that the AML code for this ACPI
-2.0 operator is not yet implemented.
-
-Compiler uses the new AcpiOsGetTimer interface to obtain compile
-timings.
-
-Implementation of the CreateField operator automatically converts
-a reference to a named field within a resource descriptor from a
-byte offset to a bit offset if required.
-
-Added some missing named fields from the resource descriptor
-support. These are the names that are automatically created by the
-compiler to reference fields within a descriptor.  They are only
-valid at compile time and are not passed through to the AML
-interpreter.
-
-Resource descriptor named fields are now typed as Integers and
-subject to compile-time typechecking when used in expressions.
-
- ------------------------------------------
-Summary of changes for this label: 05_18_01
-
- ACPI CA Core Subsystem:
-
-Fixed a couple of problems in the Field support code where bits
-from adjacent fields could be returned along with the proper field
-bits. Restructured the field support code to improve performance,
-readability and maintainability.
-
-New DEBUG_PRINTP macro automatically inserts the procedure name
-into the output, saving hundreds of copies of procedure name
-strings within the source, shrinking the memory footprint of the
-debug version of the core subsystem.
-
- Source Code Structure:
-
-The source code directory tree was restructured to reflect the
-current organization of the component architecture.  Some files
-and directories have been moved and/or renamed.
-
- Linux:
-
-Fixed leaking kacpidpc processes.
-
-Fixed queueing event data even when /proc/acpi/event is not
-opened.
-
- ASL Compiler, version X2020:
-
-Memory allocation performance enhancement - over 24X compile time
-improvement on large ASL files.  Parse nodes and namestring
-buffers are now allocated from a large internal compiler buffer.
-
-The temporary .SRC file is deleted unless the "-s" option is
-specified
-
-The "-d" debug output option now sends all output to the .DBG file
-instead of the console.
-
-"External" second parameter is now optional
-
-"ElseIf" syntax now properly allows the predicate
-
-Last operand to "Load" now recognized as a Target operand
-
-Debug object can now be used anywhere as a normal object.
-
-ResourceTemplate now returns an object of type BUFFER
-
-EISAID now returns an object of type INTEGER
-
-"Index" now works with a STRING operand
-
-"LoadTable" now accepts optional parameters
-
-"ToString" length parameter is now optional
-
-"Interrupt (ResourceType," parse error fixed.
-
-"Register" with a user-defined region space parse error fixed
-
-Escaped backslash at the end of a string ("\\") scan/parse error
-fixed
-
-"Revision" is now an object of type INTEGER.
-
-
-
-------------------------------------------
-Summary of changes for this label: 05_02_01
-
-Linux:
-
-/proc/acpi/event now blocks properly.
-
-Removed /proc/sys/acpi. You can still dump your DSDT from
-/proc/acpi/dsdt.
-
- ACPI CA Core Subsystem:
-
-Fixed a problem introduced in the previous label where some of the
-"small" resource descriptor types were not recognized.
-
-Improved error messages for the case where an ASL Field is outside
-the range of the parent operation region.
-
- ASL Compiler, version X2018:
-
-
-Added error detection for ASL Fields that extend beyond the length
-of the parent operation region (only if the length of the region
-is known at compile time.)  This includes fields that have a
-minimum access width that is smaller than the parent region, and
-individual field units that are partially or entirely beyond the
-extent of the parent.
-
-
-
-------------------------------------------
-Summary of changes for this label: 04_27_01
-
- ACPI CA Core Subsystem:
-
-Fixed a problem where the namespace mutex could be released at the
-wrong time during execution of AcpiRemoveAddressSpaceHandler.
-
-Added optional thread ID output for debug traces, to simplify
-debugging of multiple threads.  Added context switch notification
-when the debug code realizes that a different thread is now
-executing ACPI code.
-
-Some additional external data types have been prefixed with the
-string "ACPI_" for consistency.  This may effect existing code.
-The data types affected are the external callback typedefs - e.g.,
-
-WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
-
- Linux:
-
-Fixed an issue with the OSL semaphore implementation where a
-thread was waking up with an error from receiving a SIGCHLD
-signal.
-
-Linux version of ACPI CA now uses the system C library for string
-manipulation routines instead of a local implementation.
-
-Cleaned up comments and removed TBDs.
-
- ASL Compiler, version X2017:
-
-Enhanced error detection and reporting for all file I/O
-operations.
-
- Documentation:
-
-Programmer Reference updated to version 1.06.
-
-
-
-------------------------------------------
-Summary of changes for this label: 04_13_01
-
- ACPI CA Core Subsystem:
-
-Restructured support for BufferFields and RegionFields.
-BankFields support is now fully operational.  All known 32-bit
-limitations on field sizes have been removed.  Both BufferFields
-and (Operation) RegionFields are now supported by the same field
-management code.
-
-Resource support now supports QWORD address and IO resources. The
-16/32/64 bit address structures and the Extended IRQ structure
-have been changed to properly handle Source Resource strings.
-
-A ThreadId of -1 is now used to indicate a "mutex not acquired"
-condition internally and must never be returned by AcpiOsThreadId.
-This reserved value was changed from 0 since Unix systems allow a
-thread ID of 0.
-
-Linux:
-
-Driver code reorganized to enhance portability
-
-Added a kernel configuration option to control ACPI_DEBUG
-
-Fixed the EC driver to honor _GLK.
-
-ASL Compiler, version X2016:
-
-Fixed support for the "FixedHw" keyword.  Previously, the FixedHw
-address space was set to 0, not 0x7f as it should be.
-
- ------------------------------------------
-Summary of changes for this label: 03_13_01
-
- ACPI CA Core Subsystem:
-
-During ACPI initialization, the _SB_._INI method is now run if
-present.
-
-Notify handler fix - notifies are deferred until the parent method
-completes execution.  This fixes the "mutex already acquired"
-issue seen occasionally.
-
-Part of the "implicit conversion" rules in ACPI 2.0 have been
-found to cause compatibility problems with existing ASL/AML.  The
-convert "result-to-target-type" implementation has been removed
-for stores to method Args and Locals.  Source operand conversion
-is still fully implemented.  Possible changes to ACPI 2.0
-specification pending.
-
-Fix to AcpiRsCalculatePciRoutingTableLength to return correct
-length.
-
-Fix for compiler warnings for 64-bit compiles.
-
- Linux:
-
-/proc output aligned for easier parsing.
-
-Release-version compile problem fixed.
-
-New kernel configuration options documented in Configure.help.
-
-IBM 600E - Fixed Sleep button may generate "Invalid <NULL>
-context" message.
-
- OSPM:
-
-Power resource driver integrated with bus manager.
-
-Fixed kernel fault during active cooling for thermal zones.
-
-Source Code:
-
-The source code tree has been restructured.
-
-
-
-------------------------------------------
-Summary of changes for this label: 03_02_01
-
- Linux OS Services Layer (OSL):
-
-Major revision of all Linux-specific code.
-
-Modularized all ACPI-specific drivers.
-
-Added new thermal zone and power resource drivers.
-
-Revamped /proc interface (new functionality is under /proc/acpi).
-
-New kernel configuration options.
-
- Linux known issues:
-
-New kernel configuration options not documented in Configure.help
-yet.
-
-
-Module dependencies not currently implemented. If used, they
-should be loaded in this order: busmgr, power, ec, system,
-processor, battery, ac_adapter, button, thermal.
-
-Modules will not load if CONFIG_MODVERSION is set.
-
-IBM 600E - entering S5 may reboot instead of shutting down.
-
-IBM 600E - Sleep button may generate "Invalid <NULL> context"
-message.
-
-Some systems may fail with "execution mutex already acquired"
-message.
-
- ACPI CA Core Subsystem:
-
-Added a new OSL Interface, AcpiOsGetThreadId.  This was required
-for the  deadlock detection code. Defined to return a non-zero, 32-
-bit thread ID for the currently executing thread.  May be a non-
-zero constant integer on single-thread systems.
-
-Implemented deadlock detection for internal subsystem mutexes.  We
-may add conditional compilation for this code (debug only) later.
-
-ASL/AML Mutex object semantics are now fully supported.  This
-includes multiple acquires/releases by owner and support for the
-
-Mutex SyncLevel parameter.
-
-A new "Force Release" mechanism automatically frees all ASL
-Mutexes that have been acquired but not released when a thread
-exits the interpreter.  This forces conformance to the ACPI spec
-("All mutexes must be released when an invocation exits") and
-prevents deadlocked ASL threads.  This mechanism can be expanded
-(later) to monitor other resource acquisitions if OEM ASL code
-continues to misbehave (which it will).
-
-Several new ACPI exception codes have been added for the Mutex
-support.
-
-Recursive method calls are now allowed and supported (the ACPI
-spec does in fact allow recursive method calls.)  The number of
-recursive calls is subject to the restrictions imposed by the
-SERIALIZED method keyword and SyncLevel (ACPI 2.0) method
-parameter.
-
-Implemented support for the SyncLevel parameter for control
-methods (ACPI 2.0 feature)
-
-Fixed a deadlock problem when multiple threads attempted to use
-the interpreter.
-
-Fixed a problem where the string length of a String package
-element was not always set in a package returned from
-AcpiEvaluateObject.
-
-Fixed a problem where the length of a String package element was
-not always included in the length of the overall package returned
-from AcpiEvaluateObject.
-
-Added external interfaces (Acpi*) to the ACPI debug memory
-manager.  This manager keeps a list of all outstanding
-allocations, and can therefore detect memory leaks and attempts to
-free memory blocks more than once. Useful for code such as the
-power manager, etc.  May not be appropriate for device drivers.
-Performance with the debug code enabled is slow.
-
-The ACPI Global Lock is now an optional hardware element.
-
- ASL Compiler Version X2015:
-
-Integrated changes to allow the compiler to be generated on
-multiple platforms.
-
-Linux makefile added to generate the compiler on Linux
-
- Source Code:
-
-All platform-specific headers have been moved to their own
-subdirectory, Include/Platform.
-
-New source file added, Interpreter/ammutex.c
-
-New header file, Include/acstruct.h
-
- Documentation:
-
-The programmer reference has been updated for the following new
-interfaces: AcpiOsGetThreadId AcpiAllocate AcpiCallocate AcpiFree
-
- ------------------------------------------
-Summary of changes for this label: 02_08_01
-
-Core ACPI CA Subsystem: Fixed a problem where an error was
-incorrectly returned if the return resource buffer was larger than
-the actual data (in the resource interfaces).
-
-References to named objects within packages are resolved to the
-
-full pathname string before packages are returned directly (via
-the AcpiEvaluateObject interface) or indirectly via the resource
-interfaces.
-
-Linux OS Services Layer (OSL):
-
-Improved /proc battery interface.
-
-
-Added C-state debugging output and other miscellaneous fixes.
-
-ASL Compiler Version X2014:
-
-All defined method arguments can now be used as local variables,
-including the ones that are not actually passed in as parameters.
-The compiler tracks initialization of the arguments and issues an
-exception if they are used without prior assignment (just like
-locals).
-
-The -o option now specifies a filename prefix that is used for all
-output files, including the AML output file.  Otherwise, the
-default behavior is as follows:  1) the AML goes to the file
-specified in the DSDT.  2) all other output files use the input
-source filename as the base.
-
- ------------------------------------------
-Summary of changes for this label: 01_25_01
-
-Core ACPI CA Subsystem: Restructured the implementation of object
-store support within the  interpreter.  This includes support for
-the Store operator as well  as any ASL operators that include a
-target operand.
-
-Partially implemented support for Implicit Result-to-Target
-conversion. This is when a result object is converted on the fly
-to the type of  an existing target object.  Completion of this
-support is pending  further analysis of the ACPI specification
-concerning this matter.
-
-CPU-specific code has been removed from the subsystem (hardware
-directory).
-
-New Power Management Timer functions added
-
-Linux OS Services Layer (OSL): Moved system state transition code
-to the core, fixed it, and modified  Linux OSL accordingly.
-
-Fixed C2 and C3 latency calculations.
-
-
-We no longer use the compilation date for the version message on
-initialization, but retrieve the version from AcpiGetSystemInfo().
-
-Incorporated for fix Sony VAIO machines.
-
-Documentation:  The Programmer Reference has been updated and
-reformatted.
-
-
-ASL Compiler:  Version X2013: Fixed a problem where the line
-numbering and error reporting could get out  of sync in the
-presence of multiple include files.
-
- ------------------------------------------
-Summary of changes for this label: 01_15_01
-
-Core ACPI CA Subsystem:
-
-Implemented support for type conversions in the execution of the
-ASL  Concatenate operator (The second operand is converted to
-match the type  of the first operand before concatenation.)
-
-Support for implicit source operand conversion is partially
-implemented.   The ASL source operand types Integer, Buffer, and
-String are freely  interchangeable for most ASL operators and are
-converted by the interpreter  on the fly as required.  Implicit
-Target operand conversion (where the  result is converted to the
-target type before storing) is not yet implemented.
-
-Support for 32-bit and 64-bit BCD integers is implemented.
-
-Problem fixed where a field read on an aligned field could cause a
-read  past the end of the field.
-
-New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
-does not return a value, but the caller expects one.  (The ASL
-compiler flags this as a warning.)
-
-ASL Compiler:
-
-Version X2011:
-1. Static typechecking of all operands is implemented. This
-prevents the use of invalid objects (such as using a Package where
-an Integer is required) at compile time instead of at interpreter
-run-time.
-2. The ASL source line is printed with ALL errors and warnings.
-3. Bug fix for source EOF without final linefeed.
-4. Debug option is split into a parse trace and a namespace trace.
-5. Namespace output option (-n) includes initial values for
-integers and strings.
-6. Parse-only option added for quick syntax checking.
-7. Compiler checks for duplicate ACPI name declarations
-
-Version X2012:
-1. Relaxed typechecking to allow interchangeability between
-strings, integers, and buffers.  These types are now converted by
-the interpreter at runtime.
-2. Compiler reports time taken by each internal subsystem in the
-debug         output file.
-
-
- ------------------------------------------
-Summary of changes for this label: 12_14_00
-
-ASL Compiler:
-
-This is the first official release of the compiler. Since the
-compiler requires elements of the Core Subsystem, this label
-synchronizes everything.
-
-------------------------------------------
-Summary of changes for this label: 12_08_00
-
-
-Fixed a problem where named references within the ASL definition
-of both OperationRegions and CreateXXXFields did not work
-properly.  The symptom was an AE_AML_OPERAND_TYPE during
-initialization of the region/field. This is similar (but not
-related internally) to the problem that was fixed in the last
-label.
-
-Implemented both 32-bit and 64-bit support for the BCD ASL
-functions ToBCD and FromBCD.
-
-Updated all legal headers to include "2000" in the copyright
-years.
-
- ------------------------------------------
-Summary of changes for this label: 12_01_00
-
-Fixed a problem where method invocations within the ASL definition
-of both OperationRegions and CreateXXXFields did not work
-properly.  The symptom was an AE_AML_OPERAND_TYPE during
-initialization of the region/field:
-
-  nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
-[DEBG]   ammonad-0284: Exec_monadic2_r/Not: bad operand(s)
-(0x3005)
-
-Fixed a problem where operators with more than one nested
-subexpression would fail.  The symptoms were varied, by mostly
-AE_AML_OPERAND_TYPE errors.  This was actually a rather serious
-problem that has gone unnoticed until now.
-
-  Subtract (Add (1,2), Multiply (3,4))
-
-Fixed a problem where AcpiGetHandle didn't quite get fixed in the
-previous build (The prefix part of a relative path was handled
-incorrectly).
-
-Fixed a problem where Operation Region initialization failed if
-the operation region name was a "namepath" instead of a simple
-"nameseg". Symptom was an AE_NO_OPERAND error.
-
-Fixed a problem where an assignment to a local variable via the
-indirect RefOf mechanism only worked for the first such
-assignment.  Subsequent assignments were ignored.
-
- ------------------------------------------
-Summary of changes for this label: 11_15_00
-
-ACPI 2.0 table support with backwards support for ACPI 1.0 and the
-0.71 extensions.  Note: although we can read ACPI 2.0 BIOS tables,
-the AML  interpreter does NOT have support for the new 2.0 ASL
-grammar terms at this time.
-
-All ACPI hardware access is via the GAS structures in the ACPI 2.0
-FADT.
-
-All physical memory addresses across all platforms are now 64 bits
-wide. Logical address width remains dependent on the platform
-(i.e., "void *").
-
-AcpiOsMapMemory interface changed to a 64-bit physical address.
-
-The AML interpreter integer size is now 64 bits, as per the ACPI
-2.0 specification.
-
-For backwards compatibility with ACPI 1.0, ACPI tables with a
-revision number less than 2 use 32-bit integers only.
-
-Fixed a problem where the evaluation of OpRegion operands did not
-always resolve them to numbers properly.
-
-------------------------------------------
-Summary of changes for this label: 10_20_00
-
-Fix for CBN_._STA issue.  This fix will allow correct access to
-CBN_ OpRegions when the _STA returns 0x8.
-
-Support to convert ACPI constants (Ones, Zeros, One) to actual
-values before a package object is returned
-
-Fix for method call as predicate to if/while construct causing
-incorrect if/while behavior
-
-Fix for Else block package lengths sometimes calculated wrong (if
-block > 63 bytes)
-
-Fix for Processor object length field, was always zero
-
-Table load abort if FACP sanity check fails
-
-Fix for problem with Scope(name) if name already exists
-
-Warning emitted if a named object referenced cannot be found
-(resolved) during method execution.
-
-
-
-
-
-------------------------------------------
-Summary of changes for this label: 9_29_00
-
-New table initialization interfaces: AcpiInitializeSubsystem no
-longer has any parameters AcpiFindRootPointer - Find the RSDP (if
-necessary) AcpiLoadTables (RSDP) - load all tables found at RSDP-
->RSDT Obsolete Interfaces AcpiLoadFirmwareTables - replaced by
-AcpiLoadTables
-
-Note: These interface changes require changes to all existing OSDs
-
-The PCI_Config default address space handler is always installed
-at the root namespace object.
-
--------------------------------------------
-Summary of changes for this label: 09_15_00
-
-The new initialization architecture is implemented.  New
-interfaces are: AcpiInitializeSubsystem (replaces AcpiInitialize)
-AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
-
-(Namespace is automatically loaded when a table is loaded)
-
-The ACPI_OPERAND_OBJECT has been optimized to shrink its size from
-52 bytes to 32 bytes.  There is usually one of these for every
-namespace object, so the memory savings is significant.
-
-Implemented just-in-time evaluation of the CreateField operators.
-
-Bug fixes for IA-64 support have been integrated.
-
-Additional code review comments have been implemented
-
-The so-called "third pass parse" has been replaced by a final walk
-through the namespace to initialize all operation regions (address
-spaces) and fields that have not yet been initialized during the
-execution of the various _INI and REG methods.
-
-New file - namespace/nsinit.c
-
--------------------------------------------
-Summary of changes for this label: 09_01_00
-
-Namespace manager data structures have been reworked to change the
-primary  object from a table to a single object.  This has
-resulted in dynamic memory  savings of 3X within the namespace and
-2X overall in the ACPI CA subsystem.
-
-Fixed problem where the call to AcpiEvFindPciRootBuses was
-inadvertently left  commented out.
-
-Reduced the warning count when generating the source with the GCC
-compiler.
-
-Revision numbers added to each module header showing the
-SourceSafe version of the file.  Please refer to this version
-number when giving us feedback or comments on individual modules.
-
-The main object types within the subsystem have been renamed to
-clarify their  purpose:
-
-ACPI_INTERNAL_OBJECT -> ACPI_OPERAND_OBJECT
-ACPI_GENERIC_OP -> ACPI_PARSE_OBJECT
-ACPI_NAME_TABLE_ENTRY -> ACPI_NAMESPACE_NODE
-
-NOTE: no changes to the initialization sequence are included in
-this label.
-
--------------------------------------------
-Summary of changes for this label: 08_23_00
-
-Fixed problem where TerminateControlMethod was being called
-multiple times per  method
-
-Fixed debugger problem where single stepping caused a semaphore to
-be  oversignalled
-
-Improved performance through additional parse object caching -
-added  ACPI_EXTENDED_OP type
-
--------------------------------------------
-Summary of changes for this label: 08_10_00
-
-Parser/Interpreter integration:  Eliminated the creation of
-complete parse trees  for ACPI tables and control methods.
-Instead, parse subtrees are created and  then deleted as soon as
-they are processed (Either entered into the namespace or  executed
-by the interpreter).  This reduces the use of dynamic kernel
-memory  significantly. (about 10X)
-
-Exception codes broken into classes and renumbered.  Be sure to
-recompile all  code that includes acexcep.h.  Hopefully we won't
-have to renumber the codes  again now that they are split into
-classes (environment, programmer, AML code,  ACPI table, and
-internal).
-
-Fixed some additional alignment issues in the Resource Manager
-subcomponent
-
-Implemented semaphore tracking in the AcpiExec utility, and fixed
-several places  where mutexes/semaphores were being unlocked
-without a corresponding lock  operation.  There are no known
-semaphore or mutex "leaks" at this time.
-
-Fixed the case where an ASL Return operator is used to return an
-unnamed  package.
-
--------------------------------------------
-Summary of changes for this label: 07_28_00
-
-Fixed a problem with the way addresses were calculated in
-AcpiAmlReadFieldData()  and AcpiAmlWriteFieldData(). This problem
-manifested itself when a Field was  created with WordAccess or
-DwordAccess, but the field unit defined within the  Field was less
-
-than a Word or Dword.
-
-Fixed a problem in AmlDumpOperands() module's loop to pull
-operands off of the  operand stack to display information. The
-problem manifested itself as a TLB  error on 64-bit systems when
-accessing an operand stack with two or more  operands.
-
-Fixed a problem with the PCI configuration space handlers where
-context was  getting confused between accesses. This required a
-change to the generic address  space handler and address space
-setup definitions. Handlers now get both a  global handler context
-(this is the one passed in by the user when executing
-AcpiInstallAddressSpaceHandler() and a specific region context
-that is unique to  each region (For example, the _ADR, _SEG and
-_BBN values associated with a  specific region). The generic
-function definitions have changed to the  following:
-
-typedef ACPI_STATUS (*ADDRESS_SPACE_HANDLER) ( UINT32 Function,
-UINT32 Address, UINT32 BitWidth, UINT32 *Value, void
-*HandlerContext, // This used to be void *Context void
-*RegionContext); // This is an additional parameter
-
-typedef ACPI_STATUS (*ADDRESS_SPACE_SETUP) ( ACPI_HANDLE
-RegionHandle, UINT32 Function, void *HandlerContext,  void
-**RegionContext); // This used to be **ReturnContext
-
--------------------------------------------
-Summary of changes for this label: 07_21_00
-
-Major file consolidation and rename.  All files within the
-interpreter have been  renamed as well as most header files.  This
-was done to prevent collisions with  existing files in the host
-OSs -- filenames such as "config.h" and "global.h"  seem to be
-quite common.  The VC project files have been updated.  All
-makefiles  will require modification.
-
-The parser/interpreter integration continues in Phase 5 with the
-implementation  of a complete 2-pass parse (the AML is parsed
-twice) for each table;  This  avoids the construction of a huge
-parse tree and therefore reduces the amount of  dynamic memory
-required by the subsystem.  Greater use of the parse object cache
-means that performance is unaffected.
-
-Many comments from the two code reviews have been rolled in.
-
-The 64-bit alignment support is complete.
-
--------------------------------------------
-Summary of changes for this label: 06_30_00
-
-With a nod and a tip of the hat to the technology of yesteryear,
-we've added  support in the source code for 80 column output
-devices.  The code is now mostly  constrained to 80 columns or
-less to support environments and editors that 1)  cannot display
-or print more than 80 characters on a single line, and 2) cannot
-disable line wrapping.
-
-A major restructuring of the namespace data structure has been
-completed.  The  result is 1) cleaner and more
-understandable/maintainable code, and 2) a  significant reduction
-in the dynamic memory requirement for each named ACPI  object
-(almost half).
-
--------------------------------------------
-Summary of changes for this label: 06_23_00
-
-Linux support has been added.  In order to obtain approval to get
-the ACPI CA  subsystem into the Linux kernel, we've had to make
-quite a few changes to the  base subsystem that will affect all
-users (all the changes are generic and OS- independent).  The
-effects of these global changes have been somewhat far  reaching.
-Files have been merged and/or renamed and interfaces have been
-renamed.   The major changes are described below.
-
-Osd* interfaces renamed to AcpiOs* to eliminate namespace
-pollution/confusion  within our target kernels.  All OSD
-interfaces must be modified to match the new  naming convention.
-
-Files merged across the subsystem.  A number of the smaller source
-and header  files have been merged to reduce the file count and
-increase the density of the  existing files.  There are too many
-to list here.  In general, makefiles that  call out individual
-files will require rebuilding.
-
-Interpreter files renamed.  All interpreter files now have the
-prefix am*  instead of ie* and is*.
-
-Header files renamed:  The acapi.h file is now acpixf.h.  The
-acpiosd.h file is  now acpiosxf.h.  We are removing references to
-the acronym "API" since it is  somewhat windowsy. The new name is
-"external interface" or xface or xf in the  filenames.j
-
-
-All manifest constants have been forced to upper case (some were
-mixed case.)   Also, the string "ACPI_" has been prepended to many
-(not all) of the constants,  typedefs, and structs.
-
-The globals "DebugLevel" and "DebugLayer" have been renamed
-"AcpiDbgLevel" and  "AcpiDbgLayer" respectively.
-
-All other globals within the subsystem are now prefixed with
-"AcpiGbl_" Internal procedures within the subsystem are now
-prefixed with "Acpi" (with only  a few exceptions).  The original
-two-letter abbreviation for the subcomponent  remains after "Acpi"
-- for example, CmCallocate became AcpiCmCallocate.
-
-Added a source code translation/conversion utility.  Used to
-generate the Linux  source code, it can be modified to generate
-other types of source as well. Can  also be used to cleanup
-existing source by removing extraneous spaces and blank  lines.
-Found in tools/acpisrc/*
-
-OsdUnMapMemory was renamed to OsdUnmapMemory and then
-AcpiOsUnmapMemory.  (UnMap  became Unmap).
-
-A "MaxUnits" parameter has been added to AcpiOsCreateSemaphore.
-When set to  one, this indicates that the caller wants to use the
-
-semaphore as a mutex, not a  counting semaphore.  ACPI CA uses
-both types.  However, implementers of this  call may want to use
-different OS primitives depending on the type of semaphore
-requested.  For example, some operating systems provide separate
-
-"mutex" and  "semaphore" interfaces - where the mutex interface is
-much faster because it  doesn't have all the overhead of a full
-semaphore implementation.
-
-Fixed a deadlock problem where a method that accesses the PCI
-address space can  block forever if it is the first access to the
-space.
-
--------------------------------------------
-Summary of changes for this label: 06_02_00
-
-Support for environments that cannot handle unaligned data
-accesses (e.g.  firmware and OS environments devoid of alignment
-handler technology namely  SAL/EFI and the IA-64 Linux kernel) has
-been added (via configurable macros) in  these three areas: -
-Transfer of data from the raw AML byte stream is done via byte
-moves instead of    word/dword/qword moves. - External objects are
-aligned within the user buffer, including package   elements (sub-
-objects). - Conversion of name strings to UINT32 Acpi Names is now
-done byte-wise.
-
-The Store operator was modified to mimic Microsoft's
-implementation when storing  to a Buffer Field.
-
-Added a check of the BM_STS bit before entering C3.
-
-The methods subdirectory has been obsoleted and removed.  A new
-file, cmeval.c  subsumes the functionality.
-
-A 16-bit (DOS) version of AcpiExec has been developed.  The
-makefile is under  the acpiexec directory.
--- /dev/null	jeu. déc. 26 13:48:15 2013
+++ new/usr/src/common/acpica/changes.txt	jeu. déc. 26 13:48:16 2013
@@ -0,0 +1,14651 @@
+----------------------------------------
+18 December 2013. Summary of changes for version 20131218:
+
+Global note: The ACPI 5.0A specification was released this month. There 
+are no changes needed for ACPICA since this release of ACPI is an 
+errata/clarification release. The specification is available at 
+acpi.info. 
+
+
+1) ACPICA kernel-resident subsystem:
+
+Added validation of the XSDT root table if it is present. Some older 
+platforms contain an XSDT that is ill-formed or otherwise invalid (such 
+as containing some or all entries that are NULL pointers). This change 
+adds a new function to validate the XSDT before actually using it. If the 
+XSDT is found to be invalid, ACPICA will now automatically fall back to 
+using the RSDT instead. Original implementation by Zhao Yakui. Ported to 
+ACPICA and enhanced by Lv Zheng and Bob Moore.
+
+Added a runtime option to ignore the XSDT and force the use of the RSDT. 
+This change adds a runtime option that will force ACPICA to use the RSDT 
+instead of the XSDT (AcpiGbl_DoNotUseXsdt). Although the ACPI spec 
+requires that an XSDT be used instead of the RSDT, the XSDT has been 
+found to be corrupt or ill-formed on some machines. Lv Zheng.
+
+Added a runtime option to favor 32-bit FADT register addresses over the 
+64-bit addresses. This change adds an option to favor 32-bit FADT 
+addresses when there is a conflict between the 32-bit and 64-bit versions 
+of the same register. The default behavior is to use the 64-bit version 
+in accordance with the ACPI specification. This can now be overridden via 
+the AcpiGbl_Use32BitFadtAddresses flag. ACPICA BZ 885. Lv Zheng.
+
+During the change above, the internal "Convert FADT" and "Verify FADT" 
+functions have been merged to simplify the code, making it easier to 
+understand and maintain. ACPICA BZ 933.
+
+Improve exception reporting and handling for GPE block installation. 
+Return an actual status from AcpiEvGetGpeXruptBlock and don't clobber the 
+status when exiting AcpiEvInstallGpeBlock. ACPICA BZ 1019.
+
+Added helper macros to extract bus/segment numbers from the HEST table. 
+This change adds two macros to extract the encoded bus and segment 
+numbers from the HEST Bus field - ACPI_HEST_BUS and ACPI_HEST_SEGMENT. 
+Betty Dall <betty.dall@hp.com>
+
+Removed the unused ACPI_FREE_BUFFER macro. This macro is no longer used 
+by ACPICA. It is not a public macro, so it should have no effect on 
+existing OSV code. Lv Zheng.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  96.1K Code, 27.0K Data, 123.1K Total
+    Debug Version:     185.6K Code, 77.3K Data, 262.9K Total
+  Previous Release:
+    Non-Debug Version:  95.9K Code, 27.0K Data, 122.9K Total
+    Debug Version:     185.1K Code, 77.2K Data, 262.3K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Improved pathname support for emitted External() 
+statements. This change adds full pathname support for external names 
+that have been resolved internally by the inclusion of additional ACPI 
+tables (via the iASL -e option). Without this change, the disassembler 
+can emit multiple externals for the same object, or it become confused 
+when the Scope() operator is used on an external object. Overall, greatly 
+improves the ability to actually recompile the emitted ASL code when 
+objects a referenced across multiple ACPI tables. Reported by Michael 
+Tsirkin (mst@redhat.com).
+
+Tests/ASLTS: Updated functional control suite to execute with no errors. 
+David Box. Fixed several errors related to the testing of the interpreter 
+slack mode. Lv Zheng.
+
+iASL: Added support to detect names that are declared within a control 
+method, but are unused (these are temporary names that are only valid 
+during the time the method is executing). A remark is issued for these 
+cases. ACPICA BZ 1022.
+
+iASL: Added full support for the DBG2 table. Adds full disassembler, 
+table compiler, and template generator support for the DBG2 table (Debug 
+Port 2 table).
+
+iASL: Added full support for the PCCT table, update the table definition. 
+Updates the PCCT table definition in the actbl3.h header and adds table 
+compiler and template generator support.
+
+iASL: Added an option to emit only error messages (no warnings/remarks). 
+The -ve option will enable only error messages, warnings and remarks are 
+suppressed. This can simplify debugging when only the errors are 
+important, such as when an ACPI table is disassembled and there are many 
+warnings and remarks -- but only the actual errors are of real interest.
+
+Example ACPICA code (source/tools/examples): Updated the example code so 
+that it builds to an actual working program, not just example code. Added 
+ACPI tables and execution of an example control method in the DSDT. Added 
+makefile support for Unix generation.
+
+----------------------------------------
+15 November 2013. Summary of changes for version 20131115:
+
+This release is available at https://acpica.org/downloads
+
+
+1) ACPICA kernel-resident subsystem:
+
+Resource Manager: Fixed loop termination for the "get AML length" 
+function. The loop previously had an error termination on a NULL resource 
+pointer, which can never happen since the loop simply increments a valid 
+resource pointer. This fix changes the loop to terminate with an error on 
+an invalid end-of-buffer condition. The problem can be seen as an 
+infinite loop by callers to AcpiSetCurrentResources with an invalid or 
+corrupted resource descriptor, or a resource descriptor that is missing 
+an END_TAG descriptor. Reported by Dan Carpenter 
+<dan.carpenter@oracle.com>. Lv Zheng, Bob Moore.
+
+Table unload and ACPICA termination: Delete all attached data objects 
+during namespace node deletion. This fix updates namespace node deletion 
+to delete the entire list of attached objects (attached via 
+AcpiAttachObject) instead of just one of the attached items. ACPICA BZ 
+1024. Tomasz Nowicki (tomasz.nowicki@linaro.org).
+
+ACPICA termination: Added support to delete all objects attached to the 
+root namespace node. This fix deletes any and all objects that have been 
+attached to the root node via AcpiAttachData. Previously, none of these 
+objects were deleted. Reported by Tomasz Nowicki. ACPICA BZ 1026.
+
+Debug output: Do not emit the function nesting level for the in-kernel 
+build. The nesting level is really only useful during a single-thread 
+execution. Therefore, only enable this output for the AcpiExec utility. 
+Also, only emit the thread ID when executing under AcpiExec (Context 
+switches are still always detected and a message is emitted). ACPICA BZ 
+972.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  95.9K Code, 27.0K Data, 122.9K Total
+    Debug Version:     185.1K Code, 77.2K Data, 262.3K Total
+  Previous Release:
+    Non-Debug Version:  95.8K Code, 27.0K Data, 122.8K Total
+    Debug Version:     185.2K Code, 77.2K Data, 262.4K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec/Unix-OSL: Use <termios.h> instead of <termio.h>. This is the 
+correct portable POSIX header for terminal control functions.
+
+Disassembler: Fixed control method invocation issues related to the use 
+of the CondRefOf() operator. The problem is seen in the disassembly where 
+control method invocations may not be disassembled properly if the 
+control method name has been used previously as an argument to CondRefOf. 
+The solution is to not attempt to emit an external declaration for the 
+CondRefOf target (it is not necessary in the first place). This prevents 
+disassembler object type confusion. ACPICA BZ 988.
+
+Unix Makefiles: Added an option to disable compiler optimizations and the 
+_FORTIFY_SOURCE flag. Some older compilers have problems compiling ACPICA 
+with optimizations (reportedly, gcc 4.4 for example). This change adds a 
+command line option for make (NOOPT) that disables all compiler 
+optimizations and the _FORTIFY_SOURCE compiler flag. The default 
+optimization is -O2 with the _FORTIFY_SOURCE flag specified. ACPICA BZ 
+1034. Lv Zheng, Bob Moore.
+
+Tests/ASLTS: Added options to specify individual test cases and modes. 
+This allows testers running aslts.sh to optionally specify individual 
+test modes and test cases. Also added an option to disable the forced 
+generation of the ACPICA tools from source if desired. Lv Zheng.
+
+----------------------------------------
+27 September 2013. Summary of changes for version 20130927:
+
+This release is available at https://acpica.org/downloads
+
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed a problem with store operations to reference objects. This change 
+fixes a problem where a Store operation to an ArgX object that contained 
+a 
+reference to a field object did not complete the automatic dereference 
+and 
+then write to the actual field object. Instead, the object type of the 
+field object was inadvertently changed to match the type of the source 
+operand. The new behavior will actually write to the field object (buffer 
+field or field unit), thus matching the correct ACPI-defined behavior.
+
+Implemented support to allow the host to redefine individual OSL 
+prototypes. This change enables the host to redefine OSL prototypes found 
+in the acpiosxf.h file. This allows the host to implement OSL interfaces 
+with a macro or inlined function. Further, it allows the host to add any 
+additional required modifiers such as __iomem, __init, __exit, etc., as 
+necessary on a per-interface basis. Enables maximum flexibility for the 
+OSL interfaces. Lv Zheng.
+
+Hardcoded the access width for the FADT-defined reset register. The ACPI 
+specification requires the reset register width to be 8 bits. ACPICA now 
+hardcodes the width to 8 and ignores the FADT width value. This provides 
+compatibility with other ACPI implementations that have allowed BIOS code 
+with bad register width values to go unnoticed. Matthew Garett, Bob 
+Moore, 
+Lv Zheng.
+
+Changed the position/use of the ACPI_PRINTF_LIKE macro. This macro is 
+used 
+in the OSL header (acpiosxf). The change modifies the position of this 
+macro in each instance where it is used (AcpiDebugPrint, etc.) to avoid 
+build issues if the OSL defines the implementation of the interface to be 
+an inline stub function. Lv Zheng.
+
+Deployed a new macro ACPI_EXPORT_SYMBOL_INIT for the main ACPICA 
+initialization interfaces. This change adds a new macro for the main init 
+and terminate external interfaces in order to support hosts that require 
+additional or different processing for these functions. Changed from 
+ACPI_EXPORT_SYMBOL to ACPI_EXPORT_SYMBOL_INIT for these functions. Lv 
+Zheng, Bob Moore.
+
+Cleaned up the memory allocation macros for configurability. In the 
+common 
+case, the ACPI_ALLOCATE and related macros now resolve directly to their 
+respective AcpiOs* OSL interfaces. Two options:
+1) The ACPI_ALLOCATE_ZEROED macro uses a simple local implementation by 
+default, unless overridden by the USE_NATIVE_ALLOCATE_ZEROED define.
+2) For AcpiExec (and for debugging), the macros can optionally be 
+resolved 
+to the local ACPICA interfaces that track each allocation (local tracking 
+is used to immediately detect memory leaks).
+Lv Zheng.
+
+Simplified the configuration for ACPI_REDUCED_HARDWARE. Allows the kernel 
+to predefine this macro to either TRUE or FALSE during the system build.
+
+Replaced __FUNCTION_ with __func__ in the gcc-specific header.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  95.8K Code, 27.0K Data, 122.8K Total
+    Debug Version:     185.2K Code, 77.2K Data, 262.4K Total
+  Previous Release:
+    Non-Debug Version:  96.7K Code, 27.1K Data, 123.9K Total
+    Debug Version:     184.4K Code, 76.8K Data, 261.2K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented wildcard support for the -e option. This simplifies use 
+when there are many SSDTs that must be included to resolve external 
+method 
+declarations. ACPICA BZ 1041. Example:
+    iasl -e ssdt*.dat -d dsdt.dat
+
+AcpiExec: Add history/line-editing for Unix/Linux systems. This change 
+adds a portable module that implements full history and limited line 
+editing for Unix and Linux systems. It does not use readline() due to 
+portability issues. Instead it uses the POSIX termio interface to put the 
+terminal in raw input mode so that the various special keys can be 
+trapped 
+(such as up/down-arrow for history support and left/right-arrow for line 
+editing). Uses the existing debugger history mechanism. ACPICA BZ 1036.
+
+AcpiXtract: Add support to handle (ignore) "empty" lines containing only 
+one or more spaces. This provides compatible with early or different 
+versions of the AcpiDump utility. ACPICA BZ 1044.
+
+AcpiDump: Do not ignore tables that contain only an ACPI table header. 
+Apparently, some BIOSs create SSDTs that contain an ACPI table header but 
+no other data. This change adds support to dump these tables. Any tables 
+shorter than the length of an ACPI table header remain in error (an error 
+message is emitted). Reported by Yi Li.
+
+Debugger: Echo actual command along with the "unknown command" message.
+
+----------------------------------------
+23 August 2013. Summary of changes for version 20130823:
+
+1) ACPICA kernel-resident subsystem:
+
+Implemented support for host-installed System Control Interrupt (SCI) 
+handlers. Certain ACPI functionality requires the host to handle raw 
+SCIs. For example, the "SCI Doorbell" that is defined for memory power 
+state support requires the host device driver to handle SCIs to examine 
+if the doorbell has been activated. Multiple SCI handlers can be 
+installed to allow for future expansion. New external interfaces are 
+AcpiInstallSciHandler, AcpiRemoveSciHandler; see the ACPICA reference for 
+details. Lv Zheng, Bob Moore. ACPICA BZ 1032.
+
+Operation region support: Never locally free the handler "context" 
+pointer. This change removes some dangerous code that attempts to free 
+the handler context pointer in some (rare) circumstances. The owner of 
+the handler owns this pointer and the ACPICA code should never touch it. 
+Although not seen to be an issue in any kernel, it did show up as a 
+problem (fault) under AcpiExec. Also, set the internal storage field for 
+the context pointer to zero when the region is deactivated, simply for 
+sanity. David Box. ACPICA BZ 1039.
+
+AcpiRead: On error, do not modify the return value target location. If an 
+error happens in the middle of a split 32/32 64-bit I/O operation, do not 
+modify the target of the return value pointer. Makes the code consistent 
+with the rest of ACPICA. Bjorn Helgaas.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  96.7K Code, 27.1K Data, 123.9K Total
+    Debug Version:     184.4K Code, 76.8K Data, 261.2K Total
+  Previous Release:
+    Non-Debug Version:  96.2K Code, 27.1K Data, 123.3K Total
+    Debug Version:     185.4K Code, 77.1K Data, 262.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiDump: Implemented several new features and fixed some problems:
+1) Added support to dump the RSDP, RSDT, and XSDT tables.
+2) Added support for multiple table instances (SSDT, UEFI).
+3) Added option to dump "customized" (overridden) tables (-c).
+4) Fixed a problem where some table filenames were improperly 
+constructed.
+5) Improved some error messages, removed some unnecessary messages.
+
+iASL: Implemented additional support for disassembly of ACPI tables that 
+contain invocations of external control methods. The -fe<file> option 
+allows the import of a file that specifies the external methods along 
+with the required number of arguments for each -- allowing for the 
+correct disassembly of the table. This is a workaround for a limitation 
+of AML code where the disassembler often cannot determine the number of 
+arguments required for an external control method and generates incorrect 
+ASL code. See the iASL reference for details. ACPICA BZ 1030.
+
+Debugger: Implemented a new command (paths) that displays the full 
+pathnames (namepaths) and object types of all objects in the namespace. 
+This is an alternative to the namespace command.
+
+Debugger: Implemented a new command (sci) that invokes the SCI dispatch 
+mechanism and any installed handlers.
+
+iASL: Fixed a possible segfault for "too many parent prefixes" condition. 
+This can occur if there are too many parent prefixes in a namepath (for 
+example, ^^^^^^PCI0.ECRD). ACPICA BZ 1035.
+
+Application OSLs: Set the return value for the PCI read functions. These 
+functions simply return AE_OK, but should set the return value to zero 
+also. This change implements this. ACPICA BZ 1038.
+
+Debugger: Prevent possible command line buffer overflow. Increase the 
+size of a couple of the debugger line buffers, and ensure that overflow 
+cannot happen. ACPICA BZ 1037.
+
+iASL: Changed to abort immediately on serious errors during the parsing 
+phase. Due to the nature of ASL, there is no point in attempting to 
+compile these types of errors, and they typically end up causing a 
+cascade of hundreds of errors which obscure the original problem.
+
+----------------------------------------
+25 July 2013. Summary of changes for version 20130725:
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed a problem with the DerefOf operator where references to FieldUnits 
+and BufferFields incorrectly returned the parent object, not the actual 
+value of the object. After this change, a dereference of a FieldUnit 
+reference results in a read operation on the field to get the value, and 
+likewise, the appropriate BufferField value is extracted from the target 
+buffer.
+
+Fixed a problem where the _WAK method could cause a fault under these 
+circumstances: 1) Interpreter slack mode was not enabled, and 2) the _WAK 
+method returned no value. The problem is rarely seen because most kernels 
+run ACPICA in slack mode.
+
+For the DerefOf operator, a fatal error now results if an attempt is made 
+to dereference a reference (created by the Index operator) to a NULL 
+package element. Provides compatibility with other ACPI implementations, 
+and this behavior will be added to a future version of the ACPI 
+specification.
+
+The ACPI Power Management Timer (defined in the FADT) is now optional. 
+This provides compatibility with other ACPI implementations and will 
+appear in the next version of the ACPI specification. If there is no PM 
+Timer on the platform, AcpiGetTimer returns AE_SUPPORT. An address of 
+zero in the FADT indicates no PM timer.
+
+Implemented a new interface for _OSI support, AcpiUpdateInterfaces. This 
+allows the host to globally enable/disable all vendor strings, all 
+feature strings, or both. Intended to be primarily used for debugging 
+purposes only. Lv Zheng.
+
+Expose the collected _OSI data to the host via a global variable. This 
+data tracks the highest level vendor ID that has been invoked by the BIOS 
+so that the host (and potentially ACPICA itself) can change behaviors 
+based upon the age of the BIOS.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  96.2K Code, 27.1K Data, 123.3K Total
+    Debug Version:     184.4K Code, 76.8K Data, 261.2K Total
+  Previous Release:
+    Non-Debug Version:  95.9K Code, 26.9K Data, 122.8K Total
+    Debug Version:     184.1K Code, 76.7K Data, 260.8K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Created the following enhancements for the -so option (create 
+offset table):
+1)Add offsets for the last nameseg in each namepath for every supported 
+object type
+2)Add support for Processor, Device, Thermal Zone, and Scope objects
+3)Add the actual AML opcode for the parent object of every supported 
+object type
+4)Add support for the ZERO/ONE/ONES AML opcodes for integer objects
+
+Disassembler: Emit all unresolved external symbols in a single block. 
+These are external references to control methods that could not be 
+resolved, and thus, the disassembler had to make a guess at the number of 
+arguments to parse.
+
+iASL: The argument to the -T option (create table template) is now 
+optional. If not specified, the default table is a DSDT, typically the 
+most common case.
+
+----------------------------------------
+26 June 2013. Summary of changes for version 20130626:
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed an issue with runtime repair of the _CST object. Null or invalid 
+elements were not always removed properly. Lv Zheng. 
+
+Removed an arbitrary restriction of 256 GPEs per GPE block (such as the 
+FADT-defined GPE0 and GPE1). For GPE0, GPE1, and each GPE Block Device, 
+the maximum number of GPEs is 1016. Use of multiple GPE block devices 
+makes the system-wide number of GPEs essentially unlimited.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  95.9K Code, 26.9K Data, 122.8K Total
+    Debug Version:     184.1K Code, 76.7K Data, 260.8K Total
+  Previous Release:
+    Non-Debug Version:  96.0K Code, 27.0K Data, 123.0K Total
+    Debug Version:     184.1K Code, 76.8K Data, 260.9K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Portable AcpiDump: Implemented full support for the Linux and FreeBSD 
+hosts. Now supports Linux, FreeBSD, and Windows.
+
+Disassembler: Added some missing types for the HEST and EINJ tables: "Set 
+Error Type With Address", "CMCI", "MCE", and "Flush Cacheline".
+
+iASL/Preprocessor: Implemented full support for nested 
+#if/#else/#elif/#endif blocks. Allows arbitrary depth of nested blocks.
+
+Disassembler: Expanded maximum output string length to 64K. Was 256 bytes 
+max. The original purpose of this constraint was to limit the amount of 
+debug output. However, the string function in question (UtPrintString) is 
+now used for the disassembler also, where 256 bytes is insufficient. 
+Reported by RehabMan@GitHub.
+
+iASL/DataTables: Fixed some problems and issues with compilation of DMAR 
+tables. ACPICA BZ 999. Lv Zheng.
+
+iASL: Fixed a couple of error exit issues that could result in a "Could 
+not delete <file>" message during ASL compilation.
+
+AcpiDump: Allow "FADT" and "MADT" as valid table signatures, even though 
+the actual signatures for these tables are "FACP" and "APIC", 
+respectively.
+
+AcpiDump: Added support for multiple UEFI tables. Only SSDT and UEFI 
+tables are allowed to have multiple instances.
+
+----------------------------------------
+17 May 2013. Summary of changes for version 20130517:
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed a regression introduced in version 20130328 for _INI methods. This 
+change fixes a problem introduced in 20130328 where _INI methods are no 
+longer executed properly because of a memory block that was not 
+initialized correctly. ACPICA BZ 1016. Tomasz Nowicki 
+<tomasz.nowicki@linaro.org>.
+
+Fixed a possible problem with the new extended sleep registers in the 
+ACPI 
+5.0 FADT. Do not use these registers (even if populated) unless the HW-
+reduced bit is set in the FADT (as per the ACPI specification). ACPICA BZ 
+1020. Lv Zheng.
+
+Implemented return value repair code for _CST predefined objects: Sort 
+the 
+list and detect/remove invalid entries. ACPICA BZ 890. Lv Zheng.
+
+Implemented a debug-only option to disable loading of SSDTs from the 
+RSDT/XSDT during ACPICA initialization. This can be useful for debugging 
+ACPI problems on some machines. Set AcpiGbl_DisableSsdtTableLoad in 
+acglobal.h - ACPICA BZ 1005. Lv Zheng.
+
+Fixed some issues in the ACPICA initialization and termination code: 
+Tomasz Nowicki <tomasz.nowicki@linaro.org>
+1) Clear events initialized flag upon event component termination. ACPICA 
+BZ 1013.
+2) Fixed a possible memory leak in GPE init error path. ACPICA BZ 1018. 
+3) Delete global lock pending lock during termination. ACPICA BZ 1012.
+4) Clear debug buffer global on termination to prevent possible multiple 
+delete. ACPICA BZ 1010.
+
+Standardized all switch() blocks across the entire source base. After 
+many 
+years, different formatting for switch() had crept in. This change makes 
+the formatting of every switch block identical. ACPICA BZ 997. Chao Guan.
+
+Split some files to enhance ACPICA modularity and configurability:
+1) Split buffer dump routines into utilities/utbuffer.c
+2) Split internal error message routines into utilities/uterror.c
+3) Split table print utilities into tables/tbprint.c
+4) Split iASL command-line option processing into asloptions.c
+
+Makefile enhancements:
+1) Support for all new files above.
+2) Abort make on errors from any subcomponent. Chao Guan.
+3) Add build support for Apple Mac OS X. Liang Qi.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  96.0K Code, 27.0K Data, 123.0K Total
+    Debug Version:     184.1K Code, 76.8K Data, 260.9K Total
+  Previous Release:
+    Non-Debug Version:  95.6K Code, 26.8K Data, 122.4K Total
+    Debug Version:     183.5K Code, 76.6K Data, 260.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+New utility: Implemented an easily portable version of the acpidump 
+utility to extract ACPI tables from the system (or a file) in an ASCII 
+hex 
+dump format. The top-level code implements the various command line 
+options, file I/O, and table dump routines. To port to a new host, only 
+three functions need to be implemented to get tables -- since this 
+functionality is OS-dependent. See the tools/acpidump/apmain.c module and 
+the ACPICA reference for porting instructions. ACPICA BZ 859. Notes:
+1) The Windows version obtains the ACPI tables from the Registry.
+2) The Linux version is under development.
+3) Other hosts - If an OS-dependent module is submitted, it will be 
+distributed with ACPICA.
+
+iASL: Fixed a regression for -D preprocessor option (define symbol). A 
+restructuring/change to the initialization sequence caused this option to 
+no longer work properly.
+
+iASL: Implemented a mechanism to disable specific warnings and remarks. 
+Adds a new command line option, "-vw <messageid> as well as "#pragma 
+disable <messageid>". ACPICA BZ 989. Chao Guan, Bob Moore.
+
+iASL: Fix for too-strict package object validation. The package object 
+validation for return values from the predefined names is a bit too 
+strict, it does not allow names references within the package (which will 
+be resolved at runtime.) These types of references cannot be validated at 
+compile time. This change ignores named references within package objects 
+for names that return or define static packages.
+
+Debugger: Fixed the 80-character command line limitation for the History 
+command. Now allows lines of arbitrary length. ACPICA BZ 1000. Chao Guan.
+
+iASL: Added control method and package support for the -so option 
+(generates AML offset table for BIOS support.)
+
+iASL: issue a remark if a non-serialized method creates named objects. If 
+a thread blocks within the method for any reason, and another thread 
+enters the method, the method will fail because an attempt will be made 
+to 
+create the same (named) object twice. In this case, issue a remark that 
+the method should be marked serialized. NOTE: may become a warning later. 
+ACPICA BZ 909.
+
+----------------------------------------
+18 April 2013. Summary of changes for version 20130418:
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed a possible buffer overrun during some rare but specific field unit 
+read operations. This overrun can only happen if the DSDT version is 1 -- 
+meaning that all AML integers are 32 bits -- and the field length is 
+between 33 and 55 bits long. During the read, an internal buffer object 
+is 
+created for the field unit because the field is larger than an integer 
+(32 
+bits). However, in this case, the buffer will be incorrectly written 
+beyond the end because the buffer length is less than the internal 
+minimum 
+of 64 bits (8 bytes) long. The buffer will be either 5, 6, or 7 bytes 
+long, but a full 8 bytes will be written.
+
+Updated the Embedded Controller "orphan" _REG method support. This refers 
+to _REG methods under the EC device that have no corresponding operation 
+region. This is allowed by the ACPI specification. This update removes a 
+dependency on the existence an ECDT table. It will execute an orphan _REG 
+method as long as the operation region handler for the EC is installed at 
+the EC device node and not the namespace root. Rui Zhang (original 
+update), Bob Moore (update/integrate).
+
+Implemented run-time argument typechecking for all predefined ACPI names 
+(_STA, _BIF, etc.) This change performs object typechecking on all 
+incoming arguments for all predefined names executed via 
+AcpiEvaluateObject. This ensures that ACPI-related device drivers are 
+passing correct object types as well as the correct number of arguments 
+(therefore identifying any issues immediately). Also, the ASL/namespace 
+definition of the predefined name is checked against the ACPI 
+specification for the proper argument count. Adds one new file, 
+nsarguments.c
+
+Changed an exception code for the ASL UnLoad() operator. Changed the 
+exception code for the case where the input DdbHandle is invalid, from 
+AE_BAD_PARAMETER to the more appropriate AE_AML_OPERAND_TYPE.
+
+Unix/Linux makefiles: Removed the use of the -O2 optimization flag in the 
+global makefile. The use of this flag causes compiler errors on earlier 
+versions of GCC, so it has been removed for compatibility.
+
+Miscellaneous cleanup:
+1) Removed some unused/obsolete macros
+2) Fixed a possible memory leak in the _OSI support
+3) Removed an unused variable in the predefined name support
+4) Windows OSL: remove obsolete reference to a memory list field
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Current Release:
+    Non-Debug Version:  95.2K Code, 26.4K Data, 121.6K Total
+    Debug Version:     183.0K Code, 76.0K Data, 259.0K Total
+  Previous Release:
+    Non-Debug Version:  95.6K Code, 26.8K Data, 122.4K Total
+    Debug Version:     183.5K Code, 76.6K Data, 260.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec: Added installation of a handler for the SystemCMOS address 
+space. This prevents control method abort if a method accesses this 
+space.
+
+AcpiExec: Added support for multiple EC devices, and now install EC 
+operation region handler(s) at the actual EC device instead of the 
+namespace root. This reflects the typical behavior of host operating 
+systems.
+
+AcpiExec: Updated to ensure that all operation region handlers are 
+installed before the _REG methods are executed. This prevents a _REG 
+method from aborting if it accesses an address space has no handler. 
+AcpiExec installs a handler for every possible address space.
+
+Debugger: Enhanced the "handlers" command to display non-root handlers. 
+This change enhances the handlers command to display handlers associated 
+with individual devices throughout the namespace, in addition to the 
+currently supported display of handlers associated with the root 
+namespace 
+node.
+
+ASL Test Suite: Several test suite errors have been identified and 
+resolved, reducing the total error count during execution. Chao Guan.
+
+----------------------------------------
+28 March 2013. Summary of changes for version 20130328:
+
+1) ACPICA kernel-resident subsystem:
+
+Fixed several possible race conditions with the internal object reference 
+counting mechanism. Some of the external ACPICA interfaces update object 
+reference counts without holding the interpreter or namespace lock. This 
+change adds a spinlock to protect reference count updates on the internal 
+ACPICA objects. Reported by and with assistance from Andriy Gapon 
+(avg@FreeBSD.org).
+
+FADT support: Removed an extraneous warning for very large GPE register 
+sets. This change removes a size mismatch warning if the legacy length 
+field for a GPE register set is larger than the 64-bit GAS structure can 
+accommodate. GPE register sets can be larger than the 255-bit width 
+limitation of the GAS structure. Linn Crosetto (linn@hp.com).
+
+_OSI Support: handle any errors from AcpiOsAcquireMutex. Check for error 
+return from this interface. Handles a possible timeout case if 
+ACPI_WAIT_FOREVER is modified by the host to be a value less than 
+"forever". Jung-uk Kim.
+
+Predefined name support: Add allowed/required argument type information 
+to 
+the master predefined info table. This change adds the infrastructure to 
+enable typechecking on incoming arguments for all predefined 
+methods/objects. It does not actually contain the code that will fully 
+utilize this information, this is still under development. Also condenses 
+some duplicate code for the predefined names into a new module, 
+utilities/utpredef.c
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  95.0K Code, 25.9K Data, 120.9K Total
+    Debug Version:     182.9K Code, 75.6K Data, 258.5K Total
+  Current Release:
+    Non-Debug Version:  95.2K Code, 26.4K Data, 121.6K Total
+    Debug Version:     183.0K Code, 76.0K Data, 259.0K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented a new option to simplify the development of ACPI-
+related 
+BIOS code. Adds support for a new "offset table" output file. The -so 
+option will create a C table containing the AML table offsets of various 
+named objects in the namespace so that BIOS code can modify them easily 
+at 
+boot time. This can simplify BIOS runtime code by eliminating expensive 
+searches for "magic values", enhancing boot times and adding greater 
+reliability. With assistance from Lee Hamel.
+
+iASL: Allow additional predefined names to return zero-length packages. 
+Now, all predefined names that are defined by the ACPI specification to 
+return a "variable-length package of packages" are allowed to return a 
+zero length top-level package. This allows the BIOS to tell the host that 
+the requested feature is not supported, and supports existing BIOS/ASL 
+code and practices.
+
+iASL: Changed the "result not used" warning to an error. This is the case 
+where an ASL operator is effectively a NOOP because the result of the 
+operation is not stored anywhere. For example:
+    Add (4, Local0)
+There is no target (missing 3rd argument), nor is the function return 
+value used. This is potentially a very serious problem -- since the code 
+was probably intended to do something, but for whatever reason, the value 
+was not stored. Therefore, this issue has been upgraded from a warning to 
+an error.
+
+AcpiHelp: Added allowable/required argument types to the predefined names 
+info display. This feature utilizes the recent update to the predefined 
+names table (above).
+
+----------------------------------------
+14 February 2013. Summary of changes for version 20130214:
+
+1) ACPICA Kernel-resident Subsystem:
+
+Fixed a possible regression on some hosts: Reinstated the safe return 
+macros (return_ACPI_STATUS, etc.) that ensure that the argument is 
+evaluated only once. Although these macros are not needed for the ACPICA 
+code itself, they are often used by ACPI-related host device drivers 
+where 
+the safe feature may be necessary.
+
+Fixed several issues related to the ACPI 5.0 reduced hardware support 
+(SOC): Now ensure that if the platform declares itself as hardware-
+reduced 
+via the FADT, the following functions become NOOPs (and always return 
+AE_OK) because ACPI is always enabled by definition on these machines:
+  AcpiEnable
+  AcpiDisable
+  AcpiHwGetMode
+  AcpiHwSetMode
+
+Dynamic Object Repair: Implemented additional runtime repairs for 
+predefined name return values. Both of these repairs can simplify code in 
+the related device drivers that invoke these methods:
+1) For the _STR and _MLS names, automatically repair/convert an ASCII 
+string to a Unicode buffer. 
+2) For the _CRS, _PRS, and _DMA names, return a resource descriptor with 
+a 
+lone end tag descriptor in the following cases: A Return(0) was executed, 
+a null buffer was returned, or no object at all was returned (non-slack 
+mode only). Adds a new file, nsconvert.c
+ACPICA BZ 998. Bob Moore, Lv Zheng.
+
+Resource Manager: Added additional code to prevent possible infinite 
+loops 
+while traversing corrupted or ill-formed resource template buffers. Check 
+for zero-length resource descriptors in all code that loops through 
+resource templates (the length field is used to index through the 
+template). This change also hardens the external AcpiWalkResources and 
+AcpiWalkResourceBuffer interfaces.
+
+Local Cache Manager: Enhanced the main data structure to eliminate an 
+unnecessary mechanism to access the next object in the list. Actually 
+provides a small performance enhancement for hosts that use the local 
+ACPICA cache manager. Jung-uk Kim.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  94.5K Code, 25.4K Data, 119.9K Total
+    Debug Version:     182.3K Code, 75.0K Data, 257.3K Total
+  Current Release:
+    Non-Debug Version:  95.0K Code, 25.9K Data, 120.9K Total
+    Debug Version:     182.9K Code, 75.6K Data, 258.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL/Disassembler: Fixed several issues with the definition of the ACPI 
+5.0 RASF table (RAS Feature Table). This change incorporates late changes 
+that were made to the ACPI 5.0 specification.
+
+iASL/Disassembler: Added full support for the following new ACPI tables:
+  1) The MTMR table (MID Timer Table)
+  2) The VRTC table (Virtual Real Time Clock Table).
+Includes header file, disassembler, table compiler, and template support 
+for both tables.
+
+iASL: Implemented compile-time validation of package objects returned by 
+predefined names. This new feature validates static package objects 
+returned by the various predefined names defined to return packages. Both 
+object types and package lengths are validated, for both parent packages 
+and sub-packages, if any. The code is similar in structure and behavior 
+to 
+the runtime repair mechanism within the AML interpreter and uses the 
+existing predefined name information table. Adds a new file, aslprepkg.c. 
+ACPICA BZ 938.
+
+iASL: Implemented auto-detection of binary ACPI tables for disassembly. 
+This feature detects a binary file with a valid ACPI table header and 
+invokes the disassembler automatically. Eliminates the need to 
+specifically invoke the disassembler with the -d option. ACPICA BZ 862.
+
+iASL/Disassembler: Added several warnings for the case where there are 
+unresolved control methods during the disassembly. This can potentially 
+cause errors when the output file is compiled, because the disassembler 
+assumes zero method arguments in these cases (it cannot determine the 
+actual number of arguments without resolution/definition of the method).
+
+Debugger: Added support to display all resources with a single command. 
+Invocation of the resources command with no arguments will now display 
+all 
+resources within the current namespace.
+
+AcpiHelp: Added descriptive text for each ACPICA exception code displayed 
+via the -e option.
+
+----------------------------------------
+17 January 2013. Summary of changes for version 20130117:
+
+1) ACPICA Kernel-resident Subsystem:
+
+Updated the AcpiGetSleepTypeData interface: Allow the \_Sx methods to 
+return either 1 or 2 integers. Although the ACPI spec defines the \_Sx 
+objects to return a package containing one integer, most BIOS code 
+returns 
+two integers and the previous code reflects that. However, we also need 
+to 
+support BIOS code that actually implements to the ACPI spec, and this 
+change reflects this.
+
+Fixed two issues with the ACPI_DEBUG_PRINT macros:
+1) Added the ACPI_DO_WHILE macro to the main DEBUG_PRINT helper macro for 
+C compilers that require this support.
+2) Renamed the internal ACPI_DEBUG macro to ACPI_DO_DEBUG_PRINT since 
+ACPI_DEBUG is already used by many of the various hosts.
+
+Updated all ACPICA copyrights and signons to 2013. Added the 2013 
+copyright to all module headers and signons, including the standard Linux 
+header. This affects virtually every file in the ACPICA core subsystem, 
+iASL compiler, all ACPICA utilities, and the test suites.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  94.5K Code, 25.5K Data, 120.0K Total
+    Debug Version:     182.2K Code, 74.9K Data, 257.1K Total
+  Current Release:
+    Non-Debug Version:  94.5K Code, 25.4K Data, 119.9K Total
+    Debug Version:     182.3K Code, 75.0K Data, 257.3K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Generic Unix OSL: Use a buffer to eliminate multiple vfprintf()s and 
+prevent a possible fault on some hosts. Some C libraries modify the arg 
+pointer parameter to vfprintf making it difficult to call it twice in the 
+AcpiOsVprintf function. Use a local buffer to workaround this issue. This 
+does not affect the Windows OSL since the Win C library does not modify 
+the arg pointer. Chao Guan, Bob Moore.
+
+iASL: Fixed a possible infinite loop when the maximum error count is 
+reached. If an output file other than the .AML file is specified (such as 
+a listing file), and the maximum number of errors is reached, do not 
+attempt to flush data to the output file(s) as the compiler is aborting. 
+This can cause an infinite loop as the max error count code essentially 
+keeps calling itself.
+
+iASL/Disassembler: Added an option (-in) to ignore NOOP 
+opcodes/operators. 
+Implemented for both the compiler and the disassembler. Often, the NOOP 
+opcode is used as padding for packages that are changed dynamically by 
+the 
+BIOS. When disassembled and recompiled, these NOOPs will cause syntax 
+errors. This option causes the disassembler to ignore all NOOP opcodes 
+(0xA3), and it also causes the compiler to ignore all ASL source code 
+NOOP 
+statements as well.
+
+Debugger: Enhanced the Sleep command to execute all sleep states. This 
+change allows Sleep to be invoked with no arguments and causes the 
+debugger to execute all of the sleep states, 0-5, automatically.
+
+----------------------------------------
+20 December 2012. Summary of changes for version 20121220:
+
+1) ACPICA Kernel-resident Subsystem:
+
+Implemented a new interface, AcpiWalkResourceBuffer. This interface is an 
+alternate entry point for AcpiWalkResources and improves the usability of 
+the resource manager by accepting as input a buffer containing the output 
+of either a _CRS, _PRS, or _AEI method. The key functionality is that the 
+input buffer is not deleted by this interface so that it can be used by 
+the host later. See the ACPICA reference for details.
+
+Interpreter: Add a warning if a 64-bit constant appears in a 32-bit table 
+(DSDT version < 2). The constant will be truncated and this warning 
+reflects that behavior.
+
+Resource Manager: Add support for the new ACPI 5.0 wake bit in the IRQ, 
+ExtendedInterrupt, and GpioInt descriptors. This change adds support to 
+both get and set the new wake bit in these descriptors, separately from 
+the existing share bit. Reported by Aaron Lu.
+
+Interpreter: Fix Store() when an implicit conversion is not possible. For 
+example, in the cases such as a store of a string to an existing package 
+object, implement the store as a CopyObject(). This is a small departure 
+from the ACPI specification which states that the control method should 
+be 
+aborted in this case. However, the ASLTS suite depends on this behavior.
+
+Performance improvement for the various FUNCTION_TRACE and DEBUG_PRINT 
+macros: check if debug output is currently enabled as soon as possible to 
+minimize performance impact if debug is in fact not enabled.
+
+Source code restructuring: Cleanup to improve modularity. The following 
+new files have been added: dbconvert.c, evhandler.c, nsprepkg.c, 
+psopinfo.c, psobject.c, rsdumpinfo.c, utstring.c, and utownerid.c. 
+Associated makefiles and project files have been updated.
+
+Changed an exception code for LoadTable operator. For the case where one 
+of the input strings is too long, change the returned exception code from 
+AE_BAD_PARAMETER to AE_AML_STRING_LIMIT.
+
+Fixed a possible memory leak in dispatcher error path. On error, delete 
+the mutex object created during method mutex creation. Reported by 
+tim.gardner@canonical.com.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  94.3K Code, 25.3K Data, 119.6K Total
+    Debug Version:     175.5K Code, 74.5K Data, 250.0K Total
+  Current Release:
+    Non-Debug Version:  94.5K Code, 25.5K Data, 120.0K Total
+    Debug Version:     182.2K Code, 74.9K Data, 257.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Disallow a method call as argument to the ObjectType ASL operator. 
+This change tracks an errata to the ACPI 5.0 document. The AML grammar 
+will not allow the interpreter to differentiate between a method and a 
+method invocation when these are used as an argument to the ObjectType 
+operator. The ACPI specification change is to disallow a method 
+invocation 
+(UserTerm) for the ObjectType operator.
+
+Finish support for the TPM2 and CSRT tables in the headers, table 
+compiler, and disassembler.
+
+Unix user-space OSL: Fix a problem with WaitSemaphore where the timeout 
+always expires immediately if the semaphore is not available. The 
+original 
+code was using a relative-time timeout, but sem_timedwait requires the 
+use 
+of an absolute time.
+
+iASL: Added a remark if the Timer() operator is used within a 32-bit 
+table. This operator returns a 64-bit time value that will be truncated 
+within a 32-bit table.
+
+iASL Source code restructuring: Cleanup to improve modularity. The 
+following new files have been added: aslhex.c, aslxref.c, aslnamesp.c, 
+aslmethod.c, and aslfileio.c. Associated makefiles and project files have 
+been updated.
+
+
+----------------------------------------
+14 November 2012. Summary of changes for version 20121114:
+
+1) ACPICA Kernel-resident Subsystem:
+
+Implemented a performance enhancement for ACPI/AML Package objects. This 
+change greatly increases the performance of Package objects within the 
+interpreter. It changes the processing of reference counts for packages 
+by 
+optimizing for the most common case where the package sub-objects are 
+either Integers, Strings, or Buffers. Increases the overall performance 
+of 
+the ASLTS test suite by 1.5X (Increases the Slack Mode performance by 
+2X.) 
+Chao Guan. ACPICA BZ 943.
+
+Implemented and deployed common macros to extract flag bits from resource 
+descriptors. Improves readability and maintainability of the code. Fixes 
+a 
+problem with the UART serial bus descriptor for the number of data bits 
+flags (was incorrectly 2 bits, should be 3).
+
+Enhanced the ACPI_GETx and ACPI_SETx macros. Improved the implementation 
+of the macros and changed the SETx macros to the style of (destination, 
+source). Also added ACPI_CASTx companion macros. Lv Zheng.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.9K Code, 25.2K Data, 119.1K Total
+    Debug Version:     175.5K Code, 74.5K Data, 250.0K Total
+  Current Release:
+    Non-Debug Version:  94.3K Code, 25.3K Data, 119.6K Total
+    Debug Version:     175.5K Code, 74.5K Data, 250.0K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Added the new ACPI 5.0 interrupt sharing flags. This change 
+adds the ShareAndWake and ExclusiveAndWake flags which were added to the 
+Irq, Interrupt, and Gpio resource descriptors in ACPI 5.0. ACPICA BZ 986.
+
+Disassembler: Fixed a problem with external declaration generation. Fixes 
+a problem where an incorrect pathname could be generated for an external 
+declaration if the original reference to the object includes leading 
+carats (^). ACPICA BZ 984.
+
+Debugger: Completed a major update for the Disassemble<method> command. 
+This command was out-of-date and did not properly disassemble control 
+methods that had any reasonable complexity. This fix brings the command 
+up 
+to the same level as the rest of the disassembler. Adds one new file, 
+dmdeferred.c, which is existing code that is now common with the main 
+disassembler and the debugger disassemble command. ACPICA MZ 978.
+
+iASL: Moved the parser entry prototype to avoid a duplicate declaration. 
+Newer versions of Bison emit this prototype, so moved the prototype out 
+of 
+the iASL header to where it is actually used in order to avoid a 
+duplicate 
+declaration.
+
+iASL/Tools: Standardized use of the stream I/O functions:
+  1) Ensure check for I/O error after every fopen/fread/fwrite
+  2) Ensure proper order of size/count arguments for fread/fwrite
+  3) Use test of (Actual != Requested) after all fwrite, and most fread
+  4) Standardize I/O error messages
+Improves reliability and maintainability of the code. Bob Moore, Lv 
+Zheng. 
+ACPICA BZ 981.
+
+Disassembler: Prevent duplicate External() statements. During generation 
+of external statements, detect similar pathnames that are actually 
+duplicates such as these:
+  External (\ABCD)
+  External (ABCD)
+Remove all leading '\' characters from pathnames during the external 
+statement generation so that duplicates will be detected and tossed. 
+ACPICA BZ 985.
+
+Tools: Replace low-level I/O with stream I/O functions. Replace 
+open/read/write/close with the stream I/O equivalents 
+fopen/fread/fwrite/fclose for portability and performance. Lv Zheng, Bob 
+Moore.
+
+AcpiBin: Fix for the dump-to-hex function. Now correctly output the table 
+name header so that AcpiXtract recognizes the output file/table.
+
+iASL: Remove obsolete -2 option flag. Originally intended to force the 
+compiler/disassembler into an ACPI 2.0 mode, this was never implemented 
+and the entire concept is now obsolete.
+
+----------------------------------------
+18 October 2012. Summary of changes for version 20121018:
+
+
+1) ACPICA Kernel-resident Subsystem:
+
+Updated support for the ACPI 5.0 MPST table. Fixes some problems 
+introduced by late changes to the table as it was added to the ACPI 5.0 
+specification. Includes header, disassembler, and data table compiler 
+support as well as a new version of the MPST template.
+
+AcpiGetObjectInfo: Enhanced the device object support to include the ACPI 
+5.0 _SUB method. Now calls _SUB in addition to the other PNP-related ID 
+methods: _HID, _CID, and _UID.
+
+Changed ACPI_DEVICE_ID to ACPI_PNP_DEVICE_ID. Also changed 
+ACPI_DEVICE_ID_LIST to ACPI_PNP_DEVICE_ID_LIST. These changes prevent 
+name collisions on hosts that reserve the *_DEVICE_ID (or *DeviceId) 
+names for their various drivers. Affects the AcpiGetObjectInfo external 
+interface, and other internal interfaces as well.
+
+Added and deployed a new macro for ACPI_NAME management: ACPI_MOVE_NAME. 
+This macro resolves to a simple 32-bit move of the 4-character ACPI_NAME 
+on machines that support non-aligned transfers. Optimizes for this case 
+rather than using a strncpy. With assistance from Zheng Lv.
+
+Resource Manager: Small fix for buffer size calculation. Fixed a one byte 
+error in the output buffer calculation. Feng Tang. ACPICA BZ 849.
+
+Added a new debug print message for AML mutex objects that are force-
+released. At control method termination, any currently acquired mutex 
+objects are force-released. Adds a new debug-only message for each one 
+that is released.
+
+Audited/updated all ACPICA return macros and the function debug depth 
+counter: 1) Ensure that all functions that use the various TRACE macros 
+also use the appropriate ACPICA return macros. 2) Ensure that all normal 
+return statements surround the return expression (value) with parens to 
+ensure consistency across the ACPICA code base. Guan Chao, Tang Feng, 
+Zheng Lv, Bob Moore. ACPICA Bugzilla 972.
+
+Global source code changes/maintenance: All extra lines at the start and 
+end of each source file have been removed for consistency. Also, within 
+comments, all new sentences start with a single space instead of a double 
+space, again for consistency across the code base.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.7K Code, 25.3K Data, 119.0K Total
+    Debug Version:     175.0K Code, 74.4K Data, 249.4K Total
+  Current Release:
+    Non-Debug Version:  93.9K Code, 25.2K Data, 119.1K Total
+    Debug Version:     175.5K Code, 74.5K Data, 250.0K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec: Improved the algorithm used for memory leak/corruption 
+detection. Added some intelligence to the code that maintains the global 
+list of allocated memory. The list is now ordered by allocated memory 
+address, significantly improving performance. When running AcpiExec on 
+the ASLTS test suite, speed improvements of 3X to 5X are seen, depending 
+on the platform and/or the environment. Note, this performance 
+enhancement affects the AcpiExec utility only, not the kernel-resident 
+ACPICA code.
+
+Enhanced error reporting for invalid AML opcodes and bad ACPI_NAMEs. For 
+the disassembler, dump the 48 bytes surrounding the invalid opcode. Fix 
+incorrect table offset reported for invalid opcodes. Report the original 
+32-bit value for bad ACPI_NAMEs (as well as the repaired name.)
+
+Disassembler: Enhanced the -vt option to emit the binary table data in 
+hex format to assist with debugging.
+
+Fixed a potential filename buffer overflow in osunixdir.c. Increased the 
+size of file structure. Colin Ian King.
+
+----------------------------------------
+13 September 2012. Summary of changes for version 20120913:
+
+
+1) ACPICA Kernel-resident Subsystem:
+
+ACPI 5.0: Added two new notify types for the Hardware Error Notification 
+Structure within the Hardware Error Source Table (HEST) table -- CMCI(5) 
+and 
+MCE(6).
+ 
+Table Manager: Merged/removed duplicate code in the root table resize 
+functions. One function is external, the other is internal. Lv Zheng, 
+ACPICA 
+BZ 846.
+
+Makefiles: Completely removed the obsolete "Linux" makefiles under 
+acpica/generate/linux. These makefiles are obsolete and have been 
+replaced 
+by 
+the generic unix makefiles under acpica/generate/unix.
+
+Makefiles: Ensure that binary files always copied properly. Minor rule 
+change 
+to ensure that the final binary output files are always copied up to the 
+appropriate binary directory (bin32 or bin64.)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.8K Code, 25.3K Data, 119.1K Total
+    Debug Version:     175.7K Code, 74.8K Data, 250.5K Total
+  Current Release:
+    Non-Debug Version:  93.7K Code, 25.3K Data, 119.0K Total
+    Debug Version:     175.0K Code, 74.4K Data, 249.4K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed a possible fault during the disassembly of resource 
+descriptors when a second parse is required because of the invocation of 
+external control methods within the table. With assistance from 
+adq@lidskialf.net. ACPICA BZ 976.
+
+iASL: Fixed a namepath optimization problem. An error can occur if the 
+parse 
+node that contains the namepath to be optimized does not have a parent 
+node 
+that is a named object. This change fixes the problem.
+
+iASL: Fixed a regression where the AML file is not deleted on errors. The 
+AML 
+output file should be deleted if there are any errors during the 
+compiler. 
+The 
+only exception is if the -f (force output) option is used. ACPICA BZ 974.
+
+iASL: Added a feature to automatically increase internal line buffer 
+sizes. 
+Via realloc(), automatically increase the internal line buffer sizes as 
+necessary to support very long source code lines. The current version of 
+the 
+preprocessor requires a buffer long enough to contain full source code 
+lines. 
+This change increases the line buffer(s) if the input lines go beyond the 
+current buffer size. This eliminates errors that occurred when a source 
+code 
+line was longer than the buffer.
+
+iASL: Fixed a problem with constant folding in method declarations. The 
+SyncLevel term is a ByteConstExpr, and incorrect code would be generated 
+if a 
+Type3 opcode was used.
+
+Debugger: Improved command help support. For incorrect argument count, 
+display 
+full help for the command. For help command itself, allow an argument to 
+specify a command.
+
+Test Suites: Several bug fixes for the ASLTS suite reduces the number of 
+errors during execution of the suite. Guan Chao.
+
+----------------------------------------
+16 August 2012. Summary of changes for version 20120816:
+
+
+1) ACPICA Kernel-resident Subsystem:
+
+Removed all use of the deprecated _GTS and _BFS predefined methods. The 
+_GTS 
+(Going To Sleep) and _BFS (Back From Sleep) methods are essentially 
+deprecated and will probably be removed from the ACPI specification. 
+Windows 
+does not invoke them, and reportedly never will. The final nail in the 
+coffin 
+is that the ACPI specification states that these methods must be run with 
+interrupts off, which is not going to happen in a kernel interpreter. 
+Note: 
+Linux has removed all use of the methods also. It was discovered that 
+invoking these functions caused failures on some machines, probably 
+because 
+they were never tested since Windows does not call them. Affects two 
+external 
+interfaces, AcpiEnterSleepState and AcpiLeaveSleepStatePrep. Tang Feng. 
+ACPICA BZ 969.
+
+Implemented support for complex bit-packed buffers returned from the _PLD 
+(Physical Location of Device) predefined method. Adds a new external 
+interface, AcpiDecodePldBuffer that parses the buffer into a more usable 
+C 
+structure. Note: C Bitfields cannot be used for this type of predefined 
+structure since the memory layout of individual bitfields is not defined 
+by 
+the C language. In addition, there are endian concerns where a compiler 
+will 
+change the bitfield ordering based on the machine type. The new ACPICA 
+interface eliminates these issues, and should be called after _PLD is 
+executed. ACPICA BZ 954.
+
+Implemented a change to allow a scope change to root (via "Scope (\)") 
+during 
+execution of module-level ASL code (code that is executed at table load 
+time.) Lin Ming.
+
+Added the Windows8/Server2012 string for the _OSI method. This change 
+adds 
+a 
+new _OSI string, "Windows 2012" for both Windows 8 and Windows Server 
+2012.
+
+Added header support for the new ACPI tables DBG2 (Debug Port Table Type 
+2) 
+and CSRT (Core System Resource Table).
+
+Added struct header support for the _FDE, _GRT, _GTM, and _SRT predefined 
+names. This simplifies access to the buffers returned by these predefined 
+names. Adds a new file, include/acbuffer.h. ACPICA BZ 956.
+
+GPE support: Removed an extraneous parameter from the various low-level 
+internal GPE functions. Tang Feng.
+
+Removed the linux makefiles from the unix packages. The generate/linux 
+makefiles are obsolete and have been removed from the unix tarball 
+release 
+packages. The replacement makefiles are under generate/unix, and there is 
+a 
+top-level makefile under the main acpica directory. ACPICA BZ 967, 912.
+
+Updates for Unix makefiles:
+1) Add -D_FORTIFY_SOURCE=2 for gcc generation. Arjan van de Ven.
+2) Update linker flags (move to end of command line) for AcpiExec 
+utility. 
+Guan Chao.
+
+Split ACPICA initialization functions to new file, utxfinit.c. Split from 
+utxface.c to improve modularity and reduce file size.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.5K Code, 25.3K Data, 118.8K Total
+    Debug Version:     173.7K Code, 74.0K Data, 247.7K Total
+  Current Release:
+    Non-Debug Version:  93.8K Code, 25.3K Data, 119.1K Total
+    Debug Version:     175.7K Code, 74.8K Data, 250.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a problem with constant folding for fixed-length constant 
+expressions. The constant-folding code was not being invoked for constant 
+expressions that allow the use of type 3/4/5 opcodes to generate 
+constants 
+for expressions such as ByteConstExpr, WordConstExpr, etc. This could 
+result 
+in the generation of invalid AML bytecode. ACPICA BZ 970.
+
+iASL: Fixed a generation issue on newer versions of Bison. Newer versions 
+apparently automatically emit some of the necessary externals. This 
+change 
+handles these versions in order to eliminate generation warnings.
+
+Disassembler: Added support to decode the DBG2 and CSRT ACPI tables.
+
+Disassembler: Add support to decode _PLD buffers. The decoded buffer 
+appears 
+within comments in the output file.
+
+Debugger: Fixed a regression with the "Threads" command where 
+AE_BAD_PARAMETER was always returned.
+
+----------------------------------------
+11 July 2012. Summary of changes for version 20120711:
+
+1) ACPICA Kernel-resident Subsystem:
+
+Fixed a possible fault in the return package object repair code. Fixes a 
+problem that can occur when a lone package object is wrapped with an 
+outer 
+package object in order to force conformance to the ACPI specification. 
+Can 
+affect these predefined names: _ALR, _MLS, _PSS, _TRT, _TSS, _PRT, _HPX, 
+_DLM, 
+_CSD, _PSD, _TSD.
+
+Removed code to disable/enable bus master arbitration (ARB_DIS bit in the 
+PM2_CNT register) in the ACPICA sleep/wake interfaces. Management of the 
+ARB_DIS bit must be implemented in the host-dependent C3 processor power 
+state 
+support. Note, ARB_DIS is obsolete and only applies to older chipsets, 
+both 
+Intel and other vendors. (for Intel: ICH4-M and earlier)
+
+This change removes the code to disable/enable bus master arbitration 
+during 
+suspend/resume. Use of the ARB_DIS bit in the optional PM2_CNT register 
+causes 
+resume problems on some machines. The change has been in use for over 
+seven 
+years within Linux.
+
+Implemented two new external interfaces to support host-directed dynamic 
+ACPI 
+table load and unload. They are intended to simplify the host 
+implementation 
+of hot-plug support:
+  AcpiLoadTable: Load an SSDT from a buffer into the namespace.
+  AcpiUnloadParentTable: Unload an SSDT via a named object owned by the 
+table.
+See the ACPICA reference for additional details. Adds one new file, 
+components/tables/tbxfload.c
+
+Implemented and deployed two new interfaces for errors and warnings that 
+are 
+known to be caused by BIOS/firmware issues:
+  AcpiBiosError: Prints "ACPI Firmware Error" message.
+  AcpiBiosWarning: Prints "ACPI Firmware Warning" message.
+Deployed these new interfaces in the ACPICA Table Manager code for ACPI 
+table 
+and FADT errors. Additional deployment to be completed as appropriate in 
+the 
+future. The associated conditional macros are ACPI_BIOS_ERROR and 
+ACPI_BIOS_WARNING. See the ACPICA reference for additional details. 
+ACPICA 
+BZ 
+843.
+
+Implicit notify support: ensure that no memory allocation occurs within a 
+critical region. This fix moves a memory allocation outside of the time 
+that a 
+spinlock is held. Fixes issues on systems that do not allow this 
+behavior. 
+Jung-uk Kim.
+
+Split exception code utilities and tables into a new file, 
+utilities/utexcep.c
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.1K Code, 25.1K Data, 118.2K Total
+    Debug Version:     172.9K Code, 73.6K Data, 246.5K Total
+  Current Release:
+    Non-Debug Version:  93.5K Code, 25.3K Data, 118.8K Total
+    Debug Version:     173.7K Code, 74.0K Data, 247.7K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a parser problem for hosts where EOF is defined as -1 instead 
+of 
+0. Jung-uk Kim.
+
+Debugger: Enhanced the "tables" command to emit additional information 
+about 
+the current set of ACPI tables, including the owner ID and flags decode.
+
+Debugger: Reimplemented the "unload" command to use the new 
+AcpiUnloadParentTable external interface. This command was disable 
+previously 
+due to need for an unload interface.
+
+AcpiHelp: Added a new option to decode ACPICA exception codes. The -e 
+option 
+will decode 16-bit hex status codes (ACPI_STATUS) to name strings.
+
+----------------------------------------
+20 June 2012. Summary of changes for version 20120620:
+
+
+1) ACPICA Kernel-resident Subsystem:
+
+Implemented support to expand the "implicit notify" feature to allow 
+multiple 
+devices to be notified by a single GPE. This feature automatically 
+generates a 
+runtime device notification in the absence of a BIOS-provided GPE control 
+method (_Lxx/_Exx) or a host-installed handler for the GPE. Implicit 
+notify is 
+provided by ACPICA for Windows compatibility, and is a workaround for 
+BIOS 
+AML 
+code errors. See the description of the AcpiSetupGpeForWake interface in 
+the 
+APCICA reference. Bob Moore, Rafael Wysocki. ACPICA BZ 918.
+
+Changed some comments and internal function names to simplify and ensure 
+correctness of the Linux code translation. No functional changes.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.0K Code, 25.1K Data, 118.1K Total
+    Debug Version:     172.7K Code, 73.6K Data, 246.3K Total
+  Current Release:
+    Non-Debug Version:  93.1K Code, 25.1K Data, 118.2K Total
+    Debug Version:     172.9K Code, 73.6K Data, 246.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Added support to emit short, commented descriptions for the 
+ACPI 
+predefined names in order to improve the readability of the disassembled 
+output. ACPICA BZ 959. Changes include:
+  1) Emit descriptions for all standard predefined names (_INI, _STA, 
+_PRW, 
+etc.)
+  2) Emit generic descriptions for the special names (_Exx, _Qxx, etc.)
+  3) Emit descriptions for the resource descriptor names (_MIN, _LEN, 
+etc.)
+
+AcpiSrc: Fixed several long-standing Linux code translation issues. 
+Argument 
+descriptions in function headers are now translated properly to lower 
+case 
+and 
+underscores. ACPICA BZ 961. Also fixes translation problems such as 
+these: 
+(old -> new)
+  i_aSL -> iASL
+  00-7_f -> 00-7F
+  16_k -> 16K
+  local_fADT -> local_FADT
+  execute_oSI -> execute_OSI
+
+iASL: Fixed a problem where null bytes were inadvertently emitted into 
+some 
+listing files.
+
+iASL: Added the existing debug options to the standard help screen. There 
+are 
+no longer two different help screens. ACPICA BZ 957.
+
+AcpiHelp: Fixed some typos in the various predefined name descriptions. 
+Also 
+expand some of the descriptions where appropriate.
+
+iASL: Fixed the -ot option (display compile times/statistics). Was not 
+working 
+properly for standard output; only worked for the debug file case.
+
+----------------------------------------
+18 May 2012. Summary of changes for version 20120518:
+
+
+1) ACPICA Core Subsystem:
+
+Added a new OSL interface, AcpiOsWaitEventsComplete. This interface is 
+defined 
+to block until asynchronous events such as notifies and GPEs have 
+completed. 
+Within ACPICA, it is only called before a notify or GPE handler is 
+removed/uninstalled. It also may be useful for the host OS within related 
+drivers such as the Embedded Controller driver. See the ACPICA reference 
+for 
+additional information. ACPICA BZ 868.
+
+ACPI Tables: Added a new error message for a possible overflow failure 
+during 
+the conversion of FADT 32-bit legacy register addresses to internal 
+common 
+64-
+bit GAS structure representation. The GAS has a one-byte "bit length" 
+field, 
+thus limiting the register length to 255 bits. ACPICA BZ 953.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  92.9K Code, 25.0K Data, 117.9K Total
+    Debug Version:     172.6K Code, 73.4K Data, 246.0K Total
+  Current Release:
+    Non-Debug Version:  93.0K Code, 25.1K Data, 118.1K Total
+    Debug Version:     172.7K Code, 73.6K Data, 246.3K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added the ACPI 5.0 "PCC" keyword for use in the Register() ASL 
+macro. 
+This keyword was added late in the ACPI 5.0 release cycle and was not 
+implemented until now.
+
+Disassembler: Added support for Operation Region externals. Adds missing 
+support for operation regions that are defined in another table, and 
+referenced locally via a Field or BankField ASL operator. Now generates 
+the 
+correct External statement.
+
+Disassembler: Several additional fixes for the External() statement 
+generation 
+related to some ASL operators. Also, order the External() statements 
+alphabetically in the disassembler output. Fixes the External() 
+generation 
+for 
+the Create* field, Alias, and Scope operators:
+ 1) Create* buffer field operators - fix type mismatch warning on 
+disassembly
+ 2) Alias - implement missing External support
+ 3) Scope - fix to make sure all necessary externals are emitted.
+
+iASL: Improved pathname support. For include files, merge the prefix 
+pathname 
+with the file pathname and eliminate unnecessary components. Convert 
+backslashes in all pathnames to forward slashes, for readability. Include 
+file 
+pathname changes affect both #include and Include() type operators.
+
+iASL/DTC/Preprocessor: Gracefully handle early EOF. Handle an EOF at the 
+end 
+of a valid line by inserting a newline and then returning the EOF during 
+the 
+next call to GetNextLine. Prevents the line from being ignored due to EOF 
+condition.
+
+iASL: Implemented some changes to enhance the IDE support (-vi option.) 
+Error 
+and Warning messages are now correctly recognized for both the source 
+code 
+browser and the global error and warning counts.
+
+----------------------------------------
+20 April 2012. Summary of changes for version 20120420:
+
+
+1) ACPICA Core Subsystem:
+
+Implemented support for multiple notify handlers. This change adds 
+support 
+to 
+allow multiple system and device notify handlers on Device, Thermal Zone, 
+and 
+Processor objects. This can simplify the host OS notification 
+implementation. 
+Also re-worked and restructured the entire notify support code to 
+simplify 
+handler installation, handler removal, notify event queuing, and notify 
+dispatch to handler(s). Note: there can still only be two global notify 
+handlers - one for system notifies and one for device notifies. There are 
+no 
+changes to the existing handler install/remove interfaces. Lin Ming, Bob 
+Moore, Rafael Wysocki.
+
+Fixed a regression in the package repair code where the object reference 
+count was calculated incorrectly. Regression was introduced in the commit 
+"Support to add Package wrappers".
+
+Fixed a couple possible memory leaks in the AML parser, in the error 
+recovery 
+path. Jesper Juhl, Lin Ming.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  92.9K Code, 25.0K Data, 117.9K Total
+    Debug Version:     172.5K Code, 73.2K Data, 245.7K Total
+  Current Release:
+    Non-Debug Version:  92.9K Code, 25.0K Data, 117.9K Total
+    Debug Version:     172.6K Code, 73.4K Data, 246.0K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a problem with the resource descriptor support where the 
+length 
+of the StartDependentFn and StartDependentFnNoPrio descriptors were not 
+included in cumulative descriptor offset, resulting in incorrect values 
+for 
+resource tags within resource descriptors appearing after a 
+StartDependent* 
+descriptor. Reported by Petr Vandrovec. ACPICA BZ 949.
+
+iASL and Preprocessor: Implemented full support for the #line directive 
+to 
+correctly track original source file line numbers through the .i 
+preprocessor 
+output file - for error and warning messages.
+
+iASL: Expand the allowable byte constants for address space IDs. 
+Previously, 
+the allowable range was 0x80-0xFF (user-defined spaces), now the range is 
+0x0A-0xFF to allow for custom and new IDs without changing the compiler.
+
+iASL: Add option to treat all warnings as errors (-we). ACPICA BZ 948.
+
+iASL: Add option to completely disable the preprocessor (-Pn).
+
+iASL: Now emit all error/warning messages to standard error (stderr) by 
+default (instead of the previous stdout).
+
+ASL Test Suite (ASLTS): Reduce iASL warnings due to use of Switch(). 
+Update 
+for resource descriptor offset fix above. Update/cleanup error output 
+routines. Enable and send iASL errors/warnings to an error logfile 
+(error.txt). Send all other iASL output to a logfile (compiler.txt). 
+Fixed 
+several extraneous "unrecognized operator" messages.
+
+----------------------------------------
+20 March 2012. Summary of changes for version 20120320:
+
+
+1) ACPICA Core Subsystem:
+
+Enhanced the sleep/wake interfaces to optionally execute the _GTS method 
+(Going To Sleep) and the _BFS method (Back From Sleep). Windows 
+apparently 
+does not execute these methods, and therefore these methods are often 
+untested. It has been seen on some systems where the execution of these 
+methods causes errors and also prevents the machine from entering S5. It 
+is 
+therefore suggested that host operating systems do not execute these 
+methods 
+by default. In the future, perhaps these methods can be optionally 
+executed 
+based on the age of the system and/or what is the newest version of 
+Windows 
+that the BIOS asks for via _OSI. Changed interfaces: AcpiEnterSleepState 
+and 
+AcpileaveSleepStatePrep. See the ACPICA reference and Linux BZ 13041. Lin 
+Ming.
+
+Fixed a problem where the length of the local/common FADT was set too 
+early. 
+The local FADT table length cannot be set to the common length until the 
+original length has been examined. There is code that checks the table 
+length 
+and sets various fields appropriately. This can affect older machines 
+with 
+early FADT versions. For example, this can cause inadvertent writes to 
+the 
+CST_CNT register. Julian Anastasov.
+
+Fixed a mapping issue related to a physical table override. Use the 
+deferred 
+mapping mechanism for tables loaded via the physical override OSL 
+interface. 
+This allows for early mapping before the virtual memory manager is 
+available. 
+Thomas Renninger, Bob Moore.
+
+Enhanced the automatic return-object repair code: Repair a common problem 
+with 
+predefined methods that are defined to return a variable-length Package 
+of 
+sub-objects. If there is only one sub-object, some BIOS ASL code 
+mistakenly 
+simply returns the single object instead of a Package with one sub-
+object. 
+This new support will repair this error by wrapping a Package object 
+around 
+the original object, creating the correct and expected Package with one 
+sub-
+object. Names that can be repaired in this manner include: _ALR, _CSD, 
+_HPX, 
+_MLS, _PLD, _PRT, _PSS, _TRT, _TSS, _BCL, _DOD, _FIX, and _Sx. ACPICA BZ 
+939.
+
+Changed the exception code returned for invalid ACPI paths passed as 
+parameters to external interfaces such as AcpiEvaluateObject. Was 
+AE_BAD_PARAMETER, now is the more sensible AE_BAD_PATHNAME.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  93.0K Code, 25.0K Data, 118.0K Total
+    Debug Version:     172.5K Code, 73.2K Data, 245.7K Total
+  Current Release:
+    Non-Debug Version:  92.9K Code, 25.0K Data, 117.9K Total
+    Debug Version:     172.5K Code, 73.2K Data, 245.7K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added the infrastructure and initial implementation of a integrated 
+C-
+like preprocessor. This will simplify BIOS development process by 
+eliminating 
+the need for a separate preprocessing step during builds. On Windows, it 
+also 
+eliminates the need to install a separate C compiler. ACPICA BZ 761. Some 
+features including full #define() macro support are still under 
+development. 
+These preprocessor directives are supported:
+    #define
+    #elif
+    #else
+    #endif
+    #error
+    #if
+    #ifdef
+    #ifndef
+    #include
+    #pragma message
+    #undef
+    #warning
+In addition, these new command line options are supported:
+    -D <symbol> Define symbol for preprocessor use
+    -li         Create preprocessed output file (*.i)
+    -P          Preprocess only and create preprocessor output file (*.i)
+
+Table Compiler: Fixed a problem where the equals operator within an 
+expression 
+did not work properly.
+
+Updated iASL to use the current versions of Bison/Flex. Updated the 
+Windows 
+project file to invoke these tools from the standard location. ACPICA BZ 
+904. 
+Versions supported:
+    Flex for Windows:  V2.5.4
+    Bison for Windows: V2.4.1
+
+----------------------------------------
+15 February 2012. Summary of changes for version 20120215:
+
+
+1) ACPICA Core Subsystem:
+
+There have been some major changes to the sleep/wake support code, as 
+described below (a - e).
+
+a) The AcpiLeaveSleepState has been split into two interfaces, similar to 
+AcpiEnterSleepStatePrep and AcpiEnterSleepState. The new interface is 
+AcpiLeaveSleepStatePrep. This allows the host to perform actions between 
+the 
+time the _BFS method is called and the _WAK method is called. NOTE: all 
+hosts 
+must update their wake/resume code or else sleep/wake will not work 
+properly. 
+Rafael Wysocki.
+
+b) In AcpiLeaveSleepState, now enable all runtime GPEs before calling the 
+_WAK 
+method. Some machines require that the GPEs are enabled before the _WAK 
+method 
+is executed. Thomas Renninger.
+
+c) In AcpiLeaveSleepState, now always clear the WAK_STS (wake status) 
+bit. 
+Some BIOS code assumes that WAK_STS will be cleared on resume and use it 
+to 
+determine whether the system is rebooting or resuming. Matthew Garrett.
+
+d) Move the invocations of _GTS (Going To Sleep) and _BFS (Back From 
+Sleep) to 
+match the ACPI specification requirement. Rafael Wysocki.
+
+e) Implemented full support for the ACPI 5.0 SleepStatus and SleepControl 
+registers within the V5 FADT. This support adds two new files: 
+hardware/hwesleep.c implements the support for the new registers. Moved 
+all 
+sleep/wake external interfaces to hardware/hwxfsleep.c.
+
+
+Added a new OSL interface for ACPI table overrides, 
+AcpiOsPhysicalTableOverride. This interface allows the host to override a 
+table via a physical address, instead of the logical address required by 
+AcpiOsTableOverride. This simplifies the host implementation. Initial 
+implementation by Thomas Renninger. The ACPICA implementation creates a 
+single 
+shared function for table overrides that attempts both a logical and a 
+physical override.
+
+Expanded the OSL memory read/write interfaces to 64-bit data 
+(AcpiOsReadMemory, AcpiOsWriteMemory.) This enables full 64-bit memory 
+transfer support for GAS register structures passed to AcpiRead and 
+AcpiWrite.
+
+Implemented the ACPI_REDUCED_HARDWARE option to allow the creation of a 
+custom 
+build of ACPICA that supports only the ACPI 5.0 reduced hardware (SoC) 
+model. 
+See the ACPICA reference for details. ACPICA BZ 942. This option removes 
+about 
+10% of the code and 5% of the static data, and the following hardware 
+ACPI 
+features become unavailable:
+    PM Event and Control registers
+    SCI interrupt (and handler)
+    Fixed Events
+    General Purpose Events (GPEs)
+    Global Lock
+    ACPI PM timer
+    FACS table (Waking vectors and Global Lock)
+
+Updated the unix tarball directory structure to match the ACPICA git 
+source 
+tree. This ensures that the generic unix makefiles work properly (in 
+generate/unix).  Also updated the Linux makefiles to match. ACPICA BZ 
+867.
+
+Updated the return value of the _REV predefined method to integer value 5 
+to 
+reflect ACPI 5.0 support.
+
+Moved the external ACPI PM timer interface prototypes to the public 
+acpixf.h 
+file where they belong.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  92.8K Code, 24.9K Data, 117.7K Total
+    Debug Version:     171.7K Code, 72.9K Data, 244.5K Total
+  Current Release:
+    Non-Debug Version:  93.0K Code, 25.0K Data, 118.0K Total
+    Debug Version:     172.5K Code, 73.2K Data, 245.7K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed a problem with the new ACPI 5.0 serial resource 
+descriptors (I2C, SPI, UART) where the resource produce/consumer bit was 
+incorrectly displayed.
+
+AcpiHelp: Add display of ACPI/PNP device IDs that are defined in the ACPI 
+specification.
+
+----------------------------------------
+11 January 2012. Summary of changes for version 20120111:
+
+
+1) ACPICA Core Subsystem:
+
+Implemented a new mechanism to allow host device drivers to check for 
+address 
+range conflicts with ACPI Operation Regions. Both SystemMemory and 
+SystemIO 
+address spaces are supported. A new external interface, 
+AcpiCheckAddressRange, 
+allows drivers to check an address range against the ACPI namespace. See 
+the 
+ACPICA reference for additional details. Adds one new file, 
+utilities/utaddress.c. Lin Ming, Bob Moore.
+
+Fixed several issues with the ACPI 5.0 FADT support: Add the sleep 
+Control 
+and 
+Status registers, update the ACPI 5.0 flags, and update internal data 
+structures to handle an FADT larger than 256 bytes. The size of the ACPI 
+5.0 
+FADT is 268 bytes.
+
+Updated all ACPICA copyrights and signons to 2012. Added the 2012 
+copyright to 
+all module headers and signons, including the standard Linux header. This 
+affects virtually every file in the ACPICA core subsystem, iASL compiler, 
+and 
+all ACPICA utilities.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  92.3K Code, 24.9K Data, 117.2K Total
+    Debug Version:     170.8K Code, 72.6K Data, 243.4K Total
+  Current Release:
+    Non-Debug Version:  92.8K Code, 24.9K Data, 117.7K Total
+    Debug Version:     171.7K Code, 72.9K Data, 244.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: fixed a problem with the automatic resource tag generation 
+support. Fixes a problem where the resource tags are inadvertently not 
+constructed if the table being disassembled contains external references 
+to 
+control methods. Moved the actual construction of the tags to after the 
+final 
+namespace is constructed (after 2nd parse is invoked due to external 
+control 
+method references.) ACPICA BZ 941.
+
+Table Compiler: Make all "generic" operators caseless. These are the 
+operators 
+like UINT8, String, etc. Making these caseless improves ease-of-use. 
+ACPICA BZ 
+934.
+
+----------------------------------------
+23 November 2011. Summary of changes for version 20111123:
+
+0) ACPI 5.0 Support:
+
+This release contains full support for the ACPI 5.0 specification, as 
+summarized below.
+
+Reduced Hardware Support:
+-------------------------
+
+This support allows for ACPI systems without the usual ACPI hardware. 
+This 
+support is enabled by a flag in the revision 5 FADT. If it is set, ACPICA 
+will 
+not attempt to initialize or use any of the usual ACPI hardware. Note, 
+when 
+this flag is set, all of the following ACPI hardware is assumed to be not 
+present and is not initialized or accessed:
+
+    General Purpose Events (GPEs)
+    Fixed Events (PM1a/PM1b and PM Control)
+    Power Management Timer and Console Buttons (power/sleep)
+    Real-time Clock Alarm
+    Global Lock
+    System Control Interrupt (SCI)
+    The FACS is assumed to be non-existent
+
+ACPI Tables:
+------------
+
+All new tables and updates to existing tables are fully supported in the 
+ACPICA headers (for use by device drivers), the disassembler, and the 
+iASL 
+Data Table Compiler. ACPI 5.0 defines these new tables:
+
+    BGRT        /* Boot Graphics Resource Table */
+    DRTM        /* Dynamic Root of Trust for Measurement table */
+    FPDT        /* Firmware Performance Data Table */
+    GTDT        /* Generic Timer Description Table */
+    MPST        /* Memory Power State Table */
+    PCCT        /* Platform Communications Channel Table */
+    PMTT        /* Platform Memory Topology Table */
+    RASF        /* RAS Feature table */
+
+Operation Regions/SpaceIDs:
+---------------------------
+
+All new operation regions are fully supported by the iASL compiler, the 
+disassembler, and the ACPICA runtime code (for dispatch to region 
+handlers.) 
+The new operation region Space IDs are:
+
+    GeneralPurposeIo
+    GenericSerialBus
+
+Resource Descriptors:
+---------------------
+
+All new ASL resource descriptors are fully supported by the iASL 
+compiler, 
+the 
+ASL/AML disassembler, and the ACPICA runtime Resource Manager code 
+(including 
+all new predefined resource tags). New descriptors are:
+
+    FixedDma
+    GpioIo
+    GpioInt
+    I2cSerialBus
+    SpiSerialBus
+    UartSerialBus
+
+ASL/AML Operators, New and Modified:
+------------------------------------
+
+One new operator is added, the Connection operator, which is used to 
+associate 
+a GeneralPurposeIo or GenericSerialBus resource descriptor with 
+individual 
+field objects within an operation region. Several new protocols are 
+associated 
+with the AccessAs operator. All are fully supported by the iASL compiler, 
+disassembler, and runtime ACPICA AML interpreter:
+
+    Connection                      // Declare Field Connection 
+attributes
+    AccessAs: AttribBytes (n)           // Read/Write N-Bytes Protocol
+    AccessAs: AttribRawBytes (n)        // Raw Read/Write N-Bytes 
+Protocol
+    AccessAs: AttribRawProcessBytes (n) // Raw Process Call Protocol
+    RawDataBuffer                       // Data type for Vendor Data 
+fields
+
+Predefined ASL/AML Objects:
+---------------------------
+
+All new predefined objects/control-methods are supported by the iASL 
+compiler 
+and the ACPICA runtime validation/repair (arguments and return values.) 
+New 
+predefined names include the following:
+
+Standard Predefined Names (Objects or Control Methods):
+    _AEI, _CLS, _CPC, _CWS, _DEP,
+    _DLM, _EVT, _GCP, _CRT, _GWS,
+    _HRV, _PRE, _PSE, _SRT, _SUB.
+
+Resource Tags (Names used to access individual fields within resource 
+descriptors):
+    _DBT, _DPL, _DRS, _END, _FLC,
+    _IOR, _LIN, _MOD, _PAR, _PHA,
+    _PIN, _PPI, _POL, _RXL, _SLV,
+    _SPE, _STB, _TXL, _VEN.
+
+ACPICA External Interfaces:
+---------------------------
+
+Several new interfaces have been defined for use by ACPI-related device 
+drivers and other host OS services:
+
+AcpiAcquireMutex and AcpiReleaseMutex: These interfaces allow the host OS 
+to 
+acquire and release AML mutexes that are defined in the DSDT/SSDT tables 
+provided by the BIOS. They are intended to be used in conjunction with 
+the 
+ACPI 5.0 _DLM (Device Lock Method) in order to provide transaction-level 
+mutual exclusion with the AML code/interpreter.
+
+AcpiGetEventResources: Returns the (formatted) resource descriptors as 
+defined 
+by the ACPI 5.0 _AEI object (ACPI Event Information).  This object 
+provides 
+resource descriptors associated with hardware-reduced platform events, 
+similar 
+to the AcpiGetCurrentResources interface.
+
+Operation Region Handlers: For General Purpose IO and Generic Serial Bus 
+operation regions, information about the Connection() object and any 
+optional 
+length information is passed to the region handler within the Context 
+parameter.
+
+AcpiBufferToResource: This interface converts a raw AML buffer containing 
+a 
+resource template or resource descriptor to the ACPI_RESOURCE internal 
+format 
+suitable for use by device drivers. Can be used by an operation region 
+handler 
+to convert the Connection() buffer object into a ACPI_RESOURCE.
+
+Miscellaneous/Tools/TestSuites: 
+-------------------------------
+
+Support for extended _HID names (Four alpha characters instead of three).
+Support for ACPI 5.0 features in the AcpiExec and AcpiHelp utilities.
+Support for ACPI 5.0 features in the ASLTS test suite.
+Fully updated documentation (ACPICA and iASL reference documents.)
+
+ACPI Table Definition Language:
+-------------------------------
+
+Support for this language was implemented and released as a subsystem of 
+the 
+iASL compiler in 2010. (See the iASL compiler User Guide.)
+
+
+Non-ACPI 5.0 changes for this release:
+--------------------------------------
+
+1) ACPICA Core Subsystem:
+
+Fix a problem with operation region declarations where a failure can 
+occur 
+if 
+the region name and an argument that evaluates to an object (such as the 
+region address) are in different namespace scopes. Lin Ming, ACPICA BZ 
+937.
+
+Do not abort an ACPI table load if an invalid space ID is found within. 
+This 
+will be caught later if the offending method is executed. ACPICA BZ 925.
+
+Fixed an issue with the FFixedHW space ID where the ID was not always 
+recognized properly (Both ACPICA and iASL). ACPICA BZ 926.
+
+Fixed a problem with the 32-bit generation of the unix-specific OSL 
+(osunixxf.c). Lin Ming, ACPICA BZ 936.
+
+Several changes made to enable generation with the GCC 4.6 compiler. 
+ACPICA BZ 
+935.
+
+New error messages: Unsupported I/O requests (not 8/16/32 bit), and 
+Index/Bank 
+field registers out-of-range.
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented the __PATH__ operator, which returns the full pathname 
+of 
+the current source file.
+
+AcpiHelp: Automatically display expanded keyword information for all ASL 
+operators.
+
+Debugger: Add "Template" command to disassemble/dump resource template 
+buffers.
+
+Added a new master script to generate and execute the ASLTS test suite. 
+Automatically handles 32- and 64-bit generation. See tests/aslts.sh
+
+iASL: Fix problem with listing generation during processing of the 
+Switch() 
+operator where AML listing was disabled until the entire Switch block was 
+completed.
+
+iASL: Improve support for semicolon statement terminators. Fix "invalid 
+character" message for some cases when the semicolon is used. Semicolons 
+are 
+now allowed after every <Term> grammar element. ACPICA BZ 927.
+
+iASL: Fixed some possible aliasing warnings during generation. ACPICA BZ 
+923.
+
+Disassembler: Fix problem with disassembly of the DataTableRegion 
+operator 
+where an inadvertent "Unhandled deferred opcode" message could be 
+generated.
+
+3) Example Code and Data Size
+
+These are the sizes for the OS-independent acpica.lib produced by the 
+Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code 
+includes the debug output trace mechanism and has a much larger code and 
+data 
+size.
+
+  Previous Release:
+    Non-Debug Version:  90.2K Code, 23.9K Data, 114.1K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+  Current Release:
+    Non-Debug Version:  92.3K Code, 24.9K Data, 117.2K Total
+    Debug Version:     170.8K Code, 72.6K Data, 243.4K Total
+
+----------------------------------------
+22 September 2011. Summary of changes for version 20110922:
+
+0) ACPI 5.0 News:
+
+Support for ACPI 5.0 in ACPICA has been underway for several months and 
+will 
+be released at the same time that ACPI 5.0 is officially released.
+
+The ACPI 5.0 specification is on track for release in the next few 
+months.
+ 
+1) ACPICA Core Subsystem:
+
+Fixed a problem where the maximum sleep time for the Sleep() operator was 
+intended to be limited to two seconds, but was inadvertently limited to 
+20 
+seconds instead.
+
+Linux and Unix makefiles: Added header file dependencies to ensure 
+correct 
+generation of ACPICA core code and utilities. Also simplified the 
+makefiles 
+considerably through the use of the vpath variable to specify search 
+paths. 
+ACPICA BZ 924.
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented support to check the access length for all fields 
+created to 
+access named Resource Descriptor fields. For example, if a resource field 
+is 
+defined to be two bits, a warning is issued if a CreateXxxxField() is 
+used 
+with an incorrect bit length. This is implemented for all current 
+resource 
+descriptor names. ACPICA BZ 930.
+  
+Disassembler: Fixed a byte ordering problem with the output of 24-bit and 
+56-
+bit integers.
+
+iASL: Fixed a couple of issues associated with variable-length package 
+objects. 1) properly handle constants like One, Ones, Zero -- do not make 
+a 
+VAR_PACKAGE when these are used as a package length. 2) Allow the 
+VAR_PACKAGE 
+opcode (in addition to PACKAGE) when validating object types for 
+predefined 
+names.
+
+iASL: Emit statistics for all output files (instead of just the ASL input 
+and 
+AML output). Includes listings, hex files, etc.
+
+iASL: Added -G option to the table compiler to allow the compilation of 
+custom 
+ACPI tables. The only part of a table that is required is the standard 
+36-
+byte 
+ACPI header.
+
+AcpiXtract: Ported to the standard ACPICA environment (with ACPICA 
+headers), 
+which also adds correct 64-bit support. Also, now all output filenames 
+are 
+completely lower case.
+
+AcpiExec: Ignore any non-AML tables (tables other than DSDT or SSDT) when 
+loading table files. A warning is issued for any such tables. The only 
+exception is an FADT. This also fixes a possible fault when attempting to 
+load 
+non-AML tables. ACPICA BZ 932.
+
+AcpiHelp: Added the AccessAs and Offset operators. Fixed a problem where 
+a 
+missing table terminator could cause a fault when using the -p option.
+
+AcpiSrc: Fixed a possible divide-by-zero fault when generating file 
+statistics.
+
+3) Example Code and Data Size
+
+These are the sizes for the OS-independent acpica.lib produced by the 
+Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code 
+includes the debug output trace mechanism and has a much larger code and 
+data 
+size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  90.2K Code, 23.9K Data, 114.1K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  90.2K Code, 23.9K Data, 114.1K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+
+
+----------------------------------------
+23 June 2011. Summary of changes for version 20110623:
+
+1) ACPI CA Core Subsystem:
+
+Updated the predefined name repair mechanism to not attempt repair of a 
+_TSS 
+return object if a _PSS object is present. We can only sort the _TSS 
+return 
+package if there is no _PSS within the same scope. This is because if 
+_PSS 
+is 
+present, the ACPI specification dictates that the _TSS Power Dissipation 
+field 
+is to be ignored, and therefore some BIOSs leave garbage values in the 
+_TSS 
+Power field(s). In this case, it is best to just return the _TSS package 
+as-
+is. Reported by, and fixed with assistance from Fenghua Yu.
+
+Added an option to globally disable the control method return value 
+validation 
+and repair. This runtime option can be used to disable return value 
+repair 
+if 
+this is causing a problem on a particular machine. Also added an option 
+to 
+AcpiExec (-dr) to set this disable flag.
+
+All makefiles and project files: Major changes to improve generation of 
+ACPICA 
+tools. ACPICA BZ 912:
+    Reduce default optimization levels to improve compatibility
+    For Linux, add strict-aliasing=0 for gcc 4
+    Cleanup and simplify use of command line defines
+    Cleanup multithread library support
+    Improve usage messages
+
+Linux-specific header: update handling of THREAD_ID and pthread. For the 
+32-
+bit case, improve casting to eliminate possible warnings, especially with 
+the 
+acpica tools.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  90.1K Code, 23.9K Data, 114.0K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  90.2K Code, 23.9K Data, 114.1K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+With this release, a new utility named "acpihelp" has been added to the 
+ACPICA 
+package. This utility summarizes the ACPI specification chapters for the 
+ASL 
+and AML languages. It generates under Linux/Unix as well as Windows, and 
+provides the following functionality:
+    Find/display ASL operator(s) -- with description and syntax.
+    Find/display ASL keyword(s) -- with exact spelling and descriptions.
+    Find/display ACPI predefined name(s) -- with description, number
+        of arguments, and the return value data type.
+    Find/display AML opcode name(s) -- with opcode, arguments, and 
+grammar.
+    Decode/display AML opcode -- with opcode name, arguments, and 
+grammar.
+
+Service Layers: Make multi-thread support configurable. Conditionally 
+compile 
+the multi-thread support so that threading libraries will not be linked 
+if 
+not 
+necessary. The only tool that requires multi-thread support is AcpiExec.
+
+iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions 
+of 
+Bison appear to want the interface to yyerror to be a const char * (or at 
+least this is a problem when generating iASL on some systems.) ACPICA BZ 
+923 
+Pierre Lejeune.
+
+Tools: Fix for systems where O_BINARY is not defined. Only used for 
+Windows 
+versions of the tools.
+
+----------------------------------------
+27 May 2011. Summary of changes for version 20110527:
+
+1) ACPI CA Core Subsystem:
+
+ASL Load() operator: Reinstate most restrictions on the incoming ACPI 
+table 
+signature. Now, only allow SSDT, OEMx, and a null signature. History:
+    1) Originally, we checked the table signature for "SSDT" or "PSDT".
+       (PSDT is now obsolete.)
+    2) We added support for OEMx tables, signature "OEM" plus a fourth
+       "don't care" character.
+    3) Valid tables were encountered with a null signature, so we just
+       gave up on validating the signature, (05/2008).
+    4) We encountered non-AML tables such as the MADT, which caused
+       interpreter errors and kernel faults. So now, we once again allow
+       only SSDT, OEMx, and now, also a null signature. (05/2011).
+
+Added the missing _TDL predefined name to the global name list in order 
+to 
+enable validation. Affects both the core ACPICA code and the iASL 
+compiler.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug 
+version of the code includes the debug output trace mechanism and has a 
+much 
+larger code and data size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
+    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  90.1K Code, 23.9K Data, 114.0K Total
+    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Debugger/AcpiExec: Implemented support for "complex" method arguments on 
+the 
+debugger command line. This adds support beyond simple integers -- 
+including 
+Strings, Buffers, and Packages. Includes support for nested packages. 
+Increased the default command line buffer size to accommodate these 
+arguments. 
+See the ACPICA reference for details and syntax. ACPICA BZ 917.
+ 
+Debugger/AcpiExec: Implemented support for "default" method arguments for 
+the 
+Execute/Debug command. Now, the debugger will always invoke a control 
+method 
+with the required number of arguments -- even if the command line 
+specifies 
+none or insufficient arguments. It uses default integer values for any 
+missing 
+arguments. Also fixes a bug where only six method arguments maximum were 
+supported instead of the required seven.
+
+Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine 
+and 
+also return status in order to prevent buffer overruns. See the ACPICA 
+reference for details and syntax. ACPICA BZ 921
+
+iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and 
+makefiles to simplify support for the two different but similar parser 
+generators, bison and yacc.
+
+Updated the generic unix makefile for gcc 4. The default gcc version is 
+now 
+expected to be 4 or greater, since options specific to gcc 4 are used.
+
+----------------------------------------
+13 April 2011. Summary of changes for version 20110413:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support to execute a so-called "orphan" _REG method under the 
+EC 
+device. This change will force the execution of a _REG method underneath 
+the 
+EC 
+device even if there is no corresponding operation region of type 
+EmbeddedControl. Fixes a problem seen on some machines and apparently is 
+compatible with Windows behavior. ACPICA BZ 875.
+
+Added more predefined methods that are eligible for automatic NULL 
+package 
+element removal. This change adds another group of predefined names to 
+the 
+list 
+of names that can be repaired by having NULL package elements dynamically 
+removed. This group are those methods that return a single variable-
+length 
+package containing simple data types such as integers, buffers, strings. 
+This 
+includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, 
+_PSL, 
+_Sx, 
+and _TZD. ACPICA BZ 914.
+
+Split and segregated all internal global lock functions to a new file, 
+evglock.c.
+
+Updated internal address SpaceID for DataTable regions. Moved this 
+internal 
+space 
+id in preparation for ACPI 5.0 changes that will include some new space 
+IDs. 
+This 
+change should not affect user/host code.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib 
+produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug 
+version of 
+the code includes the debug output trace mechanism and has a much larger 
+code 
+and 
+data size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
+    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
+    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL/DTC: Major update for new grammar features. Allow generic data types 
+in 
+custom ACPI tables. Field names are now optional. Any line can be split 
+to 
+multiple lines using the continuation char (\). Large buffers now use 
+line-
+continuation character(s) and no colon on the continuation lines. See the 
+grammar 
+update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob 
+Moore.
+
+iASL: Mark ASL "Return()" and the simple "Return" as "Null" return 
+statements. 
+Since the parser stuffs a "zero" as the return value for these statements 
+(due 
+to 
+the underlying AML grammar), they were seen as "return with value" by the 
+iASL 
+semantic checking. They are now seen correctly as "null" return 
+statements.
+
+iASL: Check if a_REG declaration has a corresponding Operation Region. 
+Adds a 
+check for each _REG to ensure that there is in fact a corresponding 
+operation 
+region declaration in the same scope. If not, the _REG method is not very 
+useful 
+since it probably won't be executed. ACPICA BZ 915.
+
+iASL/DTC: Finish support for expression evaluation. Added a new 
+expression 
+parser 
+that implements c-style operator precedence and parenthesization. ACPICA 
+bugzilla 
+908.
+
+Disassembler/DTC: Remove support for () and <> style comments in data 
+tables. 
+Now 
+that DTC has full expression support, we don't want to have comment 
+strings 
+that 
+start with a parentheses or a less-than symbol. Now, only the standard /* 
+and 
+// 
+comments are supported, as well as the bracket [] comments.
+
+AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have 
+"unusual" 
+headers in the acpidump file. Update the header validation to support 
+these 
+tables. Problem introduced in previous AcpiXtract version in the change 
+to 
+support "wrong checksum" error messages emitted by acpidump utility.
+
+iASL: Add a * option to generate all template files (as a synonym for 
+ALL) 
+as 
+in 
+"iasl -T *" or "iasl -T ALL".
+
+iASL/DTC: Do not abort compiler on fatal errors. We do not want to 
+completely 
+abort the compiler on "fatal" errors, simply should abort the current 
+compile. 
+This allows multiple compiles with a single (possibly wildcard) compiler 
+invocation.
+
+----------------------------------------
+16 March 2011. Summary of changes for version 20110316:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem caused by a _PRW method appearing at the namespace root 
+scope 
+during the setup of wake GPEs. A fault could occur if a _PRW directly 
+under 
+the 
+root object was passed to the AcpiSetupGpeForWake interface. Lin Ming.
+
+Implemented support for "spurious" Global Lock interrupts. On some 
+systems, a 
+global lock interrupt can occur without the pending flag being set. Upon 
+a 
+GL 
+interrupt, we now ensure that a thread is actually waiting for the lock 
+before 
+signaling GL availability. Rafael Wysocki, Bob Moore.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib 
+produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug 
+version of 
+the code includes the debug output trace mechanism and has a much larger 
+code 
+and 
+data size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
+    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
+    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented full support for the "SLIC" ACPI table. Includes support in 
+the 
+header files, disassembler, table compiler, and template generator. Bob 
+Moore, 
+Lin Ming.
+
+AcpiXtract: Correctly handle embedded comments and messages from 
+AcpiDump. 
+Apparently some or all versions of acpidump will occasionally emit a 
+comment 
+like 
+"Wrong checksum", etc., into the dump file. This was causing problems for 
+AcpiXtract. ACPICA BZ 905.
+
+iASL: Fix the Linux makefile by removing an inadvertent double file 
+inclusion. 
+ACPICA BZ 913.
+
+AcpiExec: Update installation of operation region handlers. Install one 
+handler 
+for a user-defined address space. This is used by the ASL test suite 
+(ASLTS).
+
+----------------------------------------
+11 February 2011. Summary of changes for version 20110211:
+
+1) ACPI CA Core Subsystem:
+
+Added a mechanism to defer _REG methods for some early-installed 
+handlers. 
+Most user handlers should be installed before call to 
+AcpiEnableSubsystem. 
+However, Event handlers and region handlers should be installed after 
+AcpiInitializeObjects. Override handlers for the "default" regions should 
+be 
+installed early, however. This change executes all _REG methods for the 
+default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any 
+chicken/egg issues between them. ACPICA BZ 848.
+
+Implemented an optimization for GPE detection. This optimization will 
+simply 
+ignore GPE registers that contain no enabled GPEs -- there is no need to 
+read the register since this information is available internally. This 
+becomes more important on machines with a large GPE space. ACPICA 
+bugzilla 
+884. Lin Ming. Suggestion from Joe Liu.
+
+Removed all use of the highly unreliable FADT revision field. The 
+revision 
+number in the FADT has been found to be completely unreliable and cannot 
+be 
+trusted. Only the actual table length can be used to infer the version. 
+This 
+change updates the ACPICA core and the disassembler so that both no 
+longer 
+even look at the FADT version and instead depend solely upon the FADT 
+length.
+
+Fix an unresolved name issue for the no-debug and no-error-message source 
+generation cases. The _AcpiModuleName was left undefined in these cases, 
+but 
+it is actually needed as a parameter to some interfaces. Define 
+_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
+
+Split several large files (makefiles and project files updated)
+  utglobal.c   -> utdecode.c
+  dbcomds.c    -> dbmethod.c dbnames.c
+  dsopcode.c   -> dsargs.c dscontrol.c
+  dsload.c     -> dsload2.c
+  aslanalyze.c -> aslbtypes.c aslwalks.c
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release (VC 9.0):
+    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
+    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
+    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. 
+These are useful C-style macros with the standard definitions. ACPICA 
+bugzilla 898.
+
+iASL/DTC: Added support for integer expressions and labels. Support for 
+full 
+expressions for all integer fields in all ACPI tables. Support for labels 
+in 
+"generic" portions of tables such as UEFI. See the iASL reference manual.
+
+Debugger: Added a command to display the status of global handlers. The 
+"handlers" command will display op region, fixed event, and miscellaneous 
+global handlers. installation status -- and for op regions, whether 
+default 
+or user-installed handler will be used.
+
+iASL: Warn if reserved method incorrectly returns a value. Many 
+predefined 
+names are defined such that they do not return a value. If implemented as 
+a 
+method, issue a warning if such a name explicitly returns a value. ACPICA 
+Bugzilla 855.
+
+iASL: Added detection of GPE method name conflicts. Detects a conflict 
+where 
+there are two GPE methods of the form _Lxy and _Exy in the same scope. 
+(For 
+example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
+
+iASL/DTC: Fixed a couple input scanner issues with comments and line 
+numbers. Comment remover could get confused and miss a comment ending. 
+Fixed 
+a problem with line counter maintenance.
+
+iASL/DTC: Reduced the severity of some errors from fatal to error. There 
+is 
+no need to abort on simple errors within a field definition.
+
+Debugger: Simplified the output of the help command. All help output now 
+in 
+a single screen, instead of help subcommands. ACPICA Bugzilla 897.
+
+----------------------------------------
+12 January 2011. Summary of changes for version 20110112:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a race condition between method execution and namespace walks that 
+can 
+possibly cause a fault. The problem was apparently introduced in version 
+20100528 as a result of a performance optimization that reduces the 
+number 
+of 
+namespace walks upon method exit by using the delete_namespace_subtree 
+function instead of the delete_namespace_by_owner function used 
+previously. 
+Bug is a missing namespace lock in the delete_namespace_subtree function. 
+dana.myers@oracle.com
+
+Fixed several issues and a possible fault with the automatic "serialized" 
+method support. History: This support changes a method to "serialized" on 
+the 
+fly if the method generates an AE_ALREADY_EXISTS error, indicating the 
+possibility that it cannot handle reentrancy. This fix repairs a couple 
+of 
+issues seen in the field, especially on machines with many cores:
+
+    1) Delete method children only upon the exit of the last thread,
+       so as to not delete objects out from under other running threads
+      (and possibly causing a fault.)
+    2) Set the "serialized" bit for the method only upon the exit of the
+       Last thread, so as to not cause deadlock when running threads
+       attempt to exit.
+    3) Cleanup the use of the AML "MethodFlags" and internal method flags
+       so that there is no longer any confusion between the two.
+
+    Lin Ming, Bob Moore. Reported by dana.myers@oracle.com.
+
+Debugger: Now lock the namespace for duration of a namespace dump. 
+Prevents 
+issues if the namespace is changing dynamically underneath the debugger. 
+Especially affects temporary namespace nodes, since the debugger displays 
+these also.
+
+Updated the ordering of include files. The ACPICA headers should appear 
+before any compiler-specific headers (stdio.h, etc.) so that acenv.h can 
+set 
+any necessary compiler-specific defines, etc. Affects the ACPI-related 
+tools 
+and utilities.
+
+Updated all ACPICA copyrights and signons to 2011. Added the 2011 
+copyright 
+to all module headers and signons, including the Linux header. This 
+affects 
+virtually every file in the ACPICA core subsystem, iASL compiler, and all 
+utilities.
+
+Added project files for MS Visual Studio 2008 (VC++ 9.0). The original 
+project files for VC++ 6.0 are now obsolete. New project files can be 
+found 
+under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for 
+details.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release (VC 6.0):
+    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
+    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
+  Current Release (VC 9.0):
+    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
+    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added generic data types to the Data Table compiler. Add "generic" 
+data 
+types such as UINT32, String, Unicode, etc., to simplify the generation 
+of 
+platform-defined tables such as UEFI. Lin Ming.
+
+iASL: Added listing support for the Data Table Compiler. Adds listing 
+support 
+(-l) to display actual binary output for each line of input code.
+
+----------------------------------------
+09 December 2010. Summary of changes for version 20101209:
+
+1) ACPI CA Core Subsystem:
+
+Completed the major overhaul of the GPE support code that was begun in 
+July 
+2010. Major features include: removal of _PRW execution in ACPICA (host 
+executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, 
+changes to existing interfaces, simplification of GPE handler operation, 
+and 
+a handful of new interfaces:
+
+    AcpiUpdateAllGpes
+    AcpiFinishGpe
+    AcpiSetupGpeForWake
+    AcpiSetGpeWakeMask
+    One new file, evxfgpe.c to consolidate all external GPE interfaces.
+
+See the ACPICA Programmer Reference for full details and programming 
+information. See the new section 4.4 "General Purpose Event (GPE) 
+Support" 
+for a full overview, and section 8.7 "ACPI General Purpose Event 
+Management" 
+for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin 
+Ming, 
+Bob Moore, Rafael Wysocki.
+
+Implemented a new GPE feature for Windows compatibility, the "Implicit 
+Wake 
+GPE Notify". This feature will automatically issue a Notify(2) on a 
+device 
+when a Wake GPE is received if there is no corresponding GPE method or 
+handler. ACPICA BZ 870.
+
+Fixed a problem with the Scope() operator during table parse and load 
+phase. 
+During load phase (table load or method execution), the scope operator 
+should 
+not enter the target into the namespace. Instead, it should open a new 
+scope 
+at the target location. Linux BZ 19462, ACPICA BZ 882.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
+    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
+  Current Release:
+    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
+    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Relax the alphanumeric restriction on _CID strings. These strings 
+are 
+"bus-specific" per the ACPI specification, and therefore any characters 
+are 
+acceptable. The only checks that can be performed are for a null string 
+and 
+perhaps for a leading asterisk. ACPICA BZ 886.
+
+iASL: Fixed a problem where a syntax error that caused a premature EOF 
+condition on the source file emitted a very confusing error message. The 
+premature EOF is now detected correctly. ACPICA BZ 891.
+
+Disassembler: Decode the AccessSize within a Generic Address Structure 
+(byte 
+access, word access, etc.) Note, this field does not allow arbitrary bit 
+access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
+
+New: AcpiNames utility - Example namespace dump utility. Shows an example 
+of 
+ACPICA configuration for a minimal namespace dump utility. Uses table and 
+namespace managers, but no AML interpreter. Does not add any 
+functionality 
+over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to 
+partition and configure ACPICA. ACPICA BZ 883.
+
+AML Debugger: Increased the debugger buffer size for method return 
+objects. 
+Was 4K, increased to 16K. Also enhanced error messages for debugger 
+method 
+execution, including the buffer overflow case.
+
+----------------------------------------
+13 October 2010. Summary of changes for version 20101013:
+
+1) ACPI CA Core Subsystem:
+
+Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, 
+now 
+clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via 
+HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
+
+Changed the type of the predefined namespace object _TZ from ThermalZone 
+to 
+Device. This was found to be confusing to the host software that 
+processes 
+the various thermal zones, since _TZ is not really a ThermalZone. 
+However, 
+a 
+Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui 
+Zhang.
+
+Added Windows Vista SP2 to the list of supported _OSI strings. The actual 
+string is "Windows 2006 SP2".
+
+Eliminated duplicate code in AcpiUtExecute* functions. Now that the 
+nsrepair 
+code automatically repairs _HID-related strings, this type of code is no 
+longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 
+878.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
+    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
+  Current Release:
+    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
+    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented additional compile-time validation for _HID strings. 
+The 
+non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the 
+length 
+of 
+the string must be exactly seven or eight characters. For both _HID and 
+_CID 
+strings, all characters must be alphanumeric. ACPICA BZ 874.
+
+iASL: Allow certain "null" resource descriptors. Some BIOS code creates 
+descriptors that are mostly or all zeros, with the expectation that they 
+will 
+be filled in at runtime. iASL now allows this as long as there is a 
+"resource 
+tag" (name) associated with the descriptor, which gives the ASL a handle 
+needed to modify the descriptor. ACPICA BZ 873.
+
+Added single-thread support to the generic Unix application OSL. 
+Primarily 
+for iASL support, this change removes the use of semaphores in the 
+single-
+threaded ACPICA tools/applications - increasing performance. The 
+_MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED 
+option. ACPICA BZ 879.
+
+AcpiExec: several fixes for the 64-bit version. Adds XSDT support and 
+support 
+for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
+
+iASL: Moved all compiler messages to a new file, aslmessages.h.
+
+----------------------------------------
+15 September 2010. Summary of changes for version 20100915:
+
+1) ACPI CA Core Subsystem:
+
+Removed the AcpiOsDerivePciId OSL interface. The various host 
+implementations 
+of this function were not OS-dependent and are now obsolete and can be 
+removed from all host OSLs. This function has been replaced by 
+AcpiHwDerivePciId, which is now part of the ACPICA core code. 
+AcpiHwDerivePciId has been implemented without recursion. Adds one new 
+module, hwpci.c. ACPICA BZ 857.
+
+Implemented a dynamic repair for _HID and _CID strings. The following 
+problems are now repaired at runtime: 1) Remove a leading asterisk in the 
+string, and 2) the entire string is uppercased. Both repairs are in 
+accordance with the ACPI specification and will simplify host driver 
+code. 
+ACPICA BZ 871.
+
+The ACPI_THREAD_ID type is no longer configurable, internally it is now 
+always UINT64. This simplifies the ACPICA code, especially any printf 
+output. 
+UINT64 is the only common data type for all thread_id types across all 
+operating systems. It is now up to the host OSL to cast the native 
+thread_id 
+type to UINT64 before returning the value to ACPICA (via 
+AcpiOsGetThreadId). 
+Lin Ming, Bob Moore.
+
+Added the ACPI_INLINE type to enhance the ACPICA configuration. The 
+"inline" 
+keyword is not standard across compilers, and this type allows inline to 
+be 
+configured on a per-compiler basis. Lin Ming.
+
+Made the system global AcpiGbl_SystemAwakeAndRunning publically 
+available. 
+Added an extern for this boolean in acpixf.h. Some hosts utilize this 
+value 
+during suspend/restore operations. ACPICA BZ 869.
+
+All code that implements error/warning messages with the "ACPI:" prefix 
+has 
+been moved to a new module, utxferror.c.
+
+The UINT64_OVERLAY was moved to utmath.c, which is the only module where 
+it 
+is used. ACPICA BZ 829. Lin Ming, Bob Moore.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
+    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
+  Current Release:
+    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
+    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL/Disassembler: Write ACPI errors to stderr instead of the output 
+file. 
+This keeps the output files free of random error messages that may 
+originate 
+from within the namespace/interpreter code. Used this opportunity to 
+merge 
+all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 
+866. Lin Ming, Bob Moore.
+
+Tools: update some printfs for ansi warnings on size_t. Handle width 
+change 
+of size_t on 32-bit versus 64-bit generations. Lin Ming.
+
+----------------------------------------
+06 August 2010. Summary of changes for version 20100806:
+
+1) ACPI CA Core Subsystem:
+
+Designed and implemented a new host interface to the _OSI support code. 
+This 
+will allow the host to dynamically add or remove multiple _OSI strings, 
+as 
+well as install an optional handler that is called for each _OSI 
+invocation. 
+Also added a new AML debugger command, 'osi' to display and modify the 
+global 
+_OSI string table, and test support in the AcpiExec utility. See the 
+ACPICA 
+reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
+New Functions:
+    AcpiInstallInterface - Add an _OSI string.
+    AcpiRemoveInterface - Delete an _OSI string.
+    AcpiInstallInterfaceHandler - Install optional _OSI handler.
+Obsolete Functions:
+    AcpiOsValidateInterface - no longer used.
+New Files:
+    source/components/utilities/utosi.c
+
+Re-introduced the support to enable multi-byte transfers for Embedded 
+Controller (EC) operation regions. A reported problem was found to be a 
+bug 
+in the host OS, not in the multi-byte support. Previously, the maximum 
+data 
+size passed to the EC operation region handler was a single byte. There 
+are 
+often EC Fields larger than one byte that need to be transferred, and it 
+is 
+useful for the EC driver to lock these as a single transaction. This 
+change 
+enables single transfers larger than 8 bits. This effectively changes the 
+access to the EC space from ByteAcc to AnyAcc, and will probably require 
+changes to the host OS Embedded Controller driver to enable 16/32/64/256-
+bit 
+transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
+
+Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The 
+prototype in acpiosxf.h had the output value pointer as a (void *).
+It should be a (UINT64 *). This may affect some host OSL code.
+
+Fixed a couple problems with the recently modified Linux makefiles for 
+iASL 
+and AcpiExec. These new makefiles place the generated object files in the 
+local directory so that there can be no collisions between the files that 
+are 
+shared between them that are compiled with different options.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
+    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
+  Current Release:
+    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
+    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL/Disassembler: Added a new option (-da, "disassemble all") to load 
+the 
+namespace from and disassemble an entire group of AML files. Useful for 
+loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) 
+and 
+disassembling with one simple command. ACPICA BZ 865. Lin Ming.
+
+iASL: Allow multiple invocations of -e option. This change allows 
+multiple 
+uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 
+834. 
+Lin Ming.
+
+----------------------------------------
+02 July 2010. Summary of changes for version 20100702:
+
+1) ACPI CA Core Subsystem:
+
+Implemented several updates to the recently added GPE reference count 
+support. The model for "wake" GPEs is changing to give the host OS 
+complete 
+control of these GPEs. Eventually, the ACPICA core will not execute any 
+_PRW 
+methods, since the host already must execute them. Also, additional 
+changes 
+were made to help ensure that the reference counts are kept in proper 
+synchronization with reality. Rafael J. Wysocki.
+
+1) Ensure that GPEs are not enabled twice during initialization.
+2) Ensure that GPE enable masks stay in sync with the reference count.
+3) Do not inadvertently enable GPEs when writing GPE registers.
+4) Remove the internal wake reference counter and add new AcpiGpeWakeup 
+interface. This interface will set or clear individual GPEs for wakeup.
+5) Remove GpeType argument from AcpiEnable and AcpiDisable. These 
+interfaces 
+are now used for "runtime" GPEs only.
+
+Changed the behavior of the GPE install/remove handler interfaces. The 
+GPE 
+is 
+no longer disabled during this process, as it was found to cause problems 
+on 
+some machines. Rafael J. Wysocki.
+
+Reverted a change introduced in version 20100528 to enable Embedded 
+Controller multi-byte transfers. This change was found to cause problems 
+with 
+Index Fields and possibly Bank Fields. It will be reintroduced when these 
+problems have been resolved.
+
+Fixed a problem with references to Alias objects within Package Objects. 
+A 
+reference to an Alias within the definition of a Package was not always 
+resolved properly. Aliases to objects like Processors, Thermal zones, 
+etc. 
+were resolved to the actual object instead of a reference to the object 
+as 
+it 
+should be. Package objects are only allowed to contain integer, string, 
+buffer, package, and reference objects. Redhat bugzilla 608648.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
+    Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
+  Current Release:
+    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
+    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented a new compiler subsystem to allow definition and 
+compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. 
+These 
+are called "ACPI Data Tables", and the new compiler is the "Data Table 
+Compiler". This compiler is intended to simplify the existing error-prone 
+process of creating these tables for the BIOS, as well as allowing the 
+disassembly, modification, recompilation, and override of existing ACPI 
+data 
+tables. See the iASL User Guide for detailed information.
+
+iASL: Implemented a new Template Generator option in support of the new 
+Data 
+Table Compiler. This option will create examples of all known ACPI tables 
+that can be used as the basis for table development. See the iASL 
+documentation and the -T option.
+
+Disassembler and headers: Added support for the WDDT ACPI table (Watchdog 
+Descriptor Table).
+
+Updated the Linux makefiles for iASL and AcpiExec to place the generated 
+object files in the local directory so that there can be no collisions 
+between the shared files between them that are generated with different 
+options.
+
+Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. 
+Use 
+the #define __APPLE__ to enable this support.
+
+----------------------------------------
+28 May 2010. Summary of changes for version 20100528:
+
+Note: The ACPI 4.0a specification was released on April 5, 2010 and is 
+available at www.acpi.info. This is primarily an errata release.
+
+1) ACPI CA Core Subsystem:
+
+Undefined ACPI tables: We are looking for the definitions for the 
+following 
+ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
+
+Implemented support to enable multi-byte transfers for Embedded 
+Controller 
+(EC) operation regions. Previously, the maximum data size passed to the 
+EC 
+operation region handler was a single byte. There are often EC Fields 
+larger 
+than one byte that need to be transferred, and it is useful for the EC 
+driver 
+to lock these as a single transaction. This change enables single 
+transfers 
+larger than 8 bits. This effectively changes the access to the EC space 
+from 
+ByteAcc to AnyAcc, and will probably require changes to the host OS 
+Embedded 
+Controller driver to enable 16/32/64/256-bit transfers in addition to 8-
+bit 
+transfers. Alexey Starikovskiy, Lin Ming
+
+Implemented a performance enhancement for namespace search and access. 
+This 
+change enhances the performance of namespace searches and walks by adding 
+a 
+backpointer to the parent in each namespace node. On large namespaces, 
+this 
+change can improve overall ACPI performance by up to 9X. Adding a pointer 
+to 
+each namespace node increases the overall size of the internal namespace 
+by 
+about 5%, since each namespace entry usually consists of both a namespace 
+node and an ACPI operand object. However, this is the first growth of the 
+namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
+
+Implemented a performance optimization that reduces the number of 
+namespace 
+walks. On control method exit, only walk the namespace if the method is 
+known 
+to have created namespace objects outside of its local scope. Previously, 
+the 
+entire namespace was traversed on each control method exit. This change 
+can 
+improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob 
+Moore.
+
+Added support to truncate I/O addresses to 16 bits for Windows 
+compatibility. 
+Some ASL code has been seen in the field that inadvertently has bits set 
+above bit 15. This feature is optional and is enabled if the BIOS 
+requests 
+any Windows OSI strings. It can also be enabled by the host OS. Matthew 
+Garrett, Bob Moore.
+
+Added support to limit the maximum time for the ASL Sleep() operator. To 
+prevent accidental deep sleeps, limit the maximum time that Sleep() will 
+actually sleep. Configurable, the default maximum is two seconds. ACPICA 
+bugzilla 854.
+
+Added run-time validation support for the _WDG and_WED Microsoft 
+predefined 
+methods. These objects are defined by "Windows Instrumentation", and are 
+not 
+part of the ACPI spec. ACPICA BZ 860.
+
+Expanded all statistic counters used during namespace and device 
+initialization from 16 to 32 bits in order to support very large 
+namespaces.
+
+Replaced all instances of %d in printf format specifiers with %u since 
+nearly 
+all integers in ACPICA are unsigned.
+
+Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly 
+returned 
+as AE_NO_HANDLER.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
+    Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
+  Current Release:
+    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
+    Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added compiler support for the _WDG and_WED Microsoft predefined 
+methods. These objects are defined by "Windows Instrumentation", and are 
+not 
+part of the ACPI spec. ACPICA BZ 860.
+
+AcpiExec: added option to disable the memory tracking mechanism. The -dt 
+option will disable the tracking mechanism, which improves performance 
+considerably.
+
+AcpiExec: Restructured the command line options into -d (disable) and -e 
+(enable) options.
+
+----------------------------------------
+28 April 2010. Summary of changes for version 20100428:
+
+1) ACPI CA Core Subsystem:
+
+Implemented GPE support for dynamically loaded ACPI tables. For all GPEs, 
+including FADT-based and GPE Block Devices, execute any _PRW methods in 
+the 
+new table, and process any _Lxx/_Exx GPE methods in the new table. Any 
+runtime GPE that is referenced by an _Lxx/_Exx method in the new table is 
+immediately enabled. Handles the FADT-defined GPEs as well as GPE Block 
+Devices. Provides compatibility with other ACPI implementations. Two new 
+files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob 
+Moore.
+
+Fixed a regression introduced in version 20100331 within the table 
+manager 
+where initial table loading could fail. This was introduced in the fix 
+for 
+AcpiReallocateRootTable. Also, renamed some of fields in the table 
+manager 
+data structures to clarify their meaning and use.
+
+Fixed a possible allocation overrun during internal object copy in 
+AcpiUtCopySimpleObject. The original code did not correctly handle the 
+case 
+where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 
+847.
+
+Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a 
+possible access beyond end-of-allocation. Also, now fully validate 
+descriptor 
+(size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
+    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
+  Current Release:
+    Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
+    Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented Min/Max/Len/Gran validation for address resource 
+descriptors. This change implements validation for the address fields 
+that 
+are common to all address-type resource descriptors. These checks are 
+implemented: Checks for valid Min/Max, length within the Min/Max window, 
+valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as 
+per 
+table 6-40 in the ACPI 4.0a specification. Also split the large 
+aslrestype1.c 
+and aslrestype2.c files into five new files. ACPICA BZ 840.
+
+iASL: Added support for the _Wxx predefined names. This support was 
+missing 
+and these names were not recognized by the compiler as valid predefined 
+names. ACPICA BZ 851.
+
+iASL: Added an error for all predefined names that are defined to return 
+no 
+value and thus must be implemented as Control Methods. These include all 
+of 
+the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous 
+names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
+
+iASL: Implemented the -ts option to emit hex AML data in ASL format, as 
+an 
+ASL Buffer. Allows ACPI tables to be easily included within ASL files, to 
+be 
+dynamically loaded via the Load() operator. Also cleaned up output for 
+the 
+-
+ta and -tc options. ACPICA BZ 853.
+
+Tests: Added a new file with examples of extended iASL error checking. 
+Demonstrates the advanced error checking ability of the iASL compiler. 
+Available at tests/misc/badcode.asl.
+
+----------------------------------------
+31 March 2010. Summary of changes for version 20100331:
+
+1) ACPI CA Core Subsystem:
+
+Completed a major update for the GPE support in order to improve support 
+for 
+shared GPEs and to simplify both host OS and ACPICA code. Added a 
+reference 
+count mechanism to support shared GPEs that require multiple device 
+drivers. 
+Several external interfaces have changed. One external interface has been 
+removed. One new external interface was added. Most of the GPE external 
+interfaces now use the GPE spinlock instead of the events mutex (and the 
+Flags parameter for many GPE interfaces has been removed.) See the 
+updated 
+ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, 
+Rafael 
+Wysocki. ACPICA BZ 831.
+
+Changed:
+    AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
+Removed:
+    AcpiSetGpeType
+New:
+    AcpiSetGpe
+
+Implemented write support for DataTable operation regions. These regions 
+are 
+defined via the DataTableRegion() operator. Previously, only read support 
+was 
+implemented. The ACPI specification allows DataTableRegions to be 
+read/write, 
+however.
+
+Implemented a new subsystem option to force a copy of the DSDT to local 
+memory. Optionally copy the entire DSDT to local memory (instead of 
+simply 
+mapping it.) There are some (albeit very rare) BIOSs that corrupt or 
+replace 
+the original DSDT, creating the need for this option. Default is FALSE, 
+do 
+not copy the DSDT.
+
+Implemented detection of a corrupted or replaced DSDT. This change adds 
+support to detect a DSDT that has been corrupted and/or replaced from 
+outside 
+the OS (by firmware). This is typically catastrophic for the system, but 
+has 
+been seen on some machines. Once this problem has been detected, the DSDT 
+copy option can be enabled via system configuration. Lin Ming, Bob Moore.
+
+Fixed two problems with AcpiReallocateRootTable during the root table 
+copy. 
+When copying the root table to the new allocation, the length used was 
+incorrect. The new size was used instead of the current table size, 
+meaning 
+too much data was copied. Also, the count of available slots for ACPI 
+tables 
+was not set correctly. Alexey Starikovskiy, Bob Moore.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
+    Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
+  Current Release:
+    Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
+    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implement limited typechecking for values returned from predefined 
+control methods. The type of any returned static (unnamed) object is now 
+validated. For example, Return(1). ACPICA BZ 786.
+
+iASL: Fixed a predefined name object verification regression. Fixes a 
+problem 
+introduced in version 20100304. An error is incorrectly generated if a 
+predefined name is declared as a static named object with a value defined 
+using the keywords "Zero", "One", or "Ones". Lin Ming.
+
+iASL: Added Windows 7 support for the -g option (get local ACPI tables) 
+by 
+reducing the requested registry access rights. ACPICA BZ 842.
+
+Disassembler: fixed a possible fault when generating External() 
+statements. 
+Introduced in commit ae7d6fd: Properly handle externals with parent-
+prefix 
+(carat). Fixes a string length allocation calculation. Lin Ming.
+
+----------------------------------------
+04 March 2010. Summary of changes for version 20100304:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a possible problem with the AML Mutex handling function 
+AcpiExReleaseMutex where the function could fault under the very rare 
+condition when the interpreter has blocked, the interpreter lock is 
+released, 
+the interpreter is then reentered via the same thread, and attempts to 
+acquire an AML mutex that was previously acquired. FreeBSD report 140979. 
+Lin 
+Ming.
+
+Implemented additional configuration support for the AML "Debug Object". 
+Output from the debug object can now be enabled via a global variable, 
+AcpiGbl_EnableAmlDebugObject. This will assist with remote machine 
+debugging. 
+This debug output is now available in the release version of ACPICA 
+instead 
+of just the debug version. Also, the entire debug output module can now 
+be 
+configured out of the ACPICA build if desired. One new file added, 
+executer/exdebug.c. Lin Ming, Bob Moore.
+
+Added header support for the ACPI MCHI table (Management Controller Host 
+Interface Table). This table was added in ACPI 4.0, but the defining 
+document 
+has only recently become available.
+
+Standardized output of integer values for ACPICA warnings/errors. Always 
+use 
+0x prefix for hex output, always use %u for unsigned integer decimal 
+output. 
+Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 
+400 
+invocations.) These invocations were converted from the original 
+ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
+    Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
+  Current Release:
+    Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
+    Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented typechecking support for static (non-control method) 
+predefined named objects that are declared with the Name() operator. For 
+example, the type of this object is now validated to be of type Integer: 
+Name(_BBN, 1). This change migrates the compiler to using the core 
+predefined 
+name table instead of maintaining a local version. Added a new file, 
+aslpredef.c. ACPICA BZ 832.
+
+Disassembler: Added support for the ACPI 4.0 MCHI table.
+
+----------------------------------------
+21 January 2010. Summary of changes for version 20100121:
+
+1) ACPI CA Core Subsystem:
+
+Added the 2010 copyright to all module headers and signons. This affects 
+virtually every file in the ACPICA core subsystem, the iASL compiler, the 
+tools/utilities, and the test suites.
+
+Implemented a change to the AcpiGetDevices interface to eliminate 
+unnecessary 
+invocations of the _STA method. In the case where a specific _HID is 
+requested, do not run _STA until a _HID match is found. This eliminates 
+potentially dozens of _STA calls during a search for a particular 
+device/HID, 
+which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
+
+Implemented an additional repair for predefined method return values. 
+Attempt 
+to repair unexpected NULL elements within returned Package objects. 
+Create 
+an 
+Integer of value zero, a NULL String, or a zero-length Buffer as 
+appropriate. 
+ACPICA BZ 818. Lin Ming, Bob Moore.
+
+Removed the obsolete ACPI_INTEGER data type. This type was introduced as 
+the 
+code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 
+(with 
+64-bit AML integers). It is now obsolete and this change removes it from 
+the 
+ACPICA code base, replaced by UINT64. The original typedef has been 
+retained 
+for now for compatibility with existing device driver code. ACPICA BZ 
+824.
+
+Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field 
+in 
+the parse tree object.
+
+Added additional warning options for the gcc-4 generation. Updated the 
+source 
+accordingly. This includes some code restructuring to eliminate 
+unreachable 
+code, elimination of some gotos, elimination of unused return values, 
+some 
+additional casting, and removal of redundant declarations.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
+    Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
+  Current Release:
+    Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
+    Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+No functional changes for this release.
+
+----------------------------------------
+14 December 2009. Summary of changes for version 20091214:
+
+1) ACPI CA Core Subsystem:
+
+Enhanced automatic data type conversions for predefined name repairs. 
+This 
+change expands the automatic repairs/conversions for predefined name 
+return 
+values to make Integers, Strings, and Buffers fully interchangeable. 
+Also, 
+a 
+Buffer can be converted to a Package of Integers if necessary. The 
+nsrepair.c 
+module was completely restructured. Lin Ming, Bob Moore.
+
+Implemented automatic removal of null package elements during predefined 
+name 
+repairs. This change will automatically remove embedded and trailing NULL 
+package elements from returned package objects that are defined to 
+contain 
+a 
+variable number of sub-packages. The driver is then presented with a 
+package 
+with no null elements to deal with. ACPICA BZ 819.
+
+Implemented a repair for the predefined _FDE and _GTM names. The expected 
+return value for both names is a Buffer of 5 DWORDs. This repair fixes 
+two 
+possible problems (both seen in the field), where a package of integers 
+is 
+returned, or a buffer of BYTEs is returned. With assistance from Jung-uk 
+Kim.
+
+Implemented additional module-level code support. This change will 
+properly 
+execute module-level code that is not at the root of the namespace (under 
+a 
+Device object, etc.). Now executes the code within the current scope 
+instead 
+of the root. ACPICA BZ 762. Lin Ming.
+
+Fixed possible mutex acquisition errors when running _REG methods. Fixes 
+a 
+problem where mutex errors can occur when running a _REG method that is 
+in 
+the same scope as a method-defined operation region or an operation 
+region 
+under a module-level IF block. This type of code is rare, so the problem 
+has 
+not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
+
+Fixed a possible memory leak during module-level code execution. An 
+object 
+could be leaked for each block of executed module-level code if the 
+interpreter slack mode is enabled This change deletes any implicitly 
+returned 
+object from the module-level code block. Lin Ming.
+
+Removed messages for successful predefined repair(s). The repair 
+mechanism 
+was considered too wordy. Now, messages are only unconditionally emitted 
+if 
+the return object cannot be repaired. Existing messages for successful 
+repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 
+827.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
+    Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
+  Current Release:
+    Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
+    Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a regression introduced in 20091112 where intermediate .SRC 
+files 
+were no longer automatically removed at the termination of the compile.
+
+acpiexec: Implemented the -f option to specify default region fill value. 
+This option specifies the value used to initialize buffers that simulate 
+operation regions. Default value is zero. Useful for debugging problems 
+that 
+depend on a specific initial value for a region or field.
+
+----------------------------------------
+12 November 2009. Summary of changes for version 20091112:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a post-order callback to AcpiWalkNamespace. The existing 
+interface only has a pre-order callback. This change adds an additional 
+parameter for a post-order callback which will be more useful for bus 
+scans. 
+ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
+
+Modified the behavior of the operation region memory mapping cache for 
+SystemMemory. Ensure that the memory mappings created for operation 
+regions 
+do not cross 4K page boundaries. Crossing a page boundary while mapping 
+regions can cause kernel warnings on some hosts if the pages have 
+different 
+attributes. Such regions are probably BIOS bugs, and this is the 
+workaround. 
+Linux BZ 14445. Lin Ming.
+
+Implemented an automatic repair for predefined methods that must return 
+sorted lists. This change will repair (by sorting) packages returned by 
+_ALR, 
+_PSS, and _TSS. Drivers can now assume that the packages are correctly 
+sorted 
+and do not contain NULL package elements. Adds one new file, 
+namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
+
+Fixed a possible fault during predefined name validation if a return 
+Package 
+object contains NULL elements. Also adds a warning if a NULL element is 
+followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement 
+may 
+include repair or removal of all such NULL elements where possible.
+
+Implemented additional module-level executable AML code support. This 
+change 
+will execute module-level code that is not at the root of the namespace 
+(under a Device object, etc.) at table load time. Module-level executable 
+AML 
+code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
+
+Implemented a new internal function to create Integer objects. This 
+function 
+simplifies miscellaneous object creation code. ACPICA BZ 823.
+
+Reduced the severity of predefined repair messages, Warning to Info. 
+Since 
+the object was successfully repaired, a warning is too severe. Reduced to 
+an 
+info message for now. These messages may eventually be changed to debug-
+only. 
+ACPICA BZ 812.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
+    Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
+  Current Release:
+    Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
+    Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Implemented Switch() with While(1) so that Break works correctly. 
+This 
+change correctly implements the Switch operator with a surrounding 
+While(1) 
+so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
+
+iASL: Added a message if a package initializer list is shorter than 
+package 
+length. Adds a new remark for a Package() declaration if an initializer 
+list 
+exists, but is shorter than the declared length of the package. Although 
+technically legal, this is probably a coding error and it is seen in the 
+field. ACPICA BZ 815. Lin Ming, Bob Moore.
+
+iASL: Fixed a problem where the compiler could fault after the maximum 
+number 
+of errors was reached (200).
+
+acpixtract: Fixed a possible warning for pointer cast if the compiler 
+warning 
+level set very high.
+
+----------------------------------------
+13 October 2009. Summary of changes for version 20091013:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where an Operation Region _REG method could be executed 
+more 
+than once. If a custom address space handler is installed by the host 
+before 
+the "initialize operation regions" phase of the ACPICA initialization, 
+any 
+_REG methods for that address space could be executed twice. This change 
+fixes the problem. ACPICA BZ 427. Lin Ming.
+
+Fixed a possible memory leak for the Scope() ASL operator. When the exact 
+invocation of "Scope(\)" is executed (change scope to root), one internal 
+operand object was leaked. Lin Ming.
+
+Implemented a run-time repair for the _MAT predefined method. If the _MAT 
+return value is defined as a Field object in the AML, and the field
+size is less than or equal to the default width of an integer (32 or 
+64),_MAT 
+can incorrectly return an Integer instead of a Buffer. ACPICA now 
+automatically repairs this problem. ACPICA BZ 810.
+
+Implemented a run-time repair for the _BIF and _BIX predefined methods. 
+The 
+"OEM Information" field is often incorrectly returned as an Integer with 
+value zero if the field is not supported by the platform. This is due to 
+an 
+ambiguity in the ACPI specification. The field should always be a string. 
+ACPICA now automatically repairs this problem by returning a NULL string 
+within the returned Package. ACPICA BZ 807.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
+    Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
+  Current Release:
+    Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
+    Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed a problem where references to external symbols that 
+contained one or more parent-prefixes (carats) were not handled 
+correctly, 
+possibly causing a fault. ACPICA BZ 806. Lin Ming.
+
+Disassembler: Restructured the code so that all functions that handle 
+external symbols are in a single module. One new file is added, 
+common/dmextern.c.
+
+AML Debugger: Added a max count argument for the Batch command (which 
+executes multiple predefined methods within the namespace.)
+
+iASL: Updated the compiler documentation (User Reference.) Available at 
+http://www.acpica.org/documentation/. ACPICA BZ 750.
+
+AcpiXtract: Updated for Lint and other formatting changes. Close all open 
+files.
+
+----------------------------------------
+03 September 2009. Summary of changes for version 20090903:
+
+1) ACPI CA Core Subsystem:
+
+For Windows Vista compatibility, added the automatic execution of an _INI 
+method located at the namespace root (\_INI). This method is executed at 
+table load time. This support is in addition to the automatic execution 
+of 
+\_SB._INI. Lin Ming.
+
+Fixed a possible memory leak in the interpreter for AML package objects 
+if 
+the package initializer list is longer than the defined size of the 
+package. 
+This apparently can only happen if the BIOS changes the package size on 
+the 
+fly (seen in a _PSS object), as ASL compilers do not allow this. The 
+interpreter will truncate the package to the defined size (and issue an 
+error 
+message), but previously could leave the extra objects undeleted if they 
+were 
+pre-created during the argument processing (such is the case if the 
+package 
+consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
+
+Fixed a problem seen when a Buffer or String is stored to itself via ASL. 
+This has been reported in the field. Previously, ACPICA would zero out 
+the 
+buffer/string. Now, the operation is treated as a noop. Provides Windows 
+compatibility. ACPICA BZ 803. Lin Ming.
+
+Removed an extraneous error message for ASL constructs of the form 
+Store(LocalX,LocalX) when LocalX is uninitialized. These curious 
+statements 
+are seen in many BIOSs and are once again treated as NOOPs and no error 
+is 
+emitted when they are encountered. ACPICA BZ 785.
+
+Fixed an extraneous warning message if a _DSM reserved method returns a 
+Package object. _DSM can return any type of object, so validation on the 
+return type cannot be performed. ACPICA BZ 802.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
+    Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
+  Current Release:
+    Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
+    Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a problem with the use of the Alias operator and Resource 
+Templates. The correct alias is now constructed and no error is emitted. 
+ACPICA BZ 738.
+
+iASL: Implemented the -I option to specify additional search directories 
+for 
+include files. Allows multiple additional search paths for include files. 
+Directories are searched in the order specified on the command line 
+(after 
+the local directory is searched.) ACPICA BZ 800.
+
+iASL: Fixed a problem where the full pathname for include files was not 
+emitted for warnings/errors. This caused the IDE support to not work 
+properly. ACPICA BZ 765.
+
+iASL: Implemented the -@ option to specify a Windows-style response file 
+containing additional command line options. ACPICA BZ 801.
+
+AcpiExec: Added support to load multiple AML files simultaneously (such 
+as 
+a 
+DSDT and multiple SSDTs). Also added support for wildcards within the AML 
+pathname. These features allow all machine tables to be easily loaded and 
+debugged together. ACPICA BZ 804.
+
+Disassembler: Added missing support for disassembly of HEST table Error 
+Bank 
+subtables. 
+
+----------------------------------------
+30 July 2009. Summary of changes for version 20090730:
+
+The ACPI 4.0 implementation for ACPICA is complete with this release.
+
+1) ACPI CA Core Subsystem:
+
+ACPI 4.0: Added header file support for all new and changed ACPI tables. 
+Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are 
+new 
+for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, 
+BERT, 
+EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. 
+There 
+have been some ACPI 4.0 changes to other existing tables. Split the large 
+actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
+
+ACPI 4.0: Implemented predefined name validation for all new names. There 
+are 
+31 new names in ACPI 4.0. The predefined validation module was split into 
+two 
+files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
+
+Implemented support for so-called "module-level executable code". This is 
+executable AML code that exists outside of any control method and is 
+intended 
+to be executed at table load time. Although illegal since ACPI 2.0, this 
+type 
+of code still exists and is apparently still being created. Blocks of 
+this 
+code are now detected and executed as intended. Currently, the code 
+blocks 
+must exist under either an If, Else, or While construct; these are the 
+typical cases seen in the field. ACPICA BZ 762. Lin Ming.
+
+Implemented an automatic dynamic repair for predefined names that return 
+nested Package objects. This applies to predefined names that are defined 
+to 
+return a variable-length Package of sub-packages. If the number of sub-
+packages is one, BIOS code is occasionally seen that creates a simple 
+single 
+package with no sub-packages. This code attempts to fix the problem by 
+wrapping a new package object around the existing package. These methods 
+can 
+be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA 
+BZ 
+790.
+
+Fixed a regression introduced in 20090625 for the AcpiGetDevices 
+interface. 
+The _HID/_CID matching was broken and no longer matched IDs correctly. 
+ACPICA 
+BZ 793.
+
+Fixed a problem with AcpiReset where the reset would silently fail if the 
+register was one of the protected I/O ports. AcpiReset now bypasses the 
+port 
+validation mechanism. This may eventually be driven into the 
+AcpiRead/Write 
+interfaces.
+
+Fixed a regression related to the recent update of the AcpiRead/Write 
+interfaces. A sleep/suspend could fail if the optional PM2 Control 
+register 
+does not exist during an attempt to write the Bus Master Arbitration bit. 
+(However, some hosts already delete the code that writes this bit, and 
+the 
+code may in fact be obsolete at this date.) ACPICA BZ 799.
+
+Fixed a problem where AcpiTerminate could fault if inadvertently called 
+twice 
+in succession. ACPICA BZ 795.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
+    Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
+  Current Release:
+    Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
+    Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+ACPI 4.0: Implemented disassembler support for all new ACPI tables and 
+changes to existing tables. ACPICA BZ 775.
+
+----------------------------------------
+25 June 2009. Summary of changes for version 20090625:
+
+The ACPI 4.0 Specification was released on June 16 and is available at 
+www.acpi.info. ACPICA implementation of ACPI 4.0 is underway and will 
+continue for the next few releases.
+
+1) ACPI CA Core Subsystem:
+
+ACPI 4.0: Implemented interpreter support for the IPMI operation region 
+address space. Includes support for bi-directional data buffers and an 
+IPMI 
+address space handler (to be installed by an IPMI device driver.) ACPICA 
+BZ 
+773. Lin Ming.
+
+ACPI 4.0: Added changes for existing ACPI tables - FACS and SRAT. 
+Includes 
+support in both the header files and the disassembler.
+
+Completed a major update for the AcpiGetObjectInfo external interface. 
+Changes include:
+ - Support for variable, unlimited length HID, UID, and CID strings.
+ - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, 
+etc.)
+ - Call the _SxW power methods on behalf of a device object.
+ - Determine if a device is a PCI root bridge.
+ - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
+These changes will require an update to all callers of this interface. 
+See 
+the updated ACPICA Programmer Reference for details. One new source file 
+has 
+been added - utilities/utids.c. ACPICA BZ 368, 780.
+
+Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit 
+transfers. The Value parameter has been extended from 32 bits to 64 bits 
+in 
+order to support new ACPI 4.0 tables. These changes will require an 
+update 
+to 
+all callers of these interfaces. See the ACPICA Programmer Reference for 
+details. ACPICA BZ 768.
+
+Fixed several problems with AcpiAttachData. The handler was not invoked 
+when 
+the host node was deleted. The data sub-object was not automatically 
+deleted 
+when the host node was deleted. The interface to the handler had an 
+unused 
+parameter, this was removed. ACPICA BZ 778.
+
+Enhanced the function that dumps ACPI table headers. All non-printable 
+characters in the string fields are now replaced with '?' (Signature, 
+OemId, 
+OemTableId, and CompilerId.) ACPI tables with non-printable characters in 
+these fields are occasionally seen in the field. ACPICA BZ 788.
+
+Fixed a problem with predefined method repair code where the code that 
+attempts to repair/convert an object of incorrect type is only executed 
+on 
+the first time the predefined method is called. The mechanism that 
+disables 
+warnings on subsequent calls was interfering with the repair mechanism. 
+ACPICA BZ 781.
+
+Fixed a possible memory leak in the predefined validation/repair code 
+when 
+a 
+buffer is automatically converted to an expected string object.
+
+Removed obsolete 16-bit files from the distribution and from the current 
+git 
+tree head. ACPICA BZ 776.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
+    Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
+  Current Release:
+    Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
+    Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+ACPI 4.0: iASL and Disassembler - implemented support for the new IPMI 
+operation region keyword. ACPICA BZ 771, 772. Lin Ming.
+
+ACPI 4.0: iASL - implemented compile-time validation support for all new 
+predefined names and control methods (31 total). ACPICA BZ 769.
+
+----------------------------------------
+21 May 2009. Summary of changes for version 20090521:
+
+1) ACPI CA Core Subsystem:
+
+Disabled the preservation of the SCI enable bit in the PM1 control 
+register. 
+The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification 
+to 
+be 
+a "preserved" bit - "OSPM always preserves this bit position", section 
+4.7.3.2.1. However, some machines fail if this bit is in fact preserved 
+because the bit needs to be explicitly set by the OS as a workaround. No 
+machines fail if the bit is not preserved. Therefore, ACPICA no longer 
+attempts to preserve this bit.
+
+Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or 
+incorrectly formed _PRT package could cause a fault. Added validation to 
+ensure that each package element is actually a sub-package.
+
+Implemented a new interface to install or override a single control 
+method, 
+AcpiInstallMethod. This interface is useful when debugging in order to 
+repair 
+an existing method or to install a missing method without having to 
+override 
+the entire ACPI table. See the ACPICA Programmer Reference for use and 
+examples. Lin Ming, Bob Moore.
+
+Fixed several reference count issues with the DdbHandle object that is 
+created from a Load or LoadTable operator. Prevent premature deletion of 
+the 
+object. Also, mark the object as invalid once the table has been 
+unloaded. 
+This is needed because the handle itself may not be deleted after the 
+table 
+unload, depending on whether it has been stored in a named object by the 
+caller. Lin Ming.
+
+Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple 
+mutexes of the same sync level are acquired but then not released in 
+strict 
+opposite order, the internally maintained Current Sync Level becomes 
+confused 
+and can cause subsequent execution errors. ACPICA BZ 471.
+
+Changed the allowable release order for ASL mutex objects. The ACPI 4.0 
+specification has been changed to make the SyncLevel for mutex objects 
+more 
+useful. When releasing a mutex, the SyncLevel of the mutex must now be 
+the 
+same as the current sync level. This makes more sense than the previous 
+rule 
+(SyncLevel less than or equal). This change updates the code to match the 
+specification.
+
+Fixed a problem with the local version of the AcpiOsPurgeCache function. 
+The 
+(local) cache must be locked during all cache object deletions. Andrew 
+Baumann.
+
+Updated the Load operator to use operation region interfaces. This 
+replaces 
+direct memory mapping with region access calls. Now, all region accesses 
+go 
+through the installed region handler as they should.
+
+Simplified and optimized the NsGetNextNode function. Reduced parameter 
+count 
+and reduced code for this frequently used function.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
+    Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
+  Current Release:
+    Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
+    Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some 
+problems 
+with sub-table disassembly and handling invalid sub-tables. Attempt 
+recovery 
+after an invalid sub-table ID.
+
+----------------------------------------
+22 April 2009. Summary of changes for version 20090422:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a compatibility issue with the recently released I/O port 
+protection 
+mechanism. For windows compatibility, 1) On a port protection violation, 
+simply ignore the request and do not return an exception (allow the 
+control 
+method to continue execution.) 2) If only part of the request overlaps a 
+protected port, read/write the individual ports that are not protected. 
+Linux 
+BZ 13036. Lin Ming
+
+Enhanced the execution of the ASL/AML BreakPoint operator so that it 
+actually 
+breaks into the AML debugger if the debugger is present. This matches the 
+ACPI-defined behavior.
+
+Fixed several possible warnings related to the use of the configurable 
+ACPI_THREAD_ID. This type can now be configured as either an integer or a 
+pointer with no warnings. Also fixes several warnings in printf-like 
+statements for the 64-bit build when the type is configured as a pointer. 
+ACPICA BZ 766, 767.
+
+Fixed a number of possible warnings when compiling with gcc 4+ (depending 
+on 
+warning options.) Examples include printf formats, aliasing, unused 
+globals, 
+missing prototypes, missing switch default statements, use of non-ANSI 
+library functions, use of non-ANSI constructs. See generate/unix/Makefile 
+for 
+a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
+    Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
+  Current Release:
+    Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
+    Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a generation warning from Bison 2.3 and fixed several 
+warnings 
+on 
+the 64-bit build.
+
+iASL: Fixed a problem where the Unix/Linux versions of the compiler could 
+not 
+correctly digest Windows/DOS formatted files (with CR/LF).
+
+iASL: Added a new option for "quiet mode" (-va) that produces only the 
+compilation summary, not individual errors and warnings. Useful for large 
+batch compilations.
+
+AcpiExec: Implemented a new option (-z) to enable a forced 
+semaphore/mutex 
+timeout that can be used to detect hang conditions during execution of 
+AML 
+code (includes both internal semaphores and AML-defined mutexes and 
+events.)
+
+Added new makefiles for the generation of acpica in a generic unix-like 
+environment. These makefiles are intended to generate the acpica tools 
+and 
+utilities from the original acpica git source tree structure.
+
+Test Suites: Updated and cleaned up the documentation files. Updated the 
+copyrights to 2009, affecting all source files. Use the new version of 
+iASL 
+with quiet mode. Increased the number of available semaphores in the 
+Windows 
+OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, 
+added 
+an alternate implementation of the semaphore timeout to allow aslts to 
+execute fully on Cygwin.
+
+----------------------------------------
+20 March 2009. Summary of changes for version 20090320:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a possible race condition between AcpiWalkNamespace and dynamic 
+table 
+unloads. Added a reader/writer locking mechanism to allow multiple 
+concurrent 
+namespace walks (readers), but block a dynamic table unload until it can 
+gain 
+exclusive write access to the namespace. This fixes a problem where a 
+table 
+unload could (possibly catastrophically) delete the portion of the 
+namespace 
+that is currently being examined by a walk. Adds a new file, utlock.c, 
+that 
+implements the reader/writer lock mechanism. ACPICA BZ 749.
+
+Fixed a regression introduced in version 20090220 where a change to the 
+FADT 
+handling could cause the ACPICA subsystem to access non-existent I/O 
+ports.
+
+Modified the handling of FADT register and table (FACS/DSDT) addresses. 
+The 
+FADT can contain both 32-bit and 64-bit versions of these addresses. 
+Previously, the 64-bit versions were favored, meaning that if both 32 and 
+64 
+versions were valid, but not equal, the 64-bit version was used. This was 
+found to cause some machines to fail. Now, in this case, the 32-bit 
+version 
+is used instead. This now matches the Windows behavior.
+
+Implemented a new mechanism to protect certain I/O ports. Provides 
+Microsoft 
+compatibility and protects the standard PC I/O ports from access via AML 
+code. Adds a new file, hwvalid.c
+
+Fixed a possible extraneous warning message from the FADT support. The 
+message warns of a 32/64 length mismatch between the legacy and GAS 
+definitions for a register.
+
+Removed the obsolete AcpiOsValidateAddress OSL interface. This interface 
+is 
+made obsolete by the port protection mechanism above. It was previously 
+used 
+to validate the entire address range of an operation region, which could 
+be 
+incorrect if the range included illegal ports, but fields within the 
+operation region did not actually access those ports. Validation is now 
+performed on a per-field basis instead of the entire region.
+
+Modified the handling of the PM1 Status Register ignored bit (bit 11.) 
+Ignored bits must be "preserved" according to the ACPI spec. Usually, 
+this 
+means a read/modify/write when writing to the register. However, for 
+status 
+registers, writing a one means clear the event. Writing a zero means 
+preserve 
+the event (do not clear.) This behavior is clarified in the ACPI 4.0 
+spec, 
+and the ACPICA code now simply always writes a zero to the ignored bit.
+
+Modified the handling of ignored bits for the PM1 A/B Control Registers. 
+As 
+per the ACPI specification, for the control registers, preserve 
+(read/modify/write) all bits that are defined as either reserved or 
+ignored.
+
+Updated the handling of write-only bits in the PM1 A/B Control Registers. 
+When reading the register, zero the write-only bits as per the ACPI spec. 
+ACPICA BZ 443. Lin Ming.
+
+Removed "Linux" from the list of supported _OSI strings. Linux no longer 
+wants to reply true to this request. The Windows strings are the only 
+paths 
+through the AML that are tested and known to work properly.
+
+  Previous Release:
+    Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
+    Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
+  Current Release:
+    Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
+    Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c 
+and 
+aetables.c
+
+----------------------------------------
+20 February 2009. Summary of changes for version 20090220:
+
+1) ACPI CA Core Subsystem:
+
+Optimized the ACPI register locking. Removed locking for reads from the 
+ACPI 
+bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock 
+is 
+not required when reading the single-bit registers. The 
+AcpiGetRegisterUnlocked function is no longer needed and has been 
+removed. 
+This will improve performance for reads on these registers. ACPICA BZ 
+760.
+
+Fixed the parameter validation for AcpiRead/Write. Now return 
+AE_BAD_PARAMETER if the input register pointer is null, and 
+AE_BAD_ADDRESS 
+if 
+the register has an address of zero. Previously, these cases simply 
+returned 
+AE_OK. For optional registers such as PM1B status/enable/control, the 
+caller 
+should check for a valid register address before calling. ACPICA BZ 748.
+
+Renamed the external ACPI bit register access functions. Renamed 
+AcpiGetRegister and AcpiSetRegister to clarify the purpose of these 
+functions. The new names are AcpiReadBitRegister and 
+AcpiWriteBitRegister. 
+Also, restructured the code for these functions by simplifying the code 
+path 
+and condensing duplicate code to reduce code size.
+
+Added new functions to transparently handle the possibly split PM1 A/B 
+registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two 
+functions 
+now handle the split registers for PM1 Status, Enable, and Control. 
+ACPICA 
+BZ 
+746.
+
+Added a function to handle the PM1 control registers, 
+AcpiHwWritePm1Control. 
+This function writes both of the PM1 control registers (A/B). These 
+registers 
+are different than the PM1 A/B status and enable registers in that 
+different 
+values can be written to the A/B registers. Most notably, the SLP_TYP 
+bits 
+can be different, as per the values returned from the _Sx predefined 
+methods.
+
+Removed an extra register write within AcpiHwClearAcpiStatus. This 
+function 
+was writing an optional PM1B status register twice. The existing call to 
+the 
+low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 
+A/B 
+register. ACPICA BZ 751.
+
+Split out the PM1 Status registers from the FADT. Added new globals for 
+these 
+registers (A/B), similar to the way the PM1 Enable registers are handled. 
+Instead of overloading the FADT Event Register blocks. This makes the 
+code 
+clearer and less prone to error.
+
+Fixed the warning message for when the platform contains too many ACPI 
+tables 
+for the default size of the global root table data structure. The 
+calculation 
+for the truncation value was incorrect.
+
+Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this 
+obsolete macro, since it is now a simple reference to ->common.type. 
+There 
+were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
+
+Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as 
+TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to 
+simply SLEEP_TYPE. ACPICA BZ 754.
+
+Conditionally compile the AcpiSetFirmwareWakingVector64 function. This 
+function is only needed on 64-bit host operating systems and is thus not 
+included for 32-bit hosts.
+
+Debug output: print the input and result for invocations of the _OSI 
+reserved 
+control method via the ACPI_LV_INFO debug level. Also, reduced some of 
+the 
+verbosity of this debug level. Len Brown.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
+    Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
+  Current Release:
+    Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
+    Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the 
+various legal performance profiles.
+
+----------------------------------------
+23 January 2009. Summary of changes for version 20090123:
+
+1) ACPI CA Core Subsystem:
+
+Added the 2009 copyright to all module headers and signons. This affects 
+virtually every file in the ACPICA core subsystem, the iASL compiler, and 
+the tools/utilities.
+
+Implemented a change to allow the host to override any ACPI table, 
+including 
+dynamically loaded tables. Previously, only the DSDT could be replaced by 
+the 
+host. With this change, the AcpiOsTableOverride interface is called for 
+each 
+table found in the RSDT/XSDT during ACPICA initialization, and also 
+whenever 
+a table is dynamically loaded via the AML Load operator.
+
+Updated FADT flag definitions, especially the Boot Architecture flags.
+
+Debugger: For the Find command, automatically pad the input ACPI name 
+with 
+underscores if the name is shorter than 4 characters. This enables a 
+match 
+with the actual namespace entry which is itself padded with underscores.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
+    Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
+  Current Release:
+    Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
+    Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fix build error under Bison-2.4.
+
+Dissasembler: Enhanced FADT support. Added decoding of the Boot 
+Architecture 
+flags. Now decode all flags, regardless of the FADT version. Flag output 
+includes the FADT version which first defined each flag.
+
+The iASL -g option now dumps the RSDT to a file (in addition to the FADT 
+and 
+DSDT). Windows only.
+
+----------------------------------------
+04 December 2008. Summary of changes for version 20081204:
+
+1) ACPI CA Core Subsystem:
+
+The ACPICA Programmer Reference has been completely updated and revamped 
+for 
+this release. This includes updates to the external interfaces, OSL 
+interfaces, the overview sections, and the debugger reference.
+
+Several new ACPICA interfaces have been implemented and documented in the 
+programmer reference:
+AcpiReset - Writes the reset value to the FADT-defined reset register.
+AcpiDisableAllGpes - Disable all available GPEs.
+AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
+AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
+AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
+AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
+AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
+
+Most of the public ACPI hardware-related interfaces have been moved to a 
+new 
+file, components/hardware/hwxface.c
+
+Enhanced the FADT parsing and low-level ACPI register access: The ACPI 
+register lengths within the FADT are now used, and the low level ACPI 
+register access no longer hardcodes the ACPI register lengths. Given that 
+there may be some risk in actually trusting the FADT register lengths, a 
+run-
+time option was added to fall back to the default hardcoded lengths if 
+the 
+FADT proves to contain incorrect values - UseDefaultRegisterWidths. This 
+option is set to true for now, and a warning is issued if a suspicious 
+FADT 
+register length is overridden with the default value.
+
+Fixed a reference count issue in NsRepairObject. This problem was 
+introduced 
+in version 20081031 as part of a fix to repair Buffer objects within 
+Packages. Lin Ming.
+
+Added semaphore support to the Linux/Unix application OS-services layer 
+(OSL). ACPICA BZ 448. Lin Ming.
+
+Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes 
+will 
+be implemented in the OSL, or will binary semaphores be used instead.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
+    Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
+  Current Release:
+    Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
+    Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Completed the '-e' option to include additional ACPI tables in 
+order 
+to 
+aid with disassembly and External statement generation. ACPICA BZ 742. 
+Lin 
+Ming.
+
+iASL: Removed the "named object in while loop" error. The compiler cannot 
+determine how many times a loop will execute. ACPICA BZ 730.
+
+Disassembler: Implemented support for FADT revision 2 (MS extension). 
+ACPICA 
+BZ 743.
+
+Disassembler: Updates for several ACPI data tables (HEST, EINJ, and 
+MCFG).
+
+----------------------------------------
+31 October 2008. Summary of changes for version 20081031:
+
+1) ACPI CA Core Subsystem:
+
+Restructured the ACPICA header files into public/private. acpi.h now 
+includes 
+only the "public" acpica headers. All other acpica headers are "private" 
+and 
+should not be included by acpica users. One new file, accommon.h is used 
+to 
+include the commonly used private headers for acpica code generation. 
+Future 
+plans include moving all private headers to a new subdirectory.
+
+Implemented an automatic Buffer->String return value conversion for 
+predefined ACPI methods. For these methods (such as _BIF), added 
+automatic 
+conversion for return objects that are required to be a String, but a 
+Buffer 
+was found instead. This can happen when reading string battery data from 
+an 
+operation region, because it used to be difficult to convert the data 
+from 
+buffer to string from within the ASL. Ensures that the host OS is 
+provided 
+with a valid null-terminated string. Linux BZ 11822.
+
+Updated the FACS waking vector interfaces. Split 
+AcpiSetFirmwareWakingVector 
+into two: one for the 32-bit vector, another for the 64-bit vector. This 
+is 
+required because the host OS must setup the wake much differently for 
+each 
+vector (real vs. protected mode, etc.) and the interface itself should 
+not 
+be 
+deciding which vector to use. Also, eliminated the 
+GetFirmwareWakingVector 
+interface, as it served no purpose (only the firmware reads the vector, 
+OS 
+only writes the vector.) ACPICA BZ 731.
+
+Implemented a mechanism to escape infinite AML While() loops. Added a 
+loop 
+counter to force exit from AML While loops if the count becomes too 
+large. 
+This can occur in poorly written AML when the hardware does not respond 
+within a while loop and the loop does not implement a timeout. The 
+maximum 
+loop count is configurable. A new exception code is returned when a loop 
+is 
+broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
+
+Optimized the execution of AML While loops. Previously, a control state 
+object was allocated and freed for each execution of the loop. The 
+optimization is to simply reuse the control state for each iteration. 
+This 
+speeds up the raw loop execution time by about 5%.
+
+Enhanced the implicit return mechanism. For Windows compatibility, return 
+an 
+implicit integer of value zero for methods that contain no executable 
+code. 
+Such methods are seen in the field as stubs (presumably), and can cause 
+drivers to fail if they expect a return value. Lin Ming.
+
+Allow multiple backslashes as root prefixes in namepaths. In a fully 
+qualified namepath, allow multiple backslash prefixes. This can happen 
+(and 
+is seen in the field) because of the use of a double-backslash in strings 
+(since backslash is the escape character) causing confusion. ACPICA BZ 
+739 
+Lin Ming.
+
+Emit a warning if two different FACS or DSDT tables are discovered in the 
+FADT. Checks if there are two valid but different addresses for the FACS 
+and 
+DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
+
+Consolidated the method argument count validation code. Merged the code 
+that 
+validates control method argument counts into the predefined validation 
+module. Eliminates possible multiple warnings for incorrect argument 
+counts.
+
+Implemented ACPICA example code. Includes code for ACPICA initialization, 
+handler installation, and calling a control method. Available at 
+source/tools/examples.
+
+Added a global pointer for FACS table to simplify internal FACS access. 
+Use 
+the global pointer instead of using AcpiGetTableByIndex for each FACS 
+access. 
+This simplifies the code for the Global Lock and the Firmware Waking 
+Vector(s).
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
+    Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
+  Current Release:
+    Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
+    Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Improved disassembly of external method calls. Added the -e option 
+to 
+allow the inclusion of additional ACPI tables to help with the 
+disassembly 
+of 
+method invocations and the generation of external declarations during the 
+disassembly. Certain external method invocations cannot be disassembled 
+properly without the actual declaration of the method. Use the -e option 
+to 
+include the table where the external method(s) are actually declared. 
+Most 
+useful for disassembling SSDTs that make method calls back to the master 
+DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT:  iasl 
+-d 
+-e dsdt.aml ssdt1.aml
+
+iASL: Fix to allow references to aliases within ASL namepaths. Fixes a 
+problem where the use of an alias within a namepath would result in a not 
+found error or cause the compiler to fault. Also now allows forward 
+references from the Alias operator itself. ACPICA BZ 738.
+
+----------------------------------------
+26 September 2008. Summary of changes for version 20080926:
+
+1) ACPI CA Core Subsystem:
+
+Designed and implemented a mechanism to validate predefined ACPI methods 
+and 
+objects. This code validates the predefined ACPI objects (objects whose 
+names 
+start with underscore) that appear in the namespace, at the time they are 
+evaluated. The argument count and the type of the returned object are 
+validated against the ACPI specification. The purpose of this validation 
+is 
+to detect problems with the BIOS-implemented predefined ACPI objects 
+before 
+the results are returned to the ACPI-related drivers. Future enhancements 
+may 
+include actual repair of incorrect return objects where possible. Two new 
+files are nspredef.c and acpredef.h.
+
+Fixed a fault in the AML parser if a memory allocation fails during the 
+Op 
+completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
+
+Fixed an issue with implicit return compatibility. This change improves 
+the 
+implicit return mechanism to be more compatible with the MS interpreter. 
+Lin 
+Ming, ACPICA BZ 349.
+
+Implemented support for zero-length buffer-to-string conversions. Allow 
+zero 
+length strings during interpreter buffer-to-string conversions. For 
+example, 
+during the ToDecimalString and ToHexString operators, as well as implicit 
+conversions. Fiodor Suietov, ACPICA BZ 585.
+
+Fixed two possible memory leaks in the error exit paths of 
+AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions 
+are 
+similar in that they use a stack of state objects in order to eliminate 
+recursion. The stack must be fully unwound and deallocated if an error 
+occurs. Lin Ming. ACPICA BZ 383.
+
+Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the 
+global 
+ACPI register table. This bit does not exist and is unused. Lin Ming, Bob 
+Moore ACPICA BZ 442.
+
+Removed the obsolete version number in module headers. Removed the 
+"$Revision" number that appeared in each module header. This version 
+number 
+was useful under SourceSafe and CVS, but has no meaning under git. It is 
+not 
+only incorrect, it could also be misleading.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
+    Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
+  Current Release:
+    Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
+    Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
+
+----------------------------------------
+29 August 2008. Summary of changes for version 20080829:
+
+1) ACPI CA Core Subsystem:
+
+Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type 
+Reference. Changes include the elimination of cheating on the Object 
+field 
+for the DdbHandle subtype, addition of a reference class field to 
+differentiate the various reference types (instead of an AML opcode), and 
+the 
+cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
+
+Reduce an error to a warning for an incorrect method argument count. 
+Previously aborted with an error if too few arguments were passed to a 
+control method via the external ACPICA interface. Now issue a warning 
+instead 
+and continue. Handles the case where the method inadvertently declares 
+too 
+many arguments, but does not actually use the extra ones. Applies mainly 
+to 
+the predefined methods. Lin Ming. Linux BZ 11032.
+
+Disallow the evaluation of named object types with no intrinsic value. 
+Return 
+AE_TYPE for objects that have no value and therefore evaluation is 
+undefined: 
+Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation 
+of 
+these types were allowed, but an exception would be generated at some 
+point 
+during the evaluation. Now, the error is generated up front.
+
+Fixed a possible memory leak in the AcpiNsGetExternalPathname function 
+(nsnames.c). Fixes a leak in the error exit path.
+
+Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These 
+debug 
+levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and 
+ACPI_EXCEPTION 
+interfaces. Also added ACPI_DB_EVENTS to correspond with the existing 
+ACPI_LV_EVENTS.
+
+Removed obsolete and/or unused exception codes from the acexcep.h header. 
+There is the possibility that certain device drivers may be affected if 
+they 
+use any of these exceptions.
+
+The ACPICA documentation has been added to the public git source tree, 
+under 
+acpica/documents. Included are the ACPICA programmer reference, the iASL 
+compiler reference, and the changes.txt release logfile.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
+    Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
+  Current Release:
+    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
+    Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Allow multiple argument counts for the predefined _SCP method. ACPI 3.0 
+defines _SCP with 3 arguments. Previous versions defined it with only 1 
+argument. iASL now allows both definitions.
+
+iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for 
+zero-
+length subtables when disassembling ACPI tables. Also fixed a couple of 
+errors where a full 16-bit table type field was not extracted from the 
+input 
+properly.
+
+acpisrc: Improve comment counting mechanism for generating source code 
+statistics. Count first and last lines of multi-line comments as 
+whitespace, 
+not comment lines. Handle Linux legal header in addition to standard 
+acpica 
+header.
+
+----------------------------------------
+
+29 July 2008. Summary of changes for version 20080729:
+
+1) ACPI CA Core Subsystem:
+
+Fix a possible deadlock in the GPE dispatch. Remove call to 
+AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will 
+attempt 
+to acquire the GPE lock but can deadlock since the GPE lock is already 
+held 
+at dispatch time. This code was introduced in version 20060831 as a 
+response 
+to Linux BZ 6881 and has since been removed from Linux.
+
+Add a function to dereference returned reference objects. Examines the 
+return 
+object from a call to AcpiEvaluateObject. Any Index or RefOf references 
+are 
+automatically dereferenced in an attempt to return something useful 
+(these 
+reference types cannot be converted into an external ACPI_OBJECT.) 
+Provides 
+MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
+
+x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new 
+subtables for the MADT and one new subtable for the SRAT. Includes 
+disassembler and AcpiSrc support. Data from the Intel 64 Architecture 
+x2APIC 
+Specification, June 2008.
+
+Additional error checking for pathname utilities. Add error check after 
+all 
+calls to AcpiNsGetPathnameLength. Add status return from 
+AcpiNsBuildExternalPath and check after all calls. Add parameter 
+validation 
+to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
+
+Return status from the global init function AcpiUtGlobalInitialize. This 
+is 
+used by both the kernel subsystem and the utilities such as iASL 
+compiler. 
+The function could possibly fail when the caches are initialized. Yang 
+Yi.
+
+Add a function to decode reference object types to strings. Created for 
+improved error messages. 
+
+Improve object conversion error messages. Better error messages during 
+object 
+conversion from internal to the external ACPI_OBJECT. Used for external 
+calls 
+to AcpiEvaluateObject.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
+    Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
+  Current Release:
+    Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
+    Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Debugger: fix a possible hang when evaluating non-methods. Fixes a 
+problem 
+introduced in version 20080701. If the object being evaluated (via 
+execute 
+command) is not a method, the debugger can hang while trying to obtain 
+non-
+existent parameters.
+
+iASL: relax error for using reserved "_T_x" identifiers. These names can 
+appear in a disassembled ASL file if they were emitted by the original 
+compiler. Instead of issuing an error or warning and forcing the user to 
+manually change these names, issue a remark instead.
+
+iASL: error if named object created in while loop. Emit an error if any 
+named 
+object is created within a While loop. If allowed, this code will 
+generate 
+a 
+run-time error on the second iteration of the loop when an attempt is 
+made 
+to 
+create the same named object twice. ACPICA bugzilla 730.
+
+iASL: Support absolute pathnames for include files. Add support for 
+absolute 
+pathnames within the Include operator. previously, only relative 
+pathnames 
+were supported.
+
+iASL: Enforce minimum 1 interrupt in interrupt macro and Resource 
+Descriptor. 
+The ACPI spec requires one interrupt minimum. BZ 423
+
+iASL: Handle a missing ResourceSource arg, with a present SourceIndex. 
+Handles the case for the Interrupt Resource Descriptor where
+the ResourceSource argument is omitted but ResourceSourceIndex
+is present. Now leave room for the Index. BZ 426
+
+iASL: Prevent error message if CondRefOf target does not exist. Fixes 
+cases 
+where an error message is emitted if the target does not exist. BZ 516
+
+iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option 
+(get ACPI tables on Windows). This was apparently broken in version 
+20070919.
+
+AcpiXtract: Handle EOF while extracting data. Correctly handle the case 
+where 
+the EOF happens immediately after the last table in the input file. Print 
+completion message. Previously, no message was displayed in this case.
+
+----------------------------------------
+01 July 2008. Summary of changes for version 20080701:
+
+0) Git source tree / acpica.org
+
+Fixed a problem where a git-clone from http would not transfer the entire 
+source tree.
+
+1) ACPI CA Core Subsystem:
+
+Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one 
+enable bit. Now performs a read-change-write of the enable register 
+instead 
+of simply writing out the cached enable mask. This will prevent 
+inadvertent 
+enabling of GPEs if a rogue GPE is received during initialization (before 
+GPE 
+handlers are installed.)
+
+Implemented a copy for dynamically loaded tables. Previously, dynamically 
+loaded tables were simply mapped - but on some machines this memory is 
+corrupted after suspend. Now copy the table to a local buffer. For the 
+OpRegion case, added checksum verify. Use the table length from the table 
+header, not the region length. For the Buffer case, use the table length 
+also. Dennis Noordsij, Bob Moore. BZ 10734
+
+Fixed a problem where the same ACPI table could not be dynamically loaded 
+and 
+unloaded more than once. Without this change, a table cannot be loaded 
+again 
+once it has been loaded/unloaded one time. The current mechanism does not 
+unregister a table upon an unload. During a load, if the same table is 
+found, 
+this no longer returns an exception. BZ 722
+
+Fixed a problem where the wrong descriptor length was calculated for the 
+EndTag descriptor in 64-bit mode. The "minimal" descriptors such as 
+EndTag 
+are calculated as 12 bytes long, but the actual length in the internal 
+descriptor is 16 because of the round-up to 8 on the 64-bit build. 
+Reported 
+by Linn Crosetto. BZ 728
+
+Fixed a possible memory leak in the Unload operator. The DdbHandle 
+returned 
+by Load() did not have its reference count decremented during unload, 
+leading 
+to a memory leak. Lin Ming. BZ 727
+
+Fixed a possible memory leak when deleting thermal/processor objects. Any 
+associated notify handlers (and objects) were not being deleted. Fiodor 
+Suietov. BZ 506
+
+Fixed the ordering of the ASCII names in the global mutex table to match 
+the 
+actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug 
+only. 
+Vegard Nossum. BZ 726
+
+Enhanced the AcpiGetObjectInfo interface to return the number of required 
+arguments if the object is a control method. Added this call to the 
+debugger 
+so the proper number of default arguments are passed to a method. This 
+prevents a warning when executing methods from AcpiExec.
+
+Added a check for an invalid handle in AcpiGetObjectInfo. Return 
+AE_BAD_PARAMETER if input handle is invalid. BZ 474
+
+Fixed an extraneous warning from exconfig.c on the 64-bit build.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
+    Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
+  Current Release:
+    Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
+    Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both 
+resource descriptor names.
+
+iASL: Detect invalid ASCII characters in input (windows version). Removed 
+the 
+"-CF" flag from the flex compile, enables correct detection of non-ASCII 
+characters in the input. BZ 441
+
+iASL: Eliminate warning when result of LoadTable is not used. Eliminate 
+the 
+"result of operation not used" warning when the DDB handle returned from 
+LoadTable is not used. The warning is not needed. BZ 590
+
+AcpiExec: Add support for dynamic table load/unload. Now calls _CFG 
+method 
+to 
+pass address of table to the AML. Added option to disable OpRegion 
+simulation 
+to allow creation of an OpRegion with a real address that was passed to 
+_CFG. 
+All of this allows testing of the Load and Unload operators from 
+AcpiExec.
+
+Debugger: update tables command for unloaded tables. Handle unloaded 
+tables 
+and use the standard table header output routine.
+
+----------------------------------------
+09 June 2008. Summary of changes for version 20080609:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a workaround for reversed _PRT entries. A significant number 
+of 
+BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This 
+change dynamically detects and repairs this problem. Provides 
+compatibility 
+with MS ACPI. BZ 6859
+
+Simplified the internal ACPI hardware interfaces to eliminate the locking 
+flag parameter from Register Read/Write. Added a new external interface, 
+AcpiGetRegisterUnlocked.
+
+Fixed a problem where the invocation of a GPE control method could hang. 
+This 
+was a regression introduced in 20080514. The new method argument count 
+validation mechanism can enter an infinite loop when a GPE method is 
+dispatched. Problem fixed by removing the obsolete code that passed GPE 
+block 
+information to the notify handler via the control method parameter 
+pointer.
+
+Fixed a problem where the _SST execution status was incorrectly returned 
+to 
+the caller of AcpiEnterSleepStatePrep. This was a regression introduced 
+in 
+20080514. _SST is optional and a NOT_FOUND exception should never be 
+returned. BZ 716
+
+Fixed a problem where a deleted object could be accessed from within the 
+AML 
+parser. This was a regression introduced in version 20080123 as a fix for 
+the 
+Unload operator. Lin Ming. BZ 10669
+
+Cleaned up the debug operand dump mechanism. Eliminated unnecessary 
+operands 
+and eliminated the use of a negative index in a loop. Operands are now 
+displayed in the correct order, not backwards. This also fixes a 
+regression 
+introduced in 20080514 on 64-bit systems where the elimination of 
+ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 
+715
+
+Fixed a possible memory leak in EvPciConfigRegionSetup where the error 
+exit 
+path did not delete a locally allocated structure.
+
+Updated definitions for the DMAR and SRAT tables to synchronize with the 
+current specifications. Includes disassembler support.
+
+Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect 
+loop termination value was used. Loop terminated on iteration early, 
+missing 
+one mutex. Linn Crosetto
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
+    Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
+  Current Release:
+    Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
+    Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Implemented support for EisaId() within _CID objects. Now 
+disassemble integer _CID objects back to EisaId invocations, including 
+multiple integers within _CID packages. Includes single-step support for 
+debugger also.
+
+Disassembler: Added support for DMAR and SRAT table definition changes.
+
+----------------------------------------
+14 May 2008. Summary of changes for version 20080514:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where GPEs were enabled too early during the ACPICA 
+initialization. This could lead to "handler not installed" errors on some 
+machines. Moved GPE enable until after _REG/_STA/_INI methods are run. 
+This 
+ensures that all operation regions and devices throughout the namespace 
+have 
+been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
+
+Implemented a change to the enter sleep code. Moved execution of the _GTS 
+method to just before setting sleep enable bit. The execution was moved 
+from 
+AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed 
+immediately before the SLP_EN bit is set, as per the ACPI specification. 
+Luming Yu, BZ 1653.
+
+Implemented a fix to disable unknown GPEs (2nd version). Now always 
+disable 
+the GPE, even if ACPICA thinks that that it is already disabled. It is 
+possible that the AML or some other code has enabled the GPE unbeknownst 
+to 
+the ACPICA code.
+
+Fixed a problem with the Field operator where zero-length fields would 
+return 
+an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length 
+ASL 
+field declarations in Field(), BankField(), and IndexField(). BZ 10606.
+
+Implemented a fix for the Load operator, now load the table at the 
+namespace 
+root. This reverts a change introduced in version 20071019. The table is 
+now 
+loaded at the namespace root even though this goes against the ACPI 
+specification. This provides compatibility with other ACPI 
+implementations. 
+The ACPI specification will be updated to reflect this in ACPI 4.0. Lin 
+Ming.
+
+Fixed a problem where ACPICA would not Load() tables with unusual 
+signatures. 
+Now ignore ACPI table signature for Load() operator. Only "SSDT" is 
+acceptable to the ACPI spec, but tables are seen with OEMx and null sigs. 
+Therefore, signature validation is worthless. Apparently MS ACPI accepts 
+such 
+signatures, ACPICA must be compatible. BZ 10454.
+
+Fixed a possible negative array index in AcpiUtValidateException. Added 
+NULL 
+fields to the exception string arrays to eliminate a -1 subtraction on 
+the 
+SubStatus field.
+
+Updated the debug tracking macros to reduce overall code and data size. 
+Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings 
+instead of pointers to static strings. Jan Beulich and Bob Moore.
+
+Implemented argument count checking in control method invocation via 
+AcpiEvaluateObject. Now emit an error if too few arguments, warning if 
+too 
+many. This applies only to extern programmatic control method execution, 
+not 
+method-to-method calls within the AML. Lin Ming.
+
+Eliminated the ACPI_NATIVE_UINT type across all ACPICA code. This type is 
+no 
+longer needed, especially with the removal of 16-bit support. It was 
+replaced 
+mostly with UINT32, but also ACPI_SIZE where a type that changes 32/64 
+bit 
+on 
+32/64-bit platforms is required.
+
+Added the C const qualifier for appropriate string constants -- mostly 
+MODULE_NAME and printf format strings. Jan Beulich.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has a 
+much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
+    Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
+  Current Release:
+    Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
+    Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented ACPI table revision ID validation in the disassembler. Zero 
+is 
+always invalid. For DSDTs, the ID controls the interpreter integer width. 
+1 
+means 32-bit and this is unusual. 2 or greater is 64-bit.
+
+----------------------------------------
+21 March 2008. Summary of changes for version 20080321:
+
+1) ACPI CA Core Subsystem:
+
+Implemented an additional change to the GPE support in order to suppress 
+spurious or stray GPEs. The AcpiEvDisableGpe function will now 
+permanently 
+disable incoming GPEs that are neither enabled nor disabled -- meaning 
+that 
+the GPE is unknown to the system. This should prevent future interrupt 
+floods 
+from that GPE. BZ 6217 (Zhang Rui)
+
+Fixed a problem where NULL package elements were not returned to the 
+AcpiEvaluateObject interface correctly. The element was simply ignored 
+instead of returning a NULL ACPI_OBJECT package element, potentially 
+causing 
+a buffer overflow and/or confusing the caller who expected a fixed number 
+of 
+elements. BZ 10132 (Lin Ming, Bob Moore)
+
+Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, 
+Dword, 
+Qword), Field, BankField, and IndexField operators when invoked from 
+inside 
+an executing control method. In this case, these operators created 
+namespace 
+nodes that were incorrectly left marked as permanent nodes instead of 
+temporary nodes. This could cause a problem if there is race condition 
+between an exiting control method and a running namespace walk. (Reported 
+by 
+Linn Crosetto)
+
+Fixed a problem where the CreateField and CreateXXXField operators would 
+incorrectly allow duplicate names (the name of the field) with no 
+exception 
+generated.
+
+Implemented several changes for Notify handling. Added support for new 
+Notify 
+values (ACPI 2.0+) and improved the Notify debug output. Notify on 
+PowerResource objects is no longer allowed, as per the ACPI 
+specification. 
+(Bob Moore, Zhang Rui)
+
+All Reference Objects returned via the AcpiEvaluateObject interface are 
+now 
+marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved 
+for 
+NULL objects - either NULL package elements or unresolved named 
+references.
+
+Fixed a problem where an extraneous debug message was produced for 
+package 
+objects (when debugging enabled). The message "Package List length larger 
+than NumElements count" is now produced in the correct case, and is now 
+an 
+error message rather than a debug message. Added a debug message for the 
+opposite case, where NumElements is larger than the Package List (the 
+package 
+will be padded out with NULL elements as per the ACPI spec.)
+
+Implemented several improvements for the output of the ASL "Debug" object 
+to 
+clarify and keep all data for a given object on one output line.
+
+Fixed two size calculation issues with the variable-length Start 
+Dependent 
+resource descriptor.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
+    Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
+  Current Release:
+    Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
+    Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed a problem with the use of the Switch operator where execution of 
+the 
+containing method by multiple concurrent threads could cause an 
+AE_ALREADY_EXISTS exception. This is caused by the fact that there is no 
+actual Switch opcode, it must be simulated with local named temporary 
+variables and if/else pairs. The solution chosen was to mark any method 
+that 
+uses Switch as Serialized, thus preventing multiple thread entries. BZ 
+469.
+
+----------------------------------------
+13 February 2008. Summary of changes for version 20080213:
+
+1) ACPI CA Core Subsystem:
+
+Implemented another MS compatibility design change for GPE/Notify 
+handling. 
+GPEs are now cleared/enabled asynchronously to allow all pending notifies 
+to 
+complete first. It is expected that the OSL will queue the enable request 
+behind all pending notify requests (may require changes to the local host 
+OSL 
+in AcpiOsExecute). Alexey Starikovskiy.
+
+Fixed a problem where buffer and package objects passed as arguments to a 
+control method via the external AcpiEvaluateObject interface could cause 
+an 
+AE_AML_INTERNAL exception depending on the order and type of operators 
+executed by the target control method.
+
+Fixed a problem where resource descriptor size optimization could cause a 
+problem when a _CRS resource template is passed to a _SRS method. The 
+_SRS 
+resource template must use the same descriptors (with the same size) as 
+returned from _CRS. This change affects the following resource 
+descriptors: 
+IRQ / IRQNoFlags and StartDependendentFn / StartDependentFnNoPri. (BZ 
+9487)
+
+Fixed a problem where a CopyObject to RegionField, BankField, and 
+IndexField 
+objects did not perform an implicit conversion as it should. These types 
+must 
+retain their initial type permanently as per the ACPI specification. 
+However, 
+a CopyObject to all other object types should not perform an implicit 
+conversion, as per the ACPI specification. (Lin Ming, Bob Moore) BZ 388
+
+Fixed a problem with the AcpiGetDevices interface where the mechanism to 
+match device CIDs did not examine the entire list of available CIDs, but 
+instead aborted on the first non-matching CID. Andrew Patterson.
+
+Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro 
+was 
+inadvertently changed to return a 16-bit value instead of a 32-bit value, 
+truncating the upper dword of a 64-bit value. This macro is only used to 
+display debug output, so no incorrect calculations were made. Also, 
+reimplemented the macro so that a 64-bit shift is not performed by 
+inefficient compilers.
+
+Added missing va_end statements that should correspond with each va_start 
+statement.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
+    Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
+  Current Release:
+    Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
+    Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented full disassembler support for the following new ACPI tables: 
+BERT, EINJ, and ERST. Implemented partial disassembler support for the 
+complicated HEST table. These tables support the Windows Hardware Error 
+Architecture (WHEA).
+
+----------------------------------------
+23 January 2008. Summary of changes for version 20080123:
+
+1) ACPI CA Core Subsystem:
+
+Added the 2008 copyright to all module headers and signons. This affects 
+virtually every file in the ACPICA core subsystem, the iASL compiler, and 
+the tools/utilities.
+
+Fixed a problem with the SizeOf operator when used with Package and 
+Buffer 
+objects. These objects have deferred execution for some arguments, and 
+the 
+execution is now completed before the SizeOf is executed. This problem 
+caused 
+unexpected AE_PACKAGE_LIMIT errors on some systems (Lin Ming, Bob Moore) 
+BZ 
+9558
+
+Implemented an enhancement to the interpreter "slack mode". In the 
+absence 
+of 
+an explicit return or an implicitly returned object from the last 
+executed 
+opcode, a control method will now implicitly return an integer of value 0 
+for 
+Microsoft compatibility. (Lin Ming) BZ 392
+
+Fixed a problem with the Load operator where an exception was not 
+returned 
+in 
+the case where the table is already loaded. (Lin Ming) BZ 463
+
+Implemented support for the use of DDBHandles as an Indexed Reference, as 
+per 
+the ACPI spec. (Lin Ming) BZ 486
+
+Implemented support for UserTerm (Method invocation) for the Unload 
+operator 
+as per the ACPI spec. (Lin Ming) BZ 580
+
+Fixed a problem with the LoadTable operator where the OemId and 
+OemTableId 
+input strings could cause unexpected failures if they were shorter than 
+the 
+maximum lengths allowed. (Lin Ming, Bob Moore) BZ 576
+
+Implemented support for UserTerm (Method invocation) for the Unload 
+operator 
+as per the ACPI spec. (Lin Ming) BZ 580
+
+Implemented header file support for new ACPI tables - BERT, ERST, EINJ, 
+HEST, 
+IBFT, UEFI, WDAT. Disassembler support is forthcoming.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
+    Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
+  Current Release:
+    Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
+    Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented support in the disassembler for checksum validation on 
+incoming 
+binary DSDTs and SSDTs. If incorrect, a message is displayed within the 
+table 
+header dump at the start of the disassembly.
+
+Implemented additional debugging information in the namespace listing 
+file 
+created during compilation. In addition to the namespace hierarchy, the 
+full 
+pathname to each namespace object is displayed.
+
+Fixed a problem with the disassembler where invalid ACPI tables could 
+cause 
+faults or infinite loops.
+
+Fixed an unexpected parse error when using the optional "parameter types" 
+list in a control method declaration. (Lin Ming) BZ 397
+
+Fixed a problem where two External declarations with the same name did 
+not 
+cause an error (Lin Ming) BZ 509
+
+Implemented support for full TermArgs (adding Argx, Localx and method 
+invocation) for the ParameterData parameter to the LoadTable operator. 
+(Lin 
+Ming) BZ 583,587
+
+----------------------------------------
+19 December 2007. Summary of changes for version 20071219:
+
+1) ACPI CA Core Subsystem:
+
+Implemented full support for deferred execution for the TermArg string 
+arguments for DataTableRegion. This enables forward references and full 
+operand resolution for the three string arguments. Similar to 
+OperationRegion 
+deferred argument execution.) Lin Ming. BZ 430
+
+Implemented full argument resolution support for the BankValue argument 
+to 
+BankField. Previously, only constants were supported, now any TermArg may 
+be 
+used. Lin Ming BZ 387, 393
+
+Fixed a problem with AcpiGetDevices where the search of a branch of the 
+device tree could be terminated prematurely. In accordance with the ACPI 
+specification, the search down the current branch is terminated if a 
+device 
+is both not present and not functional (instead of just not present.) 
+Yakui 
+Zhao.
+
+Fixed a problem where "unknown" GPEs could be allowed to fire repeatedly 
+if 
+the underlying AML code changed the GPE enable registers. Now, any 
+unknown 
+incoming GPE (no _Lxx/_Exx method and not the EC GPE) is immediately 
+disabled 
+instead of simply ignored. Rui Zhang.
+
+Fixed a problem with Index Fields where the Index register was 
+incorrectly 
+limited to a maximum of 32 bits. Now any size may be used.
+
+Fixed a couple memory leaks associated with "implicit return" objects 
+when 
+the AML Interpreter slack mode is enabled. Lin Ming BZ 349
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
+    Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
+  Current Release:
+    Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
+    Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
+
+----------------------------------------
+14 November 2007. Summary of changes for version 20071114:
+
+1) ACPI CA Core Subsystem:
+
+Implemented event counters for each of the Fixed Events, the ACPI SCI 
+(interrupt) itself, and control methods executed. Named 
+AcpiFixedEventCount[], AcpiSciCount, and AcpiMethodCount respectively. 
+These 
+should be useful for debugging and statistics.
+
+Implemented a new external interface, AcpiGetStatistics, to retrieve the 
+contents of the various event counters. Returns the current values for 
+AcpiSciCount, AcpiGpeCount, the AcpiFixedEventCount array, and 
+AcpiMethodCount. The interface can be expanded in the future if new 
+counters 
+are added. Device drivers should use this interface rather than access 
+the 
+counters directly.
+
+Fixed a problem with the FromBCD and ToBCD operators. With some 
+compilers, 
+the ShortDivide function worked incorrectly, causing problems with the 
+BCD 
+functions with large input values. A truncation from 64-bit to 32-bit 
+inadvertently occurred. Internal BZ 435. Lin Ming
+
+Fixed a problem with Index references passed as method arguments. 
+References 
+passed as arguments to control methods were dereferenced immediately 
+(before 
+control was passed to the called method). The references are now 
+correctly 
+passed directly to the called method. BZ 5389. Lin Ming
+
+Fixed a problem with CopyObject used in conjunction with the Index 
+operator. 
+The reference was incorrectly dereferenced before the copy. The reference 
+is 
+now correctly copied. BZ 5391. Lin Ming
+
+Fixed a problem with Control Method references within Package objects. 
+These 
+references are now correctly generated. This completes the package 
+construction overhaul that began in version 20071019.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
+    Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
+  Current Release:
+    Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
+    Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+The AcpiExec utility now installs handlers for all of the predefined 
+Operation Region types. New types supported are: PCI_Config, CMOS, and 
+PCIBARTarget.
+
+Fixed a problem with the 64-bit version of AcpiExec where the extended 
+(64-
+bit) address fields for the DSDT and FACS within the FADT were not being 
+used, causing truncation of the upper 32-bits of these addresses. Lin 
+Ming 
+and Bob Moore
+
+----------------------------------------
+19 October 2007. Summary of changes for version 20071019:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem with the Alias operator when the target of the alias is a 
+named ASL operator that opens a new scope -- Scope, Device, 
+PowerResource, 
+Processor, and ThermalZone. In these cases, any children of the original 
+operator could not be accessed via the alias, potentially causing 
+unexpected 
+AE_NOT_FOUND exceptions. (BZ 9067)
+
+Fixed a problem with the Package operator where all named references were 
+created as object references and left otherwise unresolved. According to 
+the 
+ACPI specification, a Package can only contain Data Objects or references 
+to 
+control methods. The implication is that named references to Data Objects 
+(Integer, Buffer, String, Package, BufferField, Field) should be resolved 
+immediately upon package creation. This is the approach taken with this 
+change. References to all other named objects (Methods, Devices, Scopes, 
+etc.) are all now properly created as reference objects. (BZ 5328)
+
+Reverted a change to Notify handling that was introduced in version 
+20070508. This version changed the Notify handling from asynchronous to 
+fully synchronous (Device driver Notify handling with respect to the 
+Notify 
+ASL operator). It was found that this change caused more problems than it 
+solved and was removed by most users.
+
+Fixed a problem with the Increment and Decrement operators where the type 
+of 
+the target object could be unexpectedly and incorrectly changed. (BZ 353) 
+Lin Ming.
+
+Fixed a problem with the Load and LoadTable operators where the table 
+location within the namespace was ignored. Instead, the table was always 
+loaded into the root or current scope. Lin Ming.
+
+Fixed a problem with the Load operator when loading a table from a buffer 
+object. The input buffer was prematurely zeroed and/or deleted. (BZ 577)
+
+Fixed a problem with the Debug object where a store of a DdbHandle 
+reference 
+object to the Debug object could cause a fault.
+
+Added a table checksum verification for the Load operator, in the case 
+where 
+the load is from a buffer. (BZ 578).
+
+Implemented additional parameter validation for the LoadTable operator. 
+The 
+length of the input strings SignatureString, OemIdString, and OemTableId 
+are 
+now checked for maximum lengths. (BZ 582) Lin Ming.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
+    Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
+  Current Release:
+    Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
+    Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem where if a single file was specified and the file did not 
+exist, no error message was emitted. (Introduced with wildcard support in 
+version 20070917.)
+
+----------------------------------------
+19 September 2007. Summary of changes for version 20070919:
+
+1) ACPI CA Core Subsystem:
+
+Designed and implemented new external interfaces to install and remove 
+handlers for ACPI table-related events. Current events that are defined 
+are 
+LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as 
+they are dynamically loaded and unloaded. See AcpiInstallTableHandler and 
+AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
+
+Fixed a problem where the use of the AcpiGbl_AllMethodsSerialized flag 
+(acpi_serialized option on Linux) could cause some systems to hang during 
+initialization. (Bob Moore) BZ 8171
+
+Fixed a problem where objects of certain types (Device, ThermalZone, 
+Processor, PowerResource) can be not found if they are declared and 
+referenced from within the same control method (Lin Ming) BZ 341
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
+    Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
+  Current Release:
+    Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
+    Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support to allow multiple files to be compiled/disassembled 
+in 
+a 
+single invocation. This includes command line wildcard support for both 
+the 
+Windows and Unix versions of the compiler. This feature simplifies the 
+disassembly and compilation of multiple ACPI tables in a single 
+directory.
+
+----------------------------------------
+08 May 2007. Summary of changes for version 20070508:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a Microsoft compatibility 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.
+
+Implemented support to allow Package objects to be passed as method 
+arguments to the external AcpiEvaluateObject interface. Previously, this 
+would return the AE_NOT_IMPLEMENTED exception. This feature had not been 
+implemented since there were no reserved control methods that required it 
+until recently.
+
+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. (The 
+fields 
+are: Preferred_PM_Profile, PSTATE_CNT, CST_CNT, and IAPC_BOOT_FLAGS.)
+
+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. Reported by 
+Joe 
+Liu.
+
+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.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
+    Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
+
+----------------------------------------
+20 March 2007. Summary of changes for version 20070320:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a change to the order of interpretation and evaluation of AML 
+operand objects within the AML interpreter. The interpreter now evaluates 
+operands in the order that they appear in the AML stream (and the 
+corresponding ASL code), instead of in the reverse order (after the 
+entire 
+operand list has been parsed). The previous behavior caused several 
+subtle 
+incompatibilities with the Microsoft AML interpreter as well as being 
+somewhat non-intuitive. BZ 7871, local BZ 263. Valery Podrezov.
+
+Implemented a change to the ACPI Global Lock support. All interfaces to 
+the 
+global lock now allow the same thread to acquire the lock multiple times. 
+This affects the AcpiAcquireGlobalLock external interface to the global 
+lock 
+as well as the internal use of the global lock to support AML fields -- a 
+control method that is holding the global lock can now simultaneously 
+access 
+AML fields that require global lock protection. Previously, in both 
+cases, 
+this would have resulted in an AE_ALREADY_ACQUIRED exception. The change 
+to 
+AcpiAcquireGlobalLock is of special interest to drivers for the Embedded 
+Controller. There is no change to the behavior of the AML Acquire 
+operator, 
+as this can already be used to acquire a mutex multiple times by the same 
+thread. BZ 8066. With assistance from Alexey Starikovskiy.
+
+Fixed a problem where invalid objects could be referenced in the AML 
+Interpreter after error conditions. During operand evaluation, ensure 
+that 
+the internal "Return Object" field is cleared on error and only valid 
+pointers are stored there. Caused occasional access to deleted objects 
+that 
+resulted in "large reference count" warning messages. Valery Podrezov.
+
+Fixed a problem where an AE_STACK_OVERFLOW internal exception could occur 
+on 
+deeply nested control method invocations. BZ 7873, local BZ 487. Valery 
+Podrezov.
+
+Fixed an internal problem with the handling of result objects on the 
+interpreter result stack. BZ 7872. Valery Podrezov.
+
+Removed obsolete code that handled the case where AML_NAME_OP is the 
+target 
+of a reference (Reference.Opcode). This code was no longer necessary. BZ 
+7874. Valery Podrezov.
+
+Removed obsolete ACPI_NO_INTEGER64_SUPPORT from two header files. This 
+was 
+a 
+remnant from the previously discontinued 16-bit support.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
+
+----------------------------------------
+26 January 2007. Summary of changes for version 20070126:
+
+1) ACPI CA Core Subsystem:
+
+Added the 2007 copyright to all module headers and signons. This affects 
+virtually every file in the ACPICA core subsystem, the iASL compiler, and 
+the utilities.
+
+Implemented a fix for an incorrect parameter passed to AcpiTbDeleteTable 
+during a table load. A bad pointer was passed in the case where the DSDT 
+is 
+overridden, causing a fault in this case.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
+
+----------------------------------------
+15 December 2006. Summary of changes for version 20061215:
+
+1) ACPI CA Core Subsystem:
+
+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 
+bootable Linux firmware kit is now available.
+
+The handler for the Global Lock is now removed during AcpiTerminate to 
+enable a clean subsystem restart, via the implementation of the 
+AcpiEvRemoveGlobalLockHandler function. (With assistance from Joel Bretz, 
+HP)
+
+Implemented enhancements to the multithreading support within the 
+debugger 
+to enable improved multithreading debugging and evaluation of the 
+subsystem. 
+(Valery Podrezov)
+
+Debugger: Enhanced the Statistics/Memory command to emit the total 
+(maximum) 
+memory used during the execution, as well as the maximum memory consumed 
+by 
+each of the various object types. (Valery Podrezov)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
+    Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
+    Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec: Implemented a new option (-m) to display full memory use 
+statistics upon subsystem/program termination. (Valery Podrezov)
+
+----------------------------------------
+09 November 2006. Summary of changes for version 20061109:
+
+1) ACPI CA Core Subsystem:
+
+Optimized the Load ASL operator in the case where the source operand is 
+an 
+operation region. Simply map the operation region memory, instead of 
+performing a bytewise read. (Region must be of type SystemMemory, see 
+below.)
+
+Fixed the Load ASL operator for the case where the source operand is a 
+region field. A buffer object is also allowed as the source operand. BZ 
+480
+
+Fixed a problem where the Load ASL operator allowed the source operand to 
+be 
+an operation region of any type. It is now restricted to regions of type 
+SystemMemory, as per the ACPI specification. BZ 481
+
+Additional cleanup and optimizations for the new Table Manager code.
+
+AcpiEnable will now fail if all of the required ACPI tables are not 
+loaded 
+(FADT, FACS, DSDT). BZ 477
+
+Added #pragma pack(8/4) to acobject.h to ensure that the structures in 
+this 
+header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been 
+manually optimized to be aligned and will not work if it is byte-packed. 
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
+    Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
+    Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed a problem where the presence of the _OSI predefined control method 
+within complex expressions could cause an internal compiler error.
+
+AcpiExec: Implemented full region support for multiple address spaces. 
+SpaceId is now part of the REGION object. BZ 429
+
+----------------------------------------
+11 October 2006. Summary of changes for version 20061011:
+
+1) ACPI CA Core Subsystem:
+
+Completed an AML interpreter performance enhancement for control method 
+execution. Previously a 2-pass parse/execution, control methods are now 
+completely parsed and executed in a single pass. This improves overall 
+interpreter performance by ~25%, reduces code size, and reduces CPU stack 
+use. (Valery Podrezov + interpreter changes in version 20051202 that 
+eliminated namespace loading during the pass one parse.)
+
+Implemented _CID support for PCI Root Bridge detection. If the _HID does 
+not 
+match the predefined PCI Root Bridge IDs, the _CID list (if present) is 
+now 
+obtained and also checked for an ID match.
+
+Implemented additional support for the PCI _ADR execution: upsearch until 
+a 
+device scope is found before executing _ADR. This allows PCI_Config 
+operation regions to be declared locally within control methods 
+underneath 
+PCI device objects.
+
+Fixed a problem with a possible race condition between threads executing 
+AcpiWalkNamespace and the AML interpreter. This condition was removed by 
+modifying AcpiWalkNamespace to (by default) ignore all temporary 
+namespace 
+entries created during any concurrent control method execution. An 
+additional namespace race condition is known to exist between 
+AcpiWalkNamespace and the Load/Unload ASL operators and is still under 
+investigation.
+
+Restructured the AML ParseLoop function, breaking it into several 
+subfunctions in order to reduce CPU stack use and improve 
+maintainability. 
+(Mikhail Kouzmich)
+
+AcpiGetHandle: Fix for parameter validation to detect invalid 
+combinations 
+of prefix handle and pathname. BZ 478
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
+    Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
+  Current Release:
+    Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
+    Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Ported the -g option (get local ACPI tables) to the new ACPICA Table 
+Manager 
+to restore original behavior.
+
+----------------------------------------
+27 September 2006. Summary of changes for version 20060927:
+
+1) ACPI CA Core Subsystem:
+
+Removed the "Flags" parameter from AcpiGetRegister and AcpiSetRegister. 
+These functions now use a spinlock for mutual exclusion and the interrupt 
+level indication flag is not needed.
+
+Fixed a problem with the Global Lock where the lock could appear to be 
+obtained before it is actually obtained. The global lock semaphore was 
+inadvertently created with one unit instead of zero units. (BZ 464) 
+Fiodor 
+Suietov.
+
+Fixed a possible memory leak and fault in AcpiExResolveObjectToValue 
+during 
+a read from a buffer or region field. (BZ 458) Fiodor Suietov.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
+    Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
+    Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed a compilation problem with the pre-defined Resource Descriptor 
+field 
+names where an "object does not exist" error could be incorrectly 
+generated 
+if the parent ResourceTemplate pathname places the template within a 
+different namespace scope than the current scope. (BZ 7212)
+
+Fixed a problem where the compiler could hang after syntax errors 
+detected 
+in an ElseIf construct. (BZ 453)
+
+Fixed a problem with the AmlFilename parameter to the DefinitionBlock() 
+operator. An incorrect output filename was produced when this parameter 
+was 
+a null string (""). Now, the original input filename is used as the AML 
+output filename, with an ".aml" extension.
+
+Implemented a generic batch command mode for the AcpiExec utility 
+(execute 
+any AML debugger command) (Valery Podrezov).
+
+----------------------------------------
+12 September 2006. Summary of changes for version 20060912:
+
+1) ACPI CA Core Subsystem:
+
+Enhanced the implementation of the "serialized mode" of the interpreter 
+(enabled via the AcpiGbl_AllMethodsSerialized flag.) When this mode is 
+specified, instead of creating a serialization semaphore per control 
+method, 
+the interpreter lock is simply no longer released before a blocking 
+operation during control method execution. This effectively makes the AML 
+Interpreter single-threaded. The overhead of a semaphore per-method is 
+eliminated.
+
+Fixed a regression where an error was no longer emitted if a control 
+method 
+attempts to create 2 objects of the same name. This once again returns 
+AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism 
+that 
+will dynamically serialize the control method to possible prevent future 
+errors. (BZ 440)
+
+Integrated a fix for a problem with PCI Express HID detection in the PCI 
+Config Space setup procedure. (BZ 7145)
+
+Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the 
+AcpiHwInitialize function - the FADT registers are now validated when the 
+table is loaded.
+
+Added two new warnings during FADT verification - 1) if the FADT is 
+larger 
+than the largest known FADT version, and 2) if there is a mismatch 
+between 
+a 
+32-bit block address and the 64-bit X counterpart (when both are non-
+zero.)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
+    Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
+    Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed a problem with the implementation of the Switch() operator where 
+the 
+temporary variable was declared too close to the actual Switch, instead 
+of 
+at method level. This could cause a problem if the Switch() operator is 
+within a while loop, causing an error on the second iteration. (BZ 460)
+
+Disassembler - fix for error emitted for unknown type for target of scope 
+operator. Now, ignore it and continue.
+
+Disassembly of an FADT now verifies the input FADT and reports any errors 
+found. Fix for proper disassembly of full-sized (ACPI 2.0) FADTs.
+
+Disassembly of raw data buffers with byte initialization data now 
+prefixes 
+each output line with the current buffer offset.
+
+Disassembly of ASF! table now includes all variable-length data fields at 
+the end of some of the subtables.
+
+The disassembler now emits a comment if a buffer appears to be a 
+ResourceTemplate, but cannot be disassembled as such because the EndTag 
+does 
+not appear at the very end of the buffer.
+
+AcpiExec - Added the "-t" command line option to enable the serialized 
+mode 
+of the AML interpreter.
+
+----------------------------------------
+31 August 2006. Summary of changes for version 20060831:
+
+1) ACPI CA Core Subsystem:
+
+Miscellaneous fixes for the Table Manager:
+- Correctly initialize internal common FADT for all 64-bit "X" fields
+- Fixed a couple table mapping issues during table load
+- Fixed a couple alignment issues for IA64
+- Initialize input array to zero in AcpiInitializeTables
+- Additional parameter validation for AcpiGetTable, AcpiGetTableHeader, 
+AcpiGetTableByIndex
+
+Change for GPE support: when a "wake" GPE is received, all wake GPEs are 
+now 
+immediately disabled to prevent the waking GPE from firing again and to 
+prevent other wake GPEs from interrupting the wake process.
+
+Added the AcpiGpeCount global that tracks the number of processed GPEs, 
+to 
+be used for debugging systems with a large number of ACPI interrupts.
+
+Implemented support for the "DMAR" ACPI table (DMA Redirection Table) in 
+both the ACPICA headers and the disassembler.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
+    Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
+    Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler support for the DMAR ACPI table.
+
+----------------------------------------
+23 August 2006. Summary of changes for version 20060823:
+
+1) ACPI CA Core Subsystem:
+
+The Table Manager component has been completely redesigned and 
+reimplemented. The new design is much simpler, and reduces the overall 
+code 
+and data size of the kernel-resident ACPICA by approximately 5%. Also, it 
+is 
+now possible to obtain the ACPI tables very early during kernel 
+initialization, even before dynamic memory management is initialized. 
+(Alexey Starikovskiy, Fiodor Suietov, Bob Moore)
+
+Obsolete ACPICA interfaces:
+
+- AcpiGetFirmwareTable: Use AcpiGetTable instead (works at early kernel 
+init 
+time).
+- AcpiLoadTable: Not needed.
+- AcpiUnloadTable: Not needed.
+
+New ACPICA interfaces:
+
+- AcpiInitializeTables: Must be called before the table manager can be 
+used.
+- AcpiReallocateRootTable: Used to transfer the root table to dynamically 
+allocated memory after it becomes available.
+- AcpiGetTableByIndex: Allows the host to easily enumerate all ACPI 
+tables 
+in the RSDT/XSDT.
+
+Other ACPICA changes:
+
+- AcpiGetTableHeader returns the actual mapped table header, not a copy. 
+Use 
+AcpiOsUnmapMemory to free this mapping.
+- AcpiGetTable returns the actual mapped table. The mapping is managed 
+internally and must not be deleted by the caller. Use of this interface 
+causes no additional dynamic memory allocation.
+- AcpiFindRootPointer: Support for physical addressing has been 
+eliminated, 
+it appeared to be unused.
+- The interface to AcpiOsMapMemory has changed to be consistent with the 
+other allocation interfaces.
+- The interface to AcpiOsGetRootPointer has changed to eliminate 
+unnecessary 
+parameters.
+- ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64 bits on 
+64-
+bit platforms. Was previously 64 bits on all platforms.
+- The interface to the ACPI Global Lock acquire/release macros have 
+changed 
+slightly since ACPICA no longer keeps a local copy of the FACS with a 
+constructed pointer to the actual global lock.
+
+Porting to the new table manager:
+
+- AcpiInitializeTables: Must be called once, and can be called anytime 
+during the OS initialization process. It allows the host to specify an 
+area 
+of memory to be used to store the internal version of the RSDT/XSDT (root 
+table). This allows the host to access ACPI tables before memory 
+management 
+is initialized and running.
+- AcpiReallocateRootTable: Can be called after memory management is 
+running 
+to copy the root table to a dynamically allocated array, freeing up the 
+scratch memory specified in the call to AcpiInitializeTables.
+- AcpiSubsystemInitialize: This existing interface is independent of the 
+Table Manager, and does not have to be called before the Table Manager 
+can 
+be used, it only must be called before the rest of ACPICA can be used.
+- ACPI Tables: Some changes have been made to the names and structure of 
+the 
+actbl.h and actbl1.h header files and may require changes to existing 
+code. 
+For example, bitfields have been completely removed because of their lack 
+of 
+portability across C compilers.
+- Update interfaces to the Global Lock acquire/release macros if local 
+versions are used. (see acwin.h)
+
+Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c
+
+New files: tbfind.c
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
+    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
+  Current Release:
+    Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
+    Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+No changes for this release.
+
+----------------------------------------
+21 July 2006. Summary of changes for version 20060721:
+
+1) ACPI CA Core Subsystem:
+
+The full source code for the ASL test suite used to validate the iASL 
+compiler and the ACPICA core subsystem is being released with the ACPICA 
+source for the first time. The source is contained in a separate package 
+and 
+consists of over 1100 files that exercise all ASL/AML operators. The 
+package 
+should appear on the Intel/ACPI web site shortly. (Valery Podrezov, 
+Fiodor 
+Suietov)
+
+Completed a new design and implementation for support of the ACPI Global 
+Lock. On the OS side, the global lock is now treated as a standard AML 
+mutex. Previously, multiple OS threads could "acquire" the global lock 
+simultaneously. However, this could cause the BIOS to be starved out of 
+the 
+lock - especially in cases such as the Embedded Controller driver where 
+there is a tight coupling between the OS and the BIOS.
+
+Implemented an optimization for the ACPI Global Lock interrupt mechanism. 
+The Global Lock interrupt handler no longer queues the execution of a 
+separate thread to signal the global lock semaphore. Instead, the 
+semaphore 
+is signaled directly from the interrupt handler.
+
+Implemented support within the AML interpreter for package objects that 
+contain a larger AML length (package list length) than the package 
+element 
+count. In this case, the length of the package is truncated to match the 
+package element count. Some BIOS code apparently modifies the package 
+length 
+on the fly, and this change supports this behavior. Provides 
+compatibility 
+with the MS AML interpreter. (With assistance from Fiodor Suietov)
+
+Implemented a temporary fix for the BankValue parameter of a Bank Field 
+to 
+support all constant values, now including the Zero and One opcodes. 
+Evaluation of this parameter must eventually be converted to a full 
+TermArg 
+evaluation. A not-implemented error is now returned (temporarily) for 
+non-
+constant values for this parameter.
+
+Fixed problem reports (Fiodor Suietov) integrated:
+- Fix for premature object deletion after CopyObject on Operation Region 
+(BZ 
+350)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.7K Code, 18.0K Data,  98.7K Total
+    Debug Version:     160.9K Code, 65.1K Data, 226.0K Total
+  Current Release:
+    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
+    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+No changes for this release.
+
+----------------------------------------
+07 July 2006. Summary of changes for version 20060707:
+
+1) ACPI CA Core Subsystem:
+
+Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers 
+that do not allow the initialization of address pointers within packed 
+structures - even though the hardware itself may support misaligned 
+transfers. Some of the debug data structures are packed by default to 
+minimize size.
+
+Added an error message for the case where AcpiOsGetThreadId() returns 
+zero. 
+A non-zero value is required by the core ACPICA code to ensure the proper 
+operation of AML mutexes and recursive control methods.
+
+The DSDT is now the only ACPI table that determines whether the AML 
+interpreter is in 32-bit or 64-bit mode. Not really a functional change, 
+but 
+the hooks for per-table 32/64 switching have been removed from the code. 
+A 
+clarification to the ACPI specification is forthcoming in ACPI 3.0B.
+
+Fixed a possible leak of an OwnerID in the error path of 
+AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table OwnerID 
+deletion to a single place in AcpiTbUninstallTable to correct possible 
+leaks 
+when using the AcpiTbDeleteTablesByType interface (with assistance from 
+Lance Ortiz.)
+
+Fixed a problem with Serialized control methods where the semaphore 
+associated with the method could be over-signaled after multiple method 
+invocations.
+
+Fixed two issues with the locking of the internal namespace data 
+structure. 
+Both the Unload() operator and AcpiUnloadTable interface now lock the 
+namespace during the namespace deletion associated with the table unload 
+(with assistance from Linn Crosetto.)
+
+Fixed problem reports (Valery Podrezov) integrated:
+- Eliminate unnecessary memory allocation for CreateXxxxField (BZ 5426)
+
+Fixed problem reports (Fiodor Suietov) integrated:
+- Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
+- On Address Space handler deletion, needless deactivation call (BZ 374)
+- AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 
+375)
+- Possible memory leak, Notify sub-objects of Processor, Power, 
+ThermalZone 
+(BZ 376)
+- AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378)
+- Minimum Length of RSDT should be validated (BZ 379)
+- AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no 
+Handler (BZ (380)
+- AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type 
+loaded 
+(BZ 381)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
+    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
+  Current Release:
+    Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
+    Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed problem reports:
+Compiler segfault when ASL contains a long (>1024) String declaration (BZ 
+436)
+
+----------------------------------------
+23 June 2006. Summary of changes for version 20060623:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces. This 
+allows the type to be customized to the host OS for improved efficiency 
+(since a spinlock is usually a very small object.)
+
+Implemented support for "ignored" bits in the ACPI registers. According 
+to 
+the ACPI specification, these bits should be preserved when writing the 
+registers via a read/modify/write cycle. There are 3 bits preserved in 
+this 
+manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].
+
+Implemented the initial deployment of new OSL mutex interfaces. Since 
+some 
+host operating systems have separate mutex and semaphore objects, this 
+feature was requested. The base code now uses mutexes (and the new mutex 
+interfaces) wherever a binary semaphore was used previously. However, for 
+the current release, the mutex interfaces are defined as macros to map 
+them 
+to the existing semaphore interfaces. Therefore, no OSL changes are 
+required 
+at this time. (See acpiosxf.h)
+
+Fixed several problems with the support for the control method SyncLevel 
+parameter. The SyncLevel now works according to the ACPI specification 
+and 
+in concert with the Mutex SyncLevel parameter, since the current 
+SyncLevel 
+is a property of the executing thread. Mutual exclusion for control 
+methods 
+is now implemented with a mutex instead of a semaphore.
+
+Fixed three instances of the use of the C shift operator in the bitfield 
+support code (exfldio.c) to avoid the use of a shift value larger than 
+the 
+target data width. The behavior of C compilers is undefined in this case 
+and 
+can cause unpredictable results, and therefore the case must be detected 
+and 
+avoided. (Fiodor Suietov)
+
+Added an info message whenever an SSDT or OEM table is loaded dynamically 
+via the Load() or LoadTable() ASL operators. This should improve 
+debugging 
+capability since it will show exactly what tables have been loaded 
+(beyond 
+the tables present in the RSDT/XSDT.)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
+    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
+  Current Release:
+    Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
+    Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+No changes for this release.
+
+----------------------------------------
+08 June 2006. Summary of changes for version 20060608:
+
+1) ACPI CA Core Subsystem:
+
+Converted the locking mutex used for the ACPI hardware to a spinlock. 
+This 
+change should eliminate all problems caused by attempting to acquire a 
+semaphore at interrupt level, and it means that all ACPICA external 
+interfaces that directly access the ACPI hardware can be safely called 
+from 
+interrupt level. OSL code that implements the semaphore interfaces should 
+be 
+able to eliminate any workarounds for being called at interrupt level.
+
+Fixed a regression introduced in 20060526 where the ACPI device 
+initialization could be prematurely aborted with an AE_NOT_FOUND if a 
+device 
+did not have an optional _INI method.
+
+Fixed an IndexField issue where a write to the Data Register should be 
+limited in size to the AccessSize (width) of the IndexField itself. (BZ 
+433, 
+Fiodor Suietov)
+
+Fixed problem reports (Valery Podrezov) integrated:
+- Allow store of ThermalZone objects to Debug object (BZ 5369/5370)
+
+Fixed problem reports (Fiodor Suietov) integrated:
+- AcpiGetTableHeader doesn't handle multiple instances correctly (BZ 364)
+
+Removed four global mutexes that were obsolete and were no longer being 
+used.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
+    Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
+  Current Release:
+    Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
+    Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fixed a fault when using -g option (get tables from registry) on Windows 
+machines.
+
+Fixed problem reports integrated:
+- Generate error if CreateField NumBits parameter is zero. (BZ 405)
+- Fault if Offset/Length in Field unit is very large (BZ 432, Fiodor 
+Suietov)
+- Global table revision override (-r) is ignored (BZ 413)
+
+----------------------------------------
+26 May 2006. Summary of changes for version 20060526:
+
+1) ACPI CA Core Subsystem:
+
+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 (BZ 5329)
+- Allow interpreter to handle nested method declarations (BZ 5361)
+
+Fixed problem reports (Fiodor Suietov) integrated:
+- AcpiTerminate doesn't free debug memory allocation list objects (BZ 
+355)
+- After Core Subsystem shutdown, AcpiSubsystemStatus returns AE_OK (BZ 
+356)
+- AcpiOsUnmapMemory 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 AcpiOsFree instead of ACPI_FREE in AcpiRsSetSrsMethodData (BZ 360)
+- Incomplete cleanup branch in AcpiPsParseAml (BZ 361)
+- Incomplete cleanup branch in AcpiDsDeleteWalkState (BZ 362)
+- AcpiGetTableHeader 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)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
+    Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
+  Current Release:
+    Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
+    Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Modified the parser to allow the names IO, DMA, and IRQ to be used as 
+namespace identifiers with no collision with existing resource descriptor 
+macro names. This provides compatibility with other ASL compilers and is 
+most useful for disassembly/recompilation of existing tables without 
+parse 
+errors. (With assistance from Thomas Renninger)
+
+Disassembler: fixed an incorrect disassembly problem with the 
+DataTableRegion and CopyObject operators. Fixed a possible fault during 
+disassembly of some Alias operators.
+
+----------------------------------------
+12 May 2006. Summary of changes for version 20060512:
+
+1) ACPI CA Core Subsystem:
+
+Replaced the AcpiOsQueueForExecution interface with a new interface named 
+AcpiOsExecute. 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 host 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 BZ #5534, and will require changes to all 
+existing 
+OS interface layers. (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, BZ #6514. (Fiodor 
+Suietov)
+
+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)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
+    Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
+  Current Release:
+    Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
+    Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
+
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Implemented support to cross reference the internal 
+namespace 
+and automatically generate ASL External() statements for symbols not 
+defined 
+within the current table being disassembled. This will simplify the 
+disassembly and recompilation of interdependent tables such as SSDTs 
+since 
+these statements will no longer have to be added manually.
+
+Disassembler: Implemented experimental support to automatically detect 
+invocations of external control methods and generate appropriate 
+External() 
+statements. This is problematic because the AML cannot be correctly 
+parsed 
+until the number of arguments for each control method is known. 
+Currently, 
+standalone method invocations and invocations as the source operand of a 
+Store() statement are supported.
+
+Disassembler: Implemented support for the ASL pseudo-operators LNotEqual, 
+LLessEqual, and LGreaterEqual. Previously disassembled as LNot(LEqual()), 
+LNot(LGreater()), and LNot(LLess()), this makes the disassembled ASL code 
+more readable and likely closer to the original ASL source.
+
+----------------------------------------
+21 April 2006. Summary of changes for version 20060421:
+
+1) ACPI CA Core Subsystem:
+
+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, AcpiOsValidateAddress. 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.) See oswinxf or osunixxf for an example 
+implementation.
+
+Defined and deployed a new OSL interface, AcpiOsValidateInterface. 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.) See oswinxf or osunixxf 
+for an example implementation.
+
+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.
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+
+    Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
+    Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
+  Current Release:
+    Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
+    Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented 3 new warnings for iASL, and implemented multiple warning 
+levels 
+(w2 flag).
+
+1) Ignored timeouts: If the TimeoutValue parameter to Wait or Acquire is 
+not 
+WAIT_FOREVER (0xFFFF) and the code does not examine the return value to 
+check for the possible timeout, a warning is issued.
+
+2) Useless operators: If an ASL operator does not specify an optional 
+target 
+operand and it also does not use the function return value from the 
+operator, a warning is issued since the operator effectively does 
+nothing.
+
+3) Unreferenced objects: If a namespace object is created, but never 
+referenced, a warning is issued. This is a warning level 2 since there 
+are 
+cases where this is ok, such as when a secondary table is loaded that 
+uses 
+the unreferenced objects. Even so, care is taken to only flag objects 
+that 
+don't look like they will ever be used. For example, the reserved methods 
+(starting with an underscore) are usually not referenced because it is 
+expected that the OS will invoke them.
+
+----------------------------------------
+31 March 2006. Summary of changes for version 20060331:
+
+1) ACPI CA Core Subsystem:
+
+Implemented header file support for the following additional ACPI tables: 
+ASF!, BOOT, CPEP, DBGP, MCFG, SPCR, SPMI, TCPA, and WDRT. With this 
+support, 
+all current and known ACPI tables are now defined in the ACPICA headers 
+and 
+are available for use by device drivers and other software.
+
+Implemented support to allow tables that contain ACPI names with invalid 
+characters to be loaded. Previously, this would cause the table load to 
+fail, but since there are several known cases of such tables on existing 
+machines, this change was made to enable ACPI support for them. Also, 
+this 
+matches the behavior of the Microsoft ACPI implementation.
+
+Fixed a couple regressions introduced during the memory optimization in 
+the 
+20060317 release. The namespace node definition required additional 
+reorganization and an internal datatype that had been changed to 8-bit 
+was 
+restored to 32-bit. (Valery Podrezov)
+
+Fixed a problem where a null pointer passed to AcpiUtDeleteGenericState 
+could be passed through to AcpiOsReleaseObject which is unexpected. Such 
+null pointers are now trapped and ignored, matching the behavior of the 
+previous implementation before the deployment of AcpiOsReleaseObject.
+(Valery Podrezov, Fiodor Suietov)
+
+Fixed a memory mapping leak during the deletion of a SystemMemory 
+operation 
+region where a cached memory mapping was not deleted. This became a 
+noticeable problem for operation regions that are defined within 
+frequently 
+used control methods. (Dana Meyers)
+
+Reorganized the ACPI table header files into two main files: one for the 
+ACPI tables consumed by the ACPICA core, and another for the 
+miscellaneous 
+ACPI tables that are consumed by the drivers and other software. The 
+various 
+FADT definitions were merged into one common section and three different 
+tables (ACPI 1.0, 1.0+, and 2.0)
+
+Example Code and Data Size: These are the sizes for the OS-independent 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
+debug version of the code includes the debug output trace mechanism and 
+has 
+a much larger code and data size.
+
+  Previous Release:
+    Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
+    Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
+  Current Release:
+    Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
+    Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Implemented support to decode and format all non-AML ACPI 
+tables (tables other than DSDTs and SSDTs.) This includes the new tables 
+added to the ACPICA headers, therefore all current and known ACPI tables 
+are 
+supported.
+
+Disassembler: The change to allow ACPI names with invalid characters also 
+enables the disassembly of such tables. Invalid characters within names 
+are 
+changed to '*' to make the name printable; the iASL compiler will still 
+generate an error for such names, however, since this is an invalid ACPI 
+character.
+
+Implemented an option for AcpiXtract (-a) to extract all tables found in 
+the 
+input file. The default invocation extracts only the DSDTs and SSDTs.
+
+Fixed a couple of gcc generation issues for iASL and AcpiExec and added a 
+makefile for the AcpiXtract utility.
+
+----------------------------------------
+17 March 2006. Summary of changes for version 20060317:
+
+1) ACPI CA Core Subsystem:
+
+Implemented the use of a cache object for all internal namespace nodes. 
+Since there are about 1000 static nodes in a typical system, this will 
+decrease memory use for cache implementations that minimize per-
+allocation 
+overhead (such as a slab allocator.)
+
+Removed the reference count mechanism for internal namespace nodes, since 
+it 
+was deemed unnecessary. This reduces the size of each namespace node by 
+about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit 
+case, 
+and 32 bytes for the 64-bit case.
+
+Optimized several internal data structures to reduce object size on 64-
+bit 
+platforms by packing data within the 64-bit alignment. This includes the 
+frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static 
+instances corresponding to the namespace objects.
+
+Added two new strings for the predefined _OSI method: "Windows 2001.1 
+SP1" 
+and "Windows 2006".
+
+Split the allocation tracking mechanism out to a separate file, from 
+utalloc.c to uttrack.c. This mechanism appears to be only useful for 
+application-level code. Kernels may wish to not include uttrack.c in 
+distributions.
+
+Removed all remnants of the obsolete ACPI_REPORT_* macros and the 
+associated 
+code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING 
+macros.)
+
+Code and Data Size: These are the sizes for the acpica.lib produced by 
+the 
+Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any 
+ACPI 
+driver or OSPM code. The debug version of the code includes the debug 
+output 
+trace mechanism and has a much larger code and data size. Note that these 
+values will vary depending on the efficiency of the compiler and the 
+compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
+    Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
+  Current Release:
+    Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
+    Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+Implemented an ANSI C version of the acpixtract utility. This version 
+will 
+automatically extract the DSDT and all SSDTs from the input acpidump text 
+file and dump the binary output to separate files. It can also display a 
+summary of the input file including the headers for each table found and 
+will extract any single ACPI table, with any signature. (See 
+source/tools/acpixtract)
+
+----------------------------------------
+10 March 2006. Summary of changes for version 20060310:
+
+1) ACPI CA Core Subsystem:
+
+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 
+AcpiOsGetThreadId. 
+This allows the host to define this as necessary to simplify kernel 
+integration. The default definition is ACPI_NATIVE_UINT.
+
+Fixed two interpreter problems related to error processing, the deletion 
+of 
+objects, and placing invalid pointers onto the internal operator result 
+stack. BZ 6028, 6151 (Valery Podrezov)
+
+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.
+
+Code and Data Size: These are the sizes for the acpica.lib produced by 
+the 
+Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any 
+ACPI 
+driver or OSPM code. The debug version of the code includes the debug 
+output 
+trace mechanism and has a much larger code and data size. Note that these 
+values will vary depending on the efficiency of the compiler and the 
+compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
+    Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
+  Current Release:
+    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
+    Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Disassembler: implemented support for symbolic resource descriptor 
+references. If a CreateXxxxField operator references a fixed offset 
+within 
+a 
+resource descriptor, a name is assigned to the descriptor and the offset 
+is 
+translated to the appropriate resource tag and pathname. The addition of 
+this support brings the disassembled code very close to the original ASL 
+source code and helps eliminate run-time errors when the disassembled 
+code 
+is modified (and recompiled) in such a way as to invalidate the original 
+fixed offsets.
+
+Implemented support for a Descriptor Name as the last parameter to the 
+ASL 
+Register() macro. This parameter was inadvertently left out of the ACPI 
+specification, and will be added for ACPI 3.0b.
+
+Fixed a problem where the use of the "_OSI" string (versus the full path 
+"\_OSI") caused an internal compiler error. ("No back ptr to op")
+
+Fixed a problem with the error message that occurs when an invalid string 
+is 
+used for a _HID object (such as one with an embedded asterisk: 
+"*PNP010A".) 
+The correct message is now displayed.
+
+----------------------------------------
+17 February 2006. Summary of changes for version 20060217:
+
+1) ACPI CA Core Subsystem:
+
+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.
+
+Code and Data Size: These are the sizes for the acpica.lib produced by 
+the 
+Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any 
+ACPI 
+driver or OSPM code. The debug version of the code includes the debug 
+output 
+trace mechanism and has a much larger code and data size. Note that these 
+values will vary depending on the efficiency of the compiler and the 
+compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
+    Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
+  Current Release:
+    Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
+    Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support for new reserved names: _WDG and _WED are Microsoft 
+extensions for Windows Instrumentation Management, _TDL is a new ACPI-
+defined method (Throttling Depth Limit.)
+
+Fixed a problem where a zero-length VendorShort or VendorLong resource 
+descriptor was incorrectly emitted as a descriptor of length one.
+
+----------------------------------------
+10 February 2006. Summary of changes for version 20060210:
+
+1) ACPI CA Core Subsystem:
+
+Removed a couple of extraneous ACPI_ERROR messages that appeared during 
+normal execution. These became apparent after the conversion from 
+ACPI_DEBUG_PRINT.
+
+Fixed a problem where the CreateField operator could hang if the BitIndex 
+or 
+NumBits parameter referred to a named object. (Valery Podrezov, BZ 5359)
+
+Fixed a problem where a DeRefOf operation on a buffer object incorrectly 
+failed with an exception. This also fixes a couple of related RefOf and 
+DeRefOf issues. (Valery Podrezov, BZ 5360/5392/5387)
+
+Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead 
+of 
+AE_STRING_LIMIT on an out-of-bounds Index() operation. (Valery Podrezov, 
+BZ 
+5480)
+
+Implemented a memory cleanup at the end of the execution of each 
+iteration 
+of an AML While() loop, preventing the accumulation of outstanding 
+objects. 
+(Valery Podrezov, BZ 5427)
+
+Eliminated a chunk of duplicate code in the object resolution code. 
+(Valery 
+Podrezov, BZ 5336)
+
+Fixed several warnings during the 64-bit code generation.
+
+The AcpiSrc source code conversion tool now inserts one line of 
+whitespace 
+after an if() statement that is followed immediately by a comment, 
+improving 
+readability of the Linux code.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
+    Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
+  Current Release:
+    Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
+    Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with the disassembly of a BankField operator with a 
+complex 
+expression for the BankValue parameter.
+
+----------------------------------------
+27 January 2006. Summary of changes for version 20060127:
+
+1) ACPI CA Core Subsystem:
+
+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, these 
+unresolved references will be passed through to the caller as a NULL 
+package 
+entry.
+
+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. The older 
+macros remain defined to allow ACPI drivers time to migrate to the new 
+macros.
+
+Implemented the ACPI_CPU_FLAGS type to simplify host OS integration of 
+the 
+Acquire/Release Lock OSL interfaces.
+
+Fixed a problem where Alias ASL operators are sometimes not correctly 
+resolved, in both the interpreter and the iASL compiler.
+
+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)
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
+    Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
+  Current Release:
+    Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
+    Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed an internal error that was generated for any forward references to 
+ASL 
+Alias objects.
+
+----------------------------------------
+13 January 2006. Summary of changes for version 20060113:
+
+1) ACPI CA Core Subsystem:
+
+Added 2006 copyright to all module headers and signons. This affects 
+virtually every file in the ACPICA core subsystem, iASL compiler, and the 
+utilities.
+ 
+Enhanced the ACPICA error reporting in order to simplify user migration 
+to 
+the non-debug version of ACPICA. 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 of the code somewhat (about 
+13K), 
+but all error/warning reporting may be disabled if desired (and code 
+eliminated) by specifying the ACPI_NO_ERROR_MESSAGES compile-time 
+configuration option. The size of the debug version of ACPICA remains 
+about 
+the same.
+
+Fixed a memory leak within the AML Debugger "Set" command. One object was 
+not properly deleted for every successful invocation of the command.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
+    Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
+  Current Release:
+    Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
+    Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
+
+
+2) iASL Compiler/Disassembler:
+
+The compiler now officially supports the ACPI 3.0a specification that was 
+released on December 30, 2005. (Specification is available at 
+www.acpi.info)
+
+----------------------------------------
+16 December 2005. Summary of changes for version 20051216:
+
+1) ACPI CA Core Subsystem:
+
+Implemented optional support to allow unresolved names within ASL Package 
+objects. A null object is inserted in the package when a named reference 
+cannot be located in the current namespace. Enabled via the interpreter 
+slack flag, this should eliminate AE_NOT_FOUND exceptions seen on 
+machines 
+that contain such code.
+
+Implemented an optimization to the initialization sequence that can 
+improve 
+boot time. During ACPI device initialization, the _STA method is now run 
+if 
+and only if the _INI method exists. The _STA method is used to determine 
+if 
+the device is present; An _INI can only be run if _STA returns present, 
+but 
+it is a waste of time to run the _STA method if the _INI does not exist. 
+(Prototype and assistance from Dong Wei)
+
+Implemented use of the C99 uintptr_t for the pointer casting macros if it 
+is 
+available in the current compiler. Otherwise, the default (void *) cast 
+is 
+used as before.
+
+Fixed some possible memory leaks found within the execution path of the 
+Break, Continue, If, and CreateField operators. (Valery Podrezov)
+
+Fixed a problem introduced in the 20051202 release where an exception is 
+generated during method execution if a control method attempts to declare 
+another method.
+
+Moved resource descriptor string constants that are used by both the AML 
+disassembler and AML debugger to the common utilities directory so that 
+these components are independent.
+
+Implemented support in the AcpiExec utility (-e switch) to globally 
+ignore 
+exceptions during control method execution (method is not aborted.)
+
+Added the rsinfo.c source file to the AcpiExec makefile for Linux/Unix 
+generation.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
+    Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
+  Current Release:
+    Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
+    Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem where a CPU stack overflow fault could occur if a 
+recursive 
+method call was made from within a Return statement.
+
+----------------------------------------
+02 December 2005. Summary of changes for version 20051202:
+
+1) ACPI CA Core Subsystem:
+
+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).
+
+Fixed a problem with the AcpiExec utility where a fault could occur when 
+the 
+-b switch (batch mode) is used.
+
+Enhanced the namespace dump routine to output the owner ID for each 
+namespace object.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
+    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
+  Current Release:
+    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
+    Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a parse error during compilation of certain Switch/Case constructs. 
+To 
+simplify the parse, the grammar now allows for multiple Default 
+statements 
+and this error is now detected and flagged during the analysis phase.
+
+Disassembler: The disassembly now includes the contents of the original 
+table header within a comment at the start of the file. This includes the 
+name and version of the original ASL compiler.
+
+----------------------------------------
+17 November 2005. Summary of changes for version 20051117:
+
+1) ACPI CA Core Subsystem:
+
+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, AcpiGetVendorResource. This 
+interface 
+will find and return a vendor-defined resource descriptor within a _CRS 
+or 
+_PRS method via an ACPI 3.0 UUID match. With assistance 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.
+
+Fixed a problem in the Windows OS interface layer (OSL) where a 
+WAIT_FOREVER 
+on a semaphore object would incorrectly timeout. This allows the 
+multithreading features of the AcpiExec utility to work properly under 
+Windows.
+
+Updated the Linux makefiles for the iASL compiler and AcpiExec to include 
+the recently added file named "utresrc.c".
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
+    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
+  Current Release:
+    Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
+    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Removed the limit (200) on string objects as per the upcoming ACPI 3.0A 
+specification. For the iASL compiler, this means that string literals 
+within 
+the source ASL can be of any length. 
+
+Enhanced the listing output to dump the AML code for resource descriptors 
+immediately after the ASL code for each descriptor, instead of in a block 
+at 
+the end of the entire resource template.
+
+Enhanced the compiler debug output to dump the entire original parse tree 
+constructed during the parse phase, before any transforms are applied to 
+the 
+tree. The transformed tree is dumped also.
+
+----------------------------------------
+02 November 2005. Summary of changes for version 20051102:
+
+1) ACPI CA Core Subsystem:
+
+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.
+
+Converted the ACPI internal object disassemble and display code within 
+the 
+AML debugger to fully table-driven operation, reducing code size and 
+increasing maintainability.
+
+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 AcpiWalkNamespace 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.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
+    Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
+  Current Release:
+    Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
+    Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with very large initializer lists (more than 4000 
+elements) 
+for both Buffer and Package objects where the parse stack could overflow.
+
+Enhanced the pre-compile source code scan for non-ASCII characters to 
+ignore 
+characters within comment fields. The scan is now always performed and is 
+no 
+longer optional, detecting invalid characters within a source file 
+immediately rather than during the parse phase or later.
+
+Enhanced the ASL grammar definition to force early reductions on all 
+list-
+style grammar elements so that the overall parse stack usage is greatly 
+reduced. This should improve performance and reduce the possibility of 
+parse 
+stack overflow.
+
+Eliminated all reduce/reduce conflicts in the iASL parser generation. 
+Also, 
+with the addition of a %expected statement, the compiler generates from 
+source with no warnings.
+
+Fixed a possible segment fault in the disassembler if the input filename 
+does not contain a "dot" extension (Thomas Renninger).
+
+----------------------------------------
+21 October 2005. Summary of changes for version 20051021:
+
+1) ACPI CA Core Subsystem:
+
+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. (With assistance 
+from 
+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.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
+    Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
+  Current Release:
+    Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
+    Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
+
+
+
+2) iASL Compiler/Disassembler:
+
+Relaxed a compiler restriction that disallowed a ResourceIndex byte if 
+the 
+corresponding ResourceSource string was not also present in a resource 
+descriptor declaration. This restriction caused problems with existing 
+AML/ASL code that includes the Index byte without the string. When such 
+AML 
+was disassembled, it could not be compiled without modification. Further, 
+the modified code created a resource template with a different size than 
+the 
+original, breaking code that used fixed offsets into the resource 
+template 
+buffer.
+
+Removed a recent feature of the disassembler to ignore a lone 
+ResourceIndex 
+byte. This byte is now emitted if present so that the exact AML can be 
+reproduced when the disassembled code is recompiled.
+
+Improved comments and text alignment for the resource descriptor code 
+emitted by the disassembler.
+
+Implemented disassembler support for the ACPI 3.0 AccessSize field within 
+a 
+Register() resource descriptor.
+
+----------------------------------------
+30 September 2005. Summary of changes for version 20050930:
+
+1) ACPI CA Core Subsystem:
+
+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.) The update may force changes in some 
+driver code, depending on how resources are handled by the host OS.
+
+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, AcpiDebugTrace, 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.
+
+AcpiUtCallocate 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 AcpiUtAllocate.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
+    Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
+  Current Release:
+    Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
+    Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+A remark is issued if the effective compile-time length of a package or 
+buffer is zero. Previously, this was a warning.
+
+----------------------------------------
+16 September 2005. Summary of changes for version 20050916:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem within the Resource Manager where support for the Generic 
+Register descriptor was not fully implemented. This descriptor is now 
+fully 
+recognized, parsed, disassembled, and displayed.
+
+Completely restructured the Resource Manager code to utilize table-driven 
+dispatch and lookup, eliminating many of the large switch() statements. 
+This 
+reduces overall subsystem code size and code complexity. Affects the 
+resource parsing and construction, disassembly, and debug dump output.
+
+Cleaned up and restructured the debug dump output for all resource 
+descriptors. Improved readability of the output and reduced code size.
+
+Fixed a problem where changes to internal data structures caused the 
+optional ACPI_MUTEX_DEBUG code to fail compilation if specified.
+
+Code and Data Size: The current and previous library sizes for the core 
+subsystem are shown below. These are the code and data sizes for the 
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. 
+These 
+values do not include any ACPI driver or OSPM code. The debug version of 
+the 
+code includes the debug output trace mechanism and has a much larger code 
+and data size. Note that these values will vary depending on the 
+efficiency 
+of the compiler and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
+    Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
+  Current Release:
+    Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
+    Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Updated the disassembler to automatically insert an EndDependentFn() 
+macro 
+into the ASL stream if this macro is missing in the original AML code, 
+simplifying compilation of the resulting ASL module.
+
+Fixed a problem in the disassembler where a disassembled ResourceSource 
+string (within a large resource descriptor) was not surrounded by quotes 
+and 
+not followed by a comma, causing errors when the resulting ASL module was 
+compiled. Also, escape sequences within a ResourceSource string are now 
+handled correctly (especially "\\")
+
+----------------------------------------
+02 September 2005. Summary of changes for version 20050902:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem with the internal Owner ID allocation and deallocation 
+mechanisms for control method execution and recursive method invocation. 
+This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId" 
+messages seen on some systems. Recursive method invocation depth is 
+currently limited to 255. (Alexey Starikovskiy)
+
+Completely eliminated all vestiges of support for the "module-level 
+executable code" until this support is fully implemented and debugged. 
+This 
+should eliminate the NO_RETURN_VALUE exceptions seen during table load on 
+some systems that invoke this support.
+
+Fixed a problem within the resource manager code where the transaction 
+flags 
+for a 64-bit address descriptor were handled incorrectly in the type-
+specific flag byte.
+
+Consolidated duplicate code within the address descriptor resource 
+manager 
+code, reducing overall subsystem code size.
+
+Fixed a fault when using the AML debugger "disassemble" command to 
+disassemble individual control methods.
+
+Removed references to the "release_current" directory within the Unix 
+release package.
+
+Code and Data Size: The current and previous core subsystem library sizes 
+are shown below. These are the code and data sizes for the acpica.lib 
+produced by the Microsoft Visual C++ 6.0 compiler. These values do not 
+include any ACPI driver or OSPM code. The debug version of the code 
+includes 
+the debug output trace mechanism and has a much larger code and data 
+size. 
+Note that these values will vary depending on the efficiency of the 
+compiler 
+and the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
+    Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
+  Current Release:
+    Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
+    Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented an error check for illegal duplicate values in the interrupt 
+and 
+dma lists for the following ASL macros: Dma(), Irq(), IrqNoFlags(), and 
+Interrupt().
+
+Implemented error checking for the Irq() and IrqNoFlags() macros to 
+detect 
+too many values in the interrupt list (16 max) and invalid values in the 
+list (range 0 - 15)
+
+The maximum length string literal within an ASL file is now restricted to 
+200 characters as per the ACPI specification.
+
+Fixed a fault when using the -ln option (generate namespace listing).
+
+Implemented an error check to determine if a DescriptorName within a 
+resource descriptor has already been used within the current scope.
+
+----------------------------------------
+15 August 2005.  Summary of changes for version 20050815:
+ 
+1) ACPI CA Core Subsystem:
+ 
+Implemented a full bytewise compare to determine if a table load request 
+is 
+attempting to load a duplicate table. The compare is performed if the 
+table 
+signatures and table lengths match. This will allow different tables with 
+the same OEM Table ID and revision to be loaded - probably against the 
+ACPI 
+specification, but discovered in the field nonetheless.
+ 
+Added the changes.txt logfile to each of the zipped release packages.
+ 
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+ 
+  Previous Release:
+    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
+    Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
+  Current Release:
+    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
+    Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
+ 
+ 
+2) iASL Compiler/Disassembler:
+ 
+Fixed a problem where incorrect AML code could be generated for Package 
+objects if optimization is disabled (via the -oa switch).
+ 
+Fixed a problem with where incorrect AML code is generated for variable-
+length packages when the package length is not specified and the number 
+of 
+initializer values is greater than 255.
+ 
+
+----------------------------------------
+29 July 2005.  Summary of changes for version 20050729:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support to ignore an attempt to install/load a particular 
+ACPI 
+table more than once. Apparently there exists BIOS code that repeatedly 
+attempts to load the same SSDT upon certain events. With assistance from 
+Venkatesh Pallipadi.
+
+Restructured the main interface to the AML parser in order to correctly 
+handle all exceptional conditions. This will prevent leakage of the 
+OwnerId 
+resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on 
+some 
+machines. With assistance from Alexey Starikovskiy.
+
+Support for "module level code" has been disabled in this version due to 
+a 
+number of issues that have appeared on various machines. The support can 
+be 
+enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem 
+compilation. When the issues are fully resolved, the code will be enabled 
+by 
+default again.
+
+Modified the internal functions for debug print support to define the 
+FunctionName parameter as a (const char *) for compatibility with 
+compiler 
+built-in macros such as __FUNCTION__, etc.
+
+Linted the entire ACPICA source tree for both 32-bit and 64-bit.
+
+Implemented support to display an object count summary for the AML 
+Debugger 
+commands Object and Methods.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
+    Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
+  Current Release:
+    Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
+    Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a regression that appeared in the 20050708 version of the compiler 
+where an error message was inadvertently emitted for invocations of the 
+_OSI 
+reserved control method.
+
+----------------------------------------
+08 July 2005.  Summary of changes for version 20050708:
+
+1) ACPI CA Core Subsystem:
+
+The use of the CPU stack in the debug version of the subsystem has been 
+considerably reduced. Previously, a debug structure was declared in every 
+function that used the debug macros. This structure has been removed in 
+favor of declaring the individual elements as parameters to the debug 
+functions. This reduces the cumulative stack use during nested execution 
+of 
+ACPI function calls at the cost of a small increase in the code size of 
+the 
+debug version of the subsystem. With assistance from Alexey Starikovskiy 
+and 
+Len Brown.
+
+Added the ACPI_GET_FUNCTION_NAME macro to enable the compiler-dependent 
+headers to define a macro that will return the current function name at 
+runtime (such as __FUNCTION__ or _func_, etc.) The function name is used 
+by 
+the debug trace output. If ACPI_GET_FUNCTION_NAME is not defined in the 
+compiler-dependent header, the function name is saved on the CPU stack 
+(one 
+pointer per function.) This mechanism is used because apparently there 
+exists no standard ANSI-C defined macro that that returns the function 
+name.
+
+Redesigned and reimplemented the "Owner ID" mechanism used to track 
+namespace objects created/deleted by ACPI tables and control method 
+execution. A bitmap is now used to allocate and free the IDs, thus 
+solving 
+the wraparound problem present in the previous implementation. The size 
+of 
+the namespace node descriptor was reduced by 2 bytes as a result (Alexey 
+Starikovskiy).
+
+Removed the UINT32_BIT and UINT16_BIT types that were used for the 
+bitfield 
+flag definitions within the headers for the predefined ACPI tables. These 
+have been replaced by UINT8_BIT in order to increase the code portability 
+of 
+the subsystem. If the use of UINT8 remains a problem, we may be forced to 
+eliminate bitfields entirely because of a lack of portability.
+
+Enhanced the performance of the AcpiUtUpdateObjectReference procedure. 
+This 
+is a frequently used function and this improvement increases the 
+performance 
+of the entire subsystem (Alexey Starikovskiy).
+
+Fixed several possible memory leaks and the inverse - premature object 
+deletion (Alexey Starikovskiy).
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
+    Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
+  Current Release:
+    Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
+    Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
+
+----------------------------------------
+24 June 2005.  Summary of changes for version 20050624:
+
+1) ACPI CA Core Subsystem:
+
+Modified the new OSL cache interfaces to use ACPI_CACHE_T as the type for 
+the host-defined cache object. This allows the OSL implementation to 
+define 
+and type this object in any manner desired, simplifying the OSL 
+implementation. For example, ACPI_CACHE_T is defined as kmem_cache_t for 
+Linux, and should be defined in the OS-specific header file for other 
+operating systems as required.
+
+Changed the interface to AcpiOsAcquireObject to directly return the 
+requested object as the function return (instead of ACPI_STATUS.) This 
+change was made for performance reasons, since this is the purpose of the 
+interface in the first place. AcpiOsAcquireObject is now similar to the 
+AcpiOsAllocate interface.
+
+Implemented a new AML debugger command named Businfo. This command 
+displays 
+information about all devices that have an associate _PRT object. The 
+_ADR, 
+_HID, _UID, and _CID are displayed for these devices.
+
+Modified the initialization sequence in AcpiInitializeSubsystem to call 
+the 
+OSL interface AcpiOslInitialize first, before any local initialization. 
+This 
+change was required because the global initialization now calls OSL 
+interfaces.
+
+Enhanced the Dump command to display the entire contents of Package 
+objects 
+(including all sub-objects and their values.) 
+
+Restructured the code base to split some files because of size and/or 
+because the code logically belonged in a separate file. New files are 
+listed 
+below. All makefiles and project files included in the ACPI CA release 
+have 
+been updated.
+    utilities/utcache.c           /* Local cache interfaces */
+    utilities/utmutex.c           /* Local mutex support */
+    utilities/utstate.c           /* State object support */
+    interpreter/parser/psloop.c   /* Main AML parse loop */
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
+    Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
+  Current Release:
+    Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
+    Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a regression introduced in version 20050513 where the use of a 
+Package 
+object within a Case() statement caused a compile time exception. The 
+original behavior has been restored (a Match() operator is emitted.)
+
+----------------------------------------
+17 June 2005.  Summary of changes for version 20050617:
+
+1) ACPI CA Core Subsystem:
+
+Moved the object cache operations into the OS interface layer (OSL) to 
+allow 
+the host OS to handle these operations if desired (for example, the Linux 
+OSL will invoke the slab allocator). This support is optional; the 
+compile 
+time define ACPI_USE_LOCAL_CACHE may be used to utilize the original 
+cache 
+code in the ACPI CA core. The new OSL interfaces are shown below. See 
+utalloc.c for an example implementation, and acpiosxf.h for the exact 
+interface definitions. With assistance from Alexey Starikovskiy.
+    AcpiOsCreateCache
+    AcpiOsDeleteCache
+    AcpiOsPurgeCache
+    AcpiOsAcquireObject
+    AcpiOsReleaseObject
+
+Modified the interfaces to AcpiOsAcquireLock and AcpiOsReleaseLock to 
+return 
+and restore a flags parameter. This fits better with many OS lock models. 
+Note: the current execution state (interrupt handler or not) is no longer 
+passed to these interfaces. If necessary, the OSL must determine this 
+state 
+by itself, a simple and fast operation. With assistance from Alexey 
+Starikovskiy.
+
+Fixed a problem in the ACPI table handling where a valid XSDT was assumed 
+present if the revision of the RSDP was 2 or greater. According to the 
+ACPI 
+specification, the XSDT is optional in all cases, and the table manager 
+therefore now checks for both an RSDP >=2 and a valid XSDT pointer. 
+Otherwise, the RSDT pointer is used. Some ACPI 2.0 compliant BIOSs 
+contain 
+only the RSDT.
+
+Fixed an interpreter problem with the Mid() operator in the case of an 
+input 
+string where the resulting output string is of zero length. It now 
+correctly 
+returns a valid, null terminated string object instead of a string object 
+with a null pointer.
+
+Fixed a problem with the control method argument handling to allow a 
+store 
+to an Arg object that already contains an object of type Device. The 
+Device 
+object is now correctly overwritten. Previously, an error was returned.
+
+
+Enhanced the debugger Find command to emit object values in addition to 
+the 
+found object pathnames. The output format is the same as the dump 
+namespace 
+command.
+
+Enhanced the debugger Set command. It now has the ability to set the 
+value 
+of any Named integer object in the namespace (Previously, only method 
+locals 
+and args could be set.)
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
+    Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
+    Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a regression in the disassembler where if/else/while constructs 
+were 
+output incorrectly. This problem was introduced in the previous release 
+(20050526). This problem also affected the single-step disassembly in the 
+debugger.
+
+Fixed a problem where compiling the reserved _OSI method would randomly 
+(but 
+rarely) produce compile errors.
+
+Enhanced the disassembler to emit compilable code in the face of 
+incorrect 
+AML resource descriptors. If the optional ResourceSourceIndex is present, 
+but the ResourceSource is not, do not emit the ResourceSourceIndex in the 
+disassembly. Otherwise, the resulting code cannot be compiled without 
+errors.
+
+----------------------------------------
+26 May 2005.  Summary of changes for version 20050526:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support to execute Type 1 and Type 2 AML opcodes appearing at 
+the module level (not within a control method.) These opcodes are 
+executed 
+exactly once at the time the table is loaded. This type of code was legal 
+up 
+until the release of ACPI 2.0B (2002) and is now supported within ACPI CA 
+in 
+order to provide backwards compatibility with earlier BIOS 
+implementations. 
+This eliminates the "Encountered executable code at module level" warning 
+that was previously generated upon detection of such code.
+
+Fixed a problem in the interpreter where an AE_NOT_FOUND exception could 
+inadvertently be generated during the lookup of namespace objects in the 
+second pass parse of ACPI tables and control methods. It appears that 
+this 
+problem could occur during the resolution of forward references to 
+namespace 
+objects.
+
+Added the ACPI_MUTEX_DEBUG #ifdef to the AcpiUtReleaseMutex function, 
+corresponding to the same #ifdef in the AcpiUtAcquireMutex function. This 
+allows the deadlock detection debug code to be compiled out in the normal 
+case, improving mutex performance (and overall subsystem performance) 
+considerably.
+
+Implemented a handful of miscellaneous fixes for possible memory leaks on 
+error conditions and error handling control paths. These fixes were 
+suggested by FreeBSD and the Coverity Prevent source code analysis tool.
+
+Added a check for a null RSDT pointer in AcpiGetFirmwareTable 
+(tbxfroot.c) 
+to prevent a fault in this error case.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
+    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
+  Current Release:
+    Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
+    Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support to allow Type 1 and Type 2 ASL operators to appear at 
+the module level (not within a control method.) These operators will be 
+executed once at the time the table is loaded. This type of code was 
+legal 
+up until the release of ACPI 2.0B (2002) and is now supported by the iASL 
+compiler in order to provide backwards compatibility with earlier BIOS 
+ASL 
+code.
+
+The ACPI integer width (specified via the table revision ID or the -r 
+override, 32 or 64 bits) is now used internally during compile-time 
+constant 
+folding to ensure that constants are truncated to 32 bits if necessary. 
+Previously, the revision ID value was only emitted in the AML table 
+header.
+
+An error message is now generated for the Mutex and Method operators if 
+the 
+SyncLevel parameter is outside the legal range of 0 through 15.
+
+Fixed a problem with the Method operator ParameterTypes list handling 
+(ACPI 
+3.0). Previously, more than 2 types or 2 arguments generated a syntax 
+error.  
+The actual underlying implementation of method argument typechecking is 
+still under development, however.
+
+----------------------------------------
+13 May 2005.  Summary of changes for version 20050513:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for PCI Express root bridges -- added support for 
+device 
+PNP0A08 in the root bridge search within AcpiEvPciConfigRegionSetup.
+
+The interpreter now automatically truncates incoming 64-bit constants to 
+32 
+bits if currently executing out of a 32-bit ACPI table (Revision < 2). 
+This 
+also affects the iASL compiler constant folding. (Note: as per below, the 
+iASL compiler no longer allows 64-bit constants within 32-bit tables.)
+
+Fixed a problem where string and buffer objects with "static" pointers 
+(pointers to initialization data within an ACPI table) were not handled 
+consistently. The internal object copy operation now always copies the 
+data 
+to a newly allocated buffer, regardless of whether the source object is 
+static or not.
+
+Fixed a problem with the FromBCD operator where an implicit result 
+conversion was improperly performed while storing the result to the 
+target 
+operand. Since this is an "explicit conversion" operator, the implicit 
+conversion should never be performed on the output.
+
+Fixed a problem with the CopyObject operator where a copy to an existing 
+named object did not always completely overwrite the existing object 
+stored 
+at name. Specifically, a buffer-to-buffer copy did not delete the 
+existing 
+buffer.
+
+Replaced "InterruptLevel" with "InterruptNumber" in all GPE interfaces 
+and 
+structs for consistency.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
+    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
+  Current Release: (Same sizes)
+    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
+    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
+
+
+2) iASL Compiler/Disassembler:
+
+The compiler now emits a warning if an attempt is made to generate a 64-
+bit 
+integer constant from within a 32-bit ACPI table (Revision < 2). The 
+integer 
+is truncated to 32 bits.
+
+Fixed a problem with large package objects: if the static length of the 
+package is greater than 255, the "variable length package" opcode is 
+emitted. Previously, this caused an error. This requires an update to the 
+ACPI spec, since it currently (incorrectly) states that packages larger 
+than 
+255 elements are not allowed.
+
+The disassembler now correctly handles variable length packages and 
+packages 
+larger than 255 elements.
+
+----------------------------------------
+08 April 2005.  Summary of changes for version 20050408:
+
+1) ACPI CA Core Subsystem:
+
+Fixed three cases in the interpreter where an "index" argument to an ASL 
+function was still (internally) 32 bits instead of the required 64 bits. 
+This was the Index argument to the Index, Mid, and Match operators.
+
+The "strupr" function is now permanently local (AcpiUtStrupr), since this 
+is 
+not a POSIX-defined function and not present in most kernel-level C 
+libraries. All references to the C library strupr function have been 
+removed 
+from the headers.
+
+Completed the deployment of static functions/prototypes. All prototypes 
+with 
+the static attribute have been moved from the headers to the owning C 
+file.
+
+Implemented an extract option (-e) for the AcpiBin utility (AML binary 
+utility). This option allows the utility to extract individual ACPI 
+tables 
+from the output of AcpiDmp. It provides the same functionality of the 
+acpixtract.pl perl script without the worry of setting the correct perl 
+options. AcpiBin runs on Windows and has not yet been generated/validated 
+in 
+the Linux/Unix environment (but should be soon).
+ 
+Updated and fixed the table dump option for AcpiBin (-d). This option 
+converts a single ACPI table to a hex/ascii file, similar to the output 
+of 
+AcpiDmp.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
+    Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
+  Current Release:
+    Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
+    Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Disassembler fix: Added a check to ensure that the table length found in 
+the 
+ACPI table header within the input file is not longer than the actual 
+input 
+file size. This indicates some kind of file or table corruption.
+
+----------------------------------------
+29 March 2005.  Summary of changes for version 20050329:
+
+1) ACPI CA Core Subsystem:
+
+An error is now generated if an attempt is made to create a Buffer Field 
+of 
+length zero (A CreateField with a length operand of zero.)
+
+The interpreter now issues a warning whenever executable code at the 
+module 
+level is detected during ACPI table load. This will give some idea of the 
+prevalence of this type of code.
+
+Implemented support for references to named objects (other than control 
+methods) within package objects.
+
+Enhanced package object output for the debug object. Package objects are 
+now 
+completely dumped, showing all elements.
+
+Enhanced miscellaneous object output for the debug object. Any object can 
+now be written to the debug object (for example, a device object can be 
+written, and the type of the object will be displayed.)
+
+The "static" qualifier has been added to all local functions across both 
+the 
+core subsystem and the iASL compiler.
+
+The number of "long" lines (> 80 chars) within the source has been 
+significantly reduced, by about 1/3.
+
+Cleaned up all header files to ensure that all CA/iASL functions are 
+prototyped (even static functions) and the formatting is consistent.
+
+Two new header files have been added, acopcode.h and acnames.h.
+
+Removed several obsolete functions that were no longer used.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
+    Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
+    Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
+
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with the resource descriptor generation/support. For the 
+ResourceSourceIndex and the ResourceSource fields, both must be present, 
+or 
+both must be not present - can't have one without the other.
+
+The compiler now returns non-zero from the main procedure if any errors 
+have 
+occurred during the compilation.
+
+
+----------------------------------------
+09 March 2005.  Summary of changes for version 20050309:
+
+1) ACPI CA Core Subsystem:
+
+The string-to-buffer implicit conversion code has been modified again 
+after 
+a change to the ACPI specification.  In order to match the behavior of 
+the 
+other major ACPI implementation, the target buffer is no longer truncated 
+if 
+the source string is smaller than an existing target buffer. This change 
+requires an update to the ACPI spec, and should eliminate the recent 
+AE_AML_BUFFER_LIMIT issues.
+
+The "implicit return" support was rewritten to a new algorithm that 
+solves 
+the general case. Rather than attempt to determine when a method is about 
+to 
+exit, the result of every ASL operator is saved momentarily until the 
+very 
+next ASL operator is executed. Therefore, no matter how the method exits, 
+there will always be a saved implicit return value. This feature is only 
+enabled with the AcpiGbl_EnableInterpreterSlack flag, and should 
+eliminate 
+AE_AML_NO_RETURN_VALUE errors when enabled.
+
+Implemented implicit conversion support for the predicate (operand) of 
+the 
+If, Else, and While operators. String and Buffer arguments are 
+automatically 
+converted to Integers.
+
+Changed the string-to-integer conversion behavior to match the new ACPI 
+errata: "If no integer object exists, a new integer is created. The ASCII 
+string is interpreted as a hexadecimal constant. Each string character is 
+interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting 
+with the first character as the most significant digit, and ending with 
+the 
+first non-hexadecimal character or end-of-string." This means that the 
+first 
+non-hex character terminates the conversion and this is the code that was 
+changed.
+
+Fixed a problem where the ObjectType operator would fail (fault) when 
+used 
+on an Index of a Package which pointed to a null package element. The 
+operator now properly returns zero (Uninitialized) in this case.
+
+Fixed a problem where the While operator used excessive memory by not 
+properly popping the result stack during execution. There was no memory 
+leak 
+after execution, however. (Code provided by Valery Podrezov.)
+
+Fixed a problem where references to control methods within Package 
+objects 
+caused the method to be invoked, instead of producing a reference object 
+pointing to the method.
+
+Restructured and simplified the pswalk.c module (AcpiPsDeleteParseTree) 
+to 
+improve performance and reduce code size. (Code provided by Alexey 
+Starikovskiy.)
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
+    Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
+    Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with the Return operator with no arguments. Since the AML 
+grammar for the byte encoding requires an operand for the Return opcode, 
+the 
+compiler now emits a Return(Zero) for this case.  An ACPI specification 
+update has been written for this case.
+
+For tables other than the DSDT, namepath optimization is automatically 
+disabled. This is because SSDTs can be loaded anywhere in the namespace, 
+the 
+compiler has no knowledge of where, and thus cannot optimize namepaths.
+
+Added "ProcessorObj" to the ObjectTypeKeyword list. This object type was 
+inadvertently omitted from the ACPI specification, and will require an 
+update to the spec.
+
+The source file scan for ASCII characters is now optional (-a). This 
+change 
+was made because some vendors place non-ascii characters within comments. 
+However, the scan is simply a brute-force byte compare to ensure all 
+characters in the file are in the range 0x00 to 0x7F.
+
+Fixed a problem with the CondRefOf operator where the compiler was 
+inappropriately checking for the existence of the target. Since the point 
+of 
+the operator is to check for the existence of the target at run-time, the 
+compiler no longer checks for the target existence.
+
+Fixed a problem where errors generated from the internal AML interpreter 
+during constant folding were not handled properly, causing a fault.
+
+Fixed a problem with overly aggressive range checking for the Stall 
+operator. The valid range (max 255) is now only checked if the operand is 
+of 
+type Integer. All other operand types cannot be statically checked.
+
+Fixed a problem where control method references within the RefOf, 
+DeRefOf, 
+and ObjectType operators were not treated properly. They are now treated 
+as 
+actual references, not method invocations.
+
+Fixed and enhanced the "list namespace" option (-ln). This option was 
+broken 
+a number of releases ago.
+
+Improved error handling for the Field, IndexField, and BankField 
+operators. 
+The compiler now cleanly reports and recovers from errors in the field 
+component (FieldUnit) list.
+
+Fixed a disassembler problem where the optional ResourceDescriptor fields 
+TRS and TTP were not always handled correctly.
+
+Disassembler - Comments in output now use "//" instead of "/*"
+
+----------------------------------------
+28 February 2005.  Summary of changes for version 20050228:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where the result of an Index() operator (an object 
+reference) must increment the reference count on the target object for 
+the 
+life of the object reference.
+
+Implemented AML Interpreter and Debugger support for the new ACPI 3.0 
+Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and 
+WordSpace 
+resource descriptors.
+
+Implemented support in the _OSI method for the ACPI 3.0 "Extended Address 
+Space Descriptor" string, indicating interpreter support for the 
+descriptors 
+above.
+
+Implemented header support for the new ACPI 3.0 FADT flag bits.
+
+Implemented header support for the new ACPI 3.0 PCI Express bits for the 
+PM1 
+status/enable registers.
+
+Updated header support for the MADT processor local Apic struct and MADT 
+platform interrupt source struct for new ACPI 3.0 fields.
+
+Implemented header support for the SRAT and SLIT ACPI tables.
+
+Implemented the -s switch in AcpiExec to enable the "InterpreterSlack" 
+flag 
+at runtime.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
+    Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
+    Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with the internal 64-bit String-to-integer conversion 
+with 
+strings less than two characters long.
+
+Fixed a problem with constant folding where the result of the Index() 
+operator can not be considered a constant. This means that Index() cannot 
+be 
+a type3 opcode and this will require an update to the ACPI specification.
+
+Disassembler: Implemented support for the TTP, MTP, and TRS resource 
+descriptor fields. These fields were inadvertently ignored and not output 
+in 
+the disassembly of the resource descriptor.
+
+
+ ----------------------------------------
+11 February 2005.  Summary of changes for version 20050211:
+
+1) ACPI CA Core Subsystem:
+
+Implemented ACPI 3.0 support for implicit conversion within the Match() 
+operator. MatchObjects can now be of type integer, buffer, or string 
+instead 
+of just type integer.  Package elements are implicitly converted to the 
+type 
+of the MatchObject. This change aligns the behavior of Match() with the 
+behavior of the other logical operators (LLess(), etc.) It also requires 
+an 
+errata change to the ACPI specification as this support was intended for 
+ACPI 3.0, but was inadvertently omitted.
+
+Fixed a problem with the internal implicit "to buffer" conversion. 
+Strings 
+that are converted to buffers will cause buffer truncation if the string 
+is 
+smaller than the target buffer. Integers that are converted to buffers 
+will 
+not cause buffer truncation, only zero extension (both as per the ACPI 
+spec.) The problem was introduced when code was added to truncate the 
+buffer, but this should not be performed in all cases, only the string 
+case.
+
+Fixed a problem with the Buffer and Package operators where the 
+interpreter 
+would get confused if two such operators were used as operands to an ASL 
+operator (such as LLess(Buffer(1){0},Buffer(1){1}). The internal result 
+stack was not being popped after the execution of these operators, 
+resulting 
+in an AE_NO_RETURN_VALUE exception.
+
+Fixed a problem with constructs of the form Store(Index(...),...). The 
+reference object returned from Index was inadvertently resolved to an 
+actual 
+value. This problem was introduced in version 20050114 when the behavior 
+of 
+Store() was modified to restrict the object types that can be used as the 
+source operand (to match the ACPI specification.)
+
+Reduced excessive stack use within the AcpiGetObjectInfo procedure.
+
+Added a fix to aclinux.h to allow generation of AcpiExec on Linux.
+
+Updated the AcpiSrc utility to add the FADT_DESCRIPTOR_REV2_MINUS struct.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.1K Code, 11.5K Data,  89.6K Total
+    Debug Version:     164.8K Code, 69.2K Data, 234.0K Total
+  Current Release:
+    Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
+    Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a code generation problem in the constant folding optimization code 
+where incorrect code was generated if a constant was reduced to a buffer 
+object (i.e., a reduced type 5 opcode.)
+
+Fixed a typechecking problem for the ToBuffer operator. Caused by an 
+incorrect return type in the internal opcode information table.
+
+----------------------------------------
+25 January 2005.  Summary of changes for version 20050125:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a recently introduced problem with the Global Lock where the 
+underlying semaphore was not created.  This problem was introduced in 
+version 20050114, and caused an AE_AML_NO_OPERAND exception during an 
+Acquire() operation on _GL.
+
+The local object cache is now optional, and is disabled by default. Both 
+AcpiExec and the iASL compiler enable the cache because they run in user 
+mode and this enhances their performance. #define 
+ACPI_ENABLE_OBJECT_CACHE 
+to enable the local cache.
+
+Fixed an issue in the internal function AcpiUtEvaluateObject concerning 
+the 
+optional "implicit return" support where an error was returned if no 
+return 
+object was expected, but one was implicitly returned. AE_OK is now 
+returned 
+in this case and the implicitly returned object is deleted. 
+AcpiUtEvaluateObject is only occasionally used, and only to execute 
+reserved 
+methods such as _STA and _INI where the return type is known up front.
+
+Fixed a few issues with the internal convert-to-integer code. It now 
+returns 
+an error if an attempt is made to convert a null string, a string of only 
+blanks/tabs, or a zero-length buffer. This affects both implicit 
+conversion 
+and explicit conversion via the ToInteger() operator.
+
+The internal debug code in AcpiUtAcquireMutex has been commented out. It 
+is 
+not needed for normal operation and should increase the performance of 
+the 
+entire subsystem. The code remains in case it is needed for debug 
+purposes 
+again.
+
+The AcpiExec source and makefile are included in the Unix/Linux package 
+for 
+the first time.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
+    Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
+  Current Release:
+    Non-Debug Version:  78.1K Code,  11.5K Data,   89.6K Total
+    Debug Version:     164.8K Code,  69.2K Data,  234.0K Total
+
+2) iASL Compiler/Disassembler:
+
+Switch/Case support: A warning is now issued if the type of the Switch 
+value 
+cannot be determined at compile time. For example, Switch(Arg0) will 
+generate the warning, and the type is assumed to be an integer. As per 
+the 
+ACPI spec, use a construct such as Switch(ToInteger(Arg0)) to eliminate 
+the 
+warning.
+
+Switch/Case support: Implemented support for buffer and string objects as 
+the switch value.  This is an ACPI 3.0 feature, now that LEqual supports 
+buffers and strings.
+
+Switch/Case support: The emitted code for the LEqual() comparisons now 
+uses 
+the switch value as the first operand, not the second. The case value is 
+now 
+the second operand, and this allows the case value to be implicitly 
+converted to the type of the switch value, not the other way around.
+
+Switch/Case support: Temporary variables are now emitted immediately 
+within 
+the control method, not at the global level. This means that there are 
+now 
+36 temps available per-method, not 36 temps per-module as was the case 
+with 
+the earlier implementation (_T_0 through _T_9 and _T_A through _T_Z.)
+
+----------------------------------------
+14 January 2005.  Summary of changes for version 20050114:
+
+Added 2005 copyright to all module headers.  This affects every module in 
+the core subsystem, iASL compiler, and the utilities.
+
+1) ACPI CA Core Subsystem:
+
+Fixed an issue with the String-to-Buffer conversion code where the string 
+null terminator was not included in the buffer after conversion, but 
+there 
+is existing ASL that assumes the string null terminator is included. This 
+is 
+the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was 
+introduced in the previous version when the code was updated to correctly 
+set the converted buffer size as per the ACPI specification. The ACPI 
+spec 
+is ambiguous and will be updated to specify that the null terminator must 
+be 
+included in the converted buffer. This also affects the ToBuffer() ASL 
+operator.
+
+Fixed a problem with the Mid() ASL/AML operator where it did not work 
+correctly on Buffer objects. Newly created sub-buffers were not being 
+marked 
+as initialized.
+
+
+Fixed a problem in AcpiTbFindTable where incorrect string compares were 
+performed on the OemId and OemTableId table header fields.  These fields 
+are 
+not null terminated, so strncmp is now used instead of strcmp.
+
+Implemented a restriction on the Store() ASL/AML operator to align the 
+behavior with the ACPI specification.  Previously, any object could be 
+used 
+as the source operand.  Now, the only objects that may be used are 
+Integers, 
+Buffers, Strings, Packages, Object References, and DDB Handles.  If 
+necessary, the original behavior can be restored by enabling the 
+EnableInterpreterSlack flag.
+
+Enhanced the optional "implicit return" support to allow an implicit 
+return 
+value from methods that are invoked externally via the AcpiEvaluateObject 
+interface.  This enables implicit returns from the _STA and _INI methods, 
+for example.
+
+Changed the Revision() ASL/AML operator to return the current version of 
+the 
+AML interpreter, in the YYYYMMDD format. Previously, it incorrectly 
+returned 
+the supported ACPI version (This is the function of the _REV method).
+
+Updated the _REV predefined method to return the currently supported 
+version 
+of ACPI, now 3.
+
+Implemented batch mode option for the AcpiExec utility (-b).
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
+    Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
+  Current Release:
+    Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
+    Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
+
+----------------------------------------
+10 December 2004.  Summary of changes for version 20041210:
+
+ACPI 3.0 support is nearing completion in both the iASL compiler and the 
+ACPI CA core subsystem.
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem in the ToDecimalString operator where the resulting 
+string 
+length was incorrectly calculated. The length is now calculated exactly, 
+eliminating incorrect AE_STRING_LIMIT exceptions.
+
+Fixed a problem in the ToHexString operator to allow a maximum 200 
+character 
+string to be produced.
+
+Fixed a problem in the internal string-to-buffer and buffer-to-buffer 
+copy 
+routine where the length of the resulting buffer was not truncated to the 
+new size (if the target buffer already existed).
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
+    Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
+    Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented the new ACPI 3.0 resource template macros - DWordSpace, 
+ExtendedIO, ExtendedMemory, ExtendedSpace, QWordSpace, and WordSpace. 
+Includes support in the disassembler.
+
+Implemented support for the new (ACPI 3.0) parameter to the Register 
+macro, 
+AccessSize.
+
+Fixed a problem where the _HE resource name for the Interrupt macro was 
+referencing bit 0 instead of bit 1.
+
+Implemented check for maximum 255 interrupts in the Interrupt macro.
+
+Fixed a problem with the predefined resource descriptor names where 
+incorrect AML code was generated if the offset within the resource buffer 
+was 0 or 1.  The optimizer shortened the AML code to a single byte opcode 
+but did not update the surrounding package lengths.
+
+Changes to the Dma macro:  All channels within the channel list must be 
+in 
+the range 0-7.  Maximum 8 channels can be specified. BusMaster operand is 
+optional (default is BusMaster).
+
+Implemented check for maximum 7 data bytes for the VendorShort macro.
+
+The ReadWrite parameter is now optional for the Memory32 and similar 
+macros.
+
+----------------------------------------
+03 December 2004.  Summary of changes for version 20041203:
+
+1) ACPI CA Core Subsystem:
+
+The low-level field insertion/extraction code (exfldio) has been 
+completely 
+rewritten to eliminate unnecessary complexity, bugs, and boundary 
+conditions.
+
+Fixed a problem in the ToInteger, ToBuffer, ToHexString, and 
+ToDecimalString 
+operators where the input operand could be inadvertently deleted if no 
+conversion was necessary (e.g., if the input to ToInteger was an Integer 
+object.)
+
+Fixed a problem with the ToDecimalString and ToHexString where an 
+incorrect 
+exception code was returned if the resulting string would be > 200 chars.  
+AE_STRING_LIMIT is now returned.
+
+Fixed a problem with the Concatenate operator where AE_OK was always 
+returned, even if the operation failed.
+
+Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128 
+semaphores to be allocated.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
+    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
+  Current Release:
+    Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
+    Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed typechecking for the ObjectType and SizeOf operators.  Problem was 
+recently introduced in 20041119.
+
+Fixed a problem with the ToUUID macro where the upper nybble of each 
+buffer 
+byte was inadvertently set to zero.
+
+----------------------------------------
+19 November 2004.  Summary of changes for version 20041119:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem in the internal ConvertToInteger routine where new 
+integers 
+were not truncated to 32 bits for 32-bit ACPI tables. This routine 
+converts 
+buffers and strings to integers.
+
+Implemented support to store a value to an Index() on a String object. 
+This 
+is an ACPI 2.0 feature that had not yet been implemented.
+
+Implemented new behavior for storing objects to individual package 
+elements 
+(via the Index() operator). The previous behavior was to invoke the 
+implicit 
+conversion rules if an object was already present at the index.  The new 
+behavior is to simply delete any existing object and directly store the 
+new 
+object. Although the ACPI specification seems unclear on this subject, 
+other 
+ACPI implementations behave in this manner.  (This is the root of the 
+AE_BAD_HEX_CONSTANT issue.)
+
+Modified the RSDP memory scan mechanism to support the extended checksum 
+for 
+ACPI 2.0 (and above) RSDPs. Note that the search continues until a valid 
+RSDP signature is found with a valid checksum.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
+    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
+  Current Release:
+    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
+    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a missing semicolon in the aslcompiler.y file.
+
+----------------------------------------
+05 November 2004.  Summary of changes for version 20041105:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for FADT revision 2.  This was an interim table 
+(between 
+ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register.
+
+Implemented optional support to allow uninitialized LocalX and ArgX 
+variables in a control method.  The variables are initialized to an 
+Integer 
+object with a value of zero.  This support is enabled by setting the 
+AcpiGbl_EnableInterpreterSlack flag to TRUE.
+
+Implemented support for Integer objects for the SizeOf operator.  Either 
+4 
+or 8 is returned, depending on the current integer size (32-bit or 64-
+bit, 
+depending on the parent table revision).
+
+Fixed a problem in the implementation of the SizeOf and ObjectType 
+operators 
+where the operand was resolved to a value too early, causing incorrect 
+return values for some objects.
+
+Fixed some possible memory leaks during exceptional conditions.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
+    Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
+  Current Release:
+    Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
+    Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support for all ACPI 3.0 reserved names and methods.
+
+Implemented all ACPI 3.0 grammar elements in the front-end, including 
+support for semicolons.
+
+Implemented the ACPI 3.0 Function() and ToUUID() macros
+
+Fixed a problem in the disassembler where a Scope() operator would not be 
+emitted properly if the target of the scope was in another table.
+
+----------------------------------------
+15 October 2004.  Summary of changes for version 20041015:
+
+Note:  ACPI CA is currently undergoing an in-depth and complete formal 
+evaluation to test/verify the following areas. Other suggestions are 
+welcome. This will result in an increase in the frequency of releases and 
+the number of bug fixes in the next few months.
+  - Functional tests for all ASL/AML operators
+  - All implicit/explicit type conversions
+  - Bit fields and operation regions
+  - 64-bit math support and 32-bit-only "truncated" math support
+  - Exceptional conditions, both compiler and interpreter
+  - Dynamic object deletion and memory leaks
+  - ACPI 3.0 support when implemented
+  - External interfaces to the ACPI subsystem
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed two alignment issues on 64-bit platforms - within debug statements 
+in 
+AcpiEvGpeDetect and AcpiEvCreateGpeBlock. Removed references to the 
+Address 
+field within the non-aligned ACPI generic address structure.
+
+Fixed a problem in the Increment and Decrement operators where incorrect 
+operand resolution could result in the inadvertent modification of the 
+original integer when the integer is passed into another method as an 
+argument and the arg is then incremented/decremented.
+
+Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-
+bit 
+BCD number were truncated during conversion.
+
+Fixed a problem in the ToDecimal operator where the length of the 
+resulting 
+string could be set incorrectly too long if the input operand was a 
+Buffer 
+object.
+
+Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte 
+(0) 
+within a buffer would prematurely terminate a compare between buffer 
+objects.
+
+Added a check for string overflow (>200 characters as per the ACPI 
+specification) during the Concatenate operator with two string operands.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
+    Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
+    Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
+
+
+
+2) iASL Compiler/Disassembler:
+
+Allow the use of the ObjectType operator on uninitialized Locals and Args 
+(returns 0 as per the ACPI specification).
+
+Fixed a problem where the compiler would fault if there was a syntax 
+error 
+in the FieldName of all of the various CreateXXXField operators.
+
+Disallow the use of lower case letters within the EISAID macro, as per 
+the 
+ACPI specification.  All EISAID strings must be of the form "UUUNNNN" 
+Where 
+U is an uppercase letter and N is a hex digit.
+
+
+----------------------------------------
+06 October 2004.  Summary of changes for version 20041006:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for the ACPI 3.0 Timer operator. This ASL function 
+implements a 64-bit timer with 100 nanosecond granularity.
+
+Defined a new OSL interface, AcpiOsGetTimer. This interface is used to 
+implement the ACPI 3.0 Timer operator.  This allows the host OS to 
+implement 
+the timer with the best clock available. Also, it keeps the core 
+subsystem 
+out of the clock handling business, since the host OS (usually) performs 
+this function.
+
+Fixed an alignment issue on 64-bit platforms. The HwLowLevelRead(Write) 
+functions use a 64-bit address which is part of the packed ACPI Generic 
+Address Structure. Since the structure is non-aligned, the alignment 
+macros 
+are now used to extract the address to a local variable before use.
+
+Fixed a problem where the ToInteger operator assumed all input strings 
+were 
+hexadecimal. The operator now handles both decimal strings and hex 
+strings 
+(prefixed with "0x").
+
+Fixed a problem where the string length in the string object created as a 
+result of the internal ConvertToString procedure could be incorrect. This 
+potentially affected all implicit conversions and also the 
+ToDecimalString 
+and ToHexString operators.
+
+Fixed two problems in the ToString operator. If the length parameter was 
+zero, an incorrect string object was created and the value of the input 
+length parameter was inadvertently changed from zero to Ones.
+
+Fixed a problem where the optional ResourceSource string in the 
+ExtendedIRQ 
+resource macro was ignored.
+
+Simplified the interfaces to the internal division functions, reducing 
+code 
+size and complexity.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
+    Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
+  Current Release:
+    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
+    Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support for the ACPI 3.0 Timer operator.
+
+Fixed a problem where the Default() operator was inadvertently ignored in 
+a 
+Switch/Case block.  This was a problem in the translation of the Switch 
+statement to If...Else pairs.
+
+Added support to allow a standalone Return operator, with no parentheses 
+(or 
+operands).
+
+Fixed a problem with code generation for the ElseIf operator where the 
+translated Else...If parse tree was improperly constructed leading to the 
+loss of some code.
+
+----------------------------------------
+22 September 2004.  Summary of changes for version 20040922:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem with the implementation of the LNot() operator where 
+"Ones" 
+was not returned for the TRUE case. Changed the code to return Ones 
+instead 
+of (!Arg) which was usually 1. This change affects iASL constant folding 
+for 
+this operator also.
+
+Fixed a problem in AcpiUtInitializeBuffer where an existing buffer was 
+not 
+initialized properly -- Now zero the entire buffer in this case where the 
+buffer already exists.
+
+Changed the interface to AcpiOsSleep from (UINT32 Seconds, UINT32 
+Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all 
+related code considerably. This will require changes/updates to all OS 
+interface layers (OSLs.)
+
+Implemented a new external interface, AcpiInstallExceptionHandler, to 
+allow 
+a system exception handler to be installed. This handler is invoked upon 
+any 
+run-time exception that occurs during control method execution.
+
+Added support for the DSDT in AcpiTbFindTable. This allows the 
+DataTableRegion() operator to access the local copy of the DSDT.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below. These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code. The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size. 
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
+    Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
+    Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem with constant folding and the LNot operator. LNot was 
+returning 1 in the TRUE case, not Ones as per the ACPI specification. 
+This 
+could result in the generation of an incorrect folded/reduced constant.
+
+End-Of-File is now allowed within a "//"-style comment.  A parse error no 
+longer occurs if such a comment is at the very end of the input ASL 
+source 
+file.
+
+Implemented the "-r" option to override the Revision in the table header. 
+The initial use of this option will be to simplify the evaluation of the 
+AML 
+interpreter by allowing a single ASL source module to be compiled for 
+either 
+32-bit or 64-bit integers.
+
+
+----------------------------------------
+27 August 2004.  Summary of changes for version 20040827:
+
+1) ACPI CA Core Subsystem:
+
+- Implemented support for implicit object conversion in the non-numeric 
+logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, 
+and 
+LNotEqual.)  Any combination of Integers/Strings/Buffers may now be used; 
+the second operand is implicitly converted on the fly to match the type 
+of 
+the first operand.  For example:
+
+    LEqual (Source1, Source2)
+
+Source1 and Source2 must each evaluate to an integer, a string, or a 
+buffer. 
+The data type of Source1 dictates the required type of Source2. Source2 
+is 
+implicitly converted if necessary to match the type of Source1.
+
+- Updated and corrected the behavior of the string conversion support.  
+The 
+rules concerning conversion of buffers to strings (according to the ACPI 
+specification) are as follows:
+
+ToDecimalString - explicit byte-wise conversion of buffer to string of 
+decimal values (0-255) separated by commas. ToHexString - explicit byte-
+wise 
+conversion of buffer to string of hex values (0-FF) separated by commas. 
+ToString - explicit byte-wise conversion of buffer to string.  Byte-by-
+byte 
+copy with no transform except NULL terminated. Any other implicit buffer-
+to-
+string conversion - byte-wise conversion of buffer to string of hex 
+values 
+(0-FF) separated by spaces.
+
+- Fixed typo in definition of AcpiGbl_EnableInterpreterSlack.
+
+- Fixed a problem in AcpiNsGetPathnameLength where the returned length 
+was 
+one byte too short in the case of a node in the root scope.  This could 
+cause a fault during debug output.
+
+- Code and Data Size: Current and previous core subsystem library sizes 
+are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
+    Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
+  Current Release:
+    Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
+    Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
+
+
+2) iASL Compiler/Disassembler:
+
+- Fixed a Linux generation error.
+
+
+----------------------------------------
+16 August 2004.  Summary of changes for version 20040816:
+
+1) ACPI CA Core Subsystem:
+
+Designed and implemented support within the AML interpreter for the so-
+called "implicit return".  This support returns the result of the last 
+ASL 
+operation within a control method, in the absence of an explicit Return() 
+operator.  A few machines depend on this behavior, even though it is not 
+explicitly supported by the ASL language.  It is optional support that 
+can 
+be enabled at runtime via the AcpiGbl_EnableInterpreterSlack flag.
+
+Removed support for the PCI_Config address space from the internal low 
+level 
+hardware interfaces (AcpiHwLowLevelRead and AcpiHwLowLevelWrite).  This 
+support was not used internally, and would not work correctly anyway 
+because 
+the PCI bus number and segment number were not supported.  There are 
+separate interfaces for PCI configuration space access because of the 
+unique 
+interface.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
+    Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
+  Current Release:
+    Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
+    Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a problem where constants in ASL expressions at the root level (not 
+within a control method) could be inadvertently truncated during code 
+generation.  This problem was introduced in the 20040715 release.
+
+
+----------------------------------------
+15 July 2004.  Summary of changes for version 20040715:
+
+1) ACPI CA Core Subsystem:
+
+Restructured the internal HW GPE interfaces to pass/track the current 
+state 
+of interrupts (enabled/disabled) in order to avoid possible deadlock and 
+increase flexibility of the interfaces.
+
+Implemented a "lexicographical compare" for String and Buffer objects 
+within 
+the logical operators -- LGreater, LLess, LGreaterEqual, and LLessEqual -
+- 
+as per further clarification to the ACPI specification.  Behavior is 
+similar 
+to C library "strcmp".
+
+Completed a major reduction in CPU stack use for the AcpiGetFirmwareTable 
+external function.  In the 32-bit non-debug case, the stack use has been 
+reduced from 168 bytes to 32 bytes.
+
+Deployed a new run-time configuration flag, 
+AcpiGbl_EnableInterpreterSlack, 
+whose purpose is to allow the AML interpreter to forgive certain bad AML 
+constructs.  Default setting is FALSE.
+
+Implemented the first use of AcpiGbl_EnableInterpreterSlack in the Field 
+IO 
+support code.  If enabled, it allows field access to go beyond the end of 
+a 
+region definition if the field is within the region length rounded up to 
+the 
+next access width boundary (a common coding error.)
+
+Renamed OSD_HANDLER to ACPI_OSD_HANDLER, and OSD_EXECUTION_CALLBACK to 
+ACPI_OSD_EXEC_CALLBACK for consistency with other ACPI symbols.  Also, 
+these 
+symbols are lowercased by the latest version of the AcpiSrc tool.
+
+The prototypes for the PCI interfaces in acpiosxf.h have been updated to 
+rename "Register" to simply "Reg" to prevent certain compilers from 
+complaining.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
+    Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
+  Current Release:
+    Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
+    Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented full support for Package objects within the Case() operator.  
+Note: The Break() operator is currently not supported within Case blocks 
+(TermLists) as there is some question about backward compatibility with 
+ACPI 
+1.0 interpreters.
+
+
+Fixed a problem where complex terms were not supported properly within 
+the 
+Switch() operator.
+
+Eliminated extraneous warning for compiler-emitted reserved names of the 
+form "_T_x".  (Used in Switch/Case operators.)
+
+Eliminated optimization messages for "_T_x" objects and small constants 
+within the DefinitionBlock operator.
+
+
+----------------------------------------
+15 June 2004.  Summary of changes for version 20040615:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for Buffer and String objects (as per ACPI 2.0) for 
+the 
+following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
+LLessEqual.
+
+All directory names in the entire source package are lower case, as they 
+were in earlier releases.
+
+Implemented "Disassemble" command in the AML debugger that will 
+disassemble 
+a single control method.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
+    Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
+
+  Current Release:
+    Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
+    Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Implemented support for Buffer and String objects (as per ACPI 2.0) for 
+the 
+following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
+LLessEqual.
+
+All directory names in the entire source package are lower case, as they 
+were in earlier releases.
+
+Fixed a fault when using the -g or -d<nofilename> options if the FADT was 
+not found.
+
+Fixed an issue with the Windows version of the compiler where later 
+versions 
+of Windows place the FADT in the registry under the name "FADT" and not 
+"FACP" as earlier versions did.  This applies when using the -g or -
+d<nofilename> options.  The compiler now looks for both strings as 
+necessary.
+
+Fixed a problem with compiler namepath optimization where a namepath 
+within 
+the Scope() operator could not be optimized if the namepath was a subpath 
+of 
+the current scope path.
+
+----------------------------------------
+27 May 2004.  Summary of changes for version 20040527:
+
+1) ACPI CA Core Subsystem:
+
+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.
+
+Integrated a fix for a possible fault during evaluation of BufferField 
+arguments.  Obsolete code that was causing the problem was removed.
+
+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.
+
+Rolled in a couple of changes to the FreeBSD-specific header.
+
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
+    Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
+  Current Release:
+    Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
+    Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Fixed a generation warning produced by some overly-verbose compilers for 
+a 
+64-bit constant.
+
+----------------------------------------
+14 May 2004.  Summary of changes for version 20040514:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where hardware GPE enable bits sometimes not set properly 
+during and after GPE method execution.  Result of 04/27 changes.
+
+Removed extra "clear all GPEs" when sleeping/waking.
+
+Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the single 
+AcpiHwWriteGpeEnableReg. Changed a couple of calls to the functions above 
+to 
+the new AcpiEv* 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.
+
+Allow a single invocation of AcpiInstallNotifyHandler 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.
+
+Added a sleep simulation command to the AML debugger to test sleep code. 
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
+    Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
+  Current Release:
+    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
+    Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
+
+----------------------------------------
+27 April 2004.  Summary of changes for version 20040427:
+
+1) ACPI CA Core Subsystem:
+
+Completed a major overhaul of the GPE handling within ACPI CA.  There are 
+now three types of GPEs:  wake-only, runtime-only, and 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 AcpiEnableGpe interface 
+will 
+actually be hardware enabled.
+
+A new external interface has been added, AcpiSetGpeType(), 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 AcpiGetObjectInfo 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)
+
+
+Notes for updating drivers for the new GPE support.  The following 
+changes 
+must be made to ACPI-related device drivers that are attached to one or 
+more 
+GPEs: (This information will be added to the ACPI CA Programmer 
+Reference.)
+
+1) AcpiInstallGpeHandler no longer automatically enables the GPE, you 
+must 
+explicitly call AcpiEnableGpe.
+2) There is a new interface called AcpiSetGpeType. This should be called 
+before enabling the GPE.  Also, this interface will automatically disable 
+the GPE if it is currently enabled.
+3) AcpiEnableGpe no longer supports a GPE type flag.
+
+Specific drivers that must be changed:
+1) EC driver:
+    AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED, 
+AeGpeHandler, NULL);
+    AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
+    AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
+
+2) Button Drivers (Power, Lid, Sleep):
+Run _PRW method under parent device
+If _PRW exists: /* This is a control-method button */
+    Extract GPE number and possibly GpeDevice
+    AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
+    AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
+
+For all other devices that have _PRWs, we automatically set the GPE type 
+to 
+ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically (wake) enabled.  
+This 
+must be done on a selective basis, usually requiring some kind of user 
+app 
+to allow the user to pick the wake devices.
+
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
+    Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
+  Current Release:
+
+    Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
+    Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
+
+
+
+----------------------------------------
+02 April 2004.  Summary of changes for version 20040402:
+
+1) ACPI CA Core Subsystem:
+
+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.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
+    Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
+  Current Release:
+    Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
+    Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+iASL now fully disassembles SSDTs.  However, External() statements are 
+not 
+generated automatically for unresolved symbols at this time.  This is a 
+planned feature for future implementation.
+
+Fixed a scoping problem in the disassembler that occurs when the type of 
+the 
+target of a Scope() operator is overridden.  This problem caused an 
+incorrectly nested internal namespace to be constructed.
+
+Any warnings or errors that are emitted during disassembly are now 
+commented 
+out automatically so that the resulting file can be recompiled without 
+any 
+hand editing.
+
+----------------------------------------
+26 March 2004.  Summary of changes for version 20040326:
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for "wake" GPEs via interaction between GPEs and the 
+_PRW methods.  Every GPE that is pointed to by one or more _PRWs is 
+identified as a WAKE GPE and by default will no longer be enabled at 
+runtime.  Previously, we were blindly enabling all GPEs with a 
+corresponding 
+_Lxx or _Exx method - but most of these turn out to be WAKE GPEs anyway.  
+We 
+believe this has been the cause of thousands of "spurious" GPEs on some 
+systems.
+
+This new GPE behavior is can be reverted to the original behavior (enable 
+ALL GPEs at runtime) via a runtime flag.
+
+Fixed a problem where aliased control methods could not access objects 
+properly.  The proper scope within the namespace was not initialized 
+(transferred to the target of the aliased method) before executing the 
+target method.
+
+Fixed a potential race condition on internal object deletion on the 
+return 
+object in AcpiEvaluateObject. 
+
+Integrated a fix for resource descriptors where both _MEM and _MTP were 
+being extracted instead of just _MEM.  (i.e. bitmask was incorrectly too 
+wide, 0x0F instead of 0x03.)
+
+Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName, 
+preventing 
+a 
+fault in some cases.
+
+Updated Notify() values for debug statements in evmisc.c
+
+Return proper status from AcpiUtMutexInitialize, not just simply AE_OK.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+
+    Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
+    Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
+  Current Release:
+    Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
+    Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
+
+----------------------------------------
+11 March 2004.  Summary of changes for version 20040311:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where errors occurring during the parse phase of control 
+method execution did not abort cleanly.  For example, objects created and 
+installed in the namespace were not deleted.  This caused all subsequent 
+invocations of the method to return the AE_ALREADY_EXISTS exception.
+
+Implemented a mechanism to force a control method to "Serialized" 
+execution 
+if the method attempts to create namespace objects. (The root of the 
+AE_ALREADY_EXISTS problem.)
+
+Implemented support for the predefined _OSI "internal" control method.  
+Initial supported strings are "Linux", "Windows 2000", "Windows 2001", 
+and 
+"Windows 2001.1", and can be easily upgraded for new strings as 
+necessary.  
+This feature will allow "other" operating systems to execute the fully 
+tested, "Windows" code path through the ASL code
+
+Global Lock Support:  Now allows multiple acquires and releases with any 
+internal thread.  Removed concept of "owning thread" for this special 
+mutex.
+
+Fixed two functions that were inappropriately declaring large objects on 
+the 
+CPU stack:  PsParseLoop, NsEvaluateRelative.  Reduces the stack usage 
+during 
+method execution considerably.
+
+Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the 
+S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
+
+Fixed a problem where AcpiEvGpeDetect would fault if there were no GPEs 
+defined on the machine.
+
+Implemented two runtime options:  One to force all control method 
+execution 
+to "Serialized" to mimic Windows behavior, another to disable _OSI 
+support 
+if it causes problems on a given machine.
+
+Code and Data Size: Current and previous core subsystem library sizes are 
+shown below.  These are the code and data sizes for the acpica.lib 
+produced 
+by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
+any ACPI driver or OSPM code.  The debug version of the code includes the 
+debug output trace mechanism and has a much larger code and data size.  
+Note 
+that these values will vary depending on the efficiency of the compiler 
+and 
+the compiler options used during generation.
+
+  Previous Release:
+    Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
+    Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
+  Current Release:
+    Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
+    Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
+
+2) iASL Compiler/Disassembler:
+
+Fixed an array size problem for FreeBSD that would cause the compiler to 
+fault.
+
+----------------------------------------
+20 February 2004.  Summary of changes for version 20040220:
+
+
+1) ACPI CA Core Subsystem:
+
+Implemented execution of _SxD methods for Device objects in the 
+GetObjectInfo interface.
+
+Fixed calls to _SST method to pass the correct arguments.
+
+Added a call to _SST on wake to restore to "working" state.
+
+Check for End-Of-Buffer failure case in the WalkResources interface.
+
+Integrated fix for 64-bit alignment issue in acglobal.h by moving two 
+structures to the beginning of the file.
+
+After wake, clear GPE status register(s) before enabling GPEs.
+
+After wake, clear/enable power button.  (Perhaps we should clear/enable 
+all 
+fixed events upon wake.)
+
+Fixed a couple of possible memory leaks in the Namespace manager.
+
+Integrated latest acnetbsd.h file.
+
+----------------------------------------
+11 February 2004.  Summary of changes for version 20040211:
+
+
+1) ACPI CA Core Subsystem:
+
+Completed investigation and implementation of the call-by-reference 
+mechanism for control method arguments.
+
+Fixed a problem where a store of an object into an indexed package could 
+fail if the store occurs within a different method than the method that 
+created the package.
+
+Fixed a problem where the ToDecimal operator could return incorrect 
+results.
+
+Fixed a problem where the CopyObject operator could fail on some of the 
+more 
+obscure objects (e.g., Reference objects.)
+
+Improved the output of the Debug object to display buffer, package, and 
+index objects.
+
+Fixed a problem where constructs of the form "RefOf (ArgX)" did not 
+return 
+the expected result.
+
+Added permanent ACPI_REPORT_ERROR macros for all instances of the 
+ACPI_AML_INTERNAL exception.
+
+Integrated latest version of acfreebsd.h
+
+----------------------------------------
+16 January 2004.  Summary of changes for version 20040116:
+
+The purpose of this release is primarily to update the copyright years in 
+each module, thus causing a huge number of diffs.  There are a few small 
+functional changes, however.
+
+1) ACPI CA Core Subsystem:
+
+Improved error messages when there is a problem finding one or more of 
+the 
+required base ACPI tables
+
+Reintroduced the definition of APIC_HEADER in actbl.h
+
+Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
+
+Removed extraneous reference to NewObj in dsmthdat.c
+
+2) iASL compiler
+
+Fixed a problem introduced in December that disabled the correct 
+disassembly 
+of Resource Templates
+
+
+----------------------------------------
+03 December 2003.  Summary of changes for version 20031203:
+
+1) ACPI CA Core Subsystem:
+
+Changed the initialization of Operation Regions during subsystem
+init to perform two entire walks of the ACPI namespace; The first
+to initialize the regions themselves, the second to execute the
+_REG methods.  This fixed some interdependencies across _REG
+methods found on some machines.
+
+Fixed a problem where a Store(Local0, Local1) could simply update
+the object reference count, and not create a new copy of the
+object if the Local1 is uninitialized.
+
+Implemented support for the _SST reserved method during sleep
+transitions.
+
+Implemented support to clear the SLP_TYP and SLP_EN bits when
+waking up, this is apparently required by some machines.
+
+When sleeping, clear the wake status only if SleepState is not S5.
+
+Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
+pointer arithmetic advanced a string pointer too far.
+
+Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
+could be returned if the requested table has not been loaded.
+
+Within the support for IRQ resources, restructured the handling of
+the active and edge/level bits.
+
+Fixed a few problems in AcpiPsxExecute() where memory could be
+leaked under certain error conditions.
+
+Improved error messages for the cases where the ACPI mode could
+not be entered.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below.  These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code.  The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size.  Note that
+these values will vary depending on the efficiency of the compiler
+and the compiler options used during generation.
+
+  Previous Release (20031029):
+    Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
+    Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
+  Current Release:
+    Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
+    Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
+
+2) iASL Compiler/Disassembler:
+
+Implemented a fix for the iASL disassembler where a bad index was
+generated.  This was most noticeable on 64-bit platforms
+
+
+----------------------------------------
+29 October 2003.  Summary of changes for version 20031029:
+
+1) ACPI CA Core Subsystem:
+
+
+Fixed a problem where a level-triggered GPE with an associated
+_Lxx control method was incorrectly cleared twice.
+
+Fixed a problem with the Field support code where an access can
+occur beyond the end-of-region if the field is non-aligned but
+extends to the very end of the parent region (resulted in an
+AE_AML_REGION_LIMIT exception.)
+
+Fixed a problem with ACPI Fixed Events where an RT Clock handler
+would not get invoked on an RTC event.  The RTC event bitmasks for
+the PM1 registers were not being initialized properly.
+
+Implemented support for executing _STA and _INI methods for
+Processor objects.  Although this is currently not part of the
+ACPI specification, there is existing ASL code that depends on the
+init-time execution of these methods.
+
+Implemented and deployed a GetDescriptorName function to decode
+the various types of internal descriptors.  Guards against null
+descriptors during debug output also.
+
+Implemented and deployed a GetNodeName function to extract the 4-
+character namespace node name.  This function simplifies the debug
+and error output, as well as guarding against null pointers during
+output.
+
+Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
+simplify the debug and error output of 64-bit integers.  This
+macro replaces the HIDWORD and LODWORD macros for dumping these
+integers.
+
+Updated the implementation of the Stall() operator to only call
+AcpiOsStall(), and also return an error if the operand is larger
+than 255.  This preserves the required behavior of not
+relinquishing the processor, as would happen if AcpiOsSleep() was
+called for "long stalls".
+
+Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
+initialized are now treated as NOOPs.
+
+Cleaned up a handful of warnings during 64-bit generation.
+
+Fixed a reported error where and incorrect GPE number was passed
+to the GPE dispatch handler.  This value is only used for error
+output, however.  Used this opportunity to clean up and streamline
+the GPE dispatch code.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below.  These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code.  The
+
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size.  Note that
+these values will vary depending on the efficiency of the compiler
+and the compiler options used during generation.
+
+  Previous Release (20031002):
+    Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
+    Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
+  Current Release:
+    Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
+    Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Updated the iASL compiler to return an error if the operand to the
+Stall() operator is larger than 255.
+
+
+----------------------------------------
+02 October 2003.  Summary of changes for version 20031002:
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem with Index Fields where the index was not
+incremented for fields that require multiple writes to the
+index/data registers (Fields that are wider than the data
+register.)
+
+Fixed a problem with all Field objects where a write could go
+beyond the end-of-field if the field was larger than the access
+granularity and therefore required multiple writes to complete the
+request.  An extra write beyond the end of the field could happen
+inadvertently.
+
+Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
+would incorrectly be returned if the width of the Data Register
+was larger than the specified field access width.
+
+Completed fixes for LoadTable() and Unload() and verified their
+operation.  Implemented full support for the "DdbHandle" object
+throughout the ACPI CA subsystem.
+
+Implemented full support for the MADT and ECDT tables in the ACPI
+CA header files.  Even though these tables are not directly
+consumed by ACPI CA, the header definitions are useful for ACPI
+device drivers.
+
+Integrated resource descriptor fixes posted to the Linux ACPI
+list.  This included checks for minimum descriptor length, and
+support for trailing NULL strings within descriptors that have
+optional string elements.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below.  These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code.  The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size.  Note that
+these values will vary depending on the efficiency of the compiler
+and the compiler options used during generation.
+
+  Previous Release (20030918):
+    Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
+    Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
+  Current Release:
+    Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
+    Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
+
+
+2) iASL Compiler:
+
+Implemented detection of non-ASCII characters within the input
+source ASL file.  This catches attempts to compile binary (AML)
+files early in the compile, with an informative error message.
+
+Fixed a problem where the disassembler would fault if the output
+filename could not be generated or if the output file could not be
+opened.
+
+----------------------------------------
+18 September 2003.  Summary of changes for version 20030918:
+
+
+1) ACPI CA Core Subsystem:
+
+Found and fixed a longstanding problem with the late execution of
+the various deferred AML opcodes (such as Operation Regions,
+Buffer Fields, Buffers, and Packages).  If the name string
+specified for the name of the new object placed the object in a
+scope other than the current scope, the initialization/execution
+of the opcode failed.  The solution to this problem was to
+implement a mechanism where the late execution of such opcodes
+does not attempt to lookup/create the name a second time in an
+incorrect scope.  This fixes the "region size computed
+incorrectly" problem.
+
+Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing a
+Global Lock AE_BAD_PARAMETER error.
+
+Fixed several 64-bit issues with prototypes, casting and data
+types.
+
+Removed duplicate prototype from acdisasm.h
+
+Fixed an issue involving EC Operation Region Detach (Shaohua Li)
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below.  These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code.  The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size.  Note that
+these values will vary depending on the efficiency of the compiler
+and the compiler options used during generation.
+
+  Previous Release:
+
+    Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
+    Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
+  Current Release:
+    Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
+    Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
+
+
+2) Linux:
+
+Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
+correct sleep time in seconds.
+
+----------------------------------------
+14 July 2003.  Summary of changes for version 20030619:
+
+1) ACPI CA Core Subsystem:
+
+Parse SSDTs in order discovered, as opposed to reverse order
+(Hrvoje Habjanic)
+
+Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
+Klausner,
+   Nate Lawson)
+
+
+2) Linux:
+
+Dynamically allocate SDT list (suggested by Andi Kleen)
+
+proc function return value cleanups (Andi Kleen)
+
+Correctly handle NMI watchdog during long stalls (Andrew Morton)
+
+Make it so acpismp=force works (reported by Andrew Morton)
+
+
+----------------------------------------
+19 June 2003.  Summary of changes for version 20030619:
+
+1) ACPI CA Core Subsystem:
+
+Fix To/FromBCD, eliminating the need for an arch-specific #define.
+
+Do not acquire a semaphore in the S5 shutdown path.
+
+Fix ex_digits_needed for 0. (Takayoshi Kochi)
+
+Fix sleep/stall code reversal. (Andi Kleen)
+
+Revert a change having to do with control method calling
+semantics.
+
+2) Linux:
+
+acpiphp update (Takayoshi Kochi)
+
+Export acpi_disabled for sonypi (Stelian Pop)
+
+Mention acpismp=force in config help
+
+Re-add acpitable.c and acpismp=force. This improves backwards
+
+compatibility and also cleans up the code to a significant degree.
+
+Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
+
+----------------------------------------
+22 May 2003.  Summary of changes for version 20030522:
+
+1) ACPI CA Core Subsystem:
+
+Found and fixed a reported problem where an AE_NOT_FOUND error
+occurred occasionally during _BST evaluation.  This turned out to
+be an Owner ID allocation issue where a called method did not get
+a new ID assigned to it.  Eventually, (after 64k calls), the Owner
+ID UINT16 would wraparound so that the ID would be the same as the
+caller's and the called method would delete the caller's
+namespace.
+
+Implemented extended error reporting for control methods that are
+aborted due to a run-time exception.  Output includes the exact
+AML instruction that caused the method abort, a dump of the method
+locals and arguments at the time of the abort, and a trace of all
+nested control method calls.
+
+Modified the interpreter to allow the creation of buffers of zero
+length from the AML code. Implemented new code to ensure that no
+attempt is made to actually allocate a memory buffer (of length
+zero) - instead, a simple buffer object with a NULL buffer pointer
+and length zero is created.  A warning is no longer issued when
+the AML attempts to create a zero-length buffer.
+
+Implemented a workaround for the "leading asterisk issue" in
+_HIDs, _UIDs, and _CIDs in the AML interpreter.  One leading
+asterisk is automatically removed if present in any HID, UID, or
+CID strings.  The iASL compiler will still flag this asterisk as
+an error, however.
+
+Implemented full support for _CID methods that return a package of
+multiple CIDs (Compatible IDs).  The AcpiGetObjectInfo() interface
+now additionally returns a device _CID list if present.  This
+required a change to the external interface in order to pass an
+ACPI_BUFFER object as a parameter since the _CID list is of
+variable length.
+
+Fixed a problem with the new AE_SAME_HANDLER exception where
+handler initialization code did not know about this exception.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below.  These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code.  The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size.  Note that
+these values will vary depending on the efficiency of the compiler
+and the compiler options used during generation.
+
+  Previous Release (20030509):
+    Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
+    Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
+  Current Release:
+    Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
+    Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
+
+
+2) Linux:
+
+Fixed a bug in which we would reinitialize the ACPI interrupt
+after it was already working, thus disabling all ACPI and the IRQs
+for any other device sharing the interrupt. (Thanks to Stian
+Jordet)
+
+Toshiba driver update (John Belmonte)
+
+Return only 0 or 1 for our interrupt handler status (Andrew
+Morton)
+
+
+3) iASL Compiler:
+
+Fixed a reported problem where multiple (nested) ElseIf()
+statements were not handled correctly by the compiler, resulting
+in incorrect warnings and incorrect AML code.  This was a problem
+in both the ASL parser and the code generator.
+
+
+4) Documentation:
+
+Added changes to existing interfaces, new exception codes, and new
+text concerning reference count object management versus garbage
+collection.
+
+----------------------------------------
+09 May 2003.  Summary of changes for version 20030509.
+
+
+1) ACPI CA Core Subsystem:
+
+Changed the subsystem initialization sequence to hold off
+installation of address space handlers until the hardware has been
+initialized and the system has entered ACPI mode.  This is because
+the installation of space handlers can cause _REG methods to be
+run.  Previously, the _REG methods could potentially be run before
+ACPI mode was enabled.
+
+Fixed some memory leak issues related to address space handler and
+notify handler installation.  There were some problems with the
+reference count mechanism caused by the fact that the handler
+objects are shared across several namespace objects.
+
+Fixed a reported problem where reference counts within the
+namespace were not properly updated when named objects created by
+method execution were deleted.
+
+Fixed a reported problem where multiple SSDTs caused a deletion
+issue during subsystem termination.  Restructured the table data
+structures to simplify the linked lists and the related code.
+
+Fixed a problem where the table ID associated with secondary
+tables (SSDTs) was not being propagated into the namespace objects
+created by those tables.  This would only present a problem for
+tables that are unloaded at run-time, however.
+
+Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
+type as the length parameter (instead of UINT32).
+
+Solved a long-standing problem where an ALREADY_EXISTS error
+appears on various systems.  This problem could happen when there
+are multiple PCI_Config operation regions under a single PCI root
+bus.  This doesn't happen very frequently, but there are some
+systems that do this in the ASL.
+
+Fixed a reported problem where the internal DeleteNode function
+was incorrectly handling the case where a namespace node was the
+first in the parent's child list, and had additional peers (not
+the only child, but first in the list of children.)
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
+    Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
+  Current Release:
+    Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
+    Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
+
+
+2) Linux:
+
+Allow ":" in OS override string (Ducrot Bruno)
+
+Kobject fix (Greg KH)
+
+
+3 iASL Compiler/Disassembler:
+
+Fixed a problem in the generation of the C source code files (AML
+is emitted in C source statements for BIOS inclusion) where the
+Ascii dump that appears within a C comment at the end of each line
+could cause a compile time error if the AML sequence happens to
+have an open comment or close comment sequence embedded.
+
+
+----------------------------------------
+24 April 2003.  Summary of changes for version 20030424.
+
+
+1) ACPI CA Core Subsystem:
+
+Support for big-endian systems has been implemented.  Most of the
+support has been invisibly added behind big-endian versions of the
+ACPI_MOVE_* macros.
+
+Fixed a problem in AcpiHwDisableGpeBlock() and
+AcpiHwClearGpeBlock() where an incorrect offset was passed to the
+low level hardware write routine.  The offset parameter was
+actually eliminated from the low level read/write routines because
+they had become obsolete.
+
+Fixed a problem where a handler object was deleted twice during
+the removal of a fixed event handler.
+
+
+2) Linux:
+
+A fix for SMP systems with link devices was contributed by
+
+Compaq's Dan Zink.
+
+(2.5) Return whether we handled the interrupt in our IRQ handler.
+(Linux ISRs no longer return void, so we can propagate the handler
+return value from the ACPI CA core back to the OS.)
+
+
+
+3) Documentation:
+
+The ACPI CA Programmer Reference has been updated to reflect new
+interfaces and changes to existing interfaces.
+
+----------------------------------------
+28 March 2003.  Summary of changes for version 20030328.
+
+1) ACPI CA Core Subsystem:
+
+The GPE Block Device support has been completed.  New interfaces
+are AcpiInstallGpeBlock and AcpiRemoveGpeBlock.  The Event
+interfaces (enable, disable, clear, getstatus) have been split
+into separate interfaces for Fixed Events and General Purpose
+Events (GPEs) in order to support GPE Block Devices properly.
+
+Fixed a problem where the error message "Failed to acquire
+semaphore" would appear during operations on the embedded
+controller (EC).
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
+    Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
+  Current Release:
+    Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
+    Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
+
+
+----------------------------------------
+28 February 2003.  Summary of changes for version 20030228.
+
+
+1) ACPI CA Core Subsystem:
+
+The GPE handling and dispatch code has been completely overhauled
+in preparation for support of GPE Block Devices (ID ACPI0006).
+This affects internal data structures and code only; there should
+be no differences visible externally.  One new file has been
+added, evgpeblk.c
+
+The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
+fields that are used to determine the GPE block lengths.  The
+REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
+structures are ignored.  This is per the ACPI specification but it
+isn't very clear.  The full 256 Block 0/1 GPEs are now supported
+(the use of REGISTER_BIT_WIDTH limited the number of GPEs to 128).
+
+In the SCI interrupt handler, removed the read of the PM1_CONTROL
+register to look at the SCI_EN bit.  On some machines, this read
+causes an SMI event and greatly slows down SCI events.  (This may
+in fact be the cause of slow battery status response on some
+systems.)
+
+Fixed a problem where a store of a NULL string to a package object
+could cause the premature deletion of the object.  This was seen
+during execution of the battery _BIF method on some systems,
+resulting in no battery data being returned.
+
+Added AcpiWalkResources interface to simplify parsing of resource
+lists.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
+    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
+  Current Release:
+    Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
+    Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
+
+
+2) Linux
+
+S3 fixes (Ole Rohne)
+
+Update ACPI PHP driver with to use new acpi_walk_resource API
+(Bjorn Helgaas)
+
+Add S4BIOS support (Pavel Machek)
+
+Map in entire table before performing checksum (John Stultz)
+
+Expand the mem= cmdline to allow the specification of reserved and
+ACPI DATA blocks (Pavel Machek)
+
+Never use ACPI on VISWS
+
+Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
+
+Revert a change that allowed P_BLK lengths to be 4 or 5. This is
+causing us to think that some systems support C2 when they really
+don't.
+
+Do not count processor objects for non-present CPUs (Thanks to
+Dominik Brodowski)
+
+
+3) iASL Compiler:
+
+Fixed a problem where ASL include files could not be found and
+opened.
+
+Added support for the _PDC reserved name.
+
+
+----------------------------------------
+22 January 2003.  Summary of changes for version 20030122.
+
+
+1) ACPI CA Core Subsystem:
+
+Added a check for constructs of the form:  Store (Local0, Local0)
+where Local0 is not initialized.  Apparently, some BIOS
+programmers believe that this is a NOOP.  Since this store doesn't
+do anything anyway, the new prototype behavior will ignore this
+error.  This is a case where we can relax the strict checking in
+the interpreter in the name of compatibility.
+
+
+2) Linux
+
+The AcpiSrc Source Conversion Utility has been released with the
+Linux package for the first time.  This is the utility that is
+used to convert the ACPI CA base source code to the Linux version.
+
+(Both) Handle P_BLK lengths shorter than 6 more gracefully
+
+(Both) Move more headers to include/acpi, and delete an unused
+header.
+
+(Both) Move drivers/acpi/include directory to include/acpi
+
+(Both) Boot functions don't use cmdline, so don't pass it around
+
+(Both) Remove include of unused header (Adrian Bunk)
+
+(Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
+the
+former now also includes the latter, acpiphp.h only needs the one,
+now.
+
+(2.5) Make it possible to select method of bios restoring after S3
+resume. [=> no more ugly ifdefs] (Pavel Machek)
+
+(2.5) Make proc write interfaces work (Pavel Machek)
+
+(2.5) Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
+
+(2.5) Break out ACPI Perf code into its own module, under cpufreq
+(Dominik Brodowski)
+
+(2.4) S4BIOS support (Ducrot Bruno)
+
+(2.4) Fix acpiphp_glue.c for latest ACPI struct changes (Sergio
+Visinoni)
+
+
+3) iASL Compiler:
+
+Added support to disassemble SSDT and PSDTs.
+
+Implemented support to obtain SSDTs from the Windows registry if
+available.
+
+
+----------------------------------------
+09 January 2003.  Summary of changes for version 20030109.
+
+1) ACPI CA Core Subsystem:
+
+Changed the behavior of the internal Buffer-to-String conversion
+function.  The current ACPI specification states that the contents
+of the buffer are "converted to a string of two-character
+hexadecimal numbers, each separated by a space".  Unfortunately,
+this definition is not backwards compatible with existing ACPI 1.0
+implementations (although the behavior was not defined in the ACPI
+1.0 specification).  The new behavior simply copies data from the
+buffer to the string until a null character is found or the end of
+the buffer is reached.  The new String object is always null
+terminated.  This problem was seen during the generation of _BIF
+battery data where incorrect strings were returned for battery
+type, etc.  This will also require an errata to the ACPI
+specification.
+
+Renamed all instances of NATIVE_UINT and NATIVE_INT to
+ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
+
+Copyright in all module headers (both Linux and non-Linux) has be
+updated to 2003.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
+    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
+  Current Release:
+    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
+    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
+
+
+2) Linux
+
+Fixed an oops on module insertion/removal (Matthew Tippett)
+
+(2.4) Fix to handle dynamic size of mp_irqs (Joerg Prante)
+
+(2.5) Replace pr_debug (Randy Dunlap)
+
+(2.5) Remove usage of CPUFREQ_ALL_CPUS (Dominik Brodowski)
+
+(Both) Eliminate spawning of thread from timer callback, in favor
+of schedule_work()
+
+(Both) Show Lid status in /proc (Zdenek OGAR Skalak)
+
+(Both) Added define for Fixed Function HW region (Matthew Wilcox)
+
+(Both) Add missing statics to button.c (Pavel Machek)
+
+Several changes have been made to the source code translation
+utility that generates the Linux Code in order to make the code
+more "Linux-like":
+
+All typedefs on structs and unions have been removed in keeping
+with the Linux coding style.
+
+Removed the non-Linux SourceSafe module revision number from each
+module header.
+
+Completed major overhaul of symbols to be lowercased for linux.
+Doubled the number of symbols that are lowercased.
+
+Fixed a problem where identifiers within procedure headers and
+within quotes were not fully lower cased (they were left with a
+starting capital.)
+
+Some C macros whose only purpose is to allow the generation of 16-
+bit code are now completely removed in the Linux code, increasing
+readability and maintainability.
+
+----------------------------------------
+
+12 December 2002.  Summary of changes for version 20021212.
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where the creation of a zero-length AML Buffer
+would cause a fault.
+
+Fixed a problem where a Buffer object that pointed to a static AML
+buffer (in an ACPI table) could inadvertently be deleted, causing
+memory corruption.
+
+Fixed a problem where a user buffer (passed in to the external
+ACPI CA interfaces) could be overwritten if the buffer was too
+small to complete the operation, causing memory corruption.
+
+Fixed a problem in the Buffer-to-String conversion code where a
+string of length one was always returned, regardless of the size
+of the input Buffer object.
+
+Removed the NATIVE_CHAR data type across the entire source due to
+lack of need and lack of consistent use.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
+    Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
+  Current Release:
+    Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
+    Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
+
+
+----------------------------------------
+05 December 2002.  Summary of changes for version 20021205.
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where a store to a String or Buffer object could
+cause corruption of the DSDT if the object type being stored was
+the same as the target object type and the length of the object
+being stored was equal to or smaller than the original (existing)
+target object.  This was seen to cause corruption of battery _BIF
+buffers if the _BIF method modified the buffer on the fly.
+
+Fixed a problem where an internal error was generated if a control
+method invocation was used in an OperationRegion, Buffer, or
+Package declaration.  This was caused by the deferred parsing of
+the control method and thus the deferred creation of the internal
+method object.  The solution to this problem was to create the
+internal method object at the moment the method is encountered in
+the first pass - so that subsequent references to the method will
+able to obtain the required parameter count and thus properly
+parse the method invocation.  This problem presented itself as an
+AE_AML_INTERNAL during the pass 1 parse phase during table load.
+
+Fixed a problem where the internal String object copy routine did
+not always allocate sufficient memory for the target String object
+and caused memory corruption.  This problem was seen to cause
+"Allocation already present in list!" errors as memory allocation
+became corrupted.
+
+Implemented a new function for the evaluation of namespace objects
+that allows the specification of the allowable return object
+types.  This simplifies a lot of code that checks for a return
+object of one or more specific objects returned from the
+evaluation (such as _STA, etc.)  This may become and external
+function if it would be useful to ACPI-related drivers.
+
+Completed another round of prefixing #defines with "ACPI_" for
+clarity.
+
+Completed additional code restructuring to allow more modular
+linking for iASL compiler and AcpiExec.  Several files were split
+creating new files.  New files:  nsparse.c dsinit.c evgpe.c
+
+Implemented an abort mechanism to terminate an executing control
+method via the AML debugger.  This feature is useful for debugging
+control methods that depend (wait) for specific hardware
+responses.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
+    Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
+  Current Release:
+    Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
+    Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
+
+
+2) iASL Compiler/Disassembler
+
+Fixed a compiler code generation problem for "Interrupt" Resource
+Descriptors.  If specified in the ASL, the optional "Resource
+Source Index" and "Resource Source" fields were not inserted into
+the correct location within the AML resource descriptor, creating
+an invalid descriptor.
+
+Fixed a disassembler problem for "Interrupt" resource descriptors.
+The optional "Resource Source Index" and "Resource Source" fields
+were ignored.
+
+
+----------------------------------------
+22 November 2002.  Summary of changes for version 20021122.
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed a reported problem where an object stored to a Method Local
+or Arg was not copied to a new object during the store - the
+object pointer was simply copied to the Local/Arg.  This caused
+all subsequent operations on the Local/Arg to also affect the
+original source of the store operation.
+
+Fixed a problem where a store operation to a Method Local or Arg
+was not completed properly if the Local/Arg contained a reference
+(from RefOf) to a named field.  The general-purpose store-to-
+namespace-node code is now used so that this case is handled
+automatically.
+
+Fixed a problem where the internal object copy routine would cause
+a protection fault if the object being copied was a Package and
+contained either 1) a NULL package element or 2) a nested sub-
+package.
+
+Fixed a problem with the GPE initialization that resulted from an
+ambiguity in the ACPI specification.  One section of the
+specification states that both the address and length of the GPE
+block must be zero if the block is not supported.  Another section
+implies that only the address need be zero if the block is not
+supported.  The code has been changed so that both the address and
+the length must be non-zero to indicate a valid GPE block (i.e.,
+if either the address or the length is zero, the GPE block is
+invalid.)
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
+    Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
+  Current Release:
+    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
+    Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
+
+
+2) Linux
+
+Cleaned up EC driver. Exported an external EC read/write
+interface. By going through this, other drivers (most notably
+sonypi) will be able to serialize access to the EC.
+
+
+3) iASL Compiler/Disassembler
+
+Implemented support to optionally generate include files for both
+ASM and C (the -i switch).  This simplifies BIOS development by
+automatically creating include files that contain external
+declarations for the symbols that are created within the
+
+(optionally generated) ASM and C AML source files.
+
+
+----------------------------------------
+15 November 2002.  Summary of changes for version 20021115.
+
+1) ACPI CA Core Subsystem:
+
+Fixed a memory leak problem where an error during resolution of
+
+method arguments during a method invocation from another method
+failed to cleanup properly by deleting all successfully resolved
+argument objects.
+
+Fixed a problem where the target of the Index() operator was not
+correctly constructed if the source object was a package.  This
+problem has not been detected because the use of a target operand
+with Index() is very rare.
+
+Fixed a problem with the Index() operator where an attempt was
+made to delete the operand objects twice.
+
+Fixed a problem where an attempt was made to delete an operand
+twice during execution of the CondRefOf() operator if the target
+did not exist.
+
+Implemented the first of perhaps several internal create object
+functions that create and initialize a specific object type.  This
+consolidates duplicated code wherever the object is created, thus
+shrinking the size of the subsystem.
+
+Implemented improved debug/error messages for errors that occur
+during nested method invocations.  All executing method pathnames
+are displayed (with the error) as the call stack is unwound - thus
+simplifying debug.
+
+Fixed a problem introduced in the 10/02 release that caused
+premature deletion of a buffer object if a buffer was used as an
+ASL operand where an integer operand is required (Thus causing an
+implicit object conversion from Buffer to Integer.)  The change in
+the 10/02 release was attempting to fix a memory leak (albeit
+incorrectly.)
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
+    Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
+  Current Release:
+    Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
+    Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
+
+
+2) Linux
+
+Changed the implementation of the ACPI semaphores to use down()
+instead of down_interruptable().  It is important that the
+execution of ACPI control methods not be interrupted by signals.
+Methods must run to completion, or the system may be left in an
+unknown/unstable state.
+
+Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not set.
+(Shawn Starr)
+
+
+3) iASL Compiler/Disassembler
+
+
+Changed the default location of output files.  All output files
+are now placed in the current directory by default instead of in
+the directory of the source file.  This change may affect some
+existing makefiles, but it brings the behavior of the compiler in
+line with other similar tools.  The location of the output files
+can be overridden with the -p command line switch.
+
+
+----------------------------------------
+11 November 2002.  Summary of changes for version 20021111.
+
+
+0) ACPI Specification 2.0B is released and is now available at:
+http://www.acpi.info/index.html
+
+
+1) ACPI CA Core Subsystem:
+
+Implemented support for the ACPI 2.0 SMBus Operation Regions.
+This includes the early detection and handoff of the request to
+the SMBus region handler (avoiding all of the complex field
+support code), and support for the bidirectional return packet
+from an SMBus write operation.  This paves the way for the
+development of SMBus drivers in each host operating system.
+
+Fixed a problem where the semaphore WAIT_FOREVER constant was
+defined as 32 bits, but must be 16 bits according to the ACPI
+specification.  This had the side effect of causing ASL
+Mutex/Event timeouts even though the ASL code requested a wait
+forever.  Changed all internal references to the ACPI timeout
+parameter to 16 bits to prevent future problems.  Changed the name
+of WAIT_FOREVER to ACPI_WAIT_FOREVER.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
+    Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
+  Current Release:
+    Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
+    Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
+
+
+2) Linux
+
+Module loading/unloading fixes (John Cagle)
+
+
+3) iASL Compiler/Disassembler
+
+Added support for the SMBBlockProcessCall keyword (ACPI 2.0)
+
+Implemented support for the disassembly of all SMBus protocol
+keywords (SMBQuick, SMBWord, etc.)
+
+----------------------------------------
+01 November 2002.  Summary of changes for version 20021101.
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where platforms that have a GPE1 block but no GPE0
+block were not handled correctly.  This resulted in a "GPE
+overlap" error message.  GPE0 is no longer required.
+
+Removed code added in the previous release that inserted nodes
+into the namespace in alphabetical order.  This caused some side-
+effects on various machines.  The root cause of the problem is
+still under investigation since in theory, the internal ordering
+of the namespace nodes should not matter.
+
+
+Enhanced error reporting for the case where a named object is not
+found during control method execution.  The full ACPI namepath
+(name reference) of the object that was not found is displayed in
+this case.
+
+Note: as a result of the overhaul of the namespace object types in
+the previous release, the namespace nodes for the predefined
+scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
+instead of ACPI_TYPE_ANY.  This simplifies the namespace
+management code but may affect code that walks the namespace tree
+looking for specific object types.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size.  Note that these values will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
+    Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
+  Current Release:
+    Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
+    Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
+
+
+2) Linux
+
+Fixed a problem introduced in the previous release where the
+Processor and Thermal objects were not recognized and installed in
+/proc.  This was related to the scope type change described above.
+
+
+3) iASL Compiler/Disassembler
+
+Implemented the -g option to get all of the required ACPI tables
+from the registry and save them to files (Windows version of the
+compiler only.)  The required tables are the FADT, FACS, and DSDT.
+
+Added ACPI table checksum validation during table disassembly in
+order to catch corrupted tables.
+
+
+----------------------------------------
+22 October 2002.  Summary of changes for version 20021022.
+
+1) ACPI CA Core Subsystem:
+
+Implemented a restriction on the Scope operator that the target
+must already exist in the namespace at the time the operator is
+encountered (during table load or method execution).  In other
+words, forward references are not allowed and Scope() cannot
+create a new object. This changes the previous behavior where the
+interpreter would create the name if not found.  This new behavior
+correctly enables the search-to-root algorithm during namespace
+lookup of the target name.  Because of this upsearch, this fixes
+the known Compaq _SB_.OKEC problem and makes both the AML
+interpreter and iASL compiler compatible with other ACPI
+implementations.
+
+Completed a major overhaul of the internal ACPI object types for
+the ACPI Namespace and the associated operand objects.  Many of
+these types had become obsolete with the introduction of the two-
+pass namespace load.  This cleanup simplifies the code and makes
+the entire namespace load mechanism much clearer and easier to
+understand.
+
+Improved debug output for tracking scope opening/closing to help
+diagnose scoping issues.  The old scope name as well as the new
+scope name are displayed.  Also improved error messages for
+problems with ASL Mutex objects and error messages for GPE
+problems.
+
+Cleaned up the namespace dump code, removed obsolete code.
+
+All string output (for all namespace/object dumps) now uses the
+common ACPI string output procedure which handles escapes properly
+and does not emit non-printable characters.
+
+Fixed some issues with constants in the 64-bit version of the
+local C library (utclib.c)
+
+
+2) Linux
+
+EC Driver:  No longer attempts to acquire the Global Lock at
+interrupt level.
+
+
+3) iASL Compiler/Disassembler
+
+Implemented ACPI 2.0B grammar change that disallows all Type 1 and
+2 opcodes outside of a control method.  This means that the
+"executable" operators (versus the "namespace" operators) cannot
+be used at the table level; they can only be used within a control
+method.
+
+Implemented the restriction on the Scope() operator where the
+target must already exist in the namespace at the time the
+operator is encountered (during ASL compilation). In other words,
+forward references are not allowed and Scope() cannot create a new
+object.  This makes the iASL compiler compatible with other ACPI
+implementations and makes the Scope() implementation adhere to the
+ACPI specification.
+
+Fixed a problem where namepath optimization for the Alias operator
+was optimizing the wrong path (of the two namepaths.)  This caused
+a "Missing alias link" error message.
+
+Fixed a problem where an "unknown reserved name" warning could be
+incorrectly generated for names like "_SB" when the trailing
+underscore is not used in the original ASL.
+
+Fixed a problem where the reserved name check did not handle
+NamePaths with multiple NameSegs correctly.  The first nameseg of
+the NamePath was examined instead of the last NameSeg.
+
+
+----------------------------------------
+
+02 October 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem version 20021002:
+
+Fixed a problem where a store/copy of a string to an existing
+string did not always set the string length properly in the String
+object.
+
+Fixed a reported problem with the ToString operator where the
+behavior was identical to the ToHexString operator instead of just
+simply converting a raw buffer to a string data type.
+
+Fixed a problem where CopyObject and the other "explicit"
+conversion operators were not updating the internal namespace node
+type as part of the store operation.
+
+Fixed a memory leak during implicit source operand conversion
+where the original object was not deleted if it was converted to a
+new object of a different type.
+
+Enhanced error messages for all problems associated with namespace
+lookups.  Common procedure generates and prints the lookup name as
+well as the formatted status.
+
+Completed implementation of a new design for the Alias support
+within the namespace.  The existing design did not handle the case
+where a new object was assigned to one of the two names due to the
+use of an explicit conversion operator, resulting in the two names
+pointing to two different objects.  The new design simply points
+the Alias name to the original name node - not to the object.
+This results in a level of indirection that must be handled in the
+name resolution mechanism.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
+    Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
+  Current Release:
+    Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
+    Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
+
+
+2) Linux
+
+Initialize thermal driver's timer before it is used. (Knut
+Neumann)
+
+Allow handling negative celsius values. (Kochi Takayoshi)
+
+Fix thermal management and make trip points. R/W (Pavel Machek)
+
+Fix /proc/acpi/sleep. (P. Christeas)
+
+IA64 fixes. (David Mosberger)
+
+Fix reversed logic in blacklist code. (Sergio Monteiro Basto)
+
+Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT. (Dominik
+Brodowski)
+
+
+3) iASL Compiler/Disassembler
+
+Clarified some warning/error messages.
+
+
+----------------------------------------
+18 September 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem version 20020918:
+
+Fixed a reported problem with reference chaining (via the Index()
+and RefOf() operators) in the ObjectType() and SizeOf() operators.
+The definition of these operators includes the dereferencing of
+all chained references to return information on the base object.
+
+Fixed a problem with stores to indexed package elements - the
+existing code would not complete the store if an "implicit
+conversion" was not performed.  In other words, if the existing
+object (package element) was to be replaced completely, the code
+didn't handle this case.
+
+Relaxed typechecking on the ASL "Scope" operator to allow the
+target name to refer to an object of type Integer, String, or
+Buffer, in addition to the scoping object types (Device,
+predefined Scopes, Processor, PowerResource, and ThermalZone.)
+This allows existing AML code that has workarounds for a bug in
+Windows to function properly.  A warning is issued, however.  This
+affects both the AML interpreter and the iASL compiler. Below is
+an example of this type of ASL code:
+
+      Name(DEB,0x00)
+      Scope(DEB)
+      {
+
+Fixed some reported problems with 64-bit integer support in the
+local implementation of C library functions (clib.c)
+
+
+2) Linux
+
+Use ACPI fix map region instead of IOAPIC region, since it is
+undefined in non-SMP.
+
+Ensure that the SCI has the proper polarity and trigger, even on
+systems that do not have an interrupt override entry in the MADT.
+
+2.5 big driver reorganization (Pat Mochel)
+
+Use early table mapping code from acpitable.c (Andi Kleen)
+
+New blacklist entries (Andi Kleen)
+
+Blacklist improvements. Split blacklist code out into a separate
+file. Move checking the blacklist to very early. Previously, we
+would use ACPI tables, and then halfway through init, check the
+blacklist -- too late. Now, it's early enough to completely fall-
+back to non-ACPI.
+
+
+3) iASL Compiler/Disassembler version 20020918:
+
+Fixed a problem where the typechecking code didn't know that an
+alias could point to a method.  In other words, aliases were not
+being dereferenced during typechecking.
+
+
+----------------------------------------
+29 August 2002.  Summary of changes for this release.
+
+1) ACPI CA Core Subsystem Version 20020829:
+
+If the target of a Scope() operator already exists, it must be an
+object type that actually opens a scope -- such as a Device,
+Method, Scope, etc.  This is a fatal runtime error.  Similar error
+check has been added to the iASL compiler also.
+
+Tightened up the namespace load to disallow multiple names in the
+same scope.  This previously was allowed if both objects were of
+the same type.  (i.e., a lookup was the same as entering a new
+name).
+
+
+2) Linux
+
+Ensure that the ACPI interrupt has the proper trigger and
+polarity.
+
+local_irq_disable is extraneous. (Matthew Wilcox)
+
+Make "acpi=off" actually do what it says, and not use the ACPI
+interpreter *or* the tables.
+
+Added arch-neutral support for parsing SLIT and SRAT tables (Kochi
+Takayoshi)
+
+
+3) iASL Compiler/Disassembler  Version 20020829:
+
+Implemented namepath optimization for name declarations.  For
+example, a declaration like "Method (\_SB_.ABCD)" would get
+optimized to "Method (ABCD)" if the declaration is within the
+\_SB_ scope.  This optimization is in addition to the named
+reference path optimization first released in the previous
+version. This would seem to complete all possible optimizations
+for namepaths within the ASL/AML.
+
+If the target of a Scope() operator already exists, it must be an
+object type that actually opens a scope -- such as a Device,
+Method, Scope, etc.
+
+Implemented a check and warning for unreachable code in the same
+block below a Return() statement.
+
+Fixed a problem where the listing file was not generated if the
+compiler aborted if the maximum error count was exceeded (200).
+
+Fixed a problem where the typechecking of method return values was
+broken.  This includes the check for a return value when the
+method is invoked as a TermArg (a return value is expected.)
+
+Fixed a reported problem where EOF conditions during a quoted
+string or comment caused a fault.
+
+
+----------------------------------------
+15 August 2002.  Summary of changes for this release.
+
+1) ACPI CA Core Subsystem Version 20020815:
+
+Fixed a reported problem where a Store to a method argument that
+contains a reference did not perform the indirect store correctly.
+This problem was created during the conversion to the new
+reference object model - the indirect store to a method argument
+code was not updated to reflect the new model.
+
+Reworked the ACPI mode change code to better conform to ACPI 2.0,
+handle corner cases, and improve code legibility (Kochi Takayoshi)
+
+Fixed a problem with the pathname parsing for the carat (^)
+prefix.  The heavy use of the carat operator by the new namepath
+optimization in the iASL compiler uncovered a problem with the AML
+interpreter handling of this prefix.  In the case where one or
+more carats precede a single nameseg, the nameseg was treated as
+standalone and the search rule (to root) was inadvertently
+applied.  This could cause both the iASL compiler and the
+interpreter to find the wrong object or to miss the error that
+should occur if the object does not exist at that exact pathname.
+
+Found and fixed the problem where the HP Pavilion DSDT would not
+load.  This was a relatively minor tweak to the table loading code
+(a problem caused by the unexpected encounter with a method
+invocation not within a control method), but it does not solve the
+overall issue of the execution of AML code at the table level.
+This investigation is still ongoing.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
+    Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
+  Current Release:
+    Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
+    Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
+
+
+2) Linux
+
+Remove redundant slab.h include (Brad Hards)
+
+Fix several bugs in thermal.c (Herbert Nachtnebel)
+
+Make CONFIG_ACPI_BOOT work properly (Pavel Machek)
+
+Change acpi_system_suspend to use updated irq functions (Pavel
+Machek)
+
+Export acpi_get_firmware_table (Matthew Wilcox)
+
+Use proper root proc entry for ACPI (Kochi Takayoshi)
+
+Fix early-boot table parsing (Bjorn Helgaas)
+
+
+3) iASL Compiler/Disassembler
+
+Reworked the compiler options to make them more consistent and to
+use two-letter options where appropriate.  We were running out of
+sensible letters.   This may break some makefiles, so check the
+current options list by invoking the compiler with no parameters.
+
+Completed the design and implementation of the ASL namepath
+optimization option for the compiler.  This option optimizes all
+references to named objects to the shortest possible path.  The
+first attempt tries to utilize a single nameseg (4 characters) and
+the "search-to-root" algorithm used by the interpreter.  If that
+cannot be used (because either the name is not in the search path
+or there is a conflict with another object with the same name),
+the pathname is optimized using the carat prefix (usually a
+shorter string than specifying the entire path from the root.)
+
+Implemented support to obtain the DSDT from the Windows registry
+(when the disassembly option is specified with no input file).
+Added this code as the implementation for AcpiOsTableOverride in
+the Windows OSL.  Migrated the 16-bit code (used in the AcpiDump
+utility) to scan memory for the DSDT to the AcpiOsTableOverride
+function in the DOS OSL to make the disassembler truly OS
+independent.
+
+Implemented a new option to disassemble and compile in one step.
+When used without an input filename, this option will grab the
+DSDT from the local machine, disassemble it, and compile it in one
+step.
+
+Added a warning message for invalid escapes (a backslash followed
+by any character other than the allowable escapes).  This catches
+the quoted string error "\_SB_" (which should be "\\_SB_" ).
+
+Also, there are numerous instances in the ACPI specification where
+this error occurs.
+
+Added a compiler option to disable all optimizations.  This is
+basically the "compatibility mode" because by using this option,
+the AML code will come out exactly the same as other ASL
+compilers.
+
+Added error messages for incorrectly ordered dependent resource
+functions.  This includes: missing EndDependentFn macro at end of
+dependent resource list, nested dependent function macros (both
+start and end), and missing StartDependentFn macro.  These are
+common errors that should be caught at compile time.
+
+Implemented _OSI support for the disassembler and compiler.  _OSI
+must be included in the namespace for proper disassembly (because
+the disassembler must know the number of arguments.)
+
+Added an "optimization" message type that is optional (off by
+default).  This message is used for all optimizations - including
+constant folding, integer optimization, and namepath optimization.
+
+----------------------------------------
+25 July 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem Version 20020725:
+
+The AML Disassembler has been enhanced to produce compilable ASL
+code and has been integrated into the iASL compiler (see below) as
+well as the single-step disassembly for the AML debugger and the
+disassembler for the AcpiDump utility.  All ACPI 2.0A opcodes,
+resource templates and macros are fully supported.  The
+disassembler has been tested on over 30 different AML files,
+producing identical AML when the resulting disassembled ASL file
+is recompiled with the same ASL compiler.
+
+Modified the Resource Manager to allow zero interrupts and zero
+dma channels during the GetCurrentResources call.  This was
+causing problems on some platforms.
+
+Added the AcpiOsRedirectOutput interface to the OSL to simplify
+output redirection for the AcpiOsPrintf and AcpiOsVprintf
+interfaces.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
+    Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
+  Current Release:
+    Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
+    Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
+
+
+2) Linux
+
+Fixed a panic in the EC driver (Dominik Brodowski)
+
+Implemented checksum of the R/XSDT itself during Linux table scan
+(Richard Schaal)
+
+
+3) iASL compiler
+
+The AML disassembler is integrated into the compiler.  The "-d"
+option invokes the disassembler  to completely disassemble an
+input AML file, producing as output a text ASL file with the
+extension ".dsl" (to avoid name collisions with existing .asl
+source files.)  A future enhancement will allow the disassembler
+to obtain the BIOS DSDT from the registry under Windows.
+
+Fixed a problem with the VendorShort and VendorLong resource
+descriptors where an invalid AML sequence was created.
+
+Implemented a fix for BufferData term in the ASL parser.  It was
+inadvertently defined twice, allowing invalid syntax to pass and
+causing reduction conflicts.
+
+Fixed a problem where the Ones opcode could get converted to a
+value of zero if "Ones" was used where a byte, word or dword value
+was expected.  The 64-bit value is now truncated to the correct
+size with the correct value.
+
+
+
+----------------------------------------
+02 July 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem Version 20020702:
+
+The Table Manager code has been restructured to add several new
+features.  Tables that are not required by the core subsystem
+(other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
+validated in any way and are returned from AcpiGetFirmwareTable if
+requested.  The AcpiOsTableOverride interface is now called for
+each table that is loaded by the subsystem in order to allow the
+host to override any table it chooses.  Previously, only the DSDT
+could be overridden.  Added one new files, tbrsdt.c and
+tbgetall.c.
+
+Fixed a problem with the conversion of internal package objects to
+external objects (when a package is returned from a control
+method.)  The return buffer length was set to zero instead of the
+proper length of the package object.
+
+Fixed a reported problem with the use of the RefOf and DeRefOf
+operators when passing reference arguments to control methods.  A
+new type of Reference object is used internally for references
+produced by the RefOf operator.
+
+Added additional error messages in the Resource Manager to explain
+AE_BAD_DATA errors when they occur during resource parsing.
+
+Split the AcpiEnableSubsystem into two primitives to enable a
+finer granularity initialization sequence.  These two calls should
+be called in this order: AcpiEnableSubsystem (flags),
+AcpiInitializeObjects (flags).  The flags parameter remains the
+same.
+
+
+2) Linux
+
+Updated the ACPI utilities module to understand the new style of
+fully resolved package objects that are now returned from the core
+subsystem.  This eliminates errors of the form:
+
+    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
+    acpi_utils-0430 [145] acpi_evaluate_reference:
+        Invalid element in package (not a device reference)
+
+The method evaluation utility uses the new buffer allocation
+scheme instead of calling AcpiEvaluate Object twice.
+
+Added support for ECDT. This allows the use of the Embedded
+
+Controller before the namespace has been fully initialized, which
+is necessary for ACPI 2.0 support, and for some laptops to
+initialize properly. (Laptops using ECDT are still rare, so only
+limited testing was performed of the added functionality.)
+
+Fixed memory leaks in the EC driver.
+
+Eliminated a brittle code structure in acpi_bus_init().
+
+Eliminated the acpi_evaluate() helper function in utils.c. It is
+no longer needed since acpi_evaluate_object can optionally
+allocate memory for the return object.
+
+Implemented fix for keyboard hang when getting battery readings on
+some systems (Stephen White)
+
+PCI IRQ routing update (Dominik Brodowski)
+
+Fix an ifdef to allow compilation on UP with LAPIC but no IOAPIC
+support
+
+----------------------------------------
+11 June 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem Version 20020611:
+
+Fixed a reported problem where constants such as Zero and One
+appearing within _PRT packages were not handled correctly within
+the resource manager code.  Originally reported against the ASL
+compiler because the code generator now optimizes integers to
+their minimal AML representation (i.e. AML constants if possible.)
+The _PRT code now handles all AML constant opcodes correctly
+(Zero, One, Ones, Revision).
+
+Fixed a problem with the Concatenate operator in the AML
+interpreter where a buffer result object was incorrectly marked as
+not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
+
+All package sub-objects are now fully resolved before they are
+returned from the external ACPI interfaces.  This means that name
+strings are resolved to object handles, and constant operators
+(Zero, One, Ones, Revision) are resolved to Integers.
+
+Implemented immediate resolution of the AML Constant opcodes
+(Zero, One, Ones, Revision) to Integer objects upon detection
+within the AML stream. This has simplified and reduced the
+generated code size of the subsystem by eliminating about 10
+switch statements for these constants (which previously were
+contained in Reference objects.)  The complicating issues are that
+the Zero opcode is used as a "placeholder" for unspecified
+optional target operands and stores to constants are defined to be
+no-ops.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
+    Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
+  Current Release:
+    Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
+    Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
+
+
+2) Linux
+
+
+Added preliminary support for obtaining _TRA data for PCI root
+bridges (Bjorn Helgaas).
+
+
+3) iASL Compiler Version X2046:
+
+Fixed a problem where the "_DDN" reserved name was defined to be a
+control method with one argument.  There are no arguments, and
+_DDN does not have to be a control method.
+
+Fixed a problem with the Linux version of the compiler where the
+source lines printed with error messages were the wrong lines.
+This turned out to be the "LF versus CR/LF" difference between
+Windows and Unix.  This appears to be the longstanding issue
+concerning listing output and error messages.
+
+Fixed a problem with the Linux version of compiler where opcode
+names within error messages were wrong.  This was caused by a
+slight difference in the output of the Flex tool on Linux versus
+Windows.
+
+Fixed a problem with the Linux compiler where the hex output files
+contained some garbage data caused by an internal buffer overrun.
+
+
+----------------------------------------
+17 May 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem Version 20020517:
+
+Implemented a workaround to an BIOS bug discovered on the HP
+OmniBook where the FADT revision number and the table size are
+inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size).  The new
+behavior is to fallback to using only the ACPI 1.0 fields of the
+FADT if the table is too small to be a ACPI 2.0 table as claimed
+by the revision number.  Although this is a BIOS bug, this is a
+case where the workaround is simple enough and with no side
+effects, so it seemed prudent to add it.  A warning message is
+issued, however.
+
+Implemented minimum size checks for the fixed-length ACPI tables -
+- the FADT and FACS, as well as consistency checks between the
+revision number and the table size.
+
+Fixed a reported problem in the table override support where the
+new table pointer was incorrectly treated as a physical address
+instead of a logical address.
+
+Eliminated the use of the AE_AML_ERROR exception and replaced it
+with more descriptive codes.
+
+Fixed a problem where an exception would occur if an ASL Field was
+defined with no named Field Units underneath it (used by some
+index fields).
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
+    Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
+  Current Release:
+    Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
+    Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
+
+
+
+2) Linux
+
+Much work done on ACPI init (MADT and PCI IRQ routing support).
+(Paul D. and Dominik Brodowski)
+
+Fix PCI IRQ-related panic on boot (Sam Revitch)
+
+Set BM_ARB_DIS when entering a sleep state (Ducrot Bruno)
+
+Fix "MHz" typo (Dominik Brodowski)
+
+Fix RTC year 2000 issue (Dominik Brodowski)
+
+Preclude multiple button proc entries (Eric Brunet)
+
+Moved arch-specific code out of include/platform/aclinux.h
+
+3) iASL Compiler Version X2044:
+
+Implemented error checking for the string used in the EISAID macro
+(Usually used in the definition of the _HID object.)  The code now
+strictly enforces the PnP format - exactly 7 characters, 3
+uppercase letters and 4 hex digits.
+
+If a raw string is used in the definition of the _HID object
+(instead of the EISAID macro), the string must contain all
+alphanumeric characters (e.g., "*PNP0011" is not allowed because
+of the asterisk.)
+
+Implemented checking for invalid use of ACPI reserved names for
+most of the name creation operators (Name, Device, Event, Mutex,
+OperationRegion, PowerResource, Processor, and ThermalZone.)
+Previously, this check was only performed for control methods.
+
+Implemented an additional check on the Name operator to emit an
+error if a reserved name that must be implemented in ASL as a
+control method is used.  We know that a reserved name must be a
+method if it is defined with input arguments.
+
+The warning emitted when a namespace object reference is not found
+during the cross reference phase has been changed into an error.
+The "External" directive should be used for names defined in other
+modules.
+
+
+4) Tools and Utilities
+
+The 16-bit tools (adump16 and aexec16) have been regenerated and
+tested.
+
+Fixed a problem with the output of both acpidump and adump16 where
+the indentation of closing parentheses and brackets was not
+
+aligned properly with the parent block.
+
+
+----------------------------------------
+03 May 2002.  Summary of changes for this release.
+
+
+1) ACPI CA Core Subsystem Version 20020503:
+
+Added support a new OSL interface that allows the host operating
+
+system software to override the DSDT found in the firmware -
+AcpiOsTableOverride.  With this interface, the OSL can examine the
+version of the firmware DSDT and replace it with a different one
+if desired.
+
+Added new external interfaces for accessing ACPI registers from
+device drivers and other system software - AcpiGetRegister and
+AcpiSetRegister.  This was simply an externalization of the
+existing AcpiHwBitRegister interfaces.
+
+Fixed a regression introduced in the previous build where the
+ASL/AML CreateField operator always returned an error,
+"destination must be a NS Node".
+
+Extended the maximum time (before failure) to successfully enable
+ACPI mode to 3 seconds.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
+    Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
+  Current Release:
+    Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
+    Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
+
+
+2) Linux
+
+Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
+free. While 3 out of 4 of our in-house systems work fine, the last
+one still hangs when testing the LAPIC timer.
+
+Renamed many files in 2.5 kernel release to omit "acpi_" from the
+name.
+
+Added warning on boot for Presario 711FR.
+
+Sleep improvements (Pavel Machek)
+
+ACPI can now be built without CONFIG_PCI enabled.
+
+IA64: Fixed memory map functions (JI Lee)
+
+
+3) iASL Compiler Version X2043:
+
+Added support to allow the compiler to be integrated into the MS
+VC++ development environment for one-button compilation of single
+files or entire projects -- with error-to-source-line mapping.
+
+Implemented support for compile-time constant folding for the
+Type3, Type4, and Type5 opcodes first defined in the ACPI 2.0
+specification.  This allows the ASL writer to use expressions
+instead of Integer/Buffer/String constants in terms that must
+evaluate to constants at compile time and will also simplify the
+emitted AML in any such sub-expressions that can be folded
+(evaluated at compile-time.)  This increases the size of the
+compiler significantly because a portion of the ACPI CA AML
+interpreter is included within the compiler in order to pre-
+evaluate constant expressions.
+
+
+Fixed a problem with the "Unicode" ASL macro that caused the
+compiler to fault.  (This macro is used in conjunction with the
+_STR reserved name.)
+
+Implemented an AML opcode optimization to use the Zero, One, and
+Ones opcodes where possible to further reduce the size of integer
+constants and thus reduce the overall size of the generated AML
+code.
+
+Implemented error checking for new reserved terms for ACPI version
+2.0A.
+
+Implemented the -qr option to display the current list of ACPI
+reserved names known to the compiler.
+
+Implemented the -qc option to display the current list of ASL
+operators that are allowed within constant expressions and can
+therefore be folded at compile time if the operands are constants.
+
+
+4) Documentation
+
+Updated the Programmer's Reference for new interfaces, data types,
+and memory allocation model options.
+
+Updated the iASL Compiler User Reference to apply new format and
+add information about new features and options.
+
+----------------------------------------
+19 April 2002.  Summary of changes for this release.
+
+1) ACPI CA Core Subsystem Version 20020419:
+
+The source code base for the Core Subsystem has been completely
+cleaned with PC-lint (FlexLint) for both 32-bit and 64-bit
+versions.  The Lint option files used are included in the
+/acpi/generate/lint directory.
+
+Implemented enhanced status/error checking across the entire
+Hardware manager subsystem.  Any hardware errors (reported from
+the OSL) are now bubbled up and will abort a running control
+method.
+
+
+Fixed a problem where the per-ACPI-table integer width (32 or 64)
+was stored only with control method nodes, causing a fault when
+non-control method code was executed during table loading.  The
+solution implemented uses a global variable to indicate table
+width across the entire ACPI subsystem.  Therefore, ACPI CA does
+not support mixed integer widths across different ACPI tables
+(DSDT, SSDT).
+
+Fixed a problem where NULL extended fields (X fields) in an ACPI
+2.0 ACPI FADT caused the table load to fail.  Although the
+existing ACPI specification is a bit fuzzy on this topic, the new
+behavior is to fall back on a ACPI 1.0 field if the corresponding
+ACPI 2.0 X field is zero (even though the table revision indicates
+a full ACPI 2.0 table.)  The ACPI specification will be updated to
+clarify this issue.
+
+Fixed a problem with the SystemMemory operation region handler
+where memory was always accessed byte-wise even if the AML-
+specified access width was larger than a byte.  This caused
+problems on systems with memory-mapped I/O.  Memory is now
+accessed with the width specified.  On systems that do not support
+non-aligned transfers, a check is made to guarantee proper address
+alignment before proceeding in order to avoid an AML-caused
+alignment fault within the kernel.
+
+
+Fixed a problem with the ExtendedIrq resource where only one byte
+of the 4-byte Irq field was extracted.
+
+Fixed the AcpiExDigitsNeeded() procedure to support _UID.  This
+function was out of date and required a rewrite.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
+    Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
+  Current Release:
+    Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
+    Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
+
+
+2) Linux
+
+PCI IRQ routing fixes (Dominik Brodowski)
+
+
+3) iASL Compiler Version X2042:
+
+Implemented an additional compile-time error check for a field
+unit whose size + minimum access width would cause a run-time
+access beyond the end-of-region.  Previously, only the field size
+itself was checked.
+
+The Core subsystem and iASL compiler now share a common parse
+object in preparation for compile-time evaluation of the type
+3/4/5 ASL operators.
+
+
+----------------------------------------
+Summary of changes for this release: 03_29_02
+
+1) ACPI CA Core Subsystem Version 20020329:
+
+Implemented support for late evaluation of TermArg operands to
+Buffer and Package objects.  This allows complex expressions to be
+used in the declarations of these object types.
+
+Fixed an ACPI 1.0 compatibility issue when reading Fields. In ACPI
+1.0, if the field was larger than 32 bits, it was returned as a
+buffer - otherwise it was returned as an integer.  In ACPI 2.0,
+the field is returned as a buffer only if the field is larger than
+64 bits.  The TableRevision is now considered when making this
+conversion to avoid incompatibility with existing ASL code.
+
+Implemented logical addressing for AcpiOsGetRootPointer.  This
+allows an RSDP with either a logical or physical address.  With
+this support, the host OS can now override all ACPI tables with
+one logical RSDP.  Includes implementation of  "typed" pointer
+support to allow a common data type for both physical and logical
+pointers internally.  This required a change to the
+AcpiOsGetRootPointer interface.
+
+Implemented the use of ACPI 2.0 Generic Address Structures for all
+GPE, Fixed Event, and PM Timer I/O.  This allows the use of memory
+mapped I/O for these ACPI features.
+
+Initialization now ignores not only non-required tables (All
+tables other than the FADT, FACS, DSDT, and SSDTs), but also does
+not validate the table headers of unrecognized tables.
+
+Fixed a problem where a notify handler could only be
+installed/removed on an object of type Device.  All "notify"
+
+objects are now supported -- Devices, Processor, Power, and
+Thermal.
+
+Removed most verbosity from the ACPI_DB_INFO debug level.  Only
+critical information is returned when this debug level is enabled.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release
+    Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
+    Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
+  Current Release:
+    Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
+    Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
+
+
+2) Linux:
+
+The processor driver (acpi_processor.c) now fully supports ACPI
+2.0-based processor performance control (e.g. Intel(R)
+SpeedStep(TM) technology) Note that older laptops that only have
+the Intel "applet" interface are not supported through this.  The
+'limit' and 'performance' interface (/proc) are fully functional.
+[Note that basic policy for controlling performance state
+transitions will be included in the next version of ospmd.]  The
+idle handler was modified to more aggressively use C2, and PIIX4
+errata handling underwent a complete overhaul (big thanks to
+Dominik Brodowski).
+
+Added support for ACPI-PCI device binding (acpi_pci_root.c). _ADR-
+based devices in the ACPI namespace are now dynamically bound
+(associated) with their PCI counterparts (e.g. PCI1->01:00.0).
+This allows, among other things, ACPI to resolve bus numbers for
+subordinate PCI bridges.
+
+Enhanced PCI IRQ routing to get the proper bus number for _PRT
+entries defined underneath PCI bridges.
+
+Added IBM 600E to bad bios list due to invalid _ADR value for
+PIIX4 PCI-ISA bridge, resulting in improper PCI IRQ routing.
+
+In the process of adding full MADT support (e.g. IOAPIC) for IA32
+(acpi.c, mpparse.c) -- stay tuned.
+
+Added back visual differentiation between fixed-feature and
+control-method buttons in dmesg.  Buttons are also subtyped (e.g.
+button/power/PWRF) to simplify button identification.
+
+We no longer use -Wno-unused when compiling debug. Please ignore
+any "_THIS_MODULE defined but not used" messages.
+
+Can now shut down the system using "magic sysrq" key.
+
+
+3) iASL Compiler version 2041:
+
+Fixed a problem where conversion errors for hex/octal/decimal
+constants were not reported.
+
+Implemented a fix for the General Register template Address field.
+This field was 8 bits when it should be 64.
+
+Fixed a problem where errors/warnings were no longer being emitted
+within the listing output file.
+
+Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
+exactly 4 characters, alphanumeric only.
+
+
+
+
+----------------------------------------
+Summary of changes for this release: 03_08_02
+
+
+1) ACPI CA Core Subsystem Version 20020308:
+
+Fixed a problem with AML Fields where the use of the "AccessAny"
+keyword could cause an interpreter error due to attempting to read
+or write beyond the end of the parent Operation Region.
+
+Fixed a problem in the SystemMemory Operation Region handler where
+an attempt was made to map memory beyond the end of the region.
+This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
+errors on some Linux systems.
+
+Fixed a problem where the interpreter/namespace "search to root"
+algorithm was not functioning for some object types.  Relaxed the
+internal restriction on the search to allow upsearches for all
+external object types as well as most internal types.
+
+
+2) Linux:
+
+We now use safe_halt() macro versus individual calls to sti | hlt.
+
+Writing to the processor limit interface should now work. "echo 1"
+will increase the limit, 2 will decrease, and 0 will reset to the
+
+default.
+
+
+3) ASL compiler:
+
+Fixed segfault on Linux version.
+
+
+----------------------------------------
+Summary of changes for this release: 02_25_02
+
+1) ACPI CA Core Subsystem:
+
+
+Fixed a problem where the GPE bit masks were not initialized
+properly, causing erratic GPE behavior.
+
+Implemented limited support for multiple calling conventions.  The
+code can be generated with either the VPL (variable parameter
+list, or "C") convention, or the FPL (fixed parameter list, or
+"Pascal") convention.  The core subsystem is about 3.4% smaller
+when generated with FPL.
+
+
+2) Linux
+
+Re-add some /proc/acpi/event functionality that was lost during
+the rewrite
+
+Resolved issue with /proc events for fixed-feature buttons showing
+up as the system device.
+
+Fixed checks on C2/C3 latencies to be inclusive of maximum values.
+
+Replaced AE_ERRORs in acpi_osl.c with more specific error codes.
+
+Changed ACPI PRT option from "pci=noacpi-routing" to "pci=noacpi"
+
+Fixed limit interface & usage to fix bugs with passive cooling
+hysterisis.
+
+Restructured PRT support.
+
+
+----------------------------------------
+Summary of changes for this label: 02_14_02
+
+
+1) ACPI CA Core Subsystem:
+
+Implemented support in AcpiLoadTable to allow loading of FACS and
+FADT tables.
+
+Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
+been removed.  All 64-bit platforms should be migrated to the ACPI
+2.0 tables.  The actbl71.h header has been removed from the source
+tree.
+
+All C macros defined within the subsystem have been prefixed with
+"ACPI_" to avoid collision with other system include files.
+
+Removed the return value for the two AcpiOsPrint interfaces, since
+it is never used and causes lint warnings for ignoring the return
+value.
+
+Added error checking to all internal mutex acquire and release
+calls.  Although a failure from one of these interfaces is
+probably a fatal system error, these checks will cause the
+immediate abort of the currently executing method or interface.
+
+Fixed a problem where the AcpiSetCurrentResources interface could
+fault.  This was a side effect of the deployment of the new memory
+allocation model.
+
+Fixed a couple of problems with the Global Lock support introduced
+in the last major build.  The "common" (1.0/2.0) internal FACS was
+being overwritten with the FACS signature and clobbering the
+Global Lock pointer.  Also, the actual firmware FACS was being
+unmapped after construction of the "common" FACS, preventing
+access to the actual Global Lock field within it.  The "common"
+internal FACS is no longer installed as an actual ACPI table; it
+is used simply as a global.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below.  These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release (02_07_01)
+    Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
+    Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
+  Current Release:
+    Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
+    Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
+
+
+2) Linux
+
+Updated Linux-specific code for core macro and OSL interface
+changes described above.
+
+Improved /proc/acpi/event. It now can be opened only once and has
+proper poll functionality.
+
+Fixed and restructured power management (acpi_bus).
+
+Only create /proc "view by type" when devices of that class exist.
+
+Fixed "charging/discharging" bug (and others) in acpi_battery.
+
+Improved thermal zone code.
+
+
+3) ASL Compiler, version X2039:
+
+
+Implemented the new compiler restriction on ASL String hex/octal
+escapes to non-null, ASCII values.  An error results if an invalid
+value is used.  (This will require an ACPI 2.0 specification
+change.)
+
+AML object labels that are output to the optional C and ASM source
+are now prefixed with both the ACPI table signature and table ID
+to help guarantee uniqueness within a large BIOS project.
+
+
+----------------------------------------
+Summary of changes for this label: 02_01_02
+
+1) ACPI CA Core Subsystem:
+
+ACPI 2.0 support is complete in the entire Core Subsystem and the
+ASL compiler. All new ACPI 2.0 operators are implemented and all
+other changes for ACPI 2.0 support are complete.  With
+simultaneous code and data optimizations throughout the subsystem,
+ACPI 2.0 support has been implemented with almost no additional
+cost in terms of code and data size.
+
+Implemented a new mechanism for allocation of return buffers.  If
+the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
+be allocated on behalf of the caller.  Consolidated all return
+buffer validation and allocation to a common procedure.  Return
+buffers will be allocated via the primary OSL allocation interface
+since it appears that a separate pool is not needed by most users.
+If a separate pool is required for these buffers, the caller can
+still use the original mechanism and pre-allocate the buffer(s).
+
+Implemented support for string operands within the DerefOf
+operator.
+
+Restructured the Hardware and Event managers to be table driven,
+simplifying the source code and reducing the amount of generated
+code.
+
+Split the common read/write low-level ACPI register bitfield
+procedure into a separate read and write, simplifying the code
+considerably.
+
+Obsoleted the AcpiOsCallocate OSL interface.  This interface was
+used only a handful of times and didn't have enough critical mass
+for a separate interface.  Replaced with a common calloc procedure
+in the core.
+
+Fixed a reported problem with the GPE number mapping mechanism
+that allows GPE1 numbers to be non-contiguous with GPE0.
+Reorganized the GPE information and shrunk a large array that was
+originally large enough to hold info for all possible GPEs (256)
+to simply large enough to hold all GPEs up to the largest GPE
+number on the machine.
+
+Fixed a reported problem with resource structure alignment on 64-
+bit platforms.
+
+Changed the AcpiEnableEvent and AcpiDisableEvent external
+interfaces to not require any flags for the common case of
+enabling/disabling a GPE.
+
+Implemented support to allow a "Notify" on a Processor object.
+
+Most TBDs in comments within the source code have been resolved
+and eliminated.
+
+
+Fixed a problem in the interpreter where a standalone parent
+prefix (^) was not handled correctly in the interpreter and
+debugger.
+
+Removed obsolete and unnecessary GPE save/restore code.
+
+Implemented Field support in the ASL Load operator.  This allows a
+table to be loaded from a named field, in addition to loading a
+table directly from an Operation Region.
+
+Implemented timeout and handle support in the external Global Lock
+interfaces.
+
+Fixed a problem in the AcpiDump utility where pathnames were no
+longer being generated correctly during the dump of named objects.
+
+Modified the AML debugger to give a full display of if/while
+predicates instead of just one AML opcode at a time.  (The
+predicate can have several nested ASL statements.)  The old method
+was confusing during single stepping.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release (12_18_01)
+     Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
+     Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
+   Current Release:
+     Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
+     Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
+
+2) Linux
+
+ Implemented fix for PIIX reverse throttling errata (Processor
+driver)
+
+Added new Limit interface (Processor and Thermal drivers)
+
+New thermal policy (Thermal driver)
+
+Many updates to /proc
+
+Battery "low" event support (Battery driver)
+
+Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers)
+
+IA32 - IA64 initialization unification, no longer experimental
+
+Menuconfig options redesigned
+
+3) ASL Compiler, version X2037:
+
+Implemented several new output features to simplify integration of
+AML code into  firmware: 1) Output the AML in C source code with
+labels for each named ASL object.  The    original ASL source code
+is interleaved as C comments. 2) Output the AML in ASM source code
+with labels and interleaved ASL    source. 3) Output the AML in
+raw hex table form, in either C or ASM.
+
+Implemented support for optional string parameters to the
+LoadTable operator.
+
+Completed support for embedded escape sequences within string
+literals.  The compiler now supports all single character escapes
+as well as the Octal and Hex escapes.  Note: the insertion of a
+null byte into a string literal (via the hex/octal escape) causes
+the string to be immediately terminated.  A warning is issued.
+
+Fixed a problem where incorrect AML was generated for the case
+where an ASL namepath consists of a single parent prefix (
+
+) with no trailing name segments.
+
+The compiler has been successfully generated with a 64-bit C
+compiler.
+
+
+
+
+----------------------------------------
+Summary of changes for this label: 12_18_01
+
+1) Linux
+
+Enhanced blacklist with reason and severity fields. Any table's
+signature may now be used to identify a blacklisted system.
+
+Call _PIC control method to inform the firmware which interrupt
+model the OS is using. Turn on any disabled link devices.
+
+Cleaned up busmgr /proc error handling (Andreas Dilger)
+
+ 2) ACPI CA Core Subsystem:
+
+Implemented ACPI 2.0 semantics for the "Break" operator (Exit from
+while loop)
+
+Completed implementation of the ACPI 2.0 "Continue",
+"ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
+operators.  All new ACPI 2.0 operators are now implemented in both
+the ASL compiler and the AML interpreter.  The only remaining ACPI
+2.0 task is support for the String data type in the DerefOf
+operator.  Fixed a problem with AcquireMutex where the status code
+was lost if the caller had to actually wait for the mutex.
+
+Increased the maximum ASL Field size from 64K bits to 4G bits.
+
+Completed implementation of the external Global Lock interfaces --
+AcpiAcquireGlobalLock and AcpiReleaseGlobalLock.  The Timeout and
+Handler parameters were added.
+
+Completed another pass at removing warnings and issues when
+compiling with 64-bit compilers.  The code now compiles cleanly
+with the Intel 64-bit C/C++ compiler.  Most notably, the pointer
+add and subtract (diff) macros have changed considerably.
+
+
+Created and deployed a new ACPI_SIZE type that is 64-bits wide on
+64-bit platforms, 32-bits on all others.  This type is used
+wherever memory allocation and/or the C sizeof() operator is used,
+and affects the OSL memory allocation interfaces AcpiOsAllocate
+and AcpiOsCallocate.
+
+Implemented sticky user breakpoints in the AML debugger.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release (12_05_01)
+     Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
+     Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
+   Current Release:
+     Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
+     Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
+
+ 3) ASL Compiler, version X2034:
+
+Now checks for (and generates an error if detected) the use of a
+Break or Continue statement without an enclosing While statement.
+
+
+Successfully generated the compiler with the Intel 64-bit C
+compiler.
+
+ ----------------------------------------
+Summary of changes for this label: 12_05_01
+
+ 1) ACPI CA Core Subsystem:
+
+The ACPI 2.0 CopyObject operator is fully implemented.  This
+operator creates a new copy of an object (and is also used to
+bypass the "implicit conversion" mechanism of the Store operator.)
+
+The ACPI 2.0 semantics for the SizeOf operator are fully
+implemented.  The change is that performing a SizeOf on a
+reference object causes an automatic dereference of the object to
+tha actual value before the size is evaluated. This behavior was
+undefined in ACPI 1.0.
+
+The ACPI 2.0 semantics for the Extended IRQ resource descriptor
+have been implemented.  The interrupt polarity and mode are now
+independently set.
+
+Fixed a problem where ASL Constants (Zero, One, Ones, Revision)
+appearing in Package objects were not properly converted to
+integers when the internal Package was converted to an external
+object (via the AcpiEvaluateObject interface.)
+
+Fixed a problem with the namespace object deletion mechanism for
+objects created by control methods.  There were two parts to this
+problem: 1) Objects created during the initialization phase method
+parse were not being deleted, and 2) The object owner ID mechanism
+to track objects was broken.
+
+Fixed a problem where the use of the ASL Scope operator within a
+control method would result in an invalid opcode exception.
+
+Fixed a problem introduced in the previous label where the buffer
+length required for the _PRT structure was not being returned
+correctly.
+
+Code and Data Size: Current core subsystem library sizes are shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code.  The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Previous Release (11_20_01)
+     Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
+     Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
+
+  Current Release:
+     Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
+     Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
+
+ 2) Linux:
+
+Updated all files to apply cleanly against 2.4.16.
+
+Added basic PCI Interrupt Routing Table (PRT) support for IA32
+(acpi_pci.c), and unified the PRT code for IA32 and IA64.  This
+version supports both static and dyanmic PRT entries, but dynamic
+entries are treated as if they were static (not yet
+reconfigurable).  Architecture- specific code to use this data is
+absent on IA32 but should be available shortly.
+
+Changed the initialization sequence to start the ACPI interpreter
+(acpi_init) prior to initialization of the PCI driver (pci_init)
+in init/main.c.  This ordering is required to support PRT and
+facilitate other (future) enhancement.  A side effect is that the
+ACPI bus driver and certain device drivers can no longer be loaded
+as modules.
+
+Modified the 'make menuconfig' options to allow PCI Interrupt
+Routing support to be included without the ACPI Bus and other
+device drivers.
+
+ 3) ASL Compiler, version X2033:
+
+Fixed some issues with the use of the new CopyObject and
+DataTableRegion operators.  Both are fully functional.
+
+ ----------------------------------------
+Summary of changes for this label: 11_20_01
+
+ 20 November 2001.  Summary of changes for this release.
+
+ 1) ACPI CA Core Subsystem:
+
+Updated Index support to match ACPI 2.0 semantics.  Storing a
+Integer, String, or Buffer to an Index of a Buffer will store only
+the least-significant byte of the source to the Indexed buffer
+byte.  Multiple writes are not performed.
+
+Fixed a problem where the access type used in an AccessAs ASL
+operator was not recorded correctly into the field object.
+
+Fixed a problem where ASL Event objects were created in a
+signalled state. Events are now created in an unsignalled state.
+
+The internal object cache is now purged after table loading and
+initialization to reduce the use of dynamic kernel memory -- on
+the assumption that object use is greatest during the parse phase
+of the entire table (versus the run-time use of individual control
+methods.)
+
+ACPI 2.0 variable-length packages are now fully operational.
+
+Code and Data Size: Code and Data optimizations have permitted new
+feature development with an actual reduction in the library size.
+Current core subsystem library sizes are shown below.  These are
+the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not include
+any ACPI driver or OSPM code.  The debug version of the code
+includes the debug output trace mechanism and has a larger code
+and data size.  Note that these values will vary depending on the
+efficiency of the compiler and the compiler options used during
+generation.
+
+  Previous Release (11_09_01):
+     Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
+     Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
+
+  Current Release:
+     Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
+     Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
+
+ 2) Linux:
+
+Enhanced the ACPI boot-time initialization code to allow the use
+of Local APIC tables for processor enumeration on IA-32, and to
+pave the way for a fully MPS-free boot (on SMP systems) in the
+near future.  This functionality replaces
+arch/i386/kernel/acpitables.c, which was introduced in an earlier
+2.4.15-preX release.  To enable this feature you must add
+"acpi_boot=on" to the kernel command line -- see the help entry
+for CONFIG_ACPI_BOOT for more information.  An IA-64 release is in
+the works...
+
+Restructured the configuration options to allow boot-time table
+parsing support without inclusion of the ACPI Interpreter (and
+other) code.
+
+NOTE: This release does not include fixes for the reported events,
+power-down, and thermal passive cooling issues (coming soon).
+
+ 3) ASL Compiler:
+
+Added additional typechecking for Fields within restricted access
+Operation Regions.  All fields within EC and CMOS regions must be
+declared with ByteAcc. All fields withing SMBus regions must be
+declared with the BufferAcc access type.
+
+Fixed a problem where the listing file output of control methods
+no longer interleaved the actual AML code with the ASL source
+code.
+
+
+
+
+----------------------------------------
+Summary of changes for this label: 11_09_01
+
+1) ACPI CA Core Subsystem:
+
+Implemented ACPI 2.0-defined support for writes to fields with a
+Buffer, String, or Integer source operand that is smaller than the
+target field. In these cases, the source operand is zero-extended
+to fill the target field.
+
+Fixed a problem where a Field starting bit offset (within the
+parent operation region) was calculated incorrectly if the
+
+alignment of the field differed from the access width.  This
+affected CreateWordField, CreateDwordField, CreateQwordField, and
+possibly other fields that use the "AccessAny" keyword.
+
+Fixed a problem introduced in the 11_02_01 release where indirect
+stores through method arguments did not operate correctly.
+
+2) Linux:
+
+Implemented boot-time ACPI table parsing support
+(CONFIG_ACPI_BOOT) for IA32 and IA64 UP/SMP systems.  This code
+facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
+legacy BIOS interfaces (e.g. MPS) for the configuration of system
+processors, memory, and interrupts during setup_arch().  Note that
+this patch does not include the required architecture-specific
+changes required to apply this information -- subsequent patches
+will be posted for both IA32 and IA64 to achieve this.
+
+Added low-level sleep support for IA32 platforms, courtesy of Pat
+Mochel. This allows IA32 systems to transition to/from various
+sleeping states (e.g. S1, S3), although the lack of a centralized
+driver model and power-manageable drivers will prevent its
+(successful) use on most systems.
+
+Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
+submenu, unified IA32 and IA64 options, added new "Boot using ACPI
+tables" option, etc.
+
+Increased the default timeout for the EC driver from 1ms to 10ms
+(1000 cycles of 10us) to try to address AE_TIME errors during EC
+transactions.
+
+ ----------------------------------------
+Summary of changes for this label: 11_02_01
+
+1) ACPI CA Core Subsystem:
+
+ACPI 2.0 Support: Implemented ACPI 2.0 64-bit Field access
+(QWordAcc keyword). All ACPI 2.0 64-bit support is now
+implemented.
+
+OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
+changes to support ACPI 2.0 Qword field access.  Read/Write
+PciConfiguration(), Read/Write Memory(), and Read/Write Port() now
+accept an ACPI_INTEGER (64 bits) as the value parameter.  Also,
+the value parameter for the address space handler interface is now
+an ACPI_INTEGER.  OSL implementations of these interfaces must now
+handle the case where the Width parameter is 64.
+
+Index Fields: Fixed a problem where unaligned bit assembly and
+disassembly for IndexFields was not supported correctly.
+
+Index and Bank Fields:  Nested Index and Bank Fields are now
+supported. During field access, a check is performed to ensure
+that the value written to an Index or Bank register is not out of
+the range of the register.  The Index (or Bank) register is
+written before each access to the field data. Future support will
+include allowing individual IndexFields to be wider than the
+DataRegister width.
+
+Fields: Fixed a problem where the AML interpreter was incorrectly
+attempting to write beyond the end of a Field/OpRegion.  This was
+a boundary case that occurred when a DWORD field was written to a
+BYTE access OpRegion, forcing multiple writes and causing the
+interpreter to write one datum too many.
+
+Fields: Fixed a problem with Field/OpRegion access where the
+starting bit address of a field was incorrectly calculated if the
+current access type was wider than a byte (WordAcc, DwordAcc, or
+QwordAcc).
+
+Fields: Fixed a problem where forward references to individual
+FieldUnits (individual Field names within a Field definition) were
+not resolved during the AML table load.
+
+Fields: Fixed a problem where forward references from a Field
+definition to the parent Operation Region definition were not
+resolved during the AML table load.
+
+Fields: Duplicate FieldUnit names within a scope are now detected
+during AML table load.
+
+Acpi Interfaces: Fixed a problem where the AcpiGetName() interface
+returned an incorrect name for the root node.
+
+Code and Data Size: Code and Data optimizations have permitted new
+feature development with an actual reduction in the library size.
+Current core subsystem library sizes are shown below.  These are
+the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not include
+any ACPI driver or OSPM code.  The debug version of the code
+includes the debug output trace mechanism and has a larger code
+and data size.  Note that these values will vary depending on the
+efficiency of the compiler and the compiler options used during
+generation.
+
+  Previous Release (10_18_01):
+     Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
+     Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
+
+  Current Release:
+     Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
+     Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
+
+ 2) Linux:
+
+Improved /proc processor output (Pavel Machek) Re-added
+MODULE_LICENSE("GPL") to all modules.
+
+ 3) ASL Compiler version X2030:
+
+Duplicate FieldUnit names within a scope are now detected and
+flagged as errors.
+
+ 4) Documentation:
+
+Programmer Reference updated to reflect OSL and address space
+handler interface changes described above.
+
+----------------------------------------
+Summary of changes for this label: 10_18_01
+
+ACPI CA Core Subsystem:
+
+Fixed a problem with the internal object reference count mechanism
+that occasionally caused premature object deletion. This resolves
+all of the outstanding problem reports where an object is deleted
+in the middle of an interpreter evaluation.  Although this problem
+only showed up in rather obscure cases, the solution to the
+problem involved an adjustment of all reference counts involving
+objects attached to namespace nodes.
+
+Fixed a problem with Field support in the interpreter where
+writing to an aligned field whose length is an exact multiple (2
+or greater) of the field access granularity would cause an attempt
+to write beyond the end of the field.
+
+The top level AML opcode execution functions within the
+interpreter have been renamed with a more meaningful and
+consistent naming convention.  The modules exmonad.c and
+exdyadic.c were eliminated.  New modules are exoparg1.c,
+exoparg2.c, exoparg3.c, and exoparg6.c.
+
+Support for the ACPI 2.0 "Mid" ASL operator has been implemented.
+
+Fixed a problem where the AML debugger was causing some internal
+objects to not be deleted during subsystem termination.
+
+Fixed a problem with the external AcpiEvaluateObject interface
+where the subsystem would fault if the named object to be
+evaluated refered to a constant such as Zero, Ones, etc.
+
+Fixed a problem with IndexFields and BankFields where the
+subsystem would fault if the index, data, or bank registers were
+not defined in the same scope as the field itself.
+
+Added printf format string checking for compilers that support
+this feature.  Corrected more than 50 instances of issues with
+format specifiers within invocations of ACPI_DEBUG_PRINT
+throughout the core subsystem code.
+
+The ASL "Revision" operator now returns the ACPI support level
+implemented in the core - the value "2" since the ACPI 2.0 support
+is more than 50% implemented.
+
+Enhanced the output of the AML debugger "dump namespace" command
+to output in a more human-readable form.
+
+Current core subsystem library code sizes are shown below.  These
+
+are the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not include
+any ACPI driver or OSPM code.  The debug version of the code
+includes the full debug trace mechanism -- leading to a much
+
+larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+     Previous Label (09_20_01):
+     Non-Debug Version:    65K Code,     5K Data,     70K Total
+     Debug Version:       138K Code,    58K Data,    196K Total
+
+     This Label:
+
+     Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
+     Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
+
+Linux:
+
+Implemented a "Bad BIOS Blacklist" to track machines that have
+known ASL/AML problems.
+
+Enhanced the /proc interface for the thermal zone driver and added
+support for _HOT (the critical suspend trip point).  The 'info'
+file now includes threshold/policy information, and allows setting
+of _SCP (cooling preference) and _TZP (polling frequency) values
+to the 'info' file. Examples: "echo tzp=5 > info" sets the polling
+frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
+preference to the passive/quiet mode (if supported by the ASL).
+
+Implemented a workaround for a gcc bug that resuted in an OOPs
+when loading the control method battery driver.
+
+ ----------------------------------------
+Summary of changes for this label: 09_20_01
+
+ ACPI CA Core Subsystem:
+
+The AcpiEnableEvent and AcpiDisableEvent interfaces have been
+modified to allow individual GPE levels to be flagged as wake-
+enabled (i.e., these GPEs are to remain enabled when the platform
+sleeps.)
+
+The AcpiEnterSleepState and AcpiLeaveSleepState interfaces now
+support wake-enabled GPEs.  This means that upon entering the
+sleep state, all GPEs that are not wake-enabled are disabled.
+When leaving the sleep state, these GPEs are reenabled.
+
+A local double-precision divide/modulo module has been added to
+enhance portability to OS kernels where a 64-bit math library is
+not available.  The new module is "utmath.c".
+
+Several optimizations have been made to reduce the use of CPU
+stack.  Originally over 2K, the maximum stack usage is now below
+2K at 1860  bytes (1.82k)
+
+Fixed a problem with the AcpiGetFirmwareTable interface where the
+root table pointer was not mapped into a logical address properly.
+
+Fixed a problem where a NULL pointer was being dereferenced in the
+interpreter code for the ASL Notify operator.
+
+Fixed a problem where the use of the ASL Revision operator
+returned an error. This operator now returns the current version
+of the ACPI CA core subsystem.
+
+Fixed a problem where objects passed as control method parameters
+to AcpiEvaluateObject were always deleted at method termination.
+However, these objects may end up being stored into the namespace
+by the called method.  The object reference count mechanism was
+applied to these objects instead of a force delete.
+
+Fixed a problem where static strings or buffers (contained in the
+AML code) that are declared as package elements within the ASL
+code could cause a fault because the interpreter would attempt to
+delete them.  These objects are now marked with the "static
+object" flag to prevent any attempt to delete them.
+
+Implemented an interpreter optimization to use operands directly
+from the state object instead of extracting the operands to local
+variables.  This reduces stack use and code size, and improves
+performance.
+
+The module exxface.c was eliminated as it was an unnecessary extra
+layer of code.
+
+Current core subsystem library code sizes are shown below.  These
+are the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not include
+any ACPI driver or OSPM code.  The debug version of the code
+includes the full debug trace mechanism -- leading to a much
+larger code and data size.  Note that these values will vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
+
+  Non-Debug Version:  65K Code,   5K Data,   70K Total
+(Previously 69K)   Debug Version:     138K Code,  58K Data,  196K
+Total  (Previously 195K)
+
+Linux:
+
+Support for ACPI 2.0 64-bit integers has been added.   All ACPI
+Integer objects are now 64 bits wide
+
+All Acpi data types and structures are now in lower case.  Only
+Acpi macros are upper case for differentiation.
+
+ Documentation:
+
+Changes to the external interfaces as described above.
+
+ ----------------------------------------
+Summary of changes for this label: 08_31_01
+
+ ACPI CA Core Subsystem:
+
+A bug with interpreter implementation of the ASL Divide operator
+was found and fixed.  The implicit function return value (not the
+explicit store operands) was returning the remainder instead of
+the quotient.  This was a longstanding bug and it fixes several
+known outstanding issues on various platforms.
+
+The ACPI_DEBUG_PRINT and function trace entry/exit macros have
+been further optimized for size.  There are 700 invocations of the
+DEBUG_PRINT macro alone, so each optimization reduces the size of
+the debug version of the subsystem significantly.
+
+A stack trace mechanism has been implemented.  The maximum stack
+usage is about 2K on 32-bit platforms.  The debugger command "stat
+stack" will display the current maximum stack usage.
+
+All public symbols and global variables within the subsystem are
+now prefixed with the string "Acpi".  This keeps all of the
+symbols grouped together in a kernel map, and avoids conflicts
+with other kernel subsystems.
+
+Most of the internal fixed lookup tables have been moved into the
+code segment via the const operator.
+
+Several enhancements have been made to the interpreter to both
+reduce the code size and improve performance.
+
+Current core subsystem library code sizes are shown below.  These
+are the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not include
+any ACPI driver or OSPM code.  The debug version of the code
+includes the full debug trace mechanism which contains over 700
+invocations of the DEBUG_PRINT macro, 500 function entry macro
+invocations, and over 900 function exit macro invocations --
+leading to a much larger code and data size.  Note that these
+values will vary depending on the efficiency of the compiler and
+the compiler options used during generation.
+
+        Non-Debug Version:  64K Code,   5K Data,   69K Total
+Debug Version:     137K Code,  58K Data,  195K Total
+
+ Linux:
+
+Implemented wbinvd() macro, pending a kernel-wide definition.
+
+Fixed /proc/acpi/event to handle poll() and short reads.
+
+ ASL Compiler, version X2026:
+
+Fixed a problem introduced in the previous label where the AML
+
+code emitted for package objects produced packages with zero
+length.
+
+ ----------------------------------------
+Summary of changes for this label: 08_16_01
+
+ACPI CA Core Subsystem:
+
+The following ACPI 2.0 ASL operators have been implemented in the
+AML interpreter (These are already supported by the Intel ASL
+compiler):  ToDecimalString, ToHexString, ToString, ToInteger, and
+ToBuffer.  Support for 64-bit AML constants is implemented in the
+AML parser, debugger, and disassembler.
+
+The internal memory tracking mechanism (leak detection code) has
+been upgraded to reduce the memory overhead (a separate tracking
+block is no longer allocated for each memory allocation), and now
+supports all of the internal object caches.
+
+The data structures and code for the internal object caches have
+been coelesced and optimized so that there is a single cache and
+memory list data structure and a single group of functions that
+implement generic cache management.  This has reduced the code
+size in both the debug and release versions of the subsystem.
+
+The DEBUG_PRINT macro(s) have been optimized for size and replaced
+by ACPI_DEBUG_PRINT.  The syntax for this macro is slightly
+different, because it generates a single call to an internal
+function.  This results in a savings of about 90 bytes per
+invocation, resulting in an overall code and data savings of about
+16% in the debug version of the subsystem.
+
+ Linux:
+
+Fixed C3 disk corruption problems and re-enabled C3 on supporting
+machines.
+
+Integrated low-level sleep code by Patrick Mochel.
+
+Further tweaked source code Linuxization.
+
+Other minor fixes.
+
+ ASL Compiler:
+
+Support for ACPI 2.0 variable length packages is fixed/completed.
+
+Fixed a problem where the optional length parameter for the ACPI
+2.0 ToString operator.
+
+Fixed multiple extraneous error messages when a syntax error is
+detected within the declaration line of a control method.
+
+ ----------------------------------------
+Summary of changes for this label: 07_17_01
+
+ACPI CA Core Subsystem:
+
+Added a new interface named AcpiGetFirmwareTable to obtain any
+ACPI table via the ACPI signature.  The interface can be called at
+any time during kernel initialization, even before the kernel
+virtual memory manager is initialized and paging is enabled.  This
+allows kernel subsystems to obtain ACPI tables very early, even
+before the ACPI CA subsystem is initialized.
+
+Fixed a problem where Fields defined with the AnyAcc attribute
+could be resolved to the incorrect address under the following
+conditions: 1) the field width is larger than 8 bits and 2) the
+parent operation region is not defined on a DWORD boundary.
+
+Fixed a problem where the interpreter is not being locked during
+namespace initialization (during execution of the _INI control
+methods), causing an error when an attempt is made to release it
+later.
+
+ACPI 2.0 support in the AML Interpreter has begun and will be
+ongoing throughout the rest of this year.  In this label, The Mod
+operator is implemented.
+
+Added a new data type to contain full PCI addresses named
+ACPI_PCI_ID. This structure contains the PCI Segment, Bus, Device,
+and Function values.
+
+ Linux:
+
+Enhanced the Linux version of the source code to change most
+capitalized ACPI type names to lowercase. For example, all
+instances of ACPI_STATUS are changed to acpi_status.  This will
+result in a large diff, but the change is strictly cosmetic and
+aligns the CA code closer to the Linux coding standard.
+
+OSL Interfaces:
+
+The interfaces to the PCI configuration space have been changed to
+add the PCI Segment number and to split the single 32-bit combined
+DeviceFunction field into two 16-bit fields.  This was
+accomplished by moving the four values that define an address in
+PCI configuration space (segment, bus, device, and function) to
+the new ACPI_PCI_ID structure.
+
+The changes to the PCI configuration space interfaces led to a
+reexamination of the complete set of address space access
+interfaces for PCI, I/O, and Memory.  The previously existing 18
+interfaces have proven difficult to maintain (any small change
+must be propagated across at least 6 interfaces) and do not easily
+allow for future expansion to 64 bits if necessary.  Also, on some
+systems, it would not be appropriate to demultiplex the access
+width (8, 16, 32,or 64) before calling the OSL if the
+corresponding native OS interfaces contain a similar access width
+parameter.  For these reasons, the 18 address space interfaces
+have been replaced by these 6 new ones:
+
+AcpiOsReadPciConfiguration
+AcpiOsWritePciConfiguration
+AcpiOsReadMemory
+AcpiOsWriteMemory
+AcpiOsReadPort
+AcpiOsWritePort
+
+Added a new interface named AcpiOsGetRootPointer to allow the OSL
+to perform the platform and/or OS-specific actions necessary to
+obtain the ACPI RSDP table pointer.  On IA-32 platforms, this
+interface will simply call down to the CA core to perform the low-
+memory search for the table.  On IA-64, the RSDP is obtained from
+EFI.  Migrating this interface to the OSL allows the CA core to
+
+remain OS and platform independent.
+
+Added a new interface named AcpiOsSignal to provide a generic
+"function code and pointer" interface for various miscellaneous
+signals and notifications that must be made to the host OS.   The
+first such signals are intended to support the ASL Fatal and
+Breakpoint operators.  In the latter case, the AcpiOsBreakpoint
+interface has been obsoleted.
+
+The definition of the AcpiFormatException interface has been
+changed to simplify its use.  The caller no longer must supply a
+buffer to the call; A pointer to a const string is now returned
+directly.  This allows the call to be easily used in printf
+statements, etc. since the caller does not have to manage a local
+buffer.
+
+
+ ASL Compiler, Version X2025:
+
+The ACPI 2.0 Switch/Case/Default operators have been implemented
+and are fully functional.  They will work with all ACPI 1.0
+interpreters, since the operators are simply translated to If/Else
+pairs.
+
+The ACPI 2.0 ElseIf operator is implemented and will also work
+with 1.0 interpreters, for the same reason.
+
+Implemented support for ACPI 2.0 variable-length packages.  These
+packages have a separate opcode, and their size is determined by
+the interpreter at run-time.
+
+Documentation The ACPI CA Programmer Reference has been updated to
+reflect the new interfaces and changes to existing interfaces.
+
+ ------------------------------------------
+Summary of changes for this label: 06_15_01
+
+ ACPI CA Core Subsystem:
+
+Fixed a problem where a DWORD-accessed field within a Buffer
+object would get its byte address inadvertently rounded down to
+the nearest DWORD.  Buffers are always Byte-accessible.
+
+ ASL Compiler, version X2024:
+
+Fixed a problem where the Switch() operator would either fault or
+hang the compiler.  Note however, that the AML code for this ACPI
+2.0 operator is not yet implemented.
+
+Compiler uses the new AcpiOsGetTimer interface to obtain compile
+timings.
+
+Implementation of the CreateField operator automatically converts
+a reference to a named field within a resource descriptor from a
+byte offset to a bit offset if required.
+
+Added some missing named fields from the resource descriptor
+support. These are the names that are automatically created by the
+compiler to reference fields within a descriptor.  They are only
+valid at compile time and are not passed through to the AML
+interpreter.
+
+Resource descriptor named fields are now typed as Integers and
+subject to compile-time typechecking when used in expressions.
+
+ ------------------------------------------
+Summary of changes for this label: 05_18_01
+
+ ACPI CA Core Subsystem:
+
+Fixed a couple of problems in the Field support code where bits
+from adjacent fields could be returned along with the proper field
+bits. Restructured the field support code to improve performance,
+readability and maintainability.
+
+New DEBUG_PRINTP macro automatically inserts the procedure name
+into the output, saving hundreds of copies of procedure name
+strings within the source, shrinking the memory footprint of the
+debug version of the core subsystem.
+
+ Source Code Structure:
+
+The source code directory tree was restructured to reflect the
+current organization of the component architecture.  Some files
+and directories have been moved and/or renamed.
+
+ Linux:
+
+Fixed leaking kacpidpc processes.
+
+Fixed queueing event data even when /proc/acpi/event is not
+opened.
+
+ ASL Compiler, version X2020:
+
+Memory allocation performance enhancement - over 24X compile time
+improvement on large ASL files.  Parse nodes and namestring
+buffers are now allocated from a large internal compiler buffer.
+
+The temporary .SRC file is deleted unless the "-s" option is
+specified
+
+The "-d" debug output option now sends all output to the .DBG file
+instead of the console.
+
+"External" second parameter is now optional
+
+"ElseIf" syntax now properly allows the predicate
+
+Last operand to "Load" now recognized as a Target operand
+
+Debug object can now be used anywhere as a normal object.
+
+ResourceTemplate now returns an object of type BUFFER
+
+EISAID now returns an object of type INTEGER
+
+"Index" now works with a STRING operand
+
+"LoadTable" now accepts optional parameters
+
+"ToString" length parameter is now optional
+
+"Interrupt (ResourceType," parse error fixed.
+
+"Register" with a user-defined region space parse error fixed
+
+Escaped backslash at the end of a string ("\\") scan/parse error
+fixed
+
+"Revision" is now an object of type INTEGER.
+
+
+
+------------------------------------------
+Summary of changes for this label: 05_02_01
+
+Linux:
+
+/proc/acpi/event now blocks properly.
+
+Removed /proc/sys/acpi. You can still dump your DSDT from
+/proc/acpi/dsdt.
+
+ ACPI CA Core Subsystem:
+
+Fixed a problem introduced in the previous label where some of the
+"small" resource descriptor types were not recognized.
+
+Improved error messages for the case where an ASL Field is outside
+the range of the parent operation region.
+
+ ASL Compiler, version X2018:
+
+
+Added error detection for ASL Fields that extend beyond the length
+of the parent operation region (only if the length of the region
+is known at compile time.)  This includes fields that have a
+minimum access width that is smaller than the parent region, and
+individual field units that are partially or entirely beyond the
+extent of the parent.
+
+
+
+------------------------------------------
+Summary of changes for this label: 04_27_01
+
+ ACPI CA Core Subsystem:
+
+Fixed a problem where the namespace mutex could be released at the
+wrong time during execution of AcpiRemoveAddressSpaceHandler.
+
+Added optional thread ID output for debug traces, to simplify
+debugging of multiple threads.  Added context switch notification
+when the debug code realizes that a different thread is now
+executing ACPI code.
+
+Some additional external data types have been prefixed with the
+string "ACPI_" for consistency.  This may effect existing code.
+The data types affected are the external callback typedefs - e.g.,
+
+WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
+
+ Linux:
+
+Fixed an issue with the OSL semaphore implementation where a
+thread was waking up with an error from receiving a SIGCHLD
+signal.
+
+Linux version of ACPI CA now uses the system C library for string
+manipulation routines instead of a local implementation.
+
+Cleaned up comments and removed TBDs.
+
+ ASL Compiler, version X2017:
+
+Enhanced error detection and reporting for all file I/O
+operations.
+
+ Documentation:
+
+Programmer Reference updated to version 1.06.
+
+
+
+------------------------------------------
+Summary of changes for this label: 04_13_01
+
+ ACPI CA Core Subsystem:
+
+Restructured support for BufferFields and RegionFields.
+BankFields support is now fully operational.  All known 32-bit
+limitations on field sizes have been removed.  Both BufferFields
+and (Operation) RegionFields are now supported by the same field
+management code.
+
+Resource support now supports QWORD address and IO resources. The
+16/32/64 bit address structures and the Extended IRQ structure
+have been changed to properly handle Source Resource strings.
+
+A ThreadId of -1 is now used to indicate a "mutex not acquired"
+condition internally and must never be returned by AcpiOsThreadId.
+This reserved value was changed from 0 since Unix systems allow a
+thread ID of 0.
+
+Linux:
+
+Driver code reorganized to enhance portability
+
+Added a kernel configuration option to control ACPI_DEBUG
+
+Fixed the EC driver to honor _GLK.
+
+ASL Compiler, version X2016:
+
+Fixed support for the "FixedHw" keyword.  Previously, the FixedHw
+address space was set to 0, not 0x7f as it should be.
+
+ ------------------------------------------
+Summary of changes for this label: 03_13_01
+
+ ACPI CA Core Subsystem:
+
+During ACPI initialization, the _SB_._INI method is now run if
+present.
+
+Notify handler fix - notifies are deferred until the parent method
+completes execution.  This fixes the "mutex already acquired"
+issue seen occasionally.
+
+Part of the "implicit conversion" rules in ACPI 2.0 have been
+found to cause compatibility problems with existing ASL/AML.  The
+convert "result-to-target-type" implementation has been removed
+for stores to method Args and Locals.  Source operand conversion
+is still fully implemented.  Possible changes to ACPI 2.0
+specification pending.
+
+Fix to AcpiRsCalculatePciRoutingTableLength to return correct
+length.
+
+Fix for compiler warnings for 64-bit compiles.
+
+ Linux:
+
+/proc output aligned for easier parsing.
+
+Release-version compile problem fixed.
+
+New kernel configuration options documented in Configure.help.
+
+IBM 600E - Fixed Sleep button may generate "Invalid <NULL>
+context" message.
+
+ OSPM:
+
+Power resource driver integrated with bus manager.
+
+Fixed kernel fault during active cooling for thermal zones.
+
+Source Code:
+
+The source code tree has been restructured.
+
+
+
+------------------------------------------
+Summary of changes for this label: 03_02_01
+
+ Linux OS Services Layer (OSL):
+
+Major revision of all Linux-specific code.
+
+Modularized all ACPI-specific drivers.
+
+Added new thermal zone and power resource drivers.
+
+Revamped /proc interface (new functionality is under /proc/acpi).
+
+New kernel configuration options.
+
+ Linux known issues:
+
+New kernel configuration options not documented in Configure.help
+yet.
+
+
+Module dependencies not currently implemented. If used, they
+should be loaded in this order: busmgr, power, ec, system,
+processor, battery, ac_adapter, button, thermal.
+
+Modules will not load if CONFIG_MODVERSION is set.
+
+IBM 600E - entering S5 may reboot instead of shutting down.
+
+IBM 600E - Sleep button may generate "Invalid <NULL> context"
+message.
+
+Some systems may fail with "execution mutex already acquired"
+message.
+
+ ACPI CA Core Subsystem:
+
+Added a new OSL Interface, AcpiOsGetThreadId.  This was required
+for the  deadlock detection code. Defined to return a non-zero, 32-
+bit thread ID for the currently executing thread.  May be a non-
+zero constant integer on single-thread systems.
+
+Implemented deadlock detection for internal subsystem mutexes.  We
+may add conditional compilation for this code (debug only) later.
+
+ASL/AML Mutex object semantics are now fully supported.  This
+includes multiple acquires/releases by owner and support for the
+
+Mutex SyncLevel parameter.
+
+A new "Force Release" mechanism automatically frees all ASL
+Mutexes that have been acquired but not released when a thread
+exits the interpreter.  This forces conformance to the ACPI spec
+("All mutexes must be released when an invocation exits") and
+prevents deadlocked ASL threads.  This mechanism can be expanded
+(later) to monitor other resource acquisitions if OEM ASL code
+continues to misbehave (which it will).
+
+Several new ACPI exception codes have been added for the Mutex
+support.
+
+Recursive method calls are now allowed and supported (the ACPI
+spec does in fact allow recursive method calls.)  The number of
+recursive calls is subject to the restrictions imposed by the
+SERIALIZED method keyword and SyncLevel (ACPI 2.0) method
+parameter.
+
+Implemented support for the SyncLevel parameter for control
+methods (ACPI 2.0 feature)
+
+Fixed a deadlock problem when multiple threads attempted to use
+the interpreter.
+
+Fixed a problem where the string length of a String package
+element was not always set in a package returned from
+AcpiEvaluateObject.
+
+Fixed a problem where the length of a String package element was
+not always included in the length of the overall package returned
+from AcpiEvaluateObject.
+
+Added external interfaces (Acpi*) to the ACPI debug memory
+manager.  This manager keeps a list of all outstanding
+allocations, and can therefore detect memory leaks and attempts to
+free memory blocks more than once. Useful for code such as the
+power manager, etc.  May not be appropriate for device drivers.
+Performance with the debug code enabled is slow.
+
+The ACPI Global Lock is now an optional hardware element.
+
+ ASL Compiler Version X2015:
+
+Integrated changes to allow the compiler to be generated on
+multiple platforms.
+
+Linux makefile added to generate the compiler on Linux
+
+ Source Code:
+
+All platform-specific headers have been moved to their own
+subdirectory, Include/Platform.
+
+New source file added, Interpreter/ammutex.c
+
+New header file, Include/acstruct.h
+
+ Documentation:
+
+The programmer reference has been updated for the following new
+interfaces: AcpiOsGetThreadId AcpiAllocate AcpiCallocate AcpiFree
+
+ ------------------------------------------
+Summary of changes for this label: 02_08_01
+
+Core ACPI CA Subsystem: Fixed a problem where an error was
+incorrectly returned if the return resource buffer was larger than
+the actual data (in the resource interfaces).
+
+References to named objects within packages are resolved to the
+
+full pathname string before packages are returned directly (via
+the AcpiEvaluateObject interface) or indirectly via the resource
+interfaces.
+
+Linux OS Services Layer (OSL):
+
+Improved /proc battery interface.
+
+
+Added C-state debugging output and other miscellaneous fixes.
+
+ASL Compiler Version X2014:
+
+All defined method arguments can now be used as local variables,
+including the ones that are not actually passed in as parameters.
+The compiler tracks initialization of the arguments and issues an
+exception if they are used without prior assignment (just like
+locals).
+
+The -o option now specifies a filename prefix that is used for all
+output files, including the AML output file.  Otherwise, the
+default behavior is as follows:  1) the AML goes to the file
+specified in the DSDT.  2) all other output files use the input
+source filename as the base.
+
+ ------------------------------------------
+Summary of changes for this label: 01_25_01
+
+Core ACPI CA Subsystem: Restructured the implementation of object
+store support within the  interpreter.  This includes support for
+the Store operator as well  as any ASL operators that include a
+target operand.
+
+Partially implemented support for Implicit Result-to-Target
+conversion. This is when a result object is converted on the fly
+to the type of  an existing target object.  Completion of this
+support is pending  further analysis of the ACPI specification
+concerning this matter.
+
+CPU-specific code has been removed from the subsystem (hardware
+directory).
+
+New Power Management Timer functions added
+
+Linux OS Services Layer (OSL): Moved system state transition code
+to the core, fixed it, and modified  Linux OSL accordingly.
+
+Fixed C2 and C3 latency calculations.
+
+
+We no longer use the compilation date for the version message on
+initialization, but retrieve the version from AcpiGetSystemInfo().
+
+Incorporated for fix Sony VAIO machines.
+
+Documentation:  The Programmer Reference has been updated and
+reformatted.
+
+
+ASL Compiler:  Version X2013: Fixed a problem where the line
+numbering and error reporting could get out  of sync in the
+presence of multiple include files.
+
+ ------------------------------------------
+Summary of changes for this label: 01_15_01
+
+Core ACPI CA Subsystem:
+
+Implemented support for type conversions in the execution of the
+ASL  Concatenate operator (The second operand is converted to
+match the type  of the first operand before concatenation.)
+
+Support for implicit source operand conversion is partially
+implemented.   The ASL source operand types Integer, Buffer, and
+String are freely  interchangeable for most ASL operators and are
+converted by the interpreter  on the fly as required.  Implicit
+Target operand conversion (where the  result is converted to the
+target type before storing) is not yet implemented.
+
+Support for 32-bit and 64-bit BCD integers is implemented.
+
+Problem fixed where a field read on an aligned field could cause a
+read  past the end of the field.
+
+New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
+does not return a value, but the caller expects one.  (The ASL
+compiler flags this as a warning.)
+
+ASL Compiler:
+
+Version X2011:
+1. Static typechecking of all operands is implemented. This
+prevents the use of invalid objects (such as using a Package where
+an Integer is required) at compile time instead of at interpreter
+run-time.
+2. The ASL source line is printed with ALL errors and warnings.
+3. Bug fix for source EOF without final linefeed.
+4. Debug option is split into a parse trace and a namespace trace.
+5. Namespace output option (-n) includes initial values for
+integers and strings.
+6. Parse-only option added for quick syntax checking.
+7. Compiler checks for duplicate ACPI name declarations
+
+Version X2012:
+1. Relaxed typechecking to allow interchangeability between
+strings, integers, and buffers.  These types are now converted by
+the interpreter at runtime.
+2. Compiler reports time taken by each internal subsystem in the
+debug         output file.
+
+
+ ------------------------------------------
+Summary of changes for this label: 12_14_00
+
+ASL Compiler:
+
+This is the first official release of the compiler. Since the
+compiler requires elements of the Core Subsystem, this label
+synchronizes everything.
+
+------------------------------------------
+Summary of changes for this label: 12_08_00
+
+
+Fixed a problem where named references within the ASL definition
+of both OperationRegions and CreateXXXFields did not work
+properly.  The symptom was an AE_AML_OPERAND_TYPE during
+initialization of the region/field. This is similar (but not
+related internally) to the problem that was fixed in the last
+label.
+
+Implemented both 32-bit and 64-bit support for the BCD ASL
+functions ToBCD and FromBCD.
+
+Updated all legal headers to include "2000" in the copyright
+years.
+
+ ------------------------------------------
+Summary of changes for this label: 12_01_00
+
+Fixed a problem where method invocations within the ASL definition
+of both OperationRegions and CreateXXXFields did not work
+properly.  The symptom was an AE_AML_OPERAND_TYPE during
+initialization of the region/field:
+
+  nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
+[DEBG]   ammonad-0284: Exec_monadic2_r/Not: bad operand(s)
+(0x3005)
+
+Fixed a problem where operators with more than one nested
+subexpression would fail.  The symptoms were varied, by mostly
+AE_AML_OPERAND_TYPE errors.  This was actually a rather serious
+problem that has gone unnoticed until now.
+
+  Subtract (Add (1,2), Multiply (3,4))
+
+Fixed a problem where AcpiGetHandle didn't quite get fixed in the
+previous build (The prefix part of a relative path was handled
+incorrectly).
+
+Fixed a problem where Operation Region initialization failed if
+the operation region name was a "namepath" instead of a simple
+"nameseg". Symptom was an AE_NO_OPERAND error.
+
+Fixed a problem where an assignment to a local variable via the
+indirect RefOf mechanism only worked for the first such
+assignment.  Subsequent assignments were ignored.
+
+ ------------------------------------------
+Summary of changes for this label: 11_15_00
+
+ACPI 2.0 table support with backwards support for ACPI 1.0 and the
+0.71 extensions.  Note: although we can read ACPI 2.0 BIOS tables,
+the AML  interpreter does NOT have support for the new 2.0 ASL
+grammar terms at this time.
+
+All ACPI hardware access is via the GAS structures in the ACPI 2.0
+FADT.
+
+All physical memory addresses across all platforms are now 64 bits
+wide. Logical address width remains dependent on the platform
+(i.e., "void *").
+
+AcpiOsMapMemory interface changed to a 64-bit physical address.
+
+The AML interpreter integer size is now 64 bits, as per the ACPI
+2.0 specification.
+
+For backwards compatibility with ACPI 1.0, ACPI tables with a
+revision number less than 2 use 32-bit integers only.
+
+Fixed a problem where the evaluation of OpRegion operands did not
+always resolve them to numbers properly.
+
+------------------------------------------
+Summary of changes for this label: 10_20_00
+
+Fix for CBN_._STA issue.  This fix will allow correct access to
+CBN_ OpRegions when the _STA returns 0x8.
+
+Support to convert ACPI constants (Ones, Zeros, One) to actual
+values before a package object is returned
+
+Fix for method call as predicate to if/while construct causing
+incorrect if/while behavior
+
+Fix for Else block package lengths sometimes calculated wrong (if
+block > 63 bytes)
+
+Fix for Processor object length field, was always zero
+
+Table load abort if FACP sanity check fails
+
+Fix for problem with Scope(name) if name already exists
+
+Warning emitted if a named object referenced cannot be found
+(resolved) during method execution.
+
+
+
+
+
+------------------------------------------
+Summary of changes for this label: 9_29_00
+
+New table initialization interfaces: AcpiInitializeSubsystem no
+longer has any parameters AcpiFindRootPointer - Find the RSDP (if
+necessary) AcpiLoadTables (RSDP) - load all tables found at RSDP-
+>RSDT Obsolete Interfaces AcpiLoadFirmwareTables - replaced by
+AcpiLoadTables
+
+Note: These interface changes require changes to all existing OSDs
+
+The PCI_Config default address space handler is always installed
+at the root namespace object.
+
+-------------------------------------------
+Summary of changes for this label: 09_15_00
+
+The new initialization architecture is implemented.  New
+interfaces are: AcpiInitializeSubsystem (replaces AcpiInitialize)
+AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
+
+(Namespace is automatically loaded when a table is loaded)
+
+The ACPI_OPERAND_OBJECT has been optimized to shrink its size from
+52 bytes to 32 bytes.  There is usually one of these for every
+namespace object, so the memory savings is significant.
+
+Implemented just-in-time evaluation of the CreateField operators.
+
+Bug fixes for IA-64 support have been integrated.
+
+Additional code review comments have been implemented
+
+The so-called "third pass parse" has been replaced by a final walk
+through the namespace to initialize all operation regions (address
+spaces) and fields that have not yet been initialized during the
+execution of the various _INI and REG methods.
+
+New file - namespace/nsinit.c
+
+-------------------------------------------
+Summary of changes for this label: 09_01_00
+
+Namespace manager data structures have been reworked to change the
+primary  object from a table to a single object.  This has
+resulted in dynamic memory  savings of 3X within the namespace and
+2X overall in the ACPI CA subsystem.
+
+Fixed problem where the call to AcpiEvFindPciRootBuses was
+inadvertently left  commented out.
+
+Reduced the warning count when generating the source with the GCC
+compiler.
+
+Revision numbers added to each module header showing the
+SourceSafe version of the file.  Please refer to this version
+number when giving us feedback or comments on individual modules.
+
+The main object types within the subsystem have been renamed to
+clarify their  purpose:
+
+ACPI_INTERNAL_OBJECT -> ACPI_OPERAND_OBJECT
+ACPI_GENERIC_OP -> ACPI_PARSE_OBJECT
+ACPI_NAME_TABLE_ENTRY -> ACPI_NAMESPACE_NODE
+
+NOTE: no changes to the initialization sequence are included in
+this label.
+
+-------------------------------------------
+Summary of changes for this label: 08_23_00
+
+Fixed problem where TerminateControlMethod was being called
+multiple times per  method
+
+Fixed debugger problem where single stepping caused a semaphore to
+be  oversignalled
+
+Improved performance through additional parse object caching -
+added  ACPI_EXTENDED_OP type
+
+-------------------------------------------
+Summary of changes for this label: 08_10_00
+
+Parser/Interpreter integration:  Eliminated the creation of
+complete parse trees  for ACPI tables and control methods.
+Instead, parse subtrees are created and  then deleted as soon as
+they are processed (Either entered into the namespace or  executed
+by the interpreter).  This reduces the use of dynamic kernel
+memory  significantly. (about 10X)
+
+Exception codes broken into classes and renumbered.  Be sure to
+recompile all  code that includes acexcep.h.  Hopefully we won't
+have to renumber the codes  again now that they are split into
+classes (environment, programmer, AML code,  ACPI table, and
+internal).
+
+Fixed some additional alignment issues in the Resource Manager
+subcomponent
+
+Implemented semaphore tracking in the AcpiExec utility, and fixed
+several places  where mutexes/semaphores were being unlocked
+without a corresponding lock  operation.  There are no known
+semaphore or mutex "leaks" at this time.
+
+Fixed the case where an ASL Return operator is used to return an
+unnamed  package.
+
+-------------------------------------------
+Summary of changes for this label: 07_28_00
+
+Fixed a problem with the way addresses were calculated in
+AcpiAmlReadFieldData()  and AcpiAmlWriteFieldData(). This problem
+manifested itself when a Field was  created with WordAccess or
+DwordAccess, but the field unit defined within the  Field was less
+
+than a Word or Dword.
+
+Fixed a problem in AmlDumpOperands() module's loop to pull
+operands off of the  operand stack to display information. The
+problem manifested itself as a TLB  error on 64-bit systems when
+accessing an operand stack with two or more  operands.
+
+Fixed a problem with the PCI configuration space handlers where
+context was  getting confused between accesses. This required a
+change to the generic address  space handler and address space
+setup definitions. Handlers now get both a  global handler context
+(this is the one passed in by the user when executing
+AcpiInstallAddressSpaceHandler() and a specific region context
+that is unique to  each region (For example, the _ADR, _SEG and
+_BBN values associated with a  specific region). The generic
+function definitions have changed to the  following:
+
+typedef ACPI_STATUS (*ADDRESS_SPACE_HANDLER) ( UINT32 Function,
+UINT32 Address, UINT32 BitWidth, UINT32 *Value, void
+*HandlerContext, // This used to be void *Context void
+*RegionContext); // This is an additional parameter
+
+typedef ACPI_STATUS (*ADDRESS_SPACE_SETUP) ( ACPI_HANDLE
+RegionHandle, UINT32 Function, void *HandlerContext,  void
+**RegionContext); // This used to be **ReturnContext
+
+-------------------------------------------
+Summary of changes for this label: 07_21_00
+
+Major file consolidation and rename.  All files within the
+interpreter have been  renamed as well as most header files.  This
+was done to prevent collisions with  existing files in the host
+OSs -- filenames such as "config.h" and "global.h"  seem to be
+quite common.  The VC project files have been updated.  All
+makefiles  will require modification.
+
+The parser/interpreter integration continues in Phase 5 with the
+implementation  of a complete 2-pass parse (the AML is parsed
+twice) for each table;  This  avoids the construction of a huge
+parse tree and therefore reduces the amount of  dynamic memory
+required by the subsystem.  Greater use of the parse object cache
+means that performance is unaffected.
+
+Many comments from the two code reviews have been rolled in.
+
+The 64-bit alignment support is complete.
+
+-------------------------------------------
+Summary of changes for this label: 06_30_00
+
+With a nod and a tip of the hat to the technology of yesteryear,
+we've added  support in the source code for 80 column output
+devices.  The code is now mostly  constrained to 80 columns or
+less to support environments and editors that 1)  cannot display
+or print more than 80 characters on a single line, and 2) cannot
+disable line wrapping.
+
+A major restructuring of the namespace data structure has been
+completed.  The  result is 1) cleaner and more
+understandable/maintainable code, and 2) a  significant reduction
+in the dynamic memory requirement for each named ACPI  object
+(almost half).
+
+-------------------------------------------
+Summary of changes for this label: 06_23_00
+
+Linux support has been added.  In order to obtain approval to get
+the ACPI CA  subsystem into the Linux kernel, we've had to make
+quite a few changes to the  base subsystem that will affect all
+users (all the changes are generic and OS- independent).  The
+effects of these global changes have been somewhat far  reaching.
+Files have been merged and/or renamed and interfaces have been
+renamed.   The major changes are described below.
+
+Osd* interfaces renamed to AcpiOs* to eliminate namespace
+pollution/confusion  within our target kernels.  All OSD
+interfaces must be modified to match the new  naming convention.
+
+Files merged across the subsystem.  A number of the smaller source
+and header  files have been merged to reduce the file count and
+increase the density of the  existing files.  There are too many
+to list here.  In general, makefiles that  call out individual
+files will require rebuilding.
+
+Interpreter files renamed.  All interpreter files now have the
+prefix am*  instead of ie* and is*.
+
+Header files renamed:  The acapi.h file is now acpixf.h.  The
+acpiosd.h file is  now acpiosxf.h.  We are removing references to
+the acronym "API" since it is  somewhat windowsy. The new name is
+"external interface" or xface or xf in the  filenames.j
+
+
+All manifest constants have been forced to upper case (some were
+mixed case.)   Also, the string "ACPI_" has been prepended to many
+(not all) of the constants,  typedefs, and structs.
+
+The globals "DebugLevel" and "DebugLayer" have been renamed
+"AcpiDbgLevel" and  "AcpiDbgLayer" respectively.
+
+All other globals within the subsystem are now prefixed with
+"AcpiGbl_" Internal procedures within the subsystem are now
+prefixed with "Acpi" (with only  a few exceptions).  The original
+two-letter abbreviation for the subcomponent  remains after "Acpi"
+- for example, CmCallocate became AcpiCmCallocate.
+
+Added a source code translation/conversion utility.  Used to
+generate the Linux  source code, it can be modified to generate
+other types of source as well. Can  also be used to cleanup
+existing source by removing extraneous spaces and blank  lines.
+Found in tools/acpisrc/*
+
+OsdUnMapMemory was renamed to OsdUnmapMemory and then
+AcpiOsUnmapMemory.  (UnMap  became Unmap).
+
+A "MaxUnits" parameter has been added to AcpiOsCreateSemaphore.
+When set to  one, this indicates that the caller wants to use the
+
+semaphore as a mutex, not a  counting semaphore.  ACPI CA uses
+both types.  However, implementers of this  call may want to use
+different OS primitives depending on the type of semaphore
+requested.  For example, some operating systems provide separate
+
+"mutex" and  "semaphore" interfaces - where the mutex interface is
+much faster because it  doesn't have all the overhead of a full
+semaphore implementation.
+
+Fixed a deadlock problem where a method that accesses the PCI
+address space can  block forever if it is the first access to the
+space.
+
+-------------------------------------------
+Summary of changes for this label: 06_02_00
+
+Support for environments that cannot handle unaligned data
+accesses (e.g.  firmware and OS environments devoid of alignment
+handler technology namely  SAL/EFI and the IA-64 Linux kernel) has
+been added (via configurable macros) in  these three areas: -
+Transfer of data from the raw AML byte stream is done via byte
+moves instead of    word/dword/qword moves. - External objects are
+aligned within the user buffer, including package   elements (sub-
+objects). - Conversion of name strings to UINT32 Acpi Names is now
+done byte-wise.
+
+The Store operator was modified to mimic Microsoft's
+implementation when storing  to a Buffer Field.
+
+Added a check of the BM_STS bit before entering C3.
+
+The methods subdirectory has been obsoleted and removed.  A new
+file, cmeval.c  subsumes the functionality.
+
+A 16-bit (DOS) version of AcpiExec has been developed.  The
+makefile is under  the acpiexec directory.
