Home | History | Annotate | Line # | Download | only in dist
changes.txt revision 1.1.1.2.2.2
      1  1.1.1.2.2.2  bouyer ----------------------------------------
      2  1.1.1.2.2.2  bouyer 11 February 2011. Summary of changes for version 20110211:
      3  1.1.1.2.2.2  bouyer 
      4  1.1.1.2.2.2  bouyer This release is available at www.acpica.org/downloads
      5  1.1.1.2.2.2  bouyer 
      6  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
      7  1.1.1.2.2.2  bouyer 
      8  1.1.1.2.2.2  bouyer Added a mechanism to defer _REG methods for some early-installed handlers. 
      9  1.1.1.2.2.2  bouyer Most user handlers should be installed before call to AcpiEnableSubsystem. 
     10  1.1.1.2.2.2  bouyer However, Event handlers and region handlers should be installed after 
     11  1.1.1.2.2.2  bouyer AcpiInitializeObjects. Override handlers for the "default" regions should be 
     12  1.1.1.2.2.2  bouyer installed early, however. This change executes all _REG methods for the 
     13  1.1.1.2.2.2  bouyer default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any 
     14  1.1.1.2.2.2  bouyer chicken/egg issues between them. ACPICA BZ 848.
     15  1.1.1.2.2.2  bouyer 
     16  1.1.1.2.2.2  bouyer Implemented an optimization for GPE detection. This optimization will simply 
     17  1.1.1.2.2.2  bouyer ignore GPE registers that contain no enabled GPEs -- there is no need to 
     18  1.1.1.2.2.2  bouyer read the register since this information is available internally. This 
     19  1.1.1.2.2.2  bouyer becomes more important on machines with a large GPE space. ACPICA bugzilla 
     20  1.1.1.2.2.2  bouyer 884. Lin Ming. Suggestion from Joe Liu.
     21  1.1.1.2.2.2  bouyer 
     22  1.1.1.2.2.2  bouyer Removed all use of the highly unreliable FADT revision field. The revision 
     23  1.1.1.2.2.2  bouyer number in the FADT has been found to be completely unreliable and cannot be 
     24  1.1.1.2.2.2  bouyer trusted. Only the actual table length can be used to infer the version. This 
     25  1.1.1.2.2.2  bouyer change updates the ACPICA core and the disassembler so that both no longer 
     26  1.1.1.2.2.2  bouyer even look at the FADT version and instead depend solely upon the FADT 
     27  1.1.1.2.2.2  bouyer length.
     28  1.1.1.2.2.2  bouyer 
     29  1.1.1.2.2.2  bouyer Fix an unresolved name issue for the no-debug and no-error-message source 
     30  1.1.1.2.2.2  bouyer generation cases. The _AcpiModuleName was left undefined in these cases, but 
     31  1.1.1.2.2.2  bouyer it is actually needed as a parameter to some interfaces. Define 
     32  1.1.1.2.2.2  bouyer _AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
     33  1.1.1.2.2.2  bouyer 
     34  1.1.1.2.2.2  bouyer Split several large files (makefiles and project files updated)
     35  1.1.1.2.2.2  bouyer   utglobal.c   -> utdecode.c
     36  1.1.1.2.2.2  bouyer   dbcomds.c    -> dbmethod.c dbnames.c
     37  1.1.1.2.2.2  bouyer   dsopcode.c   -> dsargs.c dscontrol.c
     38  1.1.1.2.2.2  bouyer   dsload.c     -> dsload2.c
     39  1.1.1.2.2.2  bouyer   aslanalyze.c -> aslbtypes.c aslwalks.c
     40  1.1.1.2.2.2  bouyer 
     41  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
     42  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
     43  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
     44  1.1.1.2.2.2  bouyer a much larger code and data size.
     45  1.1.1.2.2.2  bouyer 
     46  1.1.1.2.2.2  bouyer   Previous Release (VC 9.0):
     47  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
     48  1.1.1.2.2.2  bouyer     Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
     49  1.1.1.2.2.2  bouyer   Current Release (VC 9.0):
     50  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
     51  1.1.1.2.2.2  bouyer     Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
     52  1.1.1.2.2.2  bouyer 
     53  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
     54  1.1.1.2.2.2  bouyer 
     55  1.1.1.2.2.2  bouyer iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. 
     56  1.1.1.2.2.2  bouyer These are useful C-style macros with the standard definitions. ACPICA 
     57  1.1.1.2.2.2  bouyer bugzilla 898.
     58  1.1.1.2.2.2  bouyer 
     59  1.1.1.2.2.2  bouyer iASL/DTC: Added support for integer expressions and labels. Support for full 
     60  1.1.1.2.2.2  bouyer expressions for all integer fields in all ACPI tables. Support for labels in 
     61  1.1.1.2.2.2  bouyer "generic" portions of tables such as UEFI. See the iASL reference manual.
     62  1.1.1.2.2.2  bouyer 
     63  1.1.1.2.2.2  bouyer Debugger: Added a command to display the status of global handlers. The 
     64  1.1.1.2.2.2  bouyer "handlers" command will display op region, fixed event, and miscellaneous 
     65  1.1.1.2.2.2  bouyer global handlers. installation status -- and for op regions, whether default 
     66  1.1.1.2.2.2  bouyer or user-installed handler will be used.
     67  1.1.1.2.2.2  bouyer 
     68  1.1.1.2.2.2  bouyer iASL: Warn if reserved method incorrectly returns a value. Many predefined 
     69  1.1.1.2.2.2  bouyer names are defined such that they do not return a value. If implemented as a 
     70  1.1.1.2.2.2  bouyer method, issue a warning if such a name explicitly returns a value. ACPICA 
     71  1.1.1.2.2.2  bouyer Bugzilla 855.
     72  1.1.1.2.2.2  bouyer 
     73  1.1.1.2.2.2  bouyer iASL: Added detection of GPE method name conflicts. Detects a conflict where 
     74  1.1.1.2.2.2  bouyer there are two GPE methods of the form _Lxy and _Exy in the same scope. (For 
     75  1.1.1.2.2.2  bouyer example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
     76  1.1.1.2.2.2  bouyer 
     77  1.1.1.2.2.2  bouyer iASL/DTC: Fixed a couple input scanner issues with comments and line 
     78  1.1.1.2.2.2  bouyer numbers. Comment remover could get confused and miss a comment ending. Fixed 
     79  1.1.1.2.2.2  bouyer a problem with line counter maintenance.
     80  1.1.1.2.2.2  bouyer 
     81  1.1.1.2.2.2  bouyer iASL/DTC: Reduced the severity of some errors from fatal to error. There is 
     82  1.1.1.2.2.2  bouyer no need to abort on simple errors within a field definition.
     83  1.1.1.2.2.2  bouyer 
     84  1.1.1.2.2.2  bouyer Debugger: Simplified the output of the help command. All help output now in 
     85  1.1.1.2.2.2  bouyer a single screen, instead of help subcommands. ACPICA Bugzilla 897.
     86  1.1.1.2.2.2  bouyer 
     87  1.1.1.2.2.2  bouyer 
     88  1.1.1.2.2.2  bouyer ----------------------------------------
     89  1.1.1.2.2.2  bouyer 12 January 2011. Summary of changes for version 20110112:
     90  1.1.1.2.2.2  bouyer 
     91  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
     92  1.1.1.2.2.2  bouyer 
     93  1.1.1.2.2.2  bouyer Fixed a race condition between method execution and namespace walks that can 
     94  1.1.1.2.2.2  bouyer possibly cause a fault. The problem was apparently introduced in version 
     95  1.1.1.2.2.2  bouyer 20100528 as a result of a performance optimization that reduces the number 
     96  1.1.1.2.2.2  bouyer of 
     97  1.1.1.2.2.2  bouyer namespace walks upon method exit by using the delete_namespace_subtree 
     98  1.1.1.2.2.2  bouyer function instead of the delete_namespace_by_owner function used previously. 
     99  1.1.1.2.2.2  bouyer Bug is a missing namespace lock in the delete_namespace_subtree function. 
    100  1.1.1.2.2.2  bouyer dana.myers (a] oracle.com
    101  1.1.1.2.2.2  bouyer 
    102  1.1.1.2.2.2  bouyer Fixed several issues and a possible fault with the automatic "serialized" 
    103  1.1.1.2.2.2  bouyer method support. History: This support changes a method to "serialized" on 
    104  1.1.1.2.2.2  bouyer the 
    105  1.1.1.2.2.2  bouyer fly if the method generates an AE_ALREADY_EXISTS error, indicating the 
    106  1.1.1.2.2.2  bouyer possibility that it cannot handle reentrancy. This fix repairs a couple of 
    107  1.1.1.2.2.2  bouyer issues seen in the field, especially on machines with many cores:
    108  1.1.1.2.2.2  bouyer 
    109  1.1.1.2.2.2  bouyer     1) Delete method children only upon the exit of the last thread,
    110  1.1.1.2.2.2  bouyer        so as to not delete objects out from under other running threads
    111  1.1.1.2.2.2  bouyer       (and possibly causing a fault.)
    112  1.1.1.2.2.2  bouyer     2) Set the "serialized" bit for the method only upon the exit of the
    113  1.1.1.2.2.2  bouyer        Last thread, so as to not cause deadlock when running threads
    114  1.1.1.2.2.2  bouyer        attempt to exit.
    115  1.1.1.2.2.2  bouyer     3) Cleanup the use of the AML "MethodFlags" and internal method flags
    116  1.1.1.2.2.2  bouyer        so that there is no longer any confusion between the two.
    117  1.1.1.2.2.2  bouyer 
    118  1.1.1.2.2.2  bouyer     Lin Ming, Bob Moore. Reported by dana.myers (a] oracle.com.
    119  1.1.1.2.2.2  bouyer 
    120  1.1.1.2.2.2  bouyer Debugger: Now lock the namespace for duration of a namespace dump. Prevents 
    121  1.1.1.2.2.2  bouyer issues if the namespace is changing dynamically underneath the debugger. 
    122  1.1.1.2.2.2  bouyer Especially affects temporary namespace nodes, since the debugger displays 
    123  1.1.1.2.2.2  bouyer these also.
    124  1.1.1.2.2.2  bouyer 
    125  1.1.1.2.2.2  bouyer Updated the ordering of include files. The ACPICA headers should appear 
    126  1.1.1.2.2.2  bouyer before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set 
    127  1.1.1.2.2.2  bouyer any necessary compiler-specific defines, etc. Affects the ACPI-related tools 
    128  1.1.1.2.2.2  bouyer and utilities.
    129  1.1.1.2.2.2  bouyer 
    130  1.1.1.2.2.2  bouyer Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright 
    131  1.1.1.2.2.2  bouyer to all module headers and signons, including the Linux header. This affects 
    132  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, iASL compiler, and all 
    133  1.1.1.2.2.2  bouyer utilities.
    134  1.1.1.2.2.2  bouyer 
    135  1.1.1.2.2.2  bouyer Added project files for MS Visual Studio 2008 (VC++ 9.0). The original 
    136  1.1.1.2.2.2  bouyer project files for VC++ 6.0 are now obsolete. New project files can be found 
    137  1.1.1.2.2.2  bouyer under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for 
    138  1.1.1.2.2.2  bouyer details.
    139  1.1.1.2.2.2  bouyer 
    140  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    141  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
    142  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    143  1.1.1.2.2.2  bouyer a 
    144  1.1.1.2.2.2  bouyer much larger code and data size.
    145  1.1.1.2.2.2  bouyer 
    146  1.1.1.2.2.2  bouyer   Previous Release (VC 6.0):
    147  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
    148  1.1.1.2.2.2  bouyer     Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
    149  1.1.1.2.2.2  bouyer   Current Release (VC 9.0):
    150  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
    151  1.1.1.2.2.2  bouyer     Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
    152  1.1.1.2.2.2  bouyer 
    153  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    154  1.1.1.2.2.2  bouyer 
    155  1.1.1.2.2.2  bouyer iASL: Added generic data types to the Data Table compiler. Add "generic" 
    156  1.1.1.2.2.2  bouyer data 
    157  1.1.1.2.2.2  bouyer types such as UINT32, String, Unicode, etc., to simplify the generation of 
    158  1.1.1.2.2.2  bouyer platform-defined tables such as UEFI. Lin Ming.
    159  1.1.1.2.2.2  bouyer 
    160  1.1.1.2.2.2  bouyer iASL: Added listing support for the Data Table Compiler. Adds listing 
    161  1.1.1.2.2.2  bouyer support 
    162  1.1.1.2.2.2  bouyer (-l) to display actual binary output for each line of input code.
    163  1.1.1.2.2.2  bouyer 
    164  1.1.1.2.2.2  bouyer ----------------------------------------
    165  1.1.1.2.2.2  bouyer 09 December 2010. Summary of changes for version 20101209:
    166  1.1.1.2.2.2  bouyer 
    167  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    168  1.1.1.2.2.2  bouyer 
    169  1.1.1.2.2.2  bouyer Completed the major overhaul of the GPE support code that was begun in July 
    170  1.1.1.2.2.2  bouyer 2010. Major features include: removal of _PRW execution in ACPICA (host 
    171  1.1.1.2.2.2  bouyer executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, 
    172  1.1.1.2.2.2  bouyer changes to existing interfaces, simplification of GPE handler operation, and 
    173  1.1.1.2.2.2  bouyer a handful of new interfaces:
    174  1.1.1.2.2.2  bouyer 
    175  1.1.1.2.2.2  bouyer     AcpiUpdateAllGpes
    176  1.1.1.2.2.2  bouyer     AcpiFinishGpe
    177  1.1.1.2.2.2  bouyer     AcpiSetupGpeForWake
    178  1.1.1.2.2.2  bouyer     AcpiSetGpeWakeMask
    179  1.1.1.2.2.2  bouyer     One new file, evxfgpe.c to consolidate all external GPE interfaces.
    180  1.1.1.2.2.2  bouyer 
    181  1.1.1.2.2.2  bouyer See the ACPICA Programmer Reference for full details and programming 
    182  1.1.1.2.2.2  bouyer information. See the new section 4.4 "General Purpose Event (GPE) Support" 
    183  1.1.1.2.2.2  bouyer for a full overview, and section 8.7 "ACPI General Purpose Event Management" 
    184  1.1.1.2.2.2  bouyer for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, 
    185  1.1.1.2.2.2  bouyer Bob Moore, Rafael Wysocki.
    186  1.1.1.2.2.2  bouyer 
    187  1.1.1.2.2.2  bouyer Implemented a new GPE feature for Windows compatibility, the "Implicit Wake 
    188  1.1.1.2.2.2  bouyer GPE Notify". This feature will automatically issue a Notify(2) on a device 
    189  1.1.1.2.2.2  bouyer when a Wake GPE is received if there is no corresponding GPE method or 
    190  1.1.1.2.2.2  bouyer handler. ACPICA BZ 870.
    191  1.1.1.2.2.2  bouyer 
    192  1.1.1.2.2.2  bouyer Fixed a problem with the Scope() operator during table parse and load phase. 
    193  1.1.1.2.2.2  bouyer During load phase (table load or method execution), the scope operator 
    194  1.1.1.2.2.2  bouyer should 
    195  1.1.1.2.2.2  bouyer not enter the target into the namespace. Instead, it should open a new scope 
    196  1.1.1.2.2.2  bouyer at the target location. Linux BZ 19462, ACPICA BZ 882.
    197  1.1.1.2.2.2  bouyer 
    198  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    199  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    200  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    201  1.1.1.2.2.2  bouyer a 
    202  1.1.1.2.2.2  bouyer much larger code and data size.
    203  1.1.1.2.2.2  bouyer 
    204  1.1.1.2.2.2  bouyer   Previous Release:
    205  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
    206  1.1.1.2.2.2  bouyer     Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
    207  1.1.1.2.2.2  bouyer   Current Release:
    208  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
    209  1.1.1.2.2.2  bouyer     Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
    210  1.1.1.2.2.2  bouyer 
    211  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    212  1.1.1.2.2.2  bouyer 
    213  1.1.1.2.2.2  bouyer iASL: Relax the alphanumeric restriction on _CID strings. These strings are 
    214  1.1.1.2.2.2  bouyer "bus-specific" per the ACPI specification, and therefore any characters are 
    215  1.1.1.2.2.2  bouyer acceptable. The only checks that can be performed are for a null string and 
    216  1.1.1.2.2.2  bouyer perhaps for a leading asterisk. ACPICA BZ 886.
    217  1.1.1.2.2.2  bouyer 
    218  1.1.1.2.2.2  bouyer iASL: Fixed a problem where a syntax error that caused a premature EOF 
    219  1.1.1.2.2.2  bouyer condition on the source file emitted a very confusing error message. The 
    220  1.1.1.2.2.2  bouyer premature EOF is now detected correctly. ACPICA BZ 891.
    221  1.1.1.2.2.2  bouyer 
    222  1.1.1.2.2.2  bouyer Disassembler: Decode the AccessSize within a Generic Address Structure (byte 
    223  1.1.1.2.2.2  bouyer access, word access, etc.) Note, this field does not allow arbitrary bit 
    224  1.1.1.2.2.2  bouyer access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
    225  1.1.1.2.2.2  bouyer 
    226  1.1.1.2.2.2  bouyer New: AcpiNames utility - Example namespace dump utility. Shows an example of 
    227  1.1.1.2.2.2  bouyer ACPICA configuration for a minimal namespace dump utility. Uses table and 
    228  1.1.1.2.2.2  bouyer namespace managers, but no AML interpreter. Does not add any functionality 
    229  1.1.1.2.2.2  bouyer over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to 
    230  1.1.1.2.2.2  bouyer partition and configure ACPICA. ACPICA BZ 883.
    231  1.1.1.2.2.2  bouyer 
    232  1.1.1.2.2.2  bouyer AML Debugger: Increased the debugger buffer size for method return objects. 
    233  1.1.1.2.2.2  bouyer Was 4K, increased to 16K. Also enhanced error messages for debugger method 
    234  1.1.1.2.2.2  bouyer execution, including the buffer overflow case.
    235  1.1.1.2.2.2  bouyer 
    236  1.1.1.2.2.2  bouyer ----------------------------------------
    237  1.1.1.2.2.2  bouyer 13 October 2010. Summary of changes for version 20101013:
    238  1.1.1.2.2.2  bouyer 
    239  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    240  1.1.1.2.2.2  bouyer 
    241  1.1.1.2.2.2  bouyer Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now 
    242  1.1.1.2.2.2  bouyer clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via 
    243  1.1.1.2.2.2  bouyer HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
    244  1.1.1.2.2.2  bouyer 
    245  1.1.1.2.2.2  bouyer Changed the type of the predefined namespace object _TZ from ThermalZone to 
    246  1.1.1.2.2.2  bouyer Device. This was found to be confusing to the host software that processes 
    247  1.1.1.2.2.2  bouyer the various thermal zones, since _TZ is not really a ThermalZone. However, a 
    248  1.1.1.2.2.2  bouyer Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui 
    249  1.1.1.2.2.2  bouyer Zhang.
    250  1.1.1.2.2.2  bouyer 
    251  1.1.1.2.2.2  bouyer Added Windows Vista SP2 to the list of supported _OSI strings. The actual 
    252  1.1.1.2.2.2  bouyer string is "Windows 2006 SP2".
    253  1.1.1.2.2.2  bouyer 
    254  1.1.1.2.2.2  bouyer Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair 
    255  1.1.1.2.2.2  bouyer code automatically repairs _HID-related strings, this type of code is no 
    256  1.1.1.2.2.2  bouyer longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878.
    257  1.1.1.2.2.2  bouyer 
    258  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    259  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    260  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    261  1.1.1.2.2.2  bouyer a 
    262  1.1.1.2.2.2  bouyer much larger code and data size.
    263  1.1.1.2.2.2  bouyer 
    264  1.1.1.2.2.2  bouyer   Previous Release:
    265  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
    266  1.1.1.2.2.2  bouyer     Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
    267  1.1.1.2.2.2  bouyer   Current Release:
    268  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
    269  1.1.1.2.2.2  bouyer     Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
    270  1.1.1.2.2.2  bouyer 
    271  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    272  1.1.1.2.2.2  bouyer 
    273  1.1.1.2.2.2  bouyer iASL: Implemented additional compile-time validation for _HID strings. The 
    274  1.1.1.2.2.2  bouyer non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length 
    275  1.1.1.2.2.2  bouyer of 
    276  1.1.1.2.2.2  bouyer the string must be exactly seven or eight characters. For both _HID and _CID 
    277  1.1.1.2.2.2  bouyer strings, all characters must be alphanumeric. ACPICA BZ 874.
    278  1.1.1.2.2.2  bouyer 
    279  1.1.1.2.2.2  bouyer iASL: Allow certain "null" resource descriptors. Some BIOS code creates 
    280  1.1.1.2.2.2  bouyer descriptors that are mostly or all zeros, with the expectation that they 
    281  1.1.1.2.2.2  bouyer will 
    282  1.1.1.2.2.2  bouyer be filled in at runtime. iASL now allows this as long as there is a 
    283  1.1.1.2.2.2  bouyer "resource 
    284  1.1.1.2.2.2  bouyer tag" (name) associated with the descriptor, which gives the ASL a handle 
    285  1.1.1.2.2.2  bouyer needed to modify the descriptor. ACPICA BZ 873.
    286  1.1.1.2.2.2  bouyer 
    287  1.1.1.2.2.2  bouyer Added single-thread support to the generic Unix application OSL. Primarily 
    288  1.1.1.2.2.2  bouyer for iASL support, this change removes the use of semaphores in the single-
    289  1.1.1.2.2.2  bouyer threaded ACPICA tools/applications - increasing performance. The 
    290  1.1.1.2.2.2  bouyer _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED 
    291  1.1.1.2.2.2  bouyer option. ACPICA BZ 879.
    292  1.1.1.2.2.2  bouyer 
    293  1.1.1.2.2.2  bouyer AcpiExec: several fixes for the 64-bit version. Adds XSDT support and 
    294  1.1.1.2.2.2  bouyer support 
    295  1.1.1.2.2.2  bouyer for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
    296  1.1.1.2.2.2  bouyer 
    297  1.1.1.2.2.2  bouyer iASL: Moved all compiler messages to a new file, aslmessages.h.
    298  1.1.1.2.2.2  bouyer 
    299  1.1.1.2.2.2  bouyer ----------------------------------------
    300  1.1.1.2.2.2  bouyer 15 September 2010. Summary of changes for version 20100915:
    301  1.1.1.2.2.2  bouyer 
    302  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    303  1.1.1.2.2.2  bouyer 
    304  1.1.1.2.2.2  bouyer Removed the AcpiOsDerivePciId OSL interface. The various host 
    305  1.1.1.2.2.2  bouyer implementations 
    306  1.1.1.2.2.2  bouyer of this function were not OS-dependent and are now obsolete and can be 
    307  1.1.1.2.2.2  bouyer removed from all host OSLs. This function has been replaced by 
    308  1.1.1.2.2.2  bouyer AcpiHwDerivePciId, which is now part of the ACPICA core code. 
    309  1.1.1.2.2.2  bouyer AcpiHwDerivePciId has been implemented without recursion. Adds one new 
    310  1.1.1.2.2.2  bouyer module, hwpci.c. ACPICA BZ 857.
    311  1.1.1.2.2.2  bouyer 
    312  1.1.1.2.2.2  bouyer Implemented a dynamic repair for _HID and _CID strings. The following 
    313  1.1.1.2.2.2  bouyer problems are now repaired at runtime: 1) Remove a leading asterisk in the 
    314  1.1.1.2.2.2  bouyer string, and 2) the entire string is uppercased. Both repairs are in 
    315  1.1.1.2.2.2  bouyer accordance with the ACPI specification and will simplify host driver code. 
    316  1.1.1.2.2.2  bouyer ACPICA BZ 871.
    317  1.1.1.2.2.2  bouyer 
    318  1.1.1.2.2.2  bouyer The ACPI_THREAD_ID type is no longer configurable, internally it is now 
    319  1.1.1.2.2.2  bouyer always UINT64. This simplifies the ACPICA code, especially any printf 
    320  1.1.1.2.2.2  bouyer output. 
    321  1.1.1.2.2.2  bouyer UINT64 is the only common data type for all thread_id types across all 
    322  1.1.1.2.2.2  bouyer operating systems. It is now up to the host OSL to cast the native thread_id 
    323  1.1.1.2.2.2  bouyer type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). 
    324  1.1.1.2.2.2  bouyer Lin Ming, Bob Moore.
    325  1.1.1.2.2.2  bouyer 
    326  1.1.1.2.2.2  bouyer Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" 
    327  1.1.1.2.2.2  bouyer keyword is not standard across compilers, and this type allows inline to be 
    328  1.1.1.2.2.2  bouyer configured on a per-compiler basis. Lin Ming.
    329  1.1.1.2.2.2  bouyer 
    330  1.1.1.2.2.2  bouyer Made the system global AcpiGbl_SystemAwakeAndRunning publically available. 
    331  1.1.1.2.2.2  bouyer Added an extern for this boolean in acpixf.h. Some hosts utilize this value 
    332  1.1.1.2.2.2  bouyer during suspend/restore operations. ACPICA BZ 869.
    333  1.1.1.2.2.2  bouyer 
    334  1.1.1.2.2.2  bouyer All code that implements error/warning messages with the "ACPI:" prefix has 
    335  1.1.1.2.2.2  bouyer been moved to a new module, utxferror.c.
    336  1.1.1.2.2.2  bouyer 
    337  1.1.1.2.2.2  bouyer The UINT64_OVERLAY was moved to utmath.c, which is the only module where it 
    338  1.1.1.2.2.2  bouyer is used. ACPICA BZ 829. Lin Ming, Bob Moore.
    339  1.1.1.2.2.2  bouyer 
    340  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    341  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    342  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    343  1.1.1.2.2.2  bouyer a 
    344  1.1.1.2.2.2  bouyer much larger code and data size.
    345  1.1.1.2.2.2  bouyer 
    346  1.1.1.2.2.2  bouyer   Previous Release:
    347  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
    348  1.1.1.2.2.2  bouyer     Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
    349  1.1.1.2.2.2  bouyer   Current Release:
    350  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
    351  1.1.1.2.2.2  bouyer     Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
    352  1.1.1.2.2.2  bouyer 
    353  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    354  1.1.1.2.2.2  bouyer 
    355  1.1.1.2.2.2  bouyer iASL/Disassembler: Write ACPI errors to stderr instead of the output file. 
    356  1.1.1.2.2.2  bouyer This keeps the output files free of random error messages that may originate 
    357  1.1.1.2.2.2  bouyer from within the namespace/interpreter code. Used this opportunity to merge 
    358  1.1.1.2.2.2  bouyer all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 
    359  1.1.1.2.2.2  bouyer 866. Lin Ming, Bob Moore.
    360  1.1.1.2.2.2  bouyer 
    361  1.1.1.2.2.2  bouyer Tools: update some printfs for ansi warnings on size_t. Handle width change 
    362  1.1.1.2.2.2  bouyer of size_t on 32-bit versus 64-bit generations. Lin Ming.
    363  1.1.1.2.2.2  bouyer 
    364  1.1.1.2.2.2  bouyer ----------------------------------------
    365  1.1.1.2.2.2  bouyer 06 August 2010. Summary of changes for version 20100806:
    366  1.1.1.2.2.2  bouyer 
    367  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    368  1.1.1.2.2.2  bouyer 
    369  1.1.1.2.2.2  bouyer Designed and implemented a new host interface to the _OSI support code. This 
    370  1.1.1.2.2.2  bouyer will allow the host to dynamically add or remove multiple _OSI strings, as 
    371  1.1.1.2.2.2  bouyer well as install an optional handler that is called for each _OSI invocation. 
    372  1.1.1.2.2.2  bouyer Also added a new AML debugger command, 'osi' to display and modify the 
    373  1.1.1.2.2.2  bouyer global 
    374  1.1.1.2.2.2  bouyer _OSI string table, and test support in the AcpiExec utility. See the ACPICA 
    375  1.1.1.2.2.2  bouyer reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
    376  1.1.1.2.2.2  bouyer New Functions:
    377  1.1.1.2.2.2  bouyer     AcpiInstallInterface - Add an _OSI string.
    378  1.1.1.2.2.2  bouyer     AcpiRemoveInterface - Delete an _OSI string.
    379  1.1.1.2.2.2  bouyer     AcpiInstallInterfaceHandler - Install optional _OSI handler.
    380  1.1.1.2.2.2  bouyer Obsolete Functions:
    381  1.1.1.2.2.2  bouyer     AcpiOsValidateInterface - no longer used.
    382  1.1.1.2.2.2  bouyer New Files:
    383  1.1.1.2.2.2  bouyer     source/components/utilities/utosi.c
    384  1.1.1.2.2.2  bouyer 
    385  1.1.1.2.2.2  bouyer Re-introduced the support to enable multi-byte transfers for Embedded 
    386  1.1.1.2.2.2  bouyer Controller (EC) operation regions. A reported problem was found to be a bug 
    387  1.1.1.2.2.2  bouyer in the host OS, not in the multi-byte support. Previously, the maximum data 
    388  1.1.1.2.2.2  bouyer size passed to the EC operation region handler was a single byte. There are 
    389  1.1.1.2.2.2  bouyer often EC Fields larger than one byte that need to be transferred, and it is 
    390  1.1.1.2.2.2  bouyer useful for the EC driver to lock these as a single transaction. This change 
    391  1.1.1.2.2.2  bouyer enables single transfers larger than 8 bits. This effectively changes the 
    392  1.1.1.2.2.2  bouyer access to the EC space from ByteAcc to AnyAcc, and will probably require 
    393  1.1.1.2.2.2  bouyer changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit 
    394  1.1.1.2.2.2  bouyer transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
    395  1.1.1.2.2.2  bouyer 
    396  1.1.1.2.2.2  bouyer Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The 
    397  1.1.1.2.2.2  bouyer prototype in acpiosxf.h had the output value pointer as a (void *).
    398  1.1.1.2.2.2  bouyer It should be a (UINT64 *). This may affect some host OSL code.
    399  1.1.1.2.2.2  bouyer 
    400  1.1.1.2.2.2  bouyer Fixed a couple problems with the recently modified Linux makefiles for iASL 
    401  1.1.1.2.2.2  bouyer and AcpiExec. These new makefiles place the generated object files in the 
    402  1.1.1.2.2.2  bouyer local directory so that there can be no collisions between the files that 
    403  1.1.1.2.2.2  bouyer are 
    404  1.1.1.2.2.2  bouyer shared between them that are compiled with different options.
    405  1.1.1.2.2.2  bouyer 
    406  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    407  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    408  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    409  1.1.1.2.2.2  bouyer a 
    410  1.1.1.2.2.2  bouyer much larger code and data size.
    411  1.1.1.2.2.2  bouyer 
    412  1.1.1.2.2.2  bouyer   Previous Release:
    413  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
    414  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
    415  1.1.1.2.2.2  bouyer   Current Release:
    416  1.1.1.2.2.2  bouyer     Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
    417  1.1.1.2.2.2  bouyer     Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
    418  1.1.1.2.2.2  bouyer 
    419  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    420  1.1.1.2.2.2  bouyer 
    421  1.1.1.2.2.2  bouyer iASL/Disassembler: Added a new option (-da, "disassemble all") to load the 
    422  1.1.1.2.2.2  bouyer namespace from and disassemble an entire group of AML files. Useful for 
    423  1.1.1.2.2.2  bouyer loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and 
    424  1.1.1.2.2.2  bouyer disassembling with one simple command. ACPICA BZ 865. Lin Ming.
    425  1.1.1.2.2.2  bouyer 
    426  1.1.1.2.2.2  bouyer iASL: Allow multiple invocations of -e option. This change allows multiple 
    427  1.1.1.2.2.2  bouyer uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. 
    428  1.1.1.2.2.2  bouyer Lin Ming.
    429  1.1.1.2.2.2  bouyer 
    430  1.1.1.2.2.2  bouyer ----------------------------------------
    431  1.1.1.2.2.2  bouyer 02 July 2010. Summary of changes for version 20100702:
    432  1.1.1.2.2.2  bouyer 
    433  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    434  1.1.1.2.2.2  bouyer 
    435  1.1.1.2.2.2  bouyer Implemented several updates to the recently added GPE reference count 
    436  1.1.1.2.2.2  bouyer support. The model for "wake" GPEs is changing to give the host OS complete 
    437  1.1.1.2.2.2  bouyer control of these GPEs. Eventually, the ACPICA core will not execute any _PRW 
    438  1.1.1.2.2.2  bouyer methods, since the host already must execute them. Also, additional changes 
    439  1.1.1.2.2.2  bouyer were made to help ensure that the reference counts are kept in proper 
    440  1.1.1.2.2.2  bouyer synchronization with reality. Rafael J. Wysocki.
    441  1.1.1.2.2.2  bouyer 
    442  1.1.1.2.2.2  bouyer 1) Ensure that GPEs are not enabled twice during initialization.
    443  1.1.1.2.2.2  bouyer 2) Ensure that GPE enable masks stay in sync with the reference count.
    444  1.1.1.2.2.2  bouyer 3) Do not inadvertently enable GPEs when writing GPE registers.
    445  1.1.1.2.2.2  bouyer 4) Remove the internal wake reference counter and add new AcpiGpeWakeup 
    446  1.1.1.2.2.2  bouyer interface. This interface will set or clear individual GPEs for wakeup.
    447  1.1.1.2.2.2  bouyer 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces 
    448  1.1.1.2.2.2  bouyer are now used for "runtime" GPEs only.
    449  1.1.1.2.2.2  bouyer 
    450  1.1.1.2.2.2  bouyer Changed the behavior of the GPE install/remove handler interfaces. The GPE 
    451  1.1.1.2.2.2  bouyer is 
    452  1.1.1.2.2.2  bouyer no longer disabled during this process, as it was found to cause problems on 
    453  1.1.1.2.2.2  bouyer some machines. Rafael J. Wysocki.
    454  1.1.1.2.2.2  bouyer 
    455  1.1.1.2.2.2  bouyer Reverted a change introduced in version 20100528 to enable Embedded 
    456  1.1.1.2.2.2  bouyer Controller multi-byte transfers. This change was found to cause problems 
    457  1.1.1.2.2.2  bouyer with 
    458  1.1.1.2.2.2  bouyer Index Fields and possibly Bank Fields. It will be reintroduced when these 
    459  1.1.1.2.2.2  bouyer problems have been resolved.
    460  1.1.1.2.2.2  bouyer 
    461  1.1.1.2.2.2  bouyer Fixed a problem with references to Alias objects within Package Objects. A 
    462  1.1.1.2.2.2  bouyer reference to an Alias within the definition of a Package was not always 
    463  1.1.1.2.2.2  bouyer resolved properly. Aliases to objects like Processors, Thermal zones, etc. 
    464  1.1.1.2.2.2  bouyer were resolved to the actual object instead of a reference to the object as 
    465  1.1.1.2.2.2  bouyer it 
    466  1.1.1.2.2.2  bouyer should be. Package objects are only allowed to contain integer, string, 
    467  1.1.1.2.2.2  bouyer buffer, package, and reference objects. Redhat bugzilla 608648.
    468  1.1.1.2.2.2  bouyer 
    469  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    470  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    471  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    472  1.1.1.2.2.2  bouyer a 
    473  1.1.1.2.2.2  bouyer much larger code and data size.
    474  1.1.1.2.2.2  bouyer 
    475  1.1.1.2.2.2  bouyer   Previous Release:
    476  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
    477  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
    478  1.1.1.2.2.2  bouyer   Current Release:
    479  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
    480  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
    481  1.1.1.2.2.2  bouyer 
    482  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    483  1.1.1.2.2.2  bouyer 
    484  1.1.1.2.2.2  bouyer iASL: Implemented a new compiler subsystem to allow definition and 
    485  1.1.1.2.2.2  bouyer compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These 
    486  1.1.1.2.2.2  bouyer are called "ACPI Data Tables", and the new compiler is the "Data Table 
    487  1.1.1.2.2.2  bouyer Compiler". This compiler is intended to simplify the existing error-prone 
    488  1.1.1.2.2.2  bouyer process of creating these tables for the BIOS, as well as allowing the 
    489  1.1.1.2.2.2  bouyer disassembly, modification, recompilation, and override of existing ACPI data 
    490  1.1.1.2.2.2  bouyer tables. See the iASL User Guide for detailed information.
    491  1.1.1.2.2.2  bouyer 
    492  1.1.1.2.2.2  bouyer iASL: Implemented a new Template Generator option in support of the new Data 
    493  1.1.1.2.2.2  bouyer Table Compiler. This option will create examples of all known ACPI tables 
    494  1.1.1.2.2.2  bouyer that can be used as the basis for table development. See the iASL 
    495  1.1.1.2.2.2  bouyer documentation and the -T option.
    496  1.1.1.2.2.2  bouyer 
    497  1.1.1.2.2.2  bouyer Disassembler and headers: Added support for the WDDT ACPI table (Watchdog 
    498  1.1.1.2.2.2  bouyer Descriptor Table).
    499  1.1.1.2.2.2  bouyer 
    500  1.1.1.2.2.2  bouyer Updated the Linux makefiles for iASL and AcpiExec to place the generated 
    501  1.1.1.2.2.2  bouyer object files in the local directory so that there can be no collisions 
    502  1.1.1.2.2.2  bouyer between the shared files between them that are generated with different 
    503  1.1.1.2.2.2  bouyer options.
    504  1.1.1.2.2.2  bouyer 
    505  1.1.1.2.2.2  bouyer Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use 
    506  1.1.1.2.2.2  bouyer the #define __APPLE__ to enable this support.
    507  1.1.1.2.2.2  bouyer 
    508  1.1.1.2.2.2  bouyer ----------------------------------------
    509  1.1.1.2.2.2  bouyer 28 May 2010. Summary of changes for version 20100528:
    510  1.1.1.2.2.2  bouyer 
    511  1.1.1.2.2.2  bouyer Note: The ACPI 4.0a specification was released on April 5, 2010 and is 
    512  1.1.1.2.2.2  bouyer available at www.acpi.info. This is primarily an errata release.
    513  1.1.1.2.2.2  bouyer 
    514  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    515  1.1.1.2.2.2  bouyer 
    516  1.1.1.2.2.2  bouyer Undefined ACPI tables: We are looking for the definitions for the following 
    517  1.1.1.2.2.2  bouyer ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
    518  1.1.1.2.2.2  bouyer 
    519  1.1.1.2.2.2  bouyer Implemented support to enable multi-byte transfers for Embedded Controller 
    520  1.1.1.2.2.2  bouyer (EC) operation regions. Previously, the maximum data size passed to the EC 
    521  1.1.1.2.2.2  bouyer operation region handler was a single byte. There are often EC Fields larger 
    522  1.1.1.2.2.2  bouyer than one byte that need to be transferred, and it is useful for the EC 
    523  1.1.1.2.2.2  bouyer driver 
    524  1.1.1.2.2.2  bouyer to lock these as a single transaction. This change enables single transfers 
    525  1.1.1.2.2.2  bouyer larger than 8 bits. This effectively changes the access to the EC space from 
    526  1.1.1.2.2.2  bouyer ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded 
    527  1.1.1.2.2.2  bouyer Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit 
    528  1.1.1.2.2.2  bouyer transfers. Alexey Starikovskiy, Lin Ming
    529  1.1.1.2.2.2  bouyer 
    530  1.1.1.2.2.2  bouyer Implemented a performance enhancement for namespace search and access. This 
    531  1.1.1.2.2.2  bouyer change enhances the performance of namespace searches and walks by adding a 
    532  1.1.1.2.2.2  bouyer backpointer to the parent in each namespace node. On large namespaces, this 
    533  1.1.1.2.2.2  bouyer change can improve overall ACPI performance by up to 9X. Adding a pointer to 
    534  1.1.1.2.2.2  bouyer each namespace node increases the overall size of the internal namespace by 
    535  1.1.1.2.2.2  bouyer about 5%, since each namespace entry usually consists of both a namespace 
    536  1.1.1.2.2.2  bouyer node and an ACPI operand object. However, this is the first growth of the 
    537  1.1.1.2.2.2  bouyer namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
    538  1.1.1.2.2.2  bouyer 
    539  1.1.1.2.2.2  bouyer Implemented a performance optimization that reduces the number of namespace 
    540  1.1.1.2.2.2  bouyer walks. On control method exit, only walk the namespace if the method is 
    541  1.1.1.2.2.2  bouyer known 
    542  1.1.1.2.2.2  bouyer to have created namespace objects outside of its local scope. Previously, 
    543  1.1.1.2.2.2  bouyer the 
    544  1.1.1.2.2.2  bouyer entire namespace was traversed on each control method exit. This change can 
    545  1.1.1.2.2.2  bouyer improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob 
    546  1.1.1.2.2.2  bouyer Moore.
    547  1.1.1.2.2.2  bouyer 
    548  1.1.1.2.2.2  bouyer Added support to truncate I/O addresses to 16 bits for Windows 
    549  1.1.1.2.2.2  bouyer compatibility. 
    550  1.1.1.2.2.2  bouyer Some ASL code has been seen in the field that inadvertently has bits set 
    551  1.1.1.2.2.2  bouyer above bit 15. This feature is optional and is enabled if the BIOS requests 
    552  1.1.1.2.2.2  bouyer any Windows OSI strings. It can also be enabled by the host OS. Matthew 
    553  1.1.1.2.2.2  bouyer Garrett, Bob Moore.
    554  1.1.1.2.2.2  bouyer 
    555  1.1.1.2.2.2  bouyer Added support to limit the maximum time for the ASL Sleep() operator. To 
    556  1.1.1.2.2.2  bouyer prevent accidental deep sleeps, limit the maximum time that Sleep() will 
    557  1.1.1.2.2.2  bouyer actually sleep. Configurable, the default maximum is two seconds. ACPICA 
    558  1.1.1.2.2.2  bouyer bugzilla 854.
    559  1.1.1.2.2.2  bouyer 
    560  1.1.1.2.2.2  bouyer Added run-time validation support for the _WDG and_WED Microsoft predefined 
    561  1.1.1.2.2.2  bouyer methods. These objects are defined by "Windows Instrumentation", and are not 
    562  1.1.1.2.2.2  bouyer part of the ACPI spec. ACPICA BZ 860.
    563  1.1.1.2.2.2  bouyer 
    564  1.1.1.2.2.2  bouyer Expanded all statistic counters used during namespace and device 
    565  1.1.1.2.2.2  bouyer initialization from 16 to 32 bits in order to support very large namespaces.
    566  1.1.1.2.2.2  bouyer 
    567  1.1.1.2.2.2  bouyer Replaced all instances of %d in printf format specifiers with %u since 
    568  1.1.1.2.2.2  bouyer nearly 
    569  1.1.1.2.2.2  bouyer all integers in ACPICA are unsigned.
    570  1.1.1.2.2.2  bouyer 
    571  1.1.1.2.2.2  bouyer Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly 
    572  1.1.1.2.2.2  bouyer returned 
    573  1.1.1.2.2.2  bouyer as AE_NO_HANDLER.
    574  1.1.1.2.2.2  bouyer 
    575  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    576  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    577  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    578  1.1.1.2.2.2  bouyer a 
    579  1.1.1.2.2.2  bouyer much larger code and data size.
    580  1.1.1.2.2.2  bouyer 
    581  1.1.1.2.2.2  bouyer   Previous Release:
    582  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
    583  1.1.1.2.2.2  bouyer     Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
    584  1.1.1.2.2.2  bouyer   Current Release:
    585  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
    586  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
    587  1.1.1.2.2.2  bouyer 
    588  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    589  1.1.1.2.2.2  bouyer 
    590  1.1.1.2.2.2  bouyer iASL: Added compiler support for the _WDG and_WED Microsoft predefined 
    591  1.1.1.2.2.2  bouyer methods. These objects are defined by "Windows Instrumentation", and are not 
    592  1.1.1.2.2.2  bouyer part of the ACPI spec. ACPICA BZ 860.
    593  1.1.1.2.2.2  bouyer 
    594  1.1.1.2.2.2  bouyer AcpiExec: added option to disable the memory tracking mechanism. The -dt 
    595  1.1.1.2.2.2  bouyer option will disable the tracking mechanism, which improves performance 
    596  1.1.1.2.2.2  bouyer considerably.
    597  1.1.1.2.2.2  bouyer 
    598  1.1.1.2.2.2  bouyer AcpiExec: Restructured the command line options into -d (disable) and -e 
    599  1.1.1.2.2.2  bouyer (enable) options.
    600  1.1.1.2.2.2  bouyer 
    601  1.1.1.2.2.2  bouyer ----------------------------------------
    602  1.1.1.2.2.2  bouyer 28 April 2010. Summary of changes for version 20100428:
    603  1.1.1.2.2.2  bouyer 
    604  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    605  1.1.1.2.2.2  bouyer 
    606  1.1.1.2.2.2  bouyer Implemented GPE support for dynamically loaded ACPI tables. For all GPEs, 
    607  1.1.1.2.2.2  bouyer including FADT-based and GPE Block Devices, execute any _PRW methods in the 
    608  1.1.1.2.2.2  bouyer new table, and process any _Lxx/_Exx GPE methods in the new table. Any 
    609  1.1.1.2.2.2  bouyer runtime GPE that is referenced by an _Lxx/_Exx method in the new table is 
    610  1.1.1.2.2.2  bouyer immediately enabled. Handles the FADT-defined GPEs as well as GPE Block 
    611  1.1.1.2.2.2  bouyer Devices. Provides compatibility with other ACPI implementations. Two new 
    612  1.1.1.2.2.2  bouyer files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob 
    613  1.1.1.2.2.2  bouyer Moore.
    614  1.1.1.2.2.2  bouyer 
    615  1.1.1.2.2.2  bouyer Fixed a regression introduced in version 20100331 within the table manager 
    616  1.1.1.2.2.2  bouyer where initial table loading could fail. This was introduced in the fix for 
    617  1.1.1.2.2.2  bouyer AcpiReallocateRootTable. Also, renamed some of fields in the table manager 
    618  1.1.1.2.2.2  bouyer data structures to clarify their meaning and use.
    619  1.1.1.2.2.2  bouyer 
    620  1.1.1.2.2.2  bouyer Fixed a possible allocation overrun during internal object copy in 
    621  1.1.1.2.2.2  bouyer AcpiUtCopySimpleObject. The original code did not correctly handle the case 
    622  1.1.1.2.2.2  bouyer where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.
    623  1.1.1.2.2.2  bouyer 
    624  1.1.1.2.2.2  bouyer Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a 
    625  1.1.1.2.2.2  bouyer possible access beyond end-of-allocation. Also, now fully validate 
    626  1.1.1.2.2.2  bouyer descriptor 
    627  1.1.1.2.2.2  bouyer (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
    628  1.1.1.2.2.2  bouyer 
    629  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    630  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    631  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    632  1.1.1.2.2.2  bouyer a 
    633  1.1.1.2.2.2  bouyer much larger code and data size.
    634  1.1.1.2.2.2  bouyer 
    635  1.1.1.2.2.2  bouyer   Previous Release:
    636  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
    637  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
    638  1.1.1.2.2.2  bouyer   Current Release:
    639  1.1.1.2.2.2  bouyer     Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
    640  1.1.1.2.2.2  bouyer     Debug Version:     164.2K Code, 51.5K Data, 215.7K Total
    641  1.1.1.2.2.2  bouyer 
    642  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    643  1.1.1.2.2.2  bouyer 
    644  1.1.1.2.2.2  bouyer iASL: Implemented Min/Max/Len/Gran validation for address resource 
    645  1.1.1.2.2.2  bouyer descriptors. This change implements validation for the address fields that 
    646  1.1.1.2.2.2  bouyer are common to all address-type resource descriptors. These checks are 
    647  1.1.1.2.2.2  bouyer implemented: Checks for valid Min/Max, length within the Min/Max window, 
    648  1.1.1.2.2.2  bouyer valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per 
    649  1.1.1.2.2.2  bouyer table 6-40 in the ACPI 4.0a specification. Also split the large 
    650  1.1.1.2.2.2  bouyer aslrestype1.c 
    651  1.1.1.2.2.2  bouyer and aslrestype2.c files into five new files. ACPICA BZ 840.
    652  1.1.1.2.2.2  bouyer 
    653  1.1.1.2.2.2  bouyer iASL: Added support for the _Wxx predefined names. This support was missing 
    654  1.1.1.2.2.2  bouyer and these names were not recognized by the compiler as valid predefined 
    655  1.1.1.2.2.2  bouyer names. ACPICA BZ 851.
    656  1.1.1.2.2.2  bouyer 
    657  1.1.1.2.2.2  bouyer iASL: Added an error for all predefined names that are defined to return no 
    658  1.1.1.2.2.2  bouyer value and thus must be implemented as Control Methods. These include all of 
    659  1.1.1.2.2.2  bouyer the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous 
    660  1.1.1.2.2.2  bouyer names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
    661  1.1.1.2.2.2  bouyer 
    662  1.1.1.2.2.2  bouyer iASL: Implemented the -ts option to emit hex AML data in ASL format, as an 
    663  1.1.1.2.2.2  bouyer ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be 
    664  1.1.1.2.2.2  bouyer dynamically loaded via the Load() operator. Also cleaned up output for the -
    665  1.1.1.2.2.2  bouyer ta and -tc options. ACPICA BZ 853.
    666  1.1.1.2.2.2  bouyer 
    667  1.1.1.2.2.2  bouyer Tests: Added a new file with examples of extended iASL error checking. 
    668  1.1.1.2.2.2  bouyer Demonstrates the advanced error checking ability of the iASL compiler. 
    669  1.1.1.2.2.2  bouyer Available at tests/misc/badcode.asl.
    670  1.1.1.2.2.2  bouyer 
    671  1.1.1.2.2.2  bouyer ----------------------------------------
    672  1.1.1.2.2.2  bouyer 31 March 2010. Summary of changes for version 20100331:
    673  1.1.1.2.2.2  bouyer 
    674  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    675  1.1.1.2.2.2  bouyer 
    676  1.1.1.2.2.2  bouyer Completed a major update for the GPE support in order to improve support for 
    677  1.1.1.2.2.2  bouyer shared GPEs and to simplify both host OS and ACPICA code. Added a reference 
    678  1.1.1.2.2.2  bouyer count mechanism to support shared GPEs that require multiple device drivers. 
    679  1.1.1.2.2.2  bouyer Several external interfaces have changed. One external interface has been 
    680  1.1.1.2.2.2  bouyer removed. One new external interface was added. Most of the GPE external 
    681  1.1.1.2.2.2  bouyer interfaces now use the GPE spinlock instead of the events mutex (and the 
    682  1.1.1.2.2.2  bouyer Flags parameter for many GPE interfaces has been removed.) See the updated 
    683  1.1.1.2.2.2  bouyer ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael 
    684  1.1.1.2.2.2  bouyer Wysocki. ACPICA BZ 831.
    685  1.1.1.2.2.2  bouyer 
    686  1.1.1.2.2.2  bouyer Changed:
    687  1.1.1.2.2.2  bouyer     AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
    688  1.1.1.2.2.2  bouyer Removed:
    689  1.1.1.2.2.2  bouyer     AcpiSetGpeType
    690  1.1.1.2.2.2  bouyer New:
    691  1.1.1.2.2.2  bouyer     AcpiSetGpe
    692  1.1.1.2.2.2  bouyer 
    693  1.1.1.2.2.2  bouyer Implemented write support for DataTable operation regions. These regions are 
    694  1.1.1.2.2.2  bouyer defined via the DataTableRegion() operator. Previously, only read support 
    695  1.1.1.2.2.2  bouyer was 
    696  1.1.1.2.2.2  bouyer implemented. The ACPI specification allows DataTableRegions to be 
    697  1.1.1.2.2.2  bouyer read/write, 
    698  1.1.1.2.2.2  bouyer however.
    699  1.1.1.2.2.2  bouyer 
    700  1.1.1.2.2.2  bouyer Implemented a new subsystem option to force a copy of the DSDT to local 
    701  1.1.1.2.2.2  bouyer memory. Optionally copy the entire DSDT to local memory (instead of simply 
    702  1.1.1.2.2.2  bouyer mapping it.) There are some (albeit very rare) BIOSs that corrupt or replace 
    703  1.1.1.2.2.2  bouyer the original DSDT, creating the need for this option. Default is FALSE, do 
    704  1.1.1.2.2.2  bouyer not copy the DSDT.
    705  1.1.1.2.2.2  bouyer 
    706  1.1.1.2.2.2  bouyer Implemented detection of a corrupted or replaced DSDT. This change adds 
    707  1.1.1.2.2.2  bouyer support to detect a DSDT that has been corrupted and/or replaced from 
    708  1.1.1.2.2.2  bouyer outside 
    709  1.1.1.2.2.2  bouyer the OS (by firmware). This is typically catastrophic for the system, but has 
    710  1.1.1.2.2.2  bouyer been seen on some machines. Once this problem has been detected, the DSDT 
    711  1.1.1.2.2.2  bouyer copy option can be enabled via system configuration. Lin Ming, Bob Moore.
    712  1.1.1.2.2.2  bouyer 
    713  1.1.1.2.2.2  bouyer Fixed two problems with AcpiReallocateRootTable during the root table copy. 
    714  1.1.1.2.2.2  bouyer When copying the root table to the new allocation, the length used was 
    715  1.1.1.2.2.2  bouyer incorrect. The new size was used instead of the current table size, meaning 
    716  1.1.1.2.2.2  bouyer too much data was copied. Also, the count of available slots for ACPI tables 
    717  1.1.1.2.2.2  bouyer was not set correctly. Alexey Starikovskiy, Bob Moore.
    718  1.1.1.2.2.2  bouyer 
    719  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    720  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    721  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    722  1.1.1.2.2.2  bouyer a 
    723  1.1.1.2.2.2  bouyer much larger code and data size.
    724  1.1.1.2.2.2  bouyer 
    725  1.1.1.2.2.2  bouyer   Previous Release:
    726  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
    727  1.1.1.2.2.2  bouyer     Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
    728  1.1.1.2.2.2  bouyer   Current Release:
    729  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.9K Code, 18.6K Data, 106.5K Total
    730  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
    731  1.1.1.2.2.2  bouyer 
    732  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    733  1.1.1.2.2.2  bouyer 
    734  1.1.1.2.2.2  bouyer iASL: Implement limited typechecking for values returned from predefined 
    735  1.1.1.2.2.2  bouyer control methods. The type of any returned static (unnamed) object is now 
    736  1.1.1.2.2.2  bouyer validated. For example, Return(1). ACPICA BZ 786.
    737  1.1.1.2.2.2  bouyer 
    738  1.1.1.2.2.2  bouyer iASL: Fixed a predefined name object verification regression. Fixes a 
    739  1.1.1.2.2.2  bouyer problem 
    740  1.1.1.2.2.2  bouyer introduced in version 20100304. An error is incorrectly generated if a 
    741  1.1.1.2.2.2  bouyer predefined name is declared as a static named object with a value defined 
    742  1.1.1.2.2.2  bouyer using the keywords "Zero", "One", or "Ones". Lin Ming.
    743  1.1.1.2.2.2  bouyer 
    744  1.1.1.2.2.2  bouyer iASL: Added Windows 7 support for the -g option (get local ACPI tables) by 
    745  1.1.1.2.2.2  bouyer reducing the requested registry access rights. ACPICA BZ 842.
    746  1.1.1.2.2.2  bouyer 
    747  1.1.1.2.2.2  bouyer Disassembler: fixed a possible fault when generating External() statements. 
    748  1.1.1.2.2.2  bouyer Introduced in commit ae7d6fd: Properly handle externals with parent-prefix 
    749  1.1.1.2.2.2  bouyer (carat). Fixes a string length allocation calculation. Lin Ming.
    750  1.1.1.2.2.2  bouyer 
    751  1.1.1.2.2.2  bouyer ----------------------------------------
    752  1.1.1.2.2.2  bouyer 04 March 2010. Summary of changes for version 20100304:
    753  1.1.1.2.2.2  bouyer 
    754  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    755  1.1.1.2.2.2  bouyer 
    756  1.1.1.2.2.2  bouyer Fixed a possible problem with the AML Mutex handling function 
    757  1.1.1.2.2.2  bouyer AcpiExReleaseMutex where the function could fault under the very rare 
    758  1.1.1.2.2.2  bouyer condition when the interpreter has blocked, the interpreter lock is 
    759  1.1.1.2.2.2  bouyer released, 
    760  1.1.1.2.2.2  bouyer the interpreter is then reentered via the same thread, and attempts to 
    761  1.1.1.2.2.2  bouyer acquire an AML mutex that was previously acquired. FreeBSD report 140979. 
    762  1.1.1.2.2.2  bouyer Lin 
    763  1.1.1.2.2.2  bouyer Ming.
    764  1.1.1.2.2.2  bouyer 
    765  1.1.1.2.2.2  bouyer Implemented additional configuration support for the AML "Debug Object". 
    766  1.1.1.2.2.2  bouyer Output from the debug object can now be enabled via a global variable, 
    767  1.1.1.2.2.2  bouyer AcpiGbl_EnableAmlDebugObject. This will assist with remote machine 
    768  1.1.1.2.2.2  bouyer debugging. 
    769  1.1.1.2.2.2  bouyer This debug output is now available in the release version of ACPICA instead 
    770  1.1.1.2.2.2  bouyer of just the debug version. Also, the entire debug output module can now be 
    771  1.1.1.2.2.2  bouyer configured out of the ACPICA build if desired. One new file added, 
    772  1.1.1.2.2.2  bouyer executer/exdebug.c. Lin Ming, Bob Moore.
    773  1.1.1.2.2.2  bouyer 
    774  1.1.1.2.2.2  bouyer Added header support for the ACPI MCHI table (Management Controller Host 
    775  1.1.1.2.2.2  bouyer Interface Table). This table was added in ACPI 4.0, but the defining 
    776  1.1.1.2.2.2  bouyer document 
    777  1.1.1.2.2.2  bouyer has only recently become available.
    778  1.1.1.2.2.2  bouyer 
    779  1.1.1.2.2.2  bouyer Standardized output of integer values for ACPICA warnings/errors. Always use 
    780  1.1.1.2.2.2  bouyer 0x prefix for hex output, always use %u for unsigned integer decimal output. 
    781  1.1.1.2.2.2  bouyer Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 400 
    782  1.1.1.2.2.2  bouyer invocations.) These invocations were converted from the original 
    783  1.1.1.2.2.2  bouyer ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
    784  1.1.1.2.2.2  bouyer 
    785  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    786  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    787  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    788  1.1.1.2.2.2  bouyer a 
    789  1.1.1.2.2.2  bouyer much larger code and data size.
    790  1.1.1.2.2.2  bouyer 
    791  1.1.1.2.2.2  bouyer   Previous Release:
    792  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
    793  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
    794  1.1.1.2.2.2  bouyer   Current Release:
    795  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.5K Code, 18.4K Data, 105.9K Total
    796  1.1.1.2.2.2  bouyer     Debug Version:     163.4K Code, 51.1K Data, 214.5K Total
    797  1.1.1.2.2.2  bouyer 
    798  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    799  1.1.1.2.2.2  bouyer 
    800  1.1.1.2.2.2  bouyer iASL: Implemented typechecking support for static (non-control method) 
    801  1.1.1.2.2.2  bouyer predefined named objects that are declared with the Name() operator. For 
    802  1.1.1.2.2.2  bouyer example, the type of this object is now validated to be of type Integer: 
    803  1.1.1.2.2.2  bouyer Name(_BBN, 1). This change migrates the compiler to using the core 
    804  1.1.1.2.2.2  bouyer predefined 
    805  1.1.1.2.2.2  bouyer name table instead of maintaining a local version. Added a new file, 
    806  1.1.1.2.2.2  bouyer aslpredef.c. ACPICA BZ 832.
    807  1.1.1.2.2.2  bouyer 
    808  1.1.1.2.2.2  bouyer Disassembler: Added support for the ACPI 4.0 MCHI table.
    809  1.1.1.2.2.2  bouyer 
    810  1.1.1.2.2.2  bouyer ----------------------------------------
    811  1.1.1.2.2.2  bouyer 21 January 2010. Summary of changes for version 20100121:
    812  1.1.1.2.2.2  bouyer 
    813  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    814  1.1.1.2.2.2  bouyer 
    815  1.1.1.2.2.2  bouyer Added the 2010 copyright to all module headers and signons. This affects 
    816  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, the iASL compiler, the 
    817  1.1.1.2.2.2  bouyer tools/utilities, and the test suites.
    818  1.1.1.2.2.2  bouyer 
    819  1.1.1.2.2.2  bouyer Implemented a change to the AcpiGetDevices interface to eliminate 
    820  1.1.1.2.2.2  bouyer unnecessary 
    821  1.1.1.2.2.2  bouyer invocations of the _STA method. In the case where a specific _HID is 
    822  1.1.1.2.2.2  bouyer requested, do not run _STA until a _HID match is found. This eliminates 
    823  1.1.1.2.2.2  bouyer potentially dozens of _STA calls during a search for a particular 
    824  1.1.1.2.2.2  bouyer device/HID, 
    825  1.1.1.2.2.2  bouyer which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
    826  1.1.1.2.2.2  bouyer 
    827  1.1.1.2.2.2  bouyer Implemented an additional repair for predefined method return values. 
    828  1.1.1.2.2.2  bouyer Attempt 
    829  1.1.1.2.2.2  bouyer to repair unexpected NULL elements within returned Package objects. Create 
    830  1.1.1.2.2.2  bouyer an 
    831  1.1.1.2.2.2  bouyer Integer of value zero, a NULL String, or a zero-length Buffer as 
    832  1.1.1.2.2.2  bouyer appropriate. 
    833  1.1.1.2.2.2  bouyer ACPICA BZ 818. Lin Ming, Bob Moore.
    834  1.1.1.2.2.2  bouyer 
    835  1.1.1.2.2.2  bouyer Removed the obsolete ACPI_INTEGER data type. This type was introduced as the 
    836  1.1.1.2.2.2  bouyer code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 (with 
    837  1.1.1.2.2.2  bouyer 64-bit AML integers). It is now obsolete and this change removes it from the 
    838  1.1.1.2.2.2  bouyer ACPICA code base, replaced by UINT64. The original typedef has been retained 
    839  1.1.1.2.2.2  bouyer for now for compatibility with existing device driver code. ACPICA BZ 824.
    840  1.1.1.2.2.2  bouyer 
    841  1.1.1.2.2.2  bouyer Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in 
    842  1.1.1.2.2.2  bouyer the parse tree object.
    843  1.1.1.2.2.2  bouyer 
    844  1.1.1.2.2.2  bouyer Added additional warning options for the gcc-4 generation. Updated the 
    845  1.1.1.2.2.2  bouyer source 
    846  1.1.1.2.2.2  bouyer accordingly. This includes some code restructuring to eliminate unreachable 
    847  1.1.1.2.2.2  bouyer code, elimination of some gotos, elimination of unused return values, some 
    848  1.1.1.2.2.2  bouyer additional casting, and removal of redundant declarations.
    849  1.1.1.2.2.2  bouyer 
    850  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    851  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    852  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    853  1.1.1.2.2.2  bouyer a 
    854  1.1.1.2.2.2  bouyer much larger code and data size.
    855  1.1.1.2.2.2  bouyer 
    856  1.1.1.2.2.2  bouyer   Previous Release:
    857  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
    858  1.1.1.2.2.2  bouyer     Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
    859  1.1.1.2.2.2  bouyer   Current Release:
    860  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.1K Code, 18.0K Data, 105.1K Total
    861  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 50.9K Data, 214.4K Total
    862  1.1.1.2.2.2  bouyer 
    863  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    864  1.1.1.2.2.2  bouyer 
    865  1.1.1.2.2.2  bouyer No functional changes for this release.
    866  1.1.1.2.2.2  bouyer 
    867  1.1.1.2.2.2  bouyer ----------------------------------------
    868  1.1.1.2.2.2  bouyer 14 December 2009. Summary of changes for version 20091214:
    869  1.1.1.2.2.2  bouyer 
    870  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    871  1.1.1.2.2.2  bouyer 
    872  1.1.1.2.2.2  bouyer Enhanced automatic data type conversions for predefined name repairs. This 
    873  1.1.1.2.2.2  bouyer change expands the automatic repairs/conversions for predefined name return 
    874  1.1.1.2.2.2  bouyer values to make Integers, Strings, and Buffers fully interchangeable. Also, a 
    875  1.1.1.2.2.2  bouyer Buffer can be converted to a Package of Integers if necessary. The 
    876  1.1.1.2.2.2  bouyer nsrepair.c 
    877  1.1.1.2.2.2  bouyer module was completely restructured. Lin Ming, Bob Moore.
    878  1.1.1.2.2.2  bouyer 
    879  1.1.1.2.2.2  bouyer Implemented automatic removal of null package elements during predefined 
    880  1.1.1.2.2.2  bouyer name 
    881  1.1.1.2.2.2  bouyer repairs. This change will automatically remove embedded and trailing NULL 
    882  1.1.1.2.2.2  bouyer package elements from returned package objects that are defined to contain a 
    883  1.1.1.2.2.2  bouyer variable number of sub-packages. The driver is then presented with a package 
    884  1.1.1.2.2.2  bouyer with no null elements to deal with. ACPICA BZ 819.
    885  1.1.1.2.2.2  bouyer 
    886  1.1.1.2.2.2  bouyer Implemented a repair for the predefined _FDE and _GTM names. The expected 
    887  1.1.1.2.2.2  bouyer return value for both names is a Buffer of 5 DWORDs. This repair fixes two 
    888  1.1.1.2.2.2  bouyer possible problems (both seen in the field), where a package of integers is 
    889  1.1.1.2.2.2  bouyer returned, or a buffer of BYTEs is returned. With assistance from Jung-uk 
    890  1.1.1.2.2.2  bouyer Kim.
    891  1.1.1.2.2.2  bouyer 
    892  1.1.1.2.2.2  bouyer Implemented additional module-level code support. This change will properly 
    893  1.1.1.2.2.2  bouyer execute module-level code that is not at the root of the namespace (under a 
    894  1.1.1.2.2.2  bouyer Device object, etc.). Now executes the code within the current scope instead 
    895  1.1.1.2.2.2  bouyer of the root. ACPICA BZ 762. Lin Ming.
    896  1.1.1.2.2.2  bouyer 
    897  1.1.1.2.2.2  bouyer Fixed possible mutex acquisition errors when running _REG methods. Fixes a 
    898  1.1.1.2.2.2  bouyer problem where mutex errors can occur when running a _REG method that is in 
    899  1.1.1.2.2.2  bouyer the same scope as a method-defined operation region or an operation region 
    900  1.1.1.2.2.2  bouyer under a module-level IF block. This type of code is rare, so the problem has 
    901  1.1.1.2.2.2  bouyer not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
    902  1.1.1.2.2.2  bouyer 
    903  1.1.1.2.2.2  bouyer Fixed a possible memory leak during module-level code execution. An object 
    904  1.1.1.2.2.2  bouyer could be leaked for each block of executed module-level code if the 
    905  1.1.1.2.2.2  bouyer interpreter slack mode is enabled This change deletes any implicitly 
    906  1.1.1.2.2.2  bouyer returned 
    907  1.1.1.2.2.2  bouyer object from the module-level code block. Lin Ming.
    908  1.1.1.2.2.2  bouyer 
    909  1.1.1.2.2.2  bouyer Removed messages for successful predefined repair(s). The repair mechanism 
    910  1.1.1.2.2.2  bouyer was considered too wordy. Now, messages are only unconditionally emitted if 
    911  1.1.1.2.2.2  bouyer the return object cannot be repaired. Existing messages for successful 
    912  1.1.1.2.2.2  bouyer repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
    913  1.1.1.2.2.2  bouyer 
    914  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    915  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    916  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    917  1.1.1.2.2.2  bouyer a 
    918  1.1.1.2.2.2  bouyer much larger code and data size.
    919  1.1.1.2.2.2  bouyer 
    920  1.1.1.2.2.2  bouyer   Previous Release:
    921  1.1.1.2.2.2  bouyer     Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
    922  1.1.1.2.2.2  bouyer     Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
    923  1.1.1.2.2.2  bouyer   Current Release:
    924  1.1.1.2.2.2  bouyer     Non-Debug Version:  87.0K Code, 18.0K Data, 105.0K Total
    925  1.1.1.2.2.2  bouyer     Debug Version:     163.4K Code, 50.8K Data, 214.2K Total
    926  1.1.1.2.2.2  bouyer 
    927  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    928  1.1.1.2.2.2  bouyer 
    929  1.1.1.2.2.2  bouyer iASL: Fixed a regression introduced in 20091112 where intermediate .SRC 
    930  1.1.1.2.2.2  bouyer files 
    931  1.1.1.2.2.2  bouyer were no longer automatically removed at the termination of the compile.
    932  1.1.1.2.2.2  bouyer 
    933  1.1.1.2.2.2  bouyer acpiexec: Implemented the -f option to specify default region fill value. 
    934  1.1.1.2.2.2  bouyer This option specifies the value used to initialize buffers that simulate 
    935  1.1.1.2.2.2  bouyer operation regions. Default value is zero. Useful for debugging problems that 
    936  1.1.1.2.2.2  bouyer depend on a specific initial value for a region or field.
    937  1.1.1.2.2.2  bouyer 
    938  1.1.1.2.2.2  bouyer ----------------------------------------
    939  1.1.1.2.2.2  bouyer 12 November 2009. Summary of changes for version 20091112:
    940  1.1.1.2.2.2  bouyer 
    941  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
    942  1.1.1.2.2.2  bouyer 
    943  1.1.1.2.2.2  bouyer Implemented a post-order callback to AcpiWalkNamespace. The existing 
    944  1.1.1.2.2.2  bouyer interface only has a pre-order callback. This change adds an additional 
    945  1.1.1.2.2.2  bouyer parameter for a post-order callback which will be more useful for bus scans. 
    946  1.1.1.2.2.2  bouyer ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
    947  1.1.1.2.2.2  bouyer 
    948  1.1.1.2.2.2  bouyer Modified the behavior of the operation region memory mapping cache for 
    949  1.1.1.2.2.2  bouyer SystemMemory. Ensure that the memory mappings created for operation regions 
    950  1.1.1.2.2.2  bouyer do not cross 4K page boundaries. Crossing a page boundary while mapping 
    951  1.1.1.2.2.2  bouyer regions can cause kernel warnings on some hosts if the pages have different 
    952  1.1.1.2.2.2  bouyer attributes. Such regions are probably BIOS bugs, and this is the workaround. 
    953  1.1.1.2.2.2  bouyer Linux BZ 14445. Lin Ming.
    954  1.1.1.2.2.2  bouyer 
    955  1.1.1.2.2.2  bouyer Implemented an automatic repair for predefined methods that must return 
    956  1.1.1.2.2.2  bouyer sorted lists. This change will repair (by sorting) packages returned by 
    957  1.1.1.2.2.2  bouyer _ALR, 
    958  1.1.1.2.2.2  bouyer _PSS, and _TSS. Drivers can now assume that the packages are correctly 
    959  1.1.1.2.2.2  bouyer sorted 
    960  1.1.1.2.2.2  bouyer and do not contain NULL package elements. Adds one new file, 
    961  1.1.1.2.2.2  bouyer namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
    962  1.1.1.2.2.2  bouyer 
    963  1.1.1.2.2.2  bouyer Fixed a possible fault during predefined name validation if a return Package 
    964  1.1.1.2.2.2  bouyer object contains NULL elements. Also adds a warning if a NULL element is 
    965  1.1.1.2.2.2  bouyer followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement 
    966  1.1.1.2.2.2  bouyer may 
    967  1.1.1.2.2.2  bouyer include repair or removal of all such NULL elements where possible.
    968  1.1.1.2.2.2  bouyer 
    969  1.1.1.2.2.2  bouyer Implemented additional module-level executable AML code support. This change 
    970  1.1.1.2.2.2  bouyer will execute module-level code that is not at the root of the namespace 
    971  1.1.1.2.2.2  bouyer (under a Device object, etc.) at table load time. Module-level executable 
    972  1.1.1.2.2.2  bouyer AML 
    973  1.1.1.2.2.2  bouyer code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
    974  1.1.1.2.2.2  bouyer 
    975  1.1.1.2.2.2  bouyer Implemented a new internal function to create Integer objects. This function 
    976  1.1.1.2.2.2  bouyer simplifies miscellaneous object creation code. ACPICA BZ 823.
    977  1.1.1.2.2.2  bouyer 
    978  1.1.1.2.2.2  bouyer Reduced the severity of predefined repair messages, Warning to Info. Since 
    979  1.1.1.2.2.2  bouyer the object was successfully repaired, a warning is too severe. Reduced to an 
    980  1.1.1.2.2.2  bouyer info message for now. These messages may eventually be changed to debug-
    981  1.1.1.2.2.2  bouyer only. 
    982  1.1.1.2.2.2  bouyer ACPICA BZ 812.
    983  1.1.1.2.2.2  bouyer 
    984  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
    985  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
    986  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
    987  1.1.1.2.2.2  bouyer a 
    988  1.1.1.2.2.2  bouyer much larger code and data size.
    989  1.1.1.2.2.2  bouyer 
    990  1.1.1.2.2.2  bouyer   Previous Release:
    991  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
    992  1.1.1.2.2.2  bouyer     Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
    993  1.1.1.2.2.2  bouyer   Current Release:
    994  1.1.1.2.2.2  bouyer     Non-Debug Version:  86.6K Code, 18.2K Data, 104.8K Total
    995  1.1.1.2.2.2  bouyer     Debug Version:     162.7K Code, 50.8K Data, 213.5K Total
    996  1.1.1.2.2.2  bouyer 
    997  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
    998  1.1.1.2.2.2  bouyer 
    999  1.1.1.2.2.2  bouyer iASL: Implemented Switch() with While(1) so that Break works correctly. This 
   1000  1.1.1.2.2.2  bouyer change correctly implements the Switch operator with a surrounding While(1) 
   1001  1.1.1.2.2.2  bouyer so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
   1002  1.1.1.2.2.2  bouyer 
   1003  1.1.1.2.2.2  bouyer iASL: Added a message if a package initializer list is shorter than package 
   1004  1.1.1.2.2.2  bouyer length. Adds a new remark for a Package() declaration if an initializer list 
   1005  1.1.1.2.2.2  bouyer exists, but is shorter than the declared length of the package. Although 
   1006  1.1.1.2.2.2  bouyer technically legal, this is probably a coding error and it is seen in the 
   1007  1.1.1.2.2.2  bouyer field. ACPICA BZ 815. Lin Ming, Bob Moore.
   1008  1.1.1.2.2.2  bouyer 
   1009  1.1.1.2.2.2  bouyer iASL: Fixed a problem where the compiler could fault after the maximum 
   1010  1.1.1.2.2.2  bouyer number 
   1011  1.1.1.2.2.2  bouyer of errors was reached (200).
   1012  1.1.1.2.2.2  bouyer 
   1013  1.1.1.2.2.2  bouyer acpixtract: Fixed a possible warning for pointer cast if the compiler 
   1014  1.1.1.2.2.2  bouyer warning 
   1015  1.1.1.2.2.2  bouyer level set very high.
   1016  1.1.1.2.2.2  bouyer 
   1017  1.1.1.2.2.2  bouyer ----------------------------------------
   1018  1.1.1.2.2.2  bouyer 13 October 2009. Summary of changes for version 20091013:
   1019  1.1.1.2.2.2  bouyer 
   1020  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1021  1.1.1.2.2.2  bouyer 
   1022  1.1.1.2.2.2  bouyer Fixed a problem where an Operation Region _REG method could be executed more 
   1023  1.1.1.2.2.2  bouyer than once. If a custom address space handler is installed by the host before 
   1024  1.1.1.2.2.2  bouyer the "initialize operation regions" phase of the ACPICA initialization, any 
   1025  1.1.1.2.2.2  bouyer _REG methods for that address space could be executed twice. This change 
   1026  1.1.1.2.2.2  bouyer fixes the problem. ACPICA BZ 427. Lin Ming.
   1027  1.1.1.2.2.2  bouyer 
   1028  1.1.1.2.2.2  bouyer Fixed a possible memory leak for the Scope() ASL operator. When the exact 
   1029  1.1.1.2.2.2  bouyer invocation of "Scope(\)" is executed (change scope to root), one internal 
   1030  1.1.1.2.2.2  bouyer operand object was leaked. Lin Ming.
   1031  1.1.1.2.2.2  bouyer 
   1032  1.1.1.2.2.2  bouyer Implemented a run-time repair for the _MAT predefined method. If the _MAT 
   1033  1.1.1.2.2.2  bouyer return value is defined as a Field object in the AML, and the field
   1034  1.1.1.2.2.2  bouyer size is less than or equal to the default width of an integer (32 or 
   1035  1.1.1.2.2.2  bouyer 64),_MAT 
   1036  1.1.1.2.2.2  bouyer can incorrectly return an Integer instead of a Buffer. ACPICA now 
   1037  1.1.1.2.2.2  bouyer automatically repairs this problem. ACPICA BZ 810.
   1038  1.1.1.2.2.2  bouyer 
   1039  1.1.1.2.2.2  bouyer Implemented a run-time repair for the _BIF and _BIX predefined methods. The 
   1040  1.1.1.2.2.2  bouyer "OEM Information" field is often incorrectly returned as an Integer with 
   1041  1.1.1.2.2.2  bouyer value zero if the field is not supported by the platform. This is due to an 
   1042  1.1.1.2.2.2  bouyer ambiguity in the ACPI specification. The field should always be a string. 
   1043  1.1.1.2.2.2  bouyer ACPICA now automatically repairs this problem by returning a NULL string 
   1044  1.1.1.2.2.2  bouyer within the returned Package. ACPICA BZ 807.
   1045  1.1.1.2.2.2  bouyer 
   1046  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1047  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1048  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1049  1.1.1.2.2.2  bouyer a 
   1050  1.1.1.2.2.2  bouyer much larger code and data size.
   1051  1.1.1.2.2.2  bouyer 
   1052  1.1.1.2.2.2  bouyer   Previous Release:
   1053  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
   1054  1.1.1.2.2.2  bouyer     Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
   1055  1.1.1.2.2.2  bouyer   Current Release:
   1056  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.8K Code, 18.0K Data, 103.8K Total
   1057  1.1.1.2.2.2  bouyer     Debug Version:     161.8K Code, 50.6K Data, 212.4K Total
   1058  1.1.1.2.2.2  bouyer 
   1059  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1060  1.1.1.2.2.2  bouyer 
   1061  1.1.1.2.2.2  bouyer Disassembler: Fixed a problem where references to external symbols that 
   1062  1.1.1.2.2.2  bouyer contained one or more parent-prefixes (carats) were not handled correctly, 
   1063  1.1.1.2.2.2  bouyer possibly causing a fault. ACPICA BZ 806. Lin Ming.
   1064  1.1.1.2.2.2  bouyer 
   1065  1.1.1.2.2.2  bouyer Disassembler: Restructured the code so that all functions that handle 
   1066  1.1.1.2.2.2  bouyer external symbols are in a single module. One new file is added, 
   1067  1.1.1.2.2.2  bouyer common/dmextern.c.
   1068  1.1.1.2.2.2  bouyer 
   1069  1.1.1.2.2.2  bouyer AML Debugger: Added a max count argument for the Batch command (which 
   1070  1.1.1.2.2.2  bouyer executes multiple predefined methods within the namespace.)
   1071  1.1.1.2.2.2  bouyer 
   1072  1.1.1.2.2.2  bouyer iASL: Updated the compiler documentation (User Reference.) Available at 
   1073  1.1.1.2.2.2  bouyer http://www.acpica.org/documentation/. ACPICA BZ 750.
   1074  1.1.1.2.2.2  bouyer 
   1075  1.1.1.2.2.2  bouyer AcpiXtract: Updated for Lint and other formatting changes. Close all open 
   1076  1.1.1.2.2.2  bouyer files.
   1077  1.1.1.2.2.2  bouyer 
   1078  1.1.1.2.2.2  bouyer ----------------------------------------
   1079  1.1.1.2.2.2  bouyer 03 September 2009. Summary of changes for version 20090903:
   1080  1.1.1.2.2.2  bouyer 
   1081  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1082  1.1.1.2.2.2  bouyer 
   1083  1.1.1.2.2.2  bouyer For Windows Vista compatibility, added the automatic execution of an _INI 
   1084  1.1.1.2.2.2  bouyer method located at the namespace root (\_INI). This method is executed at 
   1085  1.1.1.2.2.2  bouyer table load time. This support is in addition to the automatic execution of 
   1086  1.1.1.2.2.2  bouyer \_SB._INI. Lin Ming.
   1087  1.1.1.2.2.2  bouyer 
   1088  1.1.1.2.2.2  bouyer Fixed a possible memory leak in the interpreter for AML package objects if 
   1089  1.1.1.2.2.2  bouyer the package initializer list is longer than the defined size of the package. 
   1090  1.1.1.2.2.2  bouyer This apparently can only happen if the BIOS changes the package size on the 
   1091  1.1.1.2.2.2  bouyer fly (seen in a _PSS object), as ASL compilers do not allow this. The 
   1092  1.1.1.2.2.2  bouyer interpreter will truncate the package to the defined size (and issue an 
   1093  1.1.1.2.2.2  bouyer error 
   1094  1.1.1.2.2.2  bouyer message), but previously could leave the extra objects undeleted if they 
   1095  1.1.1.2.2.2  bouyer were 
   1096  1.1.1.2.2.2  bouyer pre-created during the argument processing (such is the case if the package 
   1097  1.1.1.2.2.2  bouyer consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
   1098  1.1.1.2.2.2  bouyer 
   1099  1.1.1.2.2.2  bouyer Fixed a problem seen when a Buffer or String is stored to itself via ASL. 
   1100  1.1.1.2.2.2  bouyer This has been reported in the field. Previously, ACPICA would zero out the 
   1101  1.1.1.2.2.2  bouyer buffer/string. Now, the operation is treated as a noop. Provides Windows 
   1102  1.1.1.2.2.2  bouyer compatibility. ACPICA BZ 803. Lin Ming.
   1103  1.1.1.2.2.2  bouyer 
   1104  1.1.1.2.2.2  bouyer Removed an extraneous error message for ASL constructs of the form 
   1105  1.1.1.2.2.2  bouyer Store(LocalX,LocalX) when LocalX is uninitialized. These curious statements 
   1106  1.1.1.2.2.2  bouyer are seen in many BIOSs and are once again treated as NOOPs and no error is 
   1107  1.1.1.2.2.2  bouyer emitted when they are encountered. ACPICA BZ 785.
   1108  1.1.1.2.2.2  bouyer 
   1109  1.1.1.2.2.2  bouyer Fixed an extraneous warning message if a _DSM reserved method returns a 
   1110  1.1.1.2.2.2  bouyer Package object. _DSM can return any type of object, so validation on the 
   1111  1.1.1.2.2.2  bouyer return type cannot be performed. ACPICA BZ 802.
   1112  1.1.1.2.2.2  bouyer 
   1113  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1114  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1115  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1116  1.1.1.2.2.2  bouyer a 
   1117  1.1.1.2.2.2  bouyer much larger code and data size.
   1118  1.1.1.2.2.2  bouyer 
   1119  1.1.1.2.2.2  bouyer   Previous Release:
   1120  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
   1121  1.1.1.2.2.2  bouyer     Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
   1122  1.1.1.2.2.2  bouyer   Current Release:
   1123  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.6K Code, 18.0K Data, 103.6K Total
   1124  1.1.1.2.2.2  bouyer     Debug Version:     161.7K Code, 50.9K Data, 212.6K Total
   1125  1.1.1.2.2.2  bouyer 
   1126  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1127  1.1.1.2.2.2  bouyer 
   1128  1.1.1.2.2.2  bouyer iASL: Fixed a problem with the use of the Alias operator and Resource 
   1129  1.1.1.2.2.2  bouyer Templates. The correct alias is now constructed and no error is emitted. 
   1130  1.1.1.2.2.2  bouyer ACPICA BZ 738.
   1131  1.1.1.2.2.2  bouyer 
   1132  1.1.1.2.2.2  bouyer iASL: Implemented the -I option to specify additional search directories for 
   1133  1.1.1.2.2.2  bouyer include files. Allows multiple additional search paths for include files. 
   1134  1.1.1.2.2.2  bouyer Directories are searched in the order specified on the command line (after 
   1135  1.1.1.2.2.2  bouyer the local directory is searched.) ACPICA BZ 800.
   1136  1.1.1.2.2.2  bouyer 
   1137  1.1.1.2.2.2  bouyer iASL: Fixed a problem where the full pathname for include files was not 
   1138  1.1.1.2.2.2  bouyer emitted for warnings/errors. This caused the IDE support to not work 
   1139  1.1.1.2.2.2  bouyer properly. ACPICA BZ 765.
   1140  1.1.1.2.2.2  bouyer 
   1141  1.1.1.2.2.2  bouyer iASL: Implemented the -@ option to specify a Windows-style response file 
   1142  1.1.1.2.2.2  bouyer containing additional command line options. ACPICA BZ 801.
   1143  1.1.1.2.2.2  bouyer 
   1144  1.1.1.2.2.2  bouyer AcpiExec: Added support to load multiple AML files simultaneously (such as a 
   1145  1.1.1.2.2.2  bouyer DSDT and multiple SSDTs). Also added support for wildcards within the AML 
   1146  1.1.1.2.2.2  bouyer pathname. These features allow all machine tables to be easily loaded and 
   1147  1.1.1.2.2.2  bouyer debugged together. ACPICA BZ 804.
   1148  1.1.1.2.2.2  bouyer 
   1149  1.1.1.2.2.2  bouyer Disassembler: Added missing support for disassembly of HEST table Error Bank 
   1150  1.1.1.2.2.2  bouyer subtables. 
   1151  1.1.1.2.2.2  bouyer 
   1152  1.1.1.2.2.2  bouyer ----------------------------------------
   1153  1.1.1.2.2.2  bouyer 30 July 2009. Summary of changes for version 20090730:
   1154  1.1.1.2.2.2  bouyer 
   1155  1.1.1.2.2.2  bouyer The ACPI 4.0 implementation for ACPICA is complete with this release.
   1156  1.1.1.2.2.2  bouyer 
   1157  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1158  1.1.1.2.2.2  bouyer 
   1159  1.1.1.2.2.2  bouyer ACPI 4.0: Added header file support for all new and changed ACPI tables. 
   1160  1.1.1.2.2.2  bouyer Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are new 
   1161  1.1.1.2.2.2  bouyer for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, BERT, 
   1162  1.1.1.2.2.2  bouyer EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. There 
   1163  1.1.1.2.2.2  bouyer have been some ACPI 4.0 changes to other existing tables. Split the large 
   1164  1.1.1.2.2.2  bouyer actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
   1165  1.1.1.2.2.2  bouyer 
   1166  1.1.1.2.2.2  bouyer ACPI 4.0: Implemented predefined name validation for all new names. There 
   1167  1.1.1.2.2.2  bouyer are 
   1168  1.1.1.2.2.2  bouyer 31 new names in ACPI 4.0. The predefined validation module was split into 
   1169  1.1.1.2.2.2  bouyer two 
   1170  1.1.1.2.2.2  bouyer files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
   1171  1.1.1.2.2.2  bouyer 
   1172  1.1.1.2.2.2  bouyer Implemented support for so-called "module-level executable code". This is 
   1173  1.1.1.2.2.2  bouyer executable AML code that exists outside of any control method and is 
   1174  1.1.1.2.2.2  bouyer intended 
   1175  1.1.1.2.2.2  bouyer to be executed at table load time. Although illegal since ACPI 2.0, this 
   1176  1.1.1.2.2.2  bouyer type 
   1177  1.1.1.2.2.2  bouyer of code still exists and is apparently still being created. Blocks of this 
   1178  1.1.1.2.2.2  bouyer code are now detected and executed as intended. Currently, the code blocks 
   1179  1.1.1.2.2.2  bouyer must exist under either an If, Else, or While construct; these are the 
   1180  1.1.1.2.2.2  bouyer typical cases seen in the field. ACPICA BZ 762. Lin Ming.
   1181  1.1.1.2.2.2  bouyer 
   1182  1.1.1.2.2.2  bouyer Implemented an automatic dynamic repair for predefined names that return 
   1183  1.1.1.2.2.2  bouyer nested Package objects. This applies to predefined names that are defined to 
   1184  1.1.1.2.2.2  bouyer return a variable-length Package of sub-packages. If the number of sub-
   1185  1.1.1.2.2.2  bouyer packages is one, BIOS code is occasionally seen that creates a simple single 
   1186  1.1.1.2.2.2  bouyer package with no sub-packages. This code attempts to fix the problem by 
   1187  1.1.1.2.2.2  bouyer wrapping a new package object around the existing package. These methods can 
   1188  1.1.1.2.2.2  bouyer be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA BZ 
   1189  1.1.1.2.2.2  bouyer 790.
   1190  1.1.1.2.2.2  bouyer 
   1191  1.1.1.2.2.2  bouyer Fixed a regression introduced in 20090625 for the AcpiGetDevices interface. 
   1192  1.1.1.2.2.2  bouyer The _HID/_CID matching was broken and no longer matched IDs correctly. 
   1193  1.1.1.2.2.2  bouyer ACPICA 
   1194  1.1.1.2.2.2  bouyer BZ 793.
   1195  1.1.1.2.2.2  bouyer 
   1196  1.1.1.2.2.2  bouyer Fixed a problem with AcpiReset where the reset would silently fail if the 
   1197  1.1.1.2.2.2  bouyer register was one of the protected I/O ports. AcpiReset now bypasses the port 
   1198  1.1.1.2.2.2  bouyer validation mechanism. This may eventually be driven into the AcpiRead/Write 
   1199  1.1.1.2.2.2  bouyer interfaces.
   1200  1.1.1.2.2.2  bouyer 
   1201  1.1.1.2.2.2  bouyer Fixed a regression related to the recent update of the AcpiRead/Write 
   1202  1.1.1.2.2.2  bouyer interfaces. A sleep/suspend could fail if the optional PM2 Control register 
   1203  1.1.1.2.2.2  bouyer does not exist during an attempt to write the Bus Master Arbitration bit. 
   1204  1.1.1.2.2.2  bouyer (However, some hosts already delete the code that writes this bit, and the 
   1205  1.1.1.2.2.2  bouyer code may in fact be obsolete at this date.) ACPICA BZ 799.
   1206  1.1.1.2.2.2  bouyer 
   1207  1.1.1.2.2.2  bouyer Fixed a problem where AcpiTerminate could fault if inadvertently called 
   1208  1.1.1.2.2.2  bouyer twice 
   1209  1.1.1.2.2.2  bouyer in succession. ACPICA BZ 795.
   1210  1.1.1.2.2.2  bouyer 
   1211  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1212  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1213  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1214  1.1.1.2.2.2  bouyer a 
   1215  1.1.1.2.2.2  bouyer much larger code and data size.
   1216  1.1.1.2.2.2  bouyer 
   1217  1.1.1.2.2.2  bouyer   Previous Release:
   1218  1.1.1.2.2.2  bouyer     Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
   1219  1.1.1.2.2.2  bouyer     Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
   1220  1.1.1.2.2.2  bouyer   Current Release:
   1221  1.1.1.2.2.2  bouyer     Non-Debug Version:  85.5K Code, 18.0K Data, 103.5K Total
   1222  1.1.1.2.2.2  bouyer     Debug Version:     161.6K Code, 50.9K Data, 212.5K Total
   1223  1.1.1.2.2.2  bouyer 
   1224  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1225  1.1.1.2.2.2  bouyer 
   1226  1.1.1.2.2.2  bouyer ACPI 4.0: Implemented disassembler support for all new ACPI tables and 
   1227  1.1.1.2.2.2  bouyer changes to existing tables. ACPICA BZ 775.
   1228  1.1.1.2.2.2  bouyer 
   1229  1.1.1.2.2.2  bouyer ----------------------------------------
   1230  1.1.1.2.2.2  bouyer 25 June 2009. Summary of changes for version 20090625:
   1231  1.1.1.2.2.2  bouyer 
   1232  1.1.1.2.2.2  bouyer The ACPI 4.0 Specification was released on June 16 and is available at 
   1233  1.1.1.2.2.2  bouyer www.acpi.info. ACPICA implementation of ACPI 4.0 is underway and will 
   1234  1.1.1.2.2.2  bouyer continue for the next few releases.
   1235  1.1.1.2.2.2  bouyer 
   1236  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1237  1.1.1.2.2.2  bouyer 
   1238  1.1.1.2.2.2  bouyer ACPI 4.0: Implemented interpreter support for the IPMI operation region 
   1239  1.1.1.2.2.2  bouyer address space. Includes support for bi-directional data buffers and an IPMI 
   1240  1.1.1.2.2.2  bouyer address space handler (to be installed by an IPMI device driver.) ACPICA BZ 
   1241  1.1.1.2.2.2  bouyer 773. Lin Ming.
   1242  1.1.1.2.2.2  bouyer 
   1243  1.1.1.2.2.2  bouyer ACPI 4.0: Added changes for existing ACPI tables - FACS and SRAT. Includes 
   1244  1.1.1.2.2.2  bouyer support in both the header files and the disassembler.
   1245  1.1.1.2.2.2  bouyer 
   1246  1.1.1.2.2.2  bouyer Completed a major update for the AcpiGetObjectInfo external interface. 
   1247  1.1.1.2.2.2  bouyer Changes include:
   1248  1.1.1.2.2.2  bouyer  - Support for variable, unlimited length HID, UID, and CID strings.
   1249  1.1.1.2.2.2  bouyer  - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
   1250  1.1.1.2.2.2  bouyer  - Call the _SxW power methods on behalf of a device object.
   1251  1.1.1.2.2.2  bouyer  - Determine if a device is a PCI root bridge.
   1252  1.1.1.2.2.2  bouyer  - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
   1253  1.1.1.2.2.2  bouyer These changes will require an update to all callers of this interface. See 
   1254  1.1.1.2.2.2  bouyer the updated ACPICA Programmer Reference for details. One new source file has 
   1255  1.1.1.2.2.2  bouyer been added - utilities/utids.c. ACPICA BZ 368, 780.
   1256  1.1.1.2.2.2  bouyer 
   1257  1.1.1.2.2.2  bouyer Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit 
   1258  1.1.1.2.2.2  bouyer transfers. The Value parameter has been extended from 32 bits to 64 bits in 
   1259  1.1.1.2.2.2  bouyer order to support new ACPI 4.0 tables. These changes will require an update 
   1260  1.1.1.2.2.2  bouyer to 
   1261  1.1.1.2.2.2  bouyer all callers of these interfaces. See the ACPICA Programmer Reference for 
   1262  1.1.1.2.2.2  bouyer details. ACPICA BZ 768.
   1263  1.1.1.2.2.2  bouyer 
   1264  1.1.1.2.2.2  bouyer Fixed several problems with AcpiAttachData. The handler was not invoked when 
   1265  1.1.1.2.2.2  bouyer the host node was deleted. The data sub-object was not automatically deleted 
   1266  1.1.1.2.2.2  bouyer when the host node was deleted. The interface to the handler had an unused 
   1267  1.1.1.2.2.2  bouyer parameter, this was removed. ACPICA BZ 778.
   1268  1.1.1.2.2.2  bouyer 
   1269  1.1.1.2.2.2  bouyer Enhanced the function that dumps ACPI table headers. All non-printable 
   1270  1.1.1.2.2.2  bouyer characters in the string fields are now replaced with '?' (Signature, OemId, 
   1271  1.1.1.2.2.2  bouyer OemTableId, and CompilerId.) ACPI tables with non-printable characters in 
   1272  1.1.1.2.2.2  bouyer these fields are occasionally seen in the field. ACPICA BZ 788.
   1273  1.1.1.2.2.2  bouyer 
   1274  1.1.1.2.2.2  bouyer Fixed a problem with predefined method repair code where the code that 
   1275  1.1.1.2.2.2  bouyer attempts to repair/convert an object of incorrect type is only executed on 
   1276  1.1.1.2.2.2  bouyer the first time the predefined method is called. The mechanism that disables 
   1277  1.1.1.2.2.2  bouyer warnings on subsequent calls was interfering with the repair mechanism. 
   1278  1.1.1.2.2.2  bouyer ACPICA BZ 781.
   1279  1.1.1.2.2.2  bouyer 
   1280  1.1.1.2.2.2  bouyer Fixed a possible memory leak in the predefined validation/repair code when a 
   1281  1.1.1.2.2.2  bouyer buffer is automatically converted to an expected string object.
   1282  1.1.1.2.2.2  bouyer 
   1283  1.1.1.2.2.2  bouyer Removed obsolete 16-bit files from the distribution and from the current git 
   1284  1.1.1.2.2.2  bouyer tree head. ACPICA BZ 776.
   1285  1.1.1.2.2.2  bouyer 
   1286  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1287  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1288  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1289  1.1.1.2.2.2  bouyer a 
   1290  1.1.1.2.2.2  bouyer much larger code and data size.
   1291  1.1.1.2.2.2  bouyer 
   1292  1.1.1.2.2.2  bouyer   Previous Release:
   1293  1.1.1.2.2.2  bouyer     Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
   1294  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
   1295  1.1.1.2.2.2  bouyer   Current Release:
   1296  1.1.1.2.2.2  bouyer     Non-Debug Version:  84.7K Code, 17.8K Data, 102.5K Total
   1297  1.1.1.2.2.2  bouyer     Debug Version:     160.5K Code, 50.6K Data, 211.1K Total
   1298  1.1.1.2.2.2  bouyer 
   1299  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1300  1.1.1.2.2.2  bouyer 
   1301  1.1.1.2.2.2  bouyer ACPI 4.0: iASL and Disassembler - implemented support for the new IPMI 
   1302  1.1.1.2.2.2  bouyer operation region keyword. ACPICA BZ 771, 772. Lin Ming.
   1303  1.1.1.2.2.2  bouyer 
   1304  1.1.1.2.2.2  bouyer ACPI 4.0: iASL - implemented compile-time validation support for all new 
   1305  1.1.1.2.2.2  bouyer predefined names and control methods (31 total). ACPICA BZ 769.
   1306  1.1.1.2.2.2  bouyer 
   1307  1.1.1.2.2.2  bouyer ----------------------------------------
   1308  1.1.1.2.2.2  bouyer 21 May 2009. Summary of changes for version 20090521:
   1309  1.1.1.2.2.2  bouyer 
   1310  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1311  1.1.1.2.2.2  bouyer 
   1312  1.1.1.2.2.2  bouyer Disabled the preservation of the SCI enable bit in the PM1 control register. 
   1313  1.1.1.2.2.2  bouyer The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to 
   1314  1.1.1.2.2.2  bouyer be 
   1315  1.1.1.2.2.2  bouyer a "preserved" bit - "OSPM always preserves this bit position", section 
   1316  1.1.1.2.2.2  bouyer 4.7.3.2.1. However, some machines fail if this bit is in fact preserved 
   1317  1.1.1.2.2.2  bouyer because the bit needs to be explicitly set by the OS as a workaround. No 
   1318  1.1.1.2.2.2  bouyer machines fail if the bit is not preserved. Therefore, ACPICA no longer 
   1319  1.1.1.2.2.2  bouyer attempts to preserve this bit.
   1320  1.1.1.2.2.2  bouyer 
   1321  1.1.1.2.2.2  bouyer Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or 
   1322  1.1.1.2.2.2  bouyer incorrectly formed _PRT package could cause a fault. Added validation to 
   1323  1.1.1.2.2.2  bouyer ensure that each package element is actually a sub-package.
   1324  1.1.1.2.2.2  bouyer 
   1325  1.1.1.2.2.2  bouyer Implemented a new interface to install or override a single control method, 
   1326  1.1.1.2.2.2  bouyer AcpiInstallMethod. This interface is useful when debugging in order to 
   1327  1.1.1.2.2.2  bouyer repair 
   1328  1.1.1.2.2.2  bouyer an existing method or to install a missing method without having to override 
   1329  1.1.1.2.2.2  bouyer the entire ACPI table. See the ACPICA Programmer Reference for use and 
   1330  1.1.1.2.2.2  bouyer examples. Lin Ming, Bob Moore.
   1331  1.1.1.2.2.2  bouyer 
   1332  1.1.1.2.2.2  bouyer Fixed several reference count issues with the DdbHandle object that is 
   1333  1.1.1.2.2.2  bouyer created from a Load or LoadTable operator. Prevent premature deletion of the 
   1334  1.1.1.2.2.2  bouyer object. Also, mark the object as invalid once the table has been unloaded. 
   1335  1.1.1.2.2.2  bouyer This is needed because the handle itself may not be deleted after the table 
   1336  1.1.1.2.2.2  bouyer unload, depending on whether it has been stored in a named object by the 
   1337  1.1.1.2.2.2  bouyer caller. Lin Ming.
   1338  1.1.1.2.2.2  bouyer 
   1339  1.1.1.2.2.2  bouyer Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple 
   1340  1.1.1.2.2.2  bouyer mutexes of the same sync level are acquired but then not released in strict 
   1341  1.1.1.2.2.2  bouyer opposite order, the internally maintained Current Sync Level becomes 
   1342  1.1.1.2.2.2  bouyer confused 
   1343  1.1.1.2.2.2  bouyer and can cause subsequent execution errors. ACPICA BZ 471.
   1344  1.1.1.2.2.2  bouyer 
   1345  1.1.1.2.2.2  bouyer Changed the allowable release order for ASL mutex objects. The ACPI 4.0 
   1346  1.1.1.2.2.2  bouyer specification has been changed to make the SyncLevel for mutex objects more 
   1347  1.1.1.2.2.2  bouyer useful. When releasing a mutex, the SyncLevel of the mutex must now be the 
   1348  1.1.1.2.2.2  bouyer same as the current sync level. This makes more sense than the previous rule 
   1349  1.1.1.2.2.2  bouyer (SyncLevel less than or equal). This change updates the code to match the 
   1350  1.1.1.2.2.2  bouyer specification.
   1351  1.1.1.2.2.2  bouyer 
   1352  1.1.1.2.2.2  bouyer Fixed a problem with the local version of the AcpiOsPurgeCache function. The 
   1353  1.1.1.2.2.2  bouyer (local) cache must be locked during all cache object deletions. Andrew 
   1354  1.1.1.2.2.2  bouyer Baumann.
   1355  1.1.1.2.2.2  bouyer 
   1356  1.1.1.2.2.2  bouyer Updated the Load operator to use operation region interfaces. This replaces 
   1357  1.1.1.2.2.2  bouyer direct memory mapping with region access calls. Now, all region accesses go 
   1358  1.1.1.2.2.2  bouyer through the installed region handler as they should.
   1359  1.1.1.2.2.2  bouyer 
   1360  1.1.1.2.2.2  bouyer Simplified and optimized the NsGetNextNode function. Reduced parameter count 
   1361  1.1.1.2.2.2  bouyer and reduced code for this frequently used function.
   1362  1.1.1.2.2.2  bouyer 
   1363  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1364  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1365  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1366  1.1.1.2.2.2  bouyer a 
   1367  1.1.1.2.2.2  bouyer much larger code and data size.
   1368  1.1.1.2.2.2  bouyer 
   1369  1.1.1.2.2.2  bouyer   Previous Release:
   1370  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
   1371  1.1.1.2.2.2  bouyer     Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
   1372  1.1.1.2.2.2  bouyer   Current Release:
   1373  1.1.1.2.2.2  bouyer     Non-Debug Version:  83.4K Code, 17.5K Data, 100.9K Total
   1374  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 50.0K Data, 208.9K Total
   1375  1.1.1.2.2.2  bouyer 
   1376  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1377  1.1.1.2.2.2  bouyer 
   1378  1.1.1.2.2.2  bouyer Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some problems 
   1379  1.1.1.2.2.2  bouyer with sub-table disassembly and handling invalid sub-tables. Attempt recovery 
   1380  1.1.1.2.2.2  bouyer after an invalid sub-table ID.
   1381  1.1.1.2.2.2  bouyer 
   1382  1.1.1.2.2.2  bouyer ----------------------------------------
   1383  1.1.1.2.2.2  bouyer 22 April 2009. Summary of changes for version 20090422:
   1384  1.1.1.2.2.2  bouyer 
   1385  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1386  1.1.1.2.2.2  bouyer 
   1387  1.1.1.2.2.2  bouyer Fixed a compatibility issue with the recently released I/O port protection 
   1388  1.1.1.2.2.2  bouyer mechanism. For windows compatibility, 1) On a port protection violation, 
   1389  1.1.1.2.2.2  bouyer simply ignore the request and do not return an exception (allow the control 
   1390  1.1.1.2.2.2  bouyer method to continue execution.) 2) If only part of the request overlaps a 
   1391  1.1.1.2.2.2  bouyer protected port, read/write the individual ports that are not protected. 
   1392  1.1.1.2.2.2  bouyer Linux 
   1393  1.1.1.2.2.2  bouyer BZ 13036. Lin Ming
   1394  1.1.1.2.2.2  bouyer 
   1395  1.1.1.2.2.2  bouyer Enhanced the execution of the ASL/AML BreakPoint operator so that it 
   1396  1.1.1.2.2.2  bouyer actually 
   1397  1.1.1.2.2.2  bouyer breaks into the AML debugger if the debugger is present. This matches the 
   1398  1.1.1.2.2.2  bouyer ACPI-defined behavior.
   1399  1.1.1.2.2.2  bouyer 
   1400  1.1.1.2.2.2  bouyer Fixed several possible warnings related to the use of the configurable 
   1401  1.1.1.2.2.2  bouyer ACPI_THREAD_ID. This type can now be configured as either an integer or a 
   1402  1.1.1.2.2.2  bouyer pointer with no warnings. Also fixes several warnings in printf-like 
   1403  1.1.1.2.2.2  bouyer statements for the 64-bit build when the type is configured as a pointer. 
   1404  1.1.1.2.2.2  bouyer ACPICA BZ 766, 767.
   1405  1.1.1.2.2.2  bouyer 
   1406  1.1.1.2.2.2  bouyer Fixed a number of possible warnings when compiling with gcc 4+ (depending on 
   1407  1.1.1.2.2.2  bouyer warning options.) Examples include printf formats, aliasing, unused globals, 
   1408  1.1.1.2.2.2  bouyer missing prototypes, missing switch default statements, use of non-ANSI 
   1409  1.1.1.2.2.2  bouyer library functions, use of non-ANSI constructs. See generate/unix/Makefile 
   1410  1.1.1.2.2.2  bouyer for 
   1411  1.1.1.2.2.2  bouyer a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
   1412  1.1.1.2.2.2  bouyer 
   1413  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1414  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1415  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1416  1.1.1.2.2.2  bouyer a 
   1417  1.1.1.2.2.2  bouyer much larger code and data size.
   1418  1.1.1.2.2.2  bouyer 
   1419  1.1.1.2.2.2  bouyer   Previous Release:
   1420  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
   1421  1.1.1.2.2.2  bouyer     Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
   1422  1.1.1.2.2.2  bouyer   Current Release:
   1423  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.8K Code, 17.5K Data, 100.3K Total
   1424  1.1.1.2.2.2  bouyer     Debug Version:     158.0K Code, 49.9K Data, 207.9K Total
   1425  1.1.1.2.2.2  bouyer 
   1426  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1427  1.1.1.2.2.2  bouyer 
   1428  1.1.1.2.2.2  bouyer iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings 
   1429  1.1.1.2.2.2  bouyer on 
   1430  1.1.1.2.2.2  bouyer the 64-bit build.
   1431  1.1.1.2.2.2  bouyer 
   1432  1.1.1.2.2.2  bouyer iASL: Fixed a problem where the Unix/Linux versions of the compiler could 
   1433  1.1.1.2.2.2  bouyer not 
   1434  1.1.1.2.2.2  bouyer correctly digest Windows/DOS formatted files (with CR/LF).
   1435  1.1.1.2.2.2  bouyer 
   1436  1.1.1.2.2.2  bouyer iASL: Added a new option for "quiet mode" (-va) that produces only the 
   1437  1.1.1.2.2.2  bouyer compilation summary, not individual errors and warnings. Useful for large 
   1438  1.1.1.2.2.2  bouyer batch compilations.
   1439  1.1.1.2.2.2  bouyer 
   1440  1.1.1.2.2.2  bouyer AcpiExec: Implemented a new option (-z) to enable a forced semaphore/mutex 
   1441  1.1.1.2.2.2  bouyer timeout that can be used to detect hang conditions during execution of AML 
   1442  1.1.1.2.2.2  bouyer code (includes both internal semaphores and AML-defined mutexes and events.)
   1443  1.1.1.2.2.2  bouyer 
   1444  1.1.1.2.2.2  bouyer Added new makefiles for the generation of acpica in a generic unix-like 
   1445  1.1.1.2.2.2  bouyer environment. These makefiles are intended to generate the acpica tools and 
   1446  1.1.1.2.2.2  bouyer utilities from the original acpica git source tree structure.
   1447  1.1.1.2.2.2  bouyer 
   1448  1.1.1.2.2.2  bouyer Test Suites: Updated and cleaned up the documentation files. Updated the 
   1449  1.1.1.2.2.2  bouyer copyrights to 2009, affecting all source files. Use the new version of iASL 
   1450  1.1.1.2.2.2  bouyer with quiet mode. Increased the number of available semaphores in the Windows 
   1451  1.1.1.2.2.2  bouyer OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, added 
   1452  1.1.1.2.2.2  bouyer an alternate implementation of the semaphore timeout to allow aslts to 
   1453  1.1.1.2.2.2  bouyer execute fully on Cygwin.
   1454  1.1.1.2.2.2  bouyer 
   1455  1.1.1.2.2.2  bouyer ----------------------------------------
   1456  1.1.1.2.2.2  bouyer 20 March 2009. Summary of changes for version 20090320:
   1457  1.1.1.2.2.2  bouyer 
   1458  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1459  1.1.1.2.2.2  bouyer 
   1460  1.1.1.2.2.2  bouyer Fixed a possible race condition between AcpiWalkNamespace and dynamic table 
   1461  1.1.1.2.2.2  bouyer unloads. Added a reader/writer locking mechanism to allow multiple 
   1462  1.1.1.2.2.2  bouyer concurrent 
   1463  1.1.1.2.2.2  bouyer namespace walks (readers), but block a dynamic table unload until it can 
   1464  1.1.1.2.2.2  bouyer gain 
   1465  1.1.1.2.2.2  bouyer exclusive write access to the namespace. This fixes a problem where a table 
   1466  1.1.1.2.2.2  bouyer unload could (possibly catastrophically) delete the portion of the namespace 
   1467  1.1.1.2.2.2  bouyer that is currently being examined by a walk. Adds a new file, utlock.c, that 
   1468  1.1.1.2.2.2  bouyer implements the reader/writer lock mechanism. ACPICA BZ 749.
   1469  1.1.1.2.2.2  bouyer 
   1470  1.1.1.2.2.2  bouyer Fixed a regression introduced in version 20090220 where a change to the FADT 
   1471  1.1.1.2.2.2  bouyer handling could cause the ACPICA subsystem to access non-existent I/O ports.
   1472  1.1.1.2.2.2  bouyer 
   1473  1.1.1.2.2.2  bouyer Modified the handling of FADT register and table (FACS/DSDT) addresses. The 
   1474  1.1.1.2.2.2  bouyer FADT can contain both 32-bit and 64-bit versions of these addresses. 
   1475  1.1.1.2.2.2  bouyer Previously, the 64-bit versions were favored, meaning that if both 32 and 64 
   1476  1.1.1.2.2.2  bouyer versions were valid, but not equal, the 64-bit version was used. This was 
   1477  1.1.1.2.2.2  bouyer found to cause some machines to fail. Now, in this case, the 32-bit version 
   1478  1.1.1.2.2.2  bouyer is used instead. This now matches the Windows behavior.
   1479  1.1.1.2.2.2  bouyer 
   1480  1.1.1.2.2.2  bouyer Implemented a new mechanism to protect certain I/O ports. Provides Microsoft 
   1481  1.1.1.2.2.2  bouyer compatibility and protects the standard PC I/O ports from access via AML 
   1482  1.1.1.2.2.2  bouyer code. Adds a new file, hwvalid.c
   1483  1.1.1.2.2.2  bouyer 
   1484  1.1.1.2.2.2  bouyer Fixed a possible extraneous warning message from the FADT support. The 
   1485  1.1.1.2.2.2  bouyer message warns of a 32/64 length mismatch between the legacy and GAS 
   1486  1.1.1.2.2.2  bouyer definitions for a register.
   1487  1.1.1.2.2.2  bouyer 
   1488  1.1.1.2.2.2  bouyer Removed the obsolete AcpiOsValidateAddress OSL interface. This interface is 
   1489  1.1.1.2.2.2  bouyer made obsolete by the port protection mechanism above. It was previously used 
   1490  1.1.1.2.2.2  bouyer to validate the entire address range of an operation region, which could be 
   1491  1.1.1.2.2.2  bouyer incorrect if the range included illegal ports, but fields within the 
   1492  1.1.1.2.2.2  bouyer operation region did not actually access those ports. Validation is now 
   1493  1.1.1.2.2.2  bouyer performed on a per-field basis instead of the entire region.
   1494  1.1.1.2.2.2  bouyer 
   1495  1.1.1.2.2.2  bouyer Modified the handling of the PM1 Status Register ignored bit (bit 11.) 
   1496  1.1.1.2.2.2  bouyer Ignored bits must be "preserved" according to the ACPI spec. Usually, this 
   1497  1.1.1.2.2.2  bouyer means a read/modify/write when writing to the register. However, for status 
   1498  1.1.1.2.2.2  bouyer registers, writing a one means clear the event. Writing a zero means 
   1499  1.1.1.2.2.2  bouyer preserve 
   1500  1.1.1.2.2.2  bouyer the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec, 
   1501  1.1.1.2.2.2  bouyer and the ACPICA code now simply always writes a zero to the ignored bit.
   1502  1.1.1.2.2.2  bouyer 
   1503  1.1.1.2.2.2  bouyer Modified the handling of ignored bits for the PM1 A/B Control Registers. As 
   1504  1.1.1.2.2.2  bouyer per the ACPI specification, for the control registers, preserve 
   1505  1.1.1.2.2.2  bouyer (read/modify/write) all bits that are defined as either reserved or ignored.
   1506  1.1.1.2.2.2  bouyer 
   1507  1.1.1.2.2.2  bouyer Updated the handling of write-only bits in the PM1 A/B Control Registers. 
   1508  1.1.1.2.2.2  bouyer When reading the register, zero the write-only bits as per the ACPI spec. 
   1509  1.1.1.2.2.2  bouyer ACPICA BZ 443. Lin Ming.
   1510  1.1.1.2.2.2  bouyer 
   1511  1.1.1.2.2.2  bouyer Removed "Linux" from the list of supported _OSI strings. Linux no longer 
   1512  1.1.1.2.2.2  bouyer wants to reply true to this request. The Windows strings are the only paths 
   1513  1.1.1.2.2.2  bouyer through the AML that are tested and known to work properly.
   1514  1.1.1.2.2.2  bouyer 
   1515  1.1.1.2.2.2  bouyer   Previous Release:
   1516  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
   1517  1.1.1.2.2.2  bouyer     Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
   1518  1.1.1.2.2.2  bouyer   Current Release:
   1519  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.6K Code, 17.6K Data, 100.2K Total
   1520  1.1.1.2.2.2  bouyer     Debug Version:     157.7K Code, 49.9K Data, 207.6K Total
   1521  1.1.1.2.2.2  bouyer 
   1522  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1523  1.1.1.2.2.2  bouyer 
   1524  1.1.1.2.2.2  bouyer Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c and 
   1525  1.1.1.2.2.2  bouyer aetables.c
   1526  1.1.1.2.2.2  bouyer 
   1527  1.1.1.2.2.2  bouyer ----------------------------------------
   1528  1.1.1.2.2.2  bouyer 20 February 2009. Summary of changes for version 20090220:
   1529  1.1.1.2.2.2  bouyer 
   1530  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1531  1.1.1.2.2.2  bouyer 
   1532  1.1.1.2.2.2  bouyer Optimized the ACPI register locking. Removed locking for reads from the ACPI 
   1533  1.1.1.2.2.2  bouyer bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is 
   1534  1.1.1.2.2.2  bouyer not required when reading the single-bit registers. The 
   1535  1.1.1.2.2.2  bouyer AcpiGetRegisterUnlocked function is no longer needed and has been removed. 
   1536  1.1.1.2.2.2  bouyer This will improve performance for reads on these registers. ACPICA BZ 760.
   1537  1.1.1.2.2.2  bouyer 
   1538  1.1.1.2.2.2  bouyer Fixed the parameter validation for AcpiRead/Write. Now return 
   1539  1.1.1.2.2.2  bouyer AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS 
   1540  1.1.1.2.2.2  bouyer if 
   1541  1.1.1.2.2.2  bouyer the register has an address of zero. Previously, these cases simply returned 
   1542  1.1.1.2.2.2  bouyer AE_OK. For optional registers such as PM1B status/enable/control, the caller 
   1543  1.1.1.2.2.2  bouyer should check for a valid register address before calling. ACPICA BZ 748.
   1544  1.1.1.2.2.2  bouyer 
   1545  1.1.1.2.2.2  bouyer Renamed the external ACPI bit register access functions. Renamed 
   1546  1.1.1.2.2.2  bouyer AcpiGetRegister and AcpiSetRegister to clarify the purpose of these 
   1547  1.1.1.2.2.2  bouyer functions. The new names are AcpiReadBitRegister and AcpiWriteBitRegister. 
   1548  1.1.1.2.2.2  bouyer Also, restructured the code for these functions by simplifying the code path 
   1549  1.1.1.2.2.2  bouyer and condensing duplicate code to reduce code size.
   1550  1.1.1.2.2.2  bouyer 
   1551  1.1.1.2.2.2  bouyer Added new functions to transparently handle the possibly split PM1 A/B 
   1552  1.1.1.2.2.2  bouyer registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions 
   1553  1.1.1.2.2.2  bouyer now handle the split registers for PM1 Status, Enable, and Control. ACPICA 
   1554  1.1.1.2.2.2  bouyer BZ 
   1555  1.1.1.2.2.2  bouyer 746.
   1556  1.1.1.2.2.2  bouyer 
   1557  1.1.1.2.2.2  bouyer Added a function to handle the PM1 control registers, AcpiHwWritePm1Control. 
   1558  1.1.1.2.2.2  bouyer This function writes both of the PM1 control registers (A/B). These 
   1559  1.1.1.2.2.2  bouyer registers 
   1560  1.1.1.2.2.2  bouyer are different than the PM1 A/B status and enable registers in that different 
   1561  1.1.1.2.2.2  bouyer values can be written to the A/B registers. Most notably, the SLP_TYP bits 
   1562  1.1.1.2.2.2  bouyer can be different, as per the values returned from the _Sx predefined 
   1563  1.1.1.2.2.2  bouyer methods.
   1564  1.1.1.2.2.2  bouyer 
   1565  1.1.1.2.2.2  bouyer Removed an extra register write within AcpiHwClearAcpiStatus. This function 
   1566  1.1.1.2.2.2  bouyer was writing an optional PM1B status register twice. The existing call to the 
   1567  1.1.1.2.2.2  bouyer low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B 
   1568  1.1.1.2.2.2  bouyer register. ACPICA BZ 751.
   1569  1.1.1.2.2.2  bouyer 
   1570  1.1.1.2.2.2  bouyer Split out the PM1 Status registers from the FADT. Added new globals for 
   1571  1.1.1.2.2.2  bouyer these 
   1572  1.1.1.2.2.2  bouyer registers (A/B), similar to the way the PM1 Enable registers are handled. 
   1573  1.1.1.2.2.2  bouyer Instead of overloading the FADT Event Register blocks. This makes the code 
   1574  1.1.1.2.2.2  bouyer clearer and less prone to error.
   1575  1.1.1.2.2.2  bouyer 
   1576  1.1.1.2.2.2  bouyer Fixed the warning message for when the platform contains too many ACPI 
   1577  1.1.1.2.2.2  bouyer tables 
   1578  1.1.1.2.2.2  bouyer for the default size of the global root table data structure. The 
   1579  1.1.1.2.2.2  bouyer calculation 
   1580  1.1.1.2.2.2  bouyer for the truncation value was incorrect.
   1581  1.1.1.2.2.2  bouyer 
   1582  1.1.1.2.2.2  bouyer Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this 
   1583  1.1.1.2.2.2  bouyer obsolete macro, since it is now a simple reference to ->common.type. There 
   1584  1.1.1.2.2.2  bouyer were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
   1585  1.1.1.2.2.2  bouyer 
   1586  1.1.1.2.2.2  bouyer Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as 
   1587  1.1.1.2.2.2  bouyer TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to 
   1588  1.1.1.2.2.2  bouyer simply SLEEP_TYPE. ACPICA BZ 754.
   1589  1.1.1.2.2.2  bouyer 
   1590  1.1.1.2.2.2  bouyer Conditionally compile the AcpiSetFirmwareWakingVector64 function. This 
   1591  1.1.1.2.2.2  bouyer function is only needed on 64-bit host operating systems and is thus not 
   1592  1.1.1.2.2.2  bouyer included for 32-bit hosts.
   1593  1.1.1.2.2.2  bouyer 
   1594  1.1.1.2.2.2  bouyer Debug output: print the input and result for invocations of the _OSI 
   1595  1.1.1.2.2.2  bouyer reserved 
   1596  1.1.1.2.2.2  bouyer control method via the ACPI_LV_INFO debug level. Also, reduced some of the 
   1597  1.1.1.2.2.2  bouyer verbosity of this debug level. Len Brown.
   1598  1.1.1.2.2.2  bouyer 
   1599  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1600  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1601  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1602  1.1.1.2.2.2  bouyer a 
   1603  1.1.1.2.2.2  bouyer much larger code and data size.
   1604  1.1.1.2.2.2  bouyer 
   1605  1.1.1.2.2.2  bouyer   Previous Release:
   1606  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
   1607  1.1.1.2.2.2  bouyer     Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
   1608  1.1.1.2.2.2  bouyer   Current Release:
   1609  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.0K Code, 17.5K Data,  99.5K Total
   1610  1.1.1.2.2.2  bouyer     Debug Version:     156.9K Code, 49.8K Data, 206.7K Total
   1611  1.1.1.2.2.2  bouyer 
   1612  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1613  1.1.1.2.2.2  bouyer 
   1614  1.1.1.2.2.2  bouyer Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the 
   1615  1.1.1.2.2.2  bouyer various legal performance profiles.
   1616  1.1.1.2.2.2  bouyer 
   1617  1.1.1.2.2.2  bouyer ----------------------------------------
   1618  1.1.1.2.2.2  bouyer 23 January 2009. Summary of changes for version 20090123:
   1619  1.1.1.2.2.2  bouyer 
   1620  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1621  1.1.1.2.2.2  bouyer 
   1622  1.1.1.2.2.2  bouyer Added the 2009 copyright to all module headers and signons. This affects 
   1623  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, the iASL compiler, and 
   1624  1.1.1.2.2.2  bouyer the tools/utilities.
   1625  1.1.1.2.2.2  bouyer 
   1626  1.1.1.2.2.2  bouyer Implemented a change to allow the host to override any ACPI table, including 
   1627  1.1.1.2.2.2  bouyer dynamically loaded tables. Previously, only the DSDT could be replaced by 
   1628  1.1.1.2.2.2  bouyer the 
   1629  1.1.1.2.2.2  bouyer host. With this change, the AcpiOsTableOverride interface is called for each 
   1630  1.1.1.2.2.2  bouyer table found in the RSDT/XSDT during ACPICA initialization, and also whenever 
   1631  1.1.1.2.2.2  bouyer a table is dynamically loaded via the AML Load operator.
   1632  1.1.1.2.2.2  bouyer 
   1633  1.1.1.2.2.2  bouyer Updated FADT flag definitions, especially the Boot Architecture flags.
   1634  1.1.1.2.2.2  bouyer 
   1635  1.1.1.2.2.2  bouyer Debugger: For the Find command, automatically pad the input ACPI name with 
   1636  1.1.1.2.2.2  bouyer underscores if the name is shorter than 4 characters. This enables a match 
   1637  1.1.1.2.2.2  bouyer with the actual namespace entry which is itself padded with underscores.
   1638  1.1.1.2.2.2  bouyer 
   1639  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1640  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1641  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1642  1.1.1.2.2.2  bouyer a 
   1643  1.1.1.2.2.2  bouyer much larger code and data size.
   1644  1.1.1.2.2.2  bouyer 
   1645  1.1.1.2.2.2  bouyer   Previous Release:
   1646  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
   1647  1.1.1.2.2.2  bouyer     Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
   1648  1.1.1.2.2.2  bouyer   Current Release:
   1649  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.3K Code, 17.5K Data,  99.8K Total
   1650  1.1.1.2.2.2  bouyer     Debug Version:     157.3K Code, 49.8K Data, 207.1K Total
   1651  1.1.1.2.2.2  bouyer 
   1652  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1653  1.1.1.2.2.2  bouyer 
   1654  1.1.1.2.2.2  bouyer Fix build error under Bison-2.4.
   1655  1.1.1.2.2.2  bouyer 
   1656  1.1.1.2.2.2  bouyer Dissasembler: Enhanced FADT support. Added decoding of the Boot Architecture 
   1657  1.1.1.2.2.2  bouyer flags. Now decode all flags, regardless of the FADT version. Flag output 
   1658  1.1.1.2.2.2  bouyer includes the FADT version which first defined each flag.
   1659  1.1.1.2.2.2  bouyer 
   1660  1.1.1.2.2.2  bouyer The iASL -g option now dumps the RSDT to a file (in addition to the FADT and 
   1661  1.1.1.2.2.2  bouyer DSDT). Windows only.
   1662  1.1.1.2.2.2  bouyer 
   1663  1.1.1.2.2.2  bouyer ----------------------------------------
   1664  1.1.1.2.2.2  bouyer 04 December 2008. Summary of changes for version 20081204:
   1665  1.1.1.2.2.2  bouyer 
   1666  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1667  1.1.1.2.2.2  bouyer 
   1668  1.1.1.2.2.2  bouyer The ACPICA Programmer Reference has been completely updated and revamped for 
   1669  1.1.1.2.2.2  bouyer this release. This includes updates to the external interfaces, OSL 
   1670  1.1.1.2.2.2  bouyer interfaces, the overview sections, and the debugger reference.
   1671  1.1.1.2.2.2  bouyer 
   1672  1.1.1.2.2.2  bouyer Several new ACPICA interfaces have been implemented and documented in the 
   1673  1.1.1.2.2.2  bouyer programmer reference:
   1674  1.1.1.2.2.2  bouyer AcpiReset - Writes the reset value to the FADT-defined reset register.
   1675  1.1.1.2.2.2  bouyer AcpiDisableAllGpes - Disable all available GPEs.
   1676  1.1.1.2.2.2  bouyer AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
   1677  1.1.1.2.2.2  bouyer AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
   1678  1.1.1.2.2.2  bouyer AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
   1679  1.1.1.2.2.2  bouyer AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
   1680  1.1.1.2.2.2  bouyer AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
   1681  1.1.1.2.2.2  bouyer 
   1682  1.1.1.2.2.2  bouyer Most of the public ACPI hardware-related interfaces have been moved to a new 
   1683  1.1.1.2.2.2  bouyer file, components/hardware/hwxface.c
   1684  1.1.1.2.2.2  bouyer 
   1685  1.1.1.2.2.2  bouyer Enhanced the FADT parsing and low-level ACPI register access: The ACPI 
   1686  1.1.1.2.2.2  bouyer register lengths within the FADT are now used, and the low level ACPI 
   1687  1.1.1.2.2.2  bouyer register access no longer hardcodes the ACPI register lengths. Given that 
   1688  1.1.1.2.2.2  bouyer there may be some risk in actually trusting the FADT register lengths, a 
   1689  1.1.1.2.2.2  bouyer run-
   1690  1.1.1.2.2.2  bouyer time option was added to fall back to the default hardcoded lengths if the 
   1691  1.1.1.2.2.2  bouyer FADT proves to contain incorrect values - UseDefaultRegisterWidths. This 
   1692  1.1.1.2.2.2  bouyer option is set to true for now, and a warning is issued if a suspicious FADT 
   1693  1.1.1.2.2.2  bouyer register length is overridden with the default value.
   1694  1.1.1.2.2.2  bouyer 
   1695  1.1.1.2.2.2  bouyer Fixed a reference count issue in NsRepairObject. This problem was introduced 
   1696  1.1.1.2.2.2  bouyer in version 20081031 as part of a fix to repair Buffer objects within 
   1697  1.1.1.2.2.2  bouyer Packages. Lin Ming.
   1698  1.1.1.2.2.2  bouyer 
   1699  1.1.1.2.2.2  bouyer Added semaphore support to the Linux/Unix application OS-services layer 
   1700  1.1.1.2.2.2  bouyer (OSL). ACPICA BZ 448. Lin Ming.
   1701  1.1.1.2.2.2  bouyer 
   1702  1.1.1.2.2.2  bouyer Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes 
   1703  1.1.1.2.2.2  bouyer will 
   1704  1.1.1.2.2.2  bouyer be implemented in the OSL, or will binary semaphores be used instead.
   1705  1.1.1.2.2.2  bouyer 
   1706  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1707  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1708  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1709  1.1.1.2.2.2  bouyer a 
   1710  1.1.1.2.2.2  bouyer much larger code and data size.
   1711  1.1.1.2.2.2  bouyer 
   1712  1.1.1.2.2.2  bouyer   Previous Release:
   1713  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
   1714  1.1.1.2.2.2  bouyer     Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
   1715  1.1.1.2.2.2  bouyer   Current Release:
   1716  1.1.1.2.2.2  bouyer     Non-Debug Version:  82.3K Code, 17.4K Data,  99.7K Total
   1717  1.1.1.2.2.2  bouyer     Debug Version:     157.1K Code, 49.7K Data, 206.8K Total
   1718  1.1.1.2.2.2  bouyer 
   1719  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1720  1.1.1.2.2.2  bouyer 
   1721  1.1.1.2.2.2  bouyer iASL: Completed the '-e' option to include additional ACPI tables in order 
   1722  1.1.1.2.2.2  bouyer to 
   1723  1.1.1.2.2.2  bouyer aid with disassembly and External statement generation. ACPICA BZ 742. Lin 
   1724  1.1.1.2.2.2  bouyer Ming.
   1725  1.1.1.2.2.2  bouyer 
   1726  1.1.1.2.2.2  bouyer iASL: Removed the "named object in while loop" error. The compiler cannot 
   1727  1.1.1.2.2.2  bouyer determine how many times a loop will execute. ACPICA BZ 730.
   1728  1.1.1.2.2.2  bouyer 
   1729  1.1.1.2.2.2  bouyer Disassembler: Implemented support for FADT revision 2 (MS extension). ACPICA 
   1730  1.1.1.2.2.2  bouyer BZ 743.
   1731  1.1.1.2.2.2  bouyer 
   1732  1.1.1.2.2.2  bouyer Disassembler: Updates for several ACPI data tables (HEST, EINJ, and MCFG).
   1733  1.1.1.2.2.2  bouyer 
   1734  1.1.1.2.2.2  bouyer ----------------------------------------
   1735  1.1.1.2.2.2  bouyer 31 October 2008. Summary of changes for version 20081031:
   1736  1.1.1.2.2.2  bouyer 
   1737  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1738  1.1.1.2.2.2  bouyer 
   1739  1.1.1.2.2.2  bouyer Restructured the ACPICA header files into public/private. acpi.h now 
   1740  1.1.1.2.2.2  bouyer includes 
   1741  1.1.1.2.2.2  bouyer only the "public" acpica headers. All other acpica headers are "private" and 
   1742  1.1.1.2.2.2  bouyer should not be included by acpica users. One new file, accommon.h is used to 
   1743  1.1.1.2.2.2  bouyer include the commonly used private headers for acpica code generation. Future 
   1744  1.1.1.2.2.2  bouyer plans include moving all private headers to a new subdirectory.
   1745  1.1.1.2.2.2  bouyer 
   1746  1.1.1.2.2.2  bouyer Implemented an automatic Buffer->String return value conversion for 
   1747  1.1.1.2.2.2  bouyer predefined ACPI methods. For these methods (such as _BIF), added automatic 
   1748  1.1.1.2.2.2  bouyer conversion for return objects that are required to be a String, but a Buffer 
   1749  1.1.1.2.2.2  bouyer was found instead. This can happen when reading string battery data from an 
   1750  1.1.1.2.2.2  bouyer operation region, because it used to be difficult to convert the data from 
   1751  1.1.1.2.2.2  bouyer buffer to string from within the ASL. Ensures that the host OS is provided 
   1752  1.1.1.2.2.2  bouyer with a valid null-terminated string. Linux BZ 11822.
   1753  1.1.1.2.2.2  bouyer 
   1754  1.1.1.2.2.2  bouyer Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector 
   1755  1.1.1.2.2.2  bouyer into two: one for the 32-bit vector, another for the 64-bit vector. This is 
   1756  1.1.1.2.2.2  bouyer required because the host OS must setup the wake much differently for each 
   1757  1.1.1.2.2.2  bouyer vector (real vs. protected mode, etc.) and the interface itself should not 
   1758  1.1.1.2.2.2  bouyer be 
   1759  1.1.1.2.2.2  bouyer deciding which vector to use. Also, eliminated the GetFirmwareWakingVector 
   1760  1.1.1.2.2.2  bouyer interface, as it served no purpose (only the firmware reads the vector, OS 
   1761  1.1.1.2.2.2  bouyer only writes the vector.) ACPICA BZ 731.
   1762  1.1.1.2.2.2  bouyer 
   1763  1.1.1.2.2.2  bouyer Implemented a mechanism to escape infinite AML While() loops. Added a loop 
   1764  1.1.1.2.2.2  bouyer counter to force exit from AML While loops if the count becomes too large. 
   1765  1.1.1.2.2.2  bouyer This can occur in poorly written AML when the hardware does not respond 
   1766  1.1.1.2.2.2  bouyer within a while loop and the loop does not implement a timeout. The maximum 
   1767  1.1.1.2.2.2  bouyer loop count is configurable. A new exception code is returned when a loop is 
   1768  1.1.1.2.2.2  bouyer broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
   1769  1.1.1.2.2.2  bouyer 
   1770  1.1.1.2.2.2  bouyer Optimized the execution of AML While loops. Previously, a control state 
   1771  1.1.1.2.2.2  bouyer object was allocated and freed for each execution of the loop. The 
   1772  1.1.1.2.2.2  bouyer optimization is to simply reuse the control state for each iteration. This 
   1773  1.1.1.2.2.2  bouyer speeds up the raw loop execution time by about 5%.
   1774  1.1.1.2.2.2  bouyer 
   1775  1.1.1.2.2.2  bouyer Enhanced the implicit return mechanism. For Windows compatibility, return an 
   1776  1.1.1.2.2.2  bouyer implicit integer of value zero for methods that contain no executable code. 
   1777  1.1.1.2.2.2  bouyer Such methods are seen in the field as stubs (presumably), and can cause 
   1778  1.1.1.2.2.2  bouyer drivers to fail if they expect a return value. Lin Ming.
   1779  1.1.1.2.2.2  bouyer 
   1780  1.1.1.2.2.2  bouyer Allow multiple backslashes as root prefixes in namepaths. In a fully 
   1781  1.1.1.2.2.2  bouyer qualified namepath, allow multiple backslash prefixes. This can happen (and 
   1782  1.1.1.2.2.2  bouyer is seen in the field) because of the use of a double-backslash in strings 
   1783  1.1.1.2.2.2  bouyer (since backslash is the escape character) causing confusion. ACPICA BZ 739 
   1784  1.1.1.2.2.2  bouyer Lin Ming.
   1785  1.1.1.2.2.2  bouyer 
   1786  1.1.1.2.2.2  bouyer Emit a warning if two different FACS or DSDT tables are discovered in the 
   1787  1.1.1.2.2.2  bouyer FADT. Checks if there are two valid but different addresses for the FACS and 
   1788  1.1.1.2.2.2  bouyer DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
   1789  1.1.1.2.2.2  bouyer 
   1790  1.1.1.2.2.2  bouyer Consolidated the method argument count validation code. Merged the code that 
   1791  1.1.1.2.2.2  bouyer validates control method argument counts into the predefined validation 
   1792  1.1.1.2.2.2  bouyer module. Eliminates possible multiple warnings for incorrect argument counts.
   1793  1.1.1.2.2.2  bouyer 
   1794  1.1.1.2.2.2  bouyer Implemented ACPICA example code. Includes code for ACPICA initialization, 
   1795  1.1.1.2.2.2  bouyer handler installation, and calling a control method. Available at 
   1796  1.1.1.2.2.2  bouyer source/tools/examples.
   1797  1.1.1.2.2.2  bouyer 
   1798  1.1.1.2.2.2  bouyer Added a global pointer for FACS table to simplify internal FACS access. Use 
   1799  1.1.1.2.2.2  bouyer the global pointer instead of using AcpiGetTableByIndex for each FACS 
   1800  1.1.1.2.2.2  bouyer access. 
   1801  1.1.1.2.2.2  bouyer This simplifies the code for the Global Lock and the Firmware Waking 
   1802  1.1.1.2.2.2  bouyer Vector(s).
   1803  1.1.1.2.2.2  bouyer 
   1804  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1805  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1806  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1807  1.1.1.2.2.2  bouyer a 
   1808  1.1.1.2.2.2  bouyer much larger code and data size.
   1809  1.1.1.2.2.2  bouyer 
   1810  1.1.1.2.2.2  bouyer   Previous Release:
   1811  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
   1812  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
   1813  1.1.1.2.2.2  bouyer   Current Release:
   1814  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.7K Code, 17.3K Data,  99.0K Total
   1815  1.1.1.2.2.2  bouyer     Debug Version:     156.4K Code, 49.4K Data, 205.8K Total
   1816  1.1.1.2.2.2  bouyer 
   1817  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1818  1.1.1.2.2.2  bouyer 
   1819  1.1.1.2.2.2  bouyer iASL: Improved disassembly of external method calls. Added the -e option to 
   1820  1.1.1.2.2.2  bouyer allow the inclusion of additional ACPI tables to help with the disassembly 
   1821  1.1.1.2.2.2  bouyer of 
   1822  1.1.1.2.2.2  bouyer method invocations and the generation of external declarations during the 
   1823  1.1.1.2.2.2  bouyer disassembly. Certain external method invocations cannot be disassembled 
   1824  1.1.1.2.2.2  bouyer properly without the actual declaration of the method. Use the -e option to 
   1825  1.1.1.2.2.2  bouyer include the table where the external method(s) are actually declared. Most 
   1826  1.1.1.2.2.2  bouyer useful for disassembling SSDTs that make method calls back to the master 
   1827  1.1.1.2.2.2  bouyer DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT:  iasl -d 
   1828  1.1.1.2.2.2  bouyer -e dsdt.aml ssdt1.aml
   1829  1.1.1.2.2.2  bouyer 
   1830  1.1.1.2.2.2  bouyer iASL: Fix to allow references to aliases within ASL namepaths. Fixes a 
   1831  1.1.1.2.2.2  bouyer problem where the use of an alias within a namepath would result in a not 
   1832  1.1.1.2.2.2  bouyer found error or cause the compiler to fault. Also now allows forward 
   1833  1.1.1.2.2.2  bouyer references from the Alias operator itself. ACPICA BZ 738.
   1834  1.1.1.2.2.2  bouyer 
   1835  1.1.1.2.2.2  bouyer ----------------------------------------
   1836  1.1.1.2.2.2  bouyer 26 September 2008. Summary of changes for version 20080926:
   1837  1.1.1.2.2.2  bouyer 
   1838  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1839  1.1.1.2.2.2  bouyer 
   1840  1.1.1.2.2.2  bouyer Designed and implemented a mechanism to validate predefined ACPI methods and 
   1841  1.1.1.2.2.2  bouyer objects. This code validates the predefined ACPI objects (objects whose 
   1842  1.1.1.2.2.2  bouyer names 
   1843  1.1.1.2.2.2  bouyer start with underscore) that appear in the namespace, at the time they are 
   1844  1.1.1.2.2.2  bouyer evaluated. The argument count and the type of the returned object are 
   1845  1.1.1.2.2.2  bouyer validated against the ACPI specification. The purpose of this validation is 
   1846  1.1.1.2.2.2  bouyer to detect problems with the BIOS-implemented predefined ACPI objects before 
   1847  1.1.1.2.2.2  bouyer the results are returned to the ACPI-related drivers. Future enhancements 
   1848  1.1.1.2.2.2  bouyer may 
   1849  1.1.1.2.2.2  bouyer include actual repair of incorrect return objects where possible. Two new 
   1850  1.1.1.2.2.2  bouyer files are nspredef.c and acpredef.h.
   1851  1.1.1.2.2.2  bouyer 
   1852  1.1.1.2.2.2  bouyer Fixed a fault in the AML parser if a memory allocation fails during the Op 
   1853  1.1.1.2.2.2  bouyer completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
   1854  1.1.1.2.2.2  bouyer 
   1855  1.1.1.2.2.2  bouyer Fixed an issue with implicit return compatibility. This change improves the 
   1856  1.1.1.2.2.2  bouyer implicit return mechanism to be more compatible with the MS interpreter. Lin 
   1857  1.1.1.2.2.2  bouyer Ming, ACPICA BZ 349.
   1858  1.1.1.2.2.2  bouyer 
   1859  1.1.1.2.2.2  bouyer Implemented support for zero-length buffer-to-string conversions. Allow zero 
   1860  1.1.1.2.2.2  bouyer length strings during interpreter buffer-to-string conversions. For example, 
   1861  1.1.1.2.2.2  bouyer during the ToDecimalString and ToHexString operators, as well as implicit 
   1862  1.1.1.2.2.2  bouyer conversions. Fiodor Suietov, ACPICA BZ 585.
   1863  1.1.1.2.2.2  bouyer 
   1864  1.1.1.2.2.2  bouyer Fixed two possible memory leaks in the error exit paths of 
   1865  1.1.1.2.2.2  bouyer AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions are 
   1866  1.1.1.2.2.2  bouyer similar in that they use a stack of state objects in order to eliminate 
   1867  1.1.1.2.2.2  bouyer recursion. The stack must be fully unwound and deallocated if an error 
   1868  1.1.1.2.2.2  bouyer occurs. Lin Ming. ACPICA BZ 383.
   1869  1.1.1.2.2.2  bouyer 
   1870  1.1.1.2.2.2  bouyer Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the 
   1871  1.1.1.2.2.2  bouyer global 
   1872  1.1.1.2.2.2  bouyer ACPI register table. This bit does not exist and is unused. Lin Ming, Bob 
   1873  1.1.1.2.2.2  bouyer Moore ACPICA BZ 442.
   1874  1.1.1.2.2.2  bouyer 
   1875  1.1.1.2.2.2  bouyer Removed the obsolete version number in module headers. Removed the 
   1876  1.1.1.2.2.2  bouyer "$Revision" number that appeared in each module header. This version number 
   1877  1.1.1.2.2.2  bouyer was useful under SourceSafe and CVS, but has no meaning under git. It is not 
   1878  1.1.1.2.2.2  bouyer only incorrect, it could also be misleading.
   1879  1.1.1.2.2.2  bouyer 
   1880  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1881  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1882  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1883  1.1.1.2.2.2  bouyer a 
   1884  1.1.1.2.2.2  bouyer much larger code and data size.
   1885  1.1.1.2.2.2  bouyer 
   1886  1.1.1.2.2.2  bouyer   Previous Release:
   1887  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
   1888  1.1.1.2.2.2  bouyer     Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
   1889  1.1.1.2.2.2  bouyer   Current Release:
   1890  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.2K Code, 17.0K Data,  98.2K Total
   1891  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 49.1K Data, 204.9K Total
   1892  1.1.1.2.2.2  bouyer 
   1893  1.1.1.2.2.2  bouyer ----------------------------------------
   1894  1.1.1.2.2.2  bouyer 29 August 2008. Summary of changes for version 20080829:
   1895  1.1.1.2.2.2  bouyer 
   1896  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1897  1.1.1.2.2.2  bouyer 
   1898  1.1.1.2.2.2  bouyer Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type 
   1899  1.1.1.2.2.2  bouyer Reference. Changes include the elimination of cheating on the Object field 
   1900  1.1.1.2.2.2  bouyer for the DdbHandle subtype, addition of a reference class field to 
   1901  1.1.1.2.2.2  bouyer differentiate the various reference types (instead of an AML opcode), and 
   1902  1.1.1.2.2.2  bouyer the 
   1903  1.1.1.2.2.2  bouyer cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
   1904  1.1.1.2.2.2  bouyer 
   1905  1.1.1.2.2.2  bouyer Reduce an error to a warning for an incorrect method argument count. 
   1906  1.1.1.2.2.2  bouyer Previously aborted with an error if too few arguments were passed to a 
   1907  1.1.1.2.2.2  bouyer control method via the external ACPICA interface. Now issue a warning 
   1908  1.1.1.2.2.2  bouyer instead 
   1909  1.1.1.2.2.2  bouyer and continue. Handles the case where the method inadvertently declares too 
   1910  1.1.1.2.2.2  bouyer many arguments, but does not actually use the extra ones. Applies mainly to 
   1911  1.1.1.2.2.2  bouyer the predefined methods. Lin Ming. Linux BZ 11032.
   1912  1.1.1.2.2.2  bouyer 
   1913  1.1.1.2.2.2  bouyer Disallow the evaluation of named object types with no intrinsic value. 
   1914  1.1.1.2.2.2  bouyer Return 
   1915  1.1.1.2.2.2  bouyer AE_TYPE for objects that have no value and therefore evaluation is 
   1916  1.1.1.2.2.2  bouyer undefined: 
   1917  1.1.1.2.2.2  bouyer Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation of 
   1918  1.1.1.2.2.2  bouyer these types were allowed, but an exception would be generated at some point 
   1919  1.1.1.2.2.2  bouyer during the evaluation. Now, the error is generated up front.
   1920  1.1.1.2.2.2  bouyer 
   1921  1.1.1.2.2.2  bouyer Fixed a possible memory leak in the AcpiNsGetExternalPathname function 
   1922  1.1.1.2.2.2  bouyer (nsnames.c). Fixes a leak in the error exit path.
   1923  1.1.1.2.2.2  bouyer 
   1924  1.1.1.2.2.2  bouyer Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These 
   1925  1.1.1.2.2.2  bouyer debug 
   1926  1.1.1.2.2.2  bouyer levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and 
   1927  1.1.1.2.2.2  bouyer ACPI_EXCEPTION 
   1928  1.1.1.2.2.2  bouyer interfaces. Also added ACPI_DB_EVENTS to correspond with the existing 
   1929  1.1.1.2.2.2  bouyer ACPI_LV_EVENTS.
   1930  1.1.1.2.2.2  bouyer 
   1931  1.1.1.2.2.2  bouyer Removed obsolete and/or unused exception codes from the acexcep.h header. 
   1932  1.1.1.2.2.2  bouyer There is the possibility that certain device drivers may be affected if they 
   1933  1.1.1.2.2.2  bouyer use any of these exceptions.
   1934  1.1.1.2.2.2  bouyer 
   1935  1.1.1.2.2.2  bouyer The ACPICA documentation has been added to the public git source tree, under 
   1936  1.1.1.2.2.2  bouyer acpica/documents. Included are the ACPICA programmer reference, the iASL 
   1937  1.1.1.2.2.2  bouyer compiler reference, and the changes.txt release logfile.
   1938  1.1.1.2.2.2  bouyer 
   1939  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   1940  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   1941  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   1942  1.1.1.2.2.2  bouyer a 
   1943  1.1.1.2.2.2  bouyer much larger code and data size.
   1944  1.1.1.2.2.2  bouyer 
   1945  1.1.1.2.2.2  bouyer   Previous Release:
   1946  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
   1947  1.1.1.2.2.2  bouyer     Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
   1948  1.1.1.2.2.2  bouyer   Current Release:
   1949  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
   1950  1.1.1.2.2.2  bouyer     Debug Version:     153.7K Code, 48.2K Data, 201.9K Total
   1951  1.1.1.2.2.2  bouyer 
   1952  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   1953  1.1.1.2.2.2  bouyer 
   1954  1.1.1.2.2.2  bouyer Allow multiple argument counts for the predefined _SCP method. ACPI 3.0 
   1955  1.1.1.2.2.2  bouyer defines _SCP with 3 arguments. Previous versions defined it with only 1 
   1956  1.1.1.2.2.2  bouyer argument. iASL now allows both definitions.
   1957  1.1.1.2.2.2  bouyer 
   1958  1.1.1.2.2.2  bouyer iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for zero-
   1959  1.1.1.2.2.2  bouyer length subtables when disassembling ACPI tables. Also fixed a couple of 
   1960  1.1.1.2.2.2  bouyer errors where a full 16-bit table type field was not extracted from the input 
   1961  1.1.1.2.2.2  bouyer properly.
   1962  1.1.1.2.2.2  bouyer 
   1963  1.1.1.2.2.2  bouyer acpisrc: Improve comment counting mechanism for generating source code 
   1964  1.1.1.2.2.2  bouyer statistics. Count first and last lines of multi-line comments as whitespace, 
   1965  1.1.1.2.2.2  bouyer not comment lines. Handle Linux legal header in addition to standard acpica 
   1966  1.1.1.2.2.2  bouyer header.
   1967  1.1.1.2.2.2  bouyer 
   1968  1.1.1.2.2.2  bouyer ----------------------------------------
   1969  1.1.1.2.2.2  bouyer 
   1970  1.1.1.2.2.2  bouyer 29 July 2008. Summary of changes for version 20080729:
   1971  1.1.1.2.2.2  bouyer 
   1972  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   1973  1.1.1.2.2.2  bouyer 
   1974  1.1.1.2.2.2  bouyer Fix a possible deadlock in the GPE dispatch. Remove call to 
   1975  1.1.1.2.2.2  bouyer AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will 
   1976  1.1.1.2.2.2  bouyer attempt 
   1977  1.1.1.2.2.2  bouyer to acquire the GPE lock but can deadlock since the GPE lock is already held 
   1978  1.1.1.2.2.2  bouyer at dispatch time. This code was introduced in version 20060831 as a response 
   1979  1.1.1.2.2.2  bouyer to Linux BZ 6881 and has since been removed from Linux.
   1980  1.1.1.2.2.2  bouyer 
   1981  1.1.1.2.2.2  bouyer Add a function to dereference returned reference objects. Examines the 
   1982  1.1.1.2.2.2  bouyer return 
   1983  1.1.1.2.2.2  bouyer object from a call to AcpiEvaluateObject. Any Index or RefOf references are 
   1984  1.1.1.2.2.2  bouyer automatically dereferenced in an attempt to return something useful (these 
   1985  1.1.1.2.2.2  bouyer reference types cannot be converted into an external ACPI_OBJECT.) Provides 
   1986  1.1.1.2.2.2  bouyer MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
   1987  1.1.1.2.2.2  bouyer 
   1988  1.1.1.2.2.2  bouyer x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new 
   1989  1.1.1.2.2.2  bouyer subtables for the MADT and one new subtable for the SRAT. Includes 
   1990  1.1.1.2.2.2  bouyer disassembler and AcpiSrc support. Data from the Intel 64 Architecture x2APIC 
   1991  1.1.1.2.2.2  bouyer Specification, June 2008.
   1992  1.1.1.2.2.2  bouyer 
   1993  1.1.1.2.2.2  bouyer Additional error checking for pathname utilities. Add error check after all 
   1994  1.1.1.2.2.2  bouyer calls to AcpiNsGetPathnameLength. Add status return from 
   1995  1.1.1.2.2.2  bouyer AcpiNsBuildExternalPath and check after all calls. Add parameter validation 
   1996  1.1.1.2.2.2  bouyer to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
   1997  1.1.1.2.2.2  bouyer 
   1998  1.1.1.2.2.2  bouyer Return status from the global init function AcpiUtGlobalInitialize. This is 
   1999  1.1.1.2.2.2  bouyer used by both the kernel subsystem and the utilities such as iASL compiler. 
   2000  1.1.1.2.2.2  bouyer The function could possibly fail when the caches are initialized. Yang Yi.
   2001  1.1.1.2.2.2  bouyer 
   2002  1.1.1.2.2.2  bouyer Add a function to decode reference object types to strings. Created for 
   2003  1.1.1.2.2.2  bouyer improved error messages. 
   2004  1.1.1.2.2.2  bouyer 
   2005  1.1.1.2.2.2  bouyer Improve object conversion error messages. Better error messages during 
   2006  1.1.1.2.2.2  bouyer object 
   2007  1.1.1.2.2.2  bouyer conversion from internal to the external ACPI_OBJECT. Used for external 
   2008  1.1.1.2.2.2  bouyer calls 
   2009  1.1.1.2.2.2  bouyer to AcpiEvaluateObject.
   2010  1.1.1.2.2.2  bouyer 
   2011  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2012  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2013  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2014  1.1.1.2.2.2  bouyer a 
   2015  1.1.1.2.2.2  bouyer much larger code and data size.
   2016  1.1.1.2.2.2  bouyer 
   2017  1.1.1.2.2.2  bouyer   Previous Release:
   2018  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
   2019  1.1.1.2.2.2  bouyer     Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
   2020  1.1.1.2.2.2  bouyer   Current Release:
   2021  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 16.4K Data,  96.1K Total
   2022  1.1.1.2.2.2  bouyer     Debug Version:     153.9K Code, 48.4K Data, 202.3K Total
   2023  1.1.1.2.2.2  bouyer 
   2024  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2025  1.1.1.2.2.2  bouyer 
   2026  1.1.1.2.2.2  bouyer Debugger: fix a possible hang when evaluating non-methods. Fixes a problem 
   2027  1.1.1.2.2.2  bouyer introduced in version 20080701. If the object being evaluated (via execute 
   2028  1.1.1.2.2.2  bouyer command) is not a method, the debugger can hang while trying to obtain non-
   2029  1.1.1.2.2.2  bouyer existent parameters.
   2030  1.1.1.2.2.2  bouyer 
   2031  1.1.1.2.2.2  bouyer iASL: relax error for using reserved "_T_x" identifiers. These names can 
   2032  1.1.1.2.2.2  bouyer appear in a disassembled ASL file if they were emitted by the original 
   2033  1.1.1.2.2.2  bouyer compiler. Instead of issuing an error or warning and forcing the user to 
   2034  1.1.1.2.2.2  bouyer manually change these names, issue a remark instead.
   2035  1.1.1.2.2.2  bouyer 
   2036  1.1.1.2.2.2  bouyer iASL: error if named object created in while loop. Emit an error if any 
   2037  1.1.1.2.2.2  bouyer named 
   2038  1.1.1.2.2.2  bouyer object is created within a While loop. If allowed, this code will generate a 
   2039  1.1.1.2.2.2  bouyer run-time error on the second iteration of the loop when an attempt is made 
   2040  1.1.1.2.2.2  bouyer to 
   2041  1.1.1.2.2.2  bouyer create the same named object twice. ACPICA bugzilla 730.
   2042  1.1.1.2.2.2  bouyer 
   2043  1.1.1.2.2.2  bouyer iASL: Support absolute pathnames for include files. Add support for absolute 
   2044  1.1.1.2.2.2  bouyer pathnames within the Include operator. previously, only relative pathnames 
   2045  1.1.1.2.2.2  bouyer were supported.
   2046  1.1.1.2.2.2  bouyer 
   2047  1.1.1.2.2.2  bouyer iASL: Enforce minimum 1 interrupt in interrupt macro and Resource 
   2048  1.1.1.2.2.2  bouyer Descriptor. 
   2049  1.1.1.2.2.2  bouyer The ACPI spec requires one interrupt minimum. BZ 423
   2050  1.1.1.2.2.2  bouyer 
   2051  1.1.1.2.2.2  bouyer iASL: Handle a missing ResourceSource arg, with a present SourceIndex. 
   2052  1.1.1.2.2.2  bouyer Handles the case for the Interrupt Resource Descriptor where
   2053  1.1.1.2.2.2  bouyer the ResourceSource argument is omitted but ResourceSourceIndex
   2054  1.1.1.2.2.2  bouyer is present. Now leave room for the Index. BZ 426
   2055  1.1.1.2.2.2  bouyer 
   2056  1.1.1.2.2.2  bouyer iASL: Prevent error message if CondRefOf target does not exist. Fixes cases 
   2057  1.1.1.2.2.2  bouyer where an error message is emitted if the target does not exist. BZ 516
   2058  1.1.1.2.2.2  bouyer 
   2059  1.1.1.2.2.2  bouyer iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option 
   2060  1.1.1.2.2.2  bouyer (get ACPI tables on Windows). This was apparently broken in version 
   2061  1.1.1.2.2.2  bouyer 20070919.
   2062  1.1.1.2.2.2  bouyer 
   2063  1.1.1.2.2.2  bouyer AcpiXtract: Handle EOF while extracting data. Correctly handle the case 
   2064  1.1.1.2.2.2  bouyer where 
   2065  1.1.1.2.2.2  bouyer the EOF happens immediately after the last table in the input file. Print 
   2066  1.1.1.2.2.2  bouyer completion message. Previously, no message was displayed in this case.
   2067  1.1.1.2.2.2  bouyer 
   2068  1.1.1.2.2.2  bouyer ----------------------------------------
   2069  1.1.1.2.2.2  bouyer 01 July 2008. Summary of changes for version 20080701:
   2070  1.1.1.2.2.2  bouyer 
   2071  1.1.1.2.2.2  bouyer 0) Git source tree / acpica.org
   2072  1.1.1.2.2.2  bouyer 
   2073  1.1.1.2.2.2  bouyer Fixed a problem where a git-clone from http would not transfer the entire 
   2074  1.1.1.2.2.2  bouyer source tree.
   2075  1.1.1.2.2.2  bouyer 
   2076  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2077  1.1.1.2.2.2  bouyer 
   2078  1.1.1.2.2.2  bouyer Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one 
   2079  1.1.1.2.2.2  bouyer enable bit. Now performs a read-change-write of the enable register instead 
   2080  1.1.1.2.2.2  bouyer of simply writing out the cached enable mask. This will prevent inadvertent 
   2081  1.1.1.2.2.2  bouyer enabling of GPEs if a rogue GPE is received during initialization (before 
   2082  1.1.1.2.2.2  bouyer GPE 
   2083  1.1.1.2.2.2  bouyer handlers are installed.)
   2084  1.1.1.2.2.2  bouyer 
   2085  1.1.1.2.2.2  bouyer Implemented a copy for dynamically loaded tables. Previously, dynamically 
   2086  1.1.1.2.2.2  bouyer loaded tables were simply mapped - but on some machines this memory is 
   2087  1.1.1.2.2.2  bouyer corrupted after suspend. Now copy the table to a local buffer. For the 
   2088  1.1.1.2.2.2  bouyer OpRegion case, added checksum verify. Use the table length from the table 
   2089  1.1.1.2.2.2  bouyer header, not the region length. For the Buffer case, use the table length 
   2090  1.1.1.2.2.2  bouyer also. Dennis Noordsij, Bob Moore. BZ 10734
   2091  1.1.1.2.2.2  bouyer 
   2092  1.1.1.2.2.2  bouyer Fixed a problem where the same ACPI table could not be dynamically loaded 
   2093  1.1.1.2.2.2  bouyer and 
   2094  1.1.1.2.2.2  bouyer unloaded more than once. Without this change, a table cannot be loaded again 
   2095  1.1.1.2.2.2  bouyer once it has been loaded/unloaded one time. The current mechanism does not 
   2096  1.1.1.2.2.2  bouyer unregister a table upon an unload. During a load, if the same table is 
   2097  1.1.1.2.2.2  bouyer found, 
   2098  1.1.1.2.2.2  bouyer this no longer returns an exception. BZ 722
   2099  1.1.1.2.2.2  bouyer 
   2100  1.1.1.2.2.2  bouyer Fixed a problem where the wrong descriptor length was calculated for the 
   2101  1.1.1.2.2.2  bouyer EndTag descriptor in 64-bit mode. The "minimal" descriptors such as EndTag 
   2102  1.1.1.2.2.2  bouyer are calculated as 12 bytes long, but the actual length in the internal 
   2103  1.1.1.2.2.2  bouyer descriptor is 16 because of the round-up to 8 on the 64-bit build. Reported 
   2104  1.1.1.2.2.2  bouyer by Linn Crosetto. BZ 728
   2105  1.1.1.2.2.2  bouyer 
   2106  1.1.1.2.2.2  bouyer Fixed a possible memory leak in the Unload operator. The DdbHandle returned 
   2107  1.1.1.2.2.2  bouyer by Load() did not have its reference count decremented during unload, 
   2108  1.1.1.2.2.2  bouyer leading 
   2109  1.1.1.2.2.2  bouyer to a memory leak. Lin Ming. BZ 727
   2110  1.1.1.2.2.2  bouyer 
   2111  1.1.1.2.2.2  bouyer Fixed a possible memory leak when deleting thermal/processor objects. Any 
   2112  1.1.1.2.2.2  bouyer associated notify handlers (and objects) were not being deleted. Fiodor 
   2113  1.1.1.2.2.2  bouyer Suietov. BZ 506
   2114  1.1.1.2.2.2  bouyer 
   2115  1.1.1.2.2.2  bouyer Fixed the ordering of the ASCII names in the global mutex table to match the 
   2116  1.1.1.2.2.2  bouyer actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug 
   2117  1.1.1.2.2.2  bouyer only. 
   2118  1.1.1.2.2.2  bouyer Vegard Nossum. BZ 726
   2119  1.1.1.2.2.2  bouyer 
   2120  1.1.1.2.2.2  bouyer Enhanced the AcpiGetObjectInfo interface to return the number of required 
   2121  1.1.1.2.2.2  bouyer arguments if the object is a control method. Added this call to the debugger 
   2122  1.1.1.2.2.2  bouyer so the proper number of default arguments are passed to a method. This 
   2123  1.1.1.2.2.2  bouyer prevents a warning when executing methods from AcpiExec.
   2124  1.1.1.2.2.2  bouyer 
   2125  1.1.1.2.2.2  bouyer Added a check for an invalid handle in AcpiGetObjectInfo. Return 
   2126  1.1.1.2.2.2  bouyer AE_BAD_PARAMETER if input handle is invalid. BZ 474
   2127  1.1.1.2.2.2  bouyer 
   2128  1.1.1.2.2.2  bouyer Fixed an extraneous warning from exconfig.c on the 64-bit build.
   2129  1.1.1.2.2.2  bouyer 
   2130  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2131  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2132  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2133  1.1.1.2.2.2  bouyer a 
   2134  1.1.1.2.2.2  bouyer much larger code and data size.
   2135  1.1.1.2.2.2  bouyer 
   2136  1.1.1.2.2.2  bouyer   Previous Release:
   2137  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
   2138  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
   2139  1.1.1.2.2.2  bouyer   Current Release:
   2140  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.6K Code, 16.2K Data,  95.8K Total
   2141  1.1.1.2.2.2  bouyer     Debug Version:     153.5K Code, 48.2K Data, 201.7K Total
   2142  1.1.1.2.2.2  bouyer 
   2143  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2144  1.1.1.2.2.2  bouyer 
   2145  1.1.1.2.2.2  bouyer iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both 
   2146  1.1.1.2.2.2  bouyer resource descriptor names.
   2147  1.1.1.2.2.2  bouyer 
   2148  1.1.1.2.2.2  bouyer iASL: Detect invalid ASCII characters in input (windows version). Removed 
   2149  1.1.1.2.2.2  bouyer the 
   2150  1.1.1.2.2.2  bouyer "-CF" flag from the flex compile, enables correct detection of non-ASCII 
   2151  1.1.1.2.2.2  bouyer characters in the input. BZ 441
   2152  1.1.1.2.2.2  bouyer 
   2153  1.1.1.2.2.2  bouyer iASL: Eliminate warning when result of LoadTable is not used. Eliminate the 
   2154  1.1.1.2.2.2  bouyer "result of operation not used" warning when the DDB handle returned from 
   2155  1.1.1.2.2.2  bouyer LoadTable is not used. The warning is not needed. BZ 590
   2156  1.1.1.2.2.2  bouyer 
   2157  1.1.1.2.2.2  bouyer AcpiExec: Add support for dynamic table load/unload. Now calls _CFG method 
   2158  1.1.1.2.2.2  bouyer to 
   2159  1.1.1.2.2.2  bouyer pass address of table to the AML. Added option to disable OpRegion 
   2160  1.1.1.2.2.2  bouyer simulation 
   2161  1.1.1.2.2.2  bouyer to allow creation of an OpRegion with a real address that was passed to 
   2162  1.1.1.2.2.2  bouyer _CFG. 
   2163  1.1.1.2.2.2  bouyer All of this allows testing of the Load and Unload operators from AcpiExec.
   2164  1.1.1.2.2.2  bouyer 
   2165  1.1.1.2.2.2  bouyer Debugger: update tables command for unloaded tables. Handle unloaded tables 
   2166  1.1.1.2.2.2  bouyer and use the standard table header output routine.
   2167  1.1.1.2.2.2  bouyer 
   2168  1.1.1.2.2.2  bouyer ----------------------------------------
   2169  1.1.1.2.2.2  bouyer 09 June 2008. Summary of changes for version 20080609:
   2170  1.1.1.2.2.2  bouyer 
   2171  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2172  1.1.1.2.2.2  bouyer 
   2173  1.1.1.2.2.2  bouyer Implemented a workaround for reversed _PRT entries. A significant number of 
   2174  1.1.1.2.2.2  bouyer BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This 
   2175  1.1.1.2.2.2  bouyer change dynamically detects and repairs this problem. Provides compatibility 
   2176  1.1.1.2.2.2  bouyer with MS ACPI. BZ 6859
   2177  1.1.1.2.2.2  bouyer 
   2178  1.1.1.2.2.2  bouyer Simplified the internal ACPI hardware interfaces to eliminate the locking 
   2179  1.1.1.2.2.2  bouyer flag parameter from Register Read/Write. Added a new external interface, 
   2180  1.1.1.2.2.2  bouyer AcpiGetRegisterUnlocked.
   2181  1.1.1.2.2.2  bouyer 
   2182  1.1.1.2.2.2  bouyer Fixed a problem where the invocation of a GPE control method could hang. 
   2183  1.1.1.2.2.2  bouyer This 
   2184  1.1.1.2.2.2  bouyer was a regression introduced in 20080514. The new method argument count 
   2185  1.1.1.2.2.2  bouyer validation mechanism can enter an infinite loop when a GPE method is 
   2186  1.1.1.2.2.2  bouyer dispatched. Problem fixed by removing the obsolete code that passed GPE 
   2187  1.1.1.2.2.2  bouyer block 
   2188  1.1.1.2.2.2  bouyer information to the notify handler via the control method parameter pointer.
   2189  1.1.1.2.2.2  bouyer 
   2190  1.1.1.2.2.2  bouyer Fixed a problem where the _SST execution status was incorrectly returned to 
   2191  1.1.1.2.2.2  bouyer the caller of AcpiEnterSleepStatePrep. This was a regression introduced in 
   2192  1.1.1.2.2.2  bouyer 20080514. _SST is optional and a NOT_FOUND exception should never be 
   2193  1.1.1.2.2.2  bouyer returned. BZ 716
   2194  1.1.1.2.2.2  bouyer 
   2195  1.1.1.2.2.2  bouyer Fixed a problem where a deleted object could be accessed from within the AML 
   2196  1.1.1.2.2.2  bouyer parser. This was a regression introduced in version 20080123 as a fix for 
   2197  1.1.1.2.2.2  bouyer the 
   2198  1.1.1.2.2.2  bouyer Unload operator. Lin Ming. BZ 10669
   2199  1.1.1.2.2.2  bouyer 
   2200  1.1.1.2.2.2  bouyer Cleaned up the debug operand dump mechanism. Eliminated unnecessary operands 
   2201  1.1.1.2.2.2  bouyer and eliminated the use of a negative index in a loop. Operands are now 
   2202  1.1.1.2.2.2  bouyer displayed in the correct order, not backwards. This also fixes a regression 
   2203  1.1.1.2.2.2  bouyer introduced in 20080514 on 64-bit systems where the elimination of 
   2204  1.1.1.2.2.2  bouyer ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 715
   2205  1.1.1.2.2.2  bouyer 
   2206  1.1.1.2.2.2  bouyer Fixed a possible memory leak in EvPciConfigRegionSetup where the error exit 
   2207  1.1.1.2.2.2  bouyer path did not delete a locally allocated structure.
   2208  1.1.1.2.2.2  bouyer 
   2209  1.1.1.2.2.2  bouyer Updated definitions for the DMAR and SRAT tables to synchronize with the 
   2210  1.1.1.2.2.2  bouyer current specifications. Includes disassembler support.
   2211  1.1.1.2.2.2  bouyer 
   2212  1.1.1.2.2.2  bouyer Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect 
   2213  1.1.1.2.2.2  bouyer loop termination value was used. Loop terminated on iteration early, missing 
   2214  1.1.1.2.2.2  bouyer one mutex. Linn Crosetto
   2215  1.1.1.2.2.2  bouyer 
   2216  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2217  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2218  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2219  1.1.1.2.2.2  bouyer a 
   2220  1.1.1.2.2.2  bouyer much larger code and data size.
   2221  1.1.1.2.2.2  bouyer 
   2222  1.1.1.2.2.2  bouyer   Previous Release:
   2223  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
   2224  1.1.1.2.2.2  bouyer     Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
   2225  1.1.1.2.2.2  bouyer   Current Release:
   2226  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.3K Code, 16.2K Data,  95.5K Total
   2227  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code, 48.2K Data, 201.2K Total
   2228  1.1.1.2.2.2  bouyer 
   2229  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2230  1.1.1.2.2.2  bouyer 
   2231  1.1.1.2.2.2  bouyer Disassembler: Implemented support for EisaId() within _CID objects. Now 
   2232  1.1.1.2.2.2  bouyer disassemble integer _CID objects back to EisaId invocations, including 
   2233  1.1.1.2.2.2  bouyer multiple integers within _CID packages. Includes single-step support for 
   2234  1.1.1.2.2.2  bouyer debugger also.
   2235  1.1.1.2.2.2  bouyer 
   2236  1.1.1.2.2.2  bouyer Disassembler: Added support for DMAR and SRAT table definition changes.
   2237  1.1.1.2.2.2  bouyer 
   2238  1.1.1.2.2.2  bouyer ----------------------------------------
   2239  1.1.1.2.2.2  bouyer 14 May 2008. Summary of changes for version 20080514:
   2240  1.1.1.2.2.2  bouyer 
   2241  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2242  1.1.1.2.2.2  bouyer 
   2243  1.1.1.2.2.2  bouyer Fixed a problem where GPEs were enabled too early during the ACPICA 
   2244  1.1.1.2.2.2  bouyer initialization. This could lead to "handler not installed" errors on some 
   2245  1.1.1.2.2.2  bouyer machines. Moved GPE enable until after _REG/_STA/_INI methods are run. This 
   2246  1.1.1.2.2.2  bouyer ensures that all operation regions and devices throughout the namespace have 
   2247  1.1.1.2.2.2  bouyer been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
   2248  1.1.1.2.2.2  bouyer 
   2249  1.1.1.2.2.2  bouyer Implemented a change to the enter sleep code. Moved execution of the _GTS 
   2250  1.1.1.2.2.2  bouyer method to just before setting sleep enable bit. The execution was moved from 
   2251  1.1.1.2.2.2  bouyer AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed 
   2252  1.1.1.2.2.2  bouyer immediately before the SLP_EN bit is set, as per the ACPI specification. 
   2253  1.1.1.2.2.2  bouyer Luming Yu, BZ 1653.
   2254  1.1.1.2.2.2  bouyer 
   2255  1.1.1.2.2.2  bouyer Implemented a fix to disable unknown GPEs (2nd version). Now always disable 
   2256  1.1.1.2.2.2  bouyer the GPE, even if ACPICA thinks that that it is already disabled. It is 
   2257  1.1.1.2.2.2  bouyer possible that the AML or some other code has enabled the GPE unbeknownst to 
   2258  1.1.1.2.2.2  bouyer the ACPICA code.
   2259  1.1.1.2.2.2  bouyer 
   2260  1.1.1.2.2.2  bouyer Fixed a problem with the Field operator where zero-length fields would 
   2261  1.1.1.2.2.2  bouyer return 
   2262  1.1.1.2.2.2  bouyer an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length 
   2263  1.1.1.2.2.2  bouyer ASL 
   2264  1.1.1.2.2.2  bouyer field declarations in Field(), BankField(), and IndexField(). BZ 10606.
   2265  1.1.1.2.2.2  bouyer 
   2266  1.1.1.2.2.2  bouyer Implemented a fix for the Load operator, now load the table at the namespace 
   2267  1.1.1.2.2.2  bouyer root. This reverts a change introduced in version 20071019. The table is now 
   2268  1.1.1.2.2.2  bouyer loaded at the namespace root even though this goes against the ACPI 
   2269  1.1.1.2.2.2  bouyer specification. This provides compatibility with other ACPI implementations. 
   2270  1.1.1.2.2.2  bouyer The ACPI specification will be updated to reflect this in ACPI 4.0. Lin 
   2271  1.1.1.2.2.2  bouyer Ming.
   2272  1.1.1.2.2.2  bouyer 
   2273  1.1.1.2.2.2  bouyer Fixed a problem where ACPICA would not Load() tables with unusual 
   2274  1.1.1.2.2.2  bouyer signatures. 
   2275  1.1.1.2.2.2  bouyer Now ignore ACPI table signature for Load() operator. Only "SSDT" is 
   2276  1.1.1.2.2.2  bouyer acceptable to the ACPI spec, but tables are seen with OEMx and null sigs. 
   2277  1.1.1.2.2.2  bouyer Therefore, signature validation is worthless. Apparently MS ACPI accepts 
   2278  1.1.1.2.2.2  bouyer such 
   2279  1.1.1.2.2.2  bouyer signatures, ACPICA must be compatible. BZ 10454.
   2280  1.1.1.2.2.2  bouyer 
   2281  1.1.1.2.2.2  bouyer Fixed a possible negative array index in AcpiUtValidateException. Added NULL 
   2282  1.1.1.2.2.2  bouyer fields to the exception string arrays to eliminate a -1 subtraction on the 
   2283  1.1.1.2.2.2  bouyer SubStatus field.
   2284  1.1.1.2.2.2  bouyer 
   2285  1.1.1.2.2.2  bouyer Updated the debug tracking macros to reduce overall code and data size. 
   2286  1.1.1.2.2.2  bouyer Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings 
   2287  1.1.1.2.2.2  bouyer instead of pointers to static strings. Jan Beulich and Bob Moore.
   2288  1.1.1.2.2.2  bouyer 
   2289  1.1.1.2.2.2  bouyer Implemented argument count checking in control method invocation via 
   2290  1.1.1.2.2.2  bouyer AcpiEvaluateObject. Now emit an error if too few arguments, warning if too 
   2291  1.1.1.2.2.2  bouyer many. This applies only to extern programmatic control method execution, not 
   2292  1.1.1.2.2.2  bouyer method-to-method calls within the AML. Lin Ming.
   2293  1.1.1.2.2.2  bouyer 
   2294  1.1.1.2.2.2  bouyer Eliminated the ACPI_NATIVE_UINT type across all ACPICA code. This type is no 
   2295  1.1.1.2.2.2  bouyer longer needed, especially with the removal of 16-bit support. It was 
   2296  1.1.1.2.2.2  bouyer replaced 
   2297  1.1.1.2.2.2  bouyer mostly with UINT32, but also ACPI_SIZE where a type that changes 32/64 bit 
   2298  1.1.1.2.2.2  bouyer on 
   2299  1.1.1.2.2.2  bouyer 32/64-bit platforms is required.
   2300  1.1.1.2.2.2  bouyer 
   2301  1.1.1.2.2.2  bouyer Added the C const qualifier for appropriate string constants -- mostly 
   2302  1.1.1.2.2.2  bouyer MODULE_NAME and printf format strings. Jan Beulich.
   2303  1.1.1.2.2.2  bouyer 
   2304  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2305  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2306  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2307  1.1.1.2.2.2  bouyer a 
   2308  1.1.1.2.2.2  bouyer much larger code and data size.
   2309  1.1.1.2.2.2  bouyer 
   2310  1.1.1.2.2.2  bouyer   Previous Release:
   2311  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
   2312  1.1.1.2.2.2  bouyer     Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
   2313  1.1.1.2.2.2  bouyer   Current Release:
   2314  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.5K Code, 16.2K Data,  95.7K Total
   2315  1.1.1.2.2.2  bouyer     Debug Version:     153.3K Code, 48.3K Data, 201.6K Total
   2316  1.1.1.2.2.2  bouyer 
   2317  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2318  1.1.1.2.2.2  bouyer 
   2319  1.1.1.2.2.2  bouyer Implemented ACPI table revision ID validation in the disassembler. Zero is 
   2320  1.1.1.2.2.2  bouyer always invalid. For DSDTs, the ID controls the interpreter integer width. 1 
   2321  1.1.1.2.2.2  bouyer means 32-bit and this is unusual. 2 or greater is 64-bit.
   2322  1.1.1.2.2.2  bouyer 
   2323  1.1.1.2.2.2  bouyer ----------------------------------------
   2324  1.1.1.2.2.2  bouyer 21 March 2008. Summary of changes for version 20080321:
   2325  1.1.1.2.2.2  bouyer 
   2326  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2327  1.1.1.2.2.2  bouyer 
   2328  1.1.1.2.2.2  bouyer Implemented an additional change to the GPE support in order to suppress 
   2329  1.1.1.2.2.2  bouyer spurious or stray GPEs. The AcpiEvDisableGpe function will now permanently 
   2330  1.1.1.2.2.2  bouyer disable incoming GPEs that are neither enabled nor disabled -- meaning that 
   2331  1.1.1.2.2.2  bouyer the GPE is unknown to the system. This should prevent future interrupt 
   2332  1.1.1.2.2.2  bouyer floods 
   2333  1.1.1.2.2.2  bouyer from that GPE. BZ 6217 (Zhang Rui)
   2334  1.1.1.2.2.2  bouyer 
   2335  1.1.1.2.2.2  bouyer Fixed a problem where NULL package elements were not returned to the 
   2336  1.1.1.2.2.2  bouyer AcpiEvaluateObject interface correctly. The element was simply ignored 
   2337  1.1.1.2.2.2  bouyer instead of returning a NULL ACPI_OBJECT package element, potentially causing 
   2338  1.1.1.2.2.2  bouyer a buffer overflow and/or confusing the caller who expected a fixed number of 
   2339  1.1.1.2.2.2  bouyer elements. BZ 10132 (Lin Ming, Bob Moore)
   2340  1.1.1.2.2.2  bouyer 
   2341  1.1.1.2.2.2  bouyer Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, 
   2342  1.1.1.2.2.2  bouyer Dword, 
   2343  1.1.1.2.2.2  bouyer Qword), Field, BankField, and IndexField operators when invoked from inside 
   2344  1.1.1.2.2.2  bouyer an executing control method. In this case, these operators created namespace 
   2345  1.1.1.2.2.2  bouyer nodes that were incorrectly left marked as permanent nodes instead of 
   2346  1.1.1.2.2.2  bouyer temporary nodes. This could cause a problem if there is race condition 
   2347  1.1.1.2.2.2  bouyer between an exiting control method and a running namespace walk. (Reported by 
   2348  1.1.1.2.2.2  bouyer Linn Crosetto)
   2349  1.1.1.2.2.2  bouyer 
   2350  1.1.1.2.2.2  bouyer Fixed a problem where the CreateField and CreateXXXField operators would 
   2351  1.1.1.2.2.2  bouyer incorrectly allow duplicate names (the name of the field) with no exception 
   2352  1.1.1.2.2.2  bouyer generated.
   2353  1.1.1.2.2.2  bouyer 
   2354  1.1.1.2.2.2  bouyer Implemented several changes for Notify handling. Added support for new 
   2355  1.1.1.2.2.2  bouyer Notify 
   2356  1.1.1.2.2.2  bouyer values (ACPI 2.0+) and improved the Notify debug output. Notify on 
   2357  1.1.1.2.2.2  bouyer PowerResource objects is no longer allowed, as per the ACPI specification. 
   2358  1.1.1.2.2.2  bouyer (Bob Moore, Zhang Rui)
   2359  1.1.1.2.2.2  bouyer 
   2360  1.1.1.2.2.2  bouyer All Reference Objects returned via the AcpiEvaluateObject interface are now 
   2361  1.1.1.2.2.2  bouyer marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved 
   2362  1.1.1.2.2.2  bouyer for 
   2363  1.1.1.2.2.2  bouyer NULL objects - either NULL package elements or unresolved named references.
   2364  1.1.1.2.2.2  bouyer 
   2365  1.1.1.2.2.2  bouyer Fixed a problem where an extraneous debug message was produced for package 
   2366  1.1.1.2.2.2  bouyer objects (when debugging enabled). The message "Package List length larger 
   2367  1.1.1.2.2.2  bouyer than NumElements count" is now produced in the correct case, and is now an 
   2368  1.1.1.2.2.2  bouyer error message rather than a debug message. Added a debug message for the 
   2369  1.1.1.2.2.2  bouyer opposite case, where NumElements is larger than the Package List (the 
   2370  1.1.1.2.2.2  bouyer package 
   2371  1.1.1.2.2.2  bouyer will be padded out with NULL elements as per the ACPI spec.)
   2372  1.1.1.2.2.2  bouyer 
   2373  1.1.1.2.2.2  bouyer Implemented several improvements for the output of the ASL "Debug" object to 
   2374  1.1.1.2.2.2  bouyer clarify and keep all data for a given object on one output line.
   2375  1.1.1.2.2.2  bouyer 
   2376  1.1.1.2.2.2  bouyer Fixed two size calculation issues with the variable-length Start Dependent 
   2377  1.1.1.2.2.2  bouyer resource descriptor.
   2378  1.1.1.2.2.2  bouyer 
   2379  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2380  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2381  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2382  1.1.1.2.2.2  bouyer a much larger code and data size.
   2383  1.1.1.2.2.2  bouyer 
   2384  1.1.1.2.2.2  bouyer   Previous Release:
   2385  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
   2386  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
   2387  1.1.1.2.2.2  bouyer   Current Release:
   2388  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.4K Data,  97.4K Total
   2389  1.1.1.2.2.2  bouyer     Debug Version:     159.4K Code, 64.4K Data, 223.8K Total
   2390  1.1.1.2.2.2  bouyer 
   2391  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2392  1.1.1.2.2.2  bouyer 
   2393  1.1.1.2.2.2  bouyer Fixed a problem with the use of the Switch operator where execution of the 
   2394  1.1.1.2.2.2  bouyer containing method by multiple concurrent threads could cause an 
   2395  1.1.1.2.2.2  bouyer AE_ALREADY_EXISTS exception. This is caused by the fact that there is no 
   2396  1.1.1.2.2.2  bouyer actual Switch opcode, it must be simulated with local named temporary 
   2397  1.1.1.2.2.2  bouyer variables and if/else pairs. The solution chosen was to mark any method that 
   2398  1.1.1.2.2.2  bouyer uses Switch as Serialized, thus preventing multiple thread entries. BZ 469.
   2399  1.1.1.2.2.2  bouyer 
   2400  1.1.1.2.2.2  bouyer ----------------------------------------
   2401  1.1.1.2.2.2  bouyer 13 February 2008. Summary of changes for version 20080213:
   2402  1.1.1.2.2.2  bouyer 
   2403  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2404  1.1.1.2.2.2  bouyer 
   2405  1.1.1.2.2.2  bouyer Implemented another MS compatibility design change for GPE/Notify handling. 
   2406  1.1.1.2.2.2  bouyer GPEs are now cleared/enabled asynchronously to allow all pending notifies to 
   2407  1.1.1.2.2.2  bouyer complete first. It is expected that the OSL will queue the enable request 
   2408  1.1.1.2.2.2  bouyer behind all pending notify requests (may require changes to the local host 
   2409  1.1.1.2.2.2  bouyer OSL 
   2410  1.1.1.2.2.2  bouyer in AcpiOsExecute). Alexey Starikovskiy.
   2411  1.1.1.2.2.2  bouyer 
   2412  1.1.1.2.2.2  bouyer Fixed a problem where buffer and package objects passed as arguments to a 
   2413  1.1.1.2.2.2  bouyer control method via the external AcpiEvaluateObject interface could cause an 
   2414  1.1.1.2.2.2  bouyer AE_AML_INTERNAL exception depending on the order and type of operators 
   2415  1.1.1.2.2.2  bouyer executed by the target control method.
   2416  1.1.1.2.2.2  bouyer 
   2417  1.1.1.2.2.2  bouyer Fixed a problem where resource descriptor size optimization could cause a 
   2418  1.1.1.2.2.2  bouyer problem when a _CRS resource template is passed to a _SRS method. The _SRS 
   2419  1.1.1.2.2.2  bouyer resource template must use the same descriptors (with the same size) as 
   2420  1.1.1.2.2.2  bouyer returned from _CRS. This change affects the following resource descriptors: 
   2421  1.1.1.2.2.2  bouyer IRQ / IRQNoFlags and StartDependendentFn / StartDependentFnNoPri. (BZ 9487)
   2422  1.1.1.2.2.2  bouyer 
   2423  1.1.1.2.2.2  bouyer Fixed a problem where a CopyObject to RegionField, BankField, and IndexField 
   2424  1.1.1.2.2.2  bouyer objects did not perform an implicit conversion as it should. These types 
   2425  1.1.1.2.2.2  bouyer must 
   2426  1.1.1.2.2.2  bouyer retain their initial type permanently as per the ACPI specification. 
   2427  1.1.1.2.2.2  bouyer However, 
   2428  1.1.1.2.2.2  bouyer a CopyObject to all other object types should not perform an implicit 
   2429  1.1.1.2.2.2  bouyer conversion, as per the ACPI specification. (Lin Ming, Bob Moore) BZ 388
   2430  1.1.1.2.2.2  bouyer 
   2431  1.1.1.2.2.2  bouyer Fixed a problem with the AcpiGetDevices interface where the mechanism to 
   2432  1.1.1.2.2.2  bouyer match device CIDs did not examine the entire list of available CIDs, but 
   2433  1.1.1.2.2.2  bouyer instead aborted on the first non-matching CID. Andrew Patterson.
   2434  1.1.1.2.2.2  bouyer 
   2435  1.1.1.2.2.2  bouyer Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro 
   2436  1.1.1.2.2.2  bouyer was 
   2437  1.1.1.2.2.2  bouyer inadvertently changed to return a 16-bit value instead of a 32-bit value, 
   2438  1.1.1.2.2.2  bouyer truncating the upper dword of a 64-bit value. This macro is only used to 
   2439  1.1.1.2.2.2  bouyer display debug output, so no incorrect calculations were made. Also, 
   2440  1.1.1.2.2.2  bouyer reimplemented the macro so that a 64-bit shift is not performed by 
   2441  1.1.1.2.2.2  bouyer inefficient compilers.
   2442  1.1.1.2.2.2  bouyer 
   2443  1.1.1.2.2.2  bouyer Added missing va_end statements that should correspond with each va_start 
   2444  1.1.1.2.2.2  bouyer statement.
   2445  1.1.1.2.2.2  bouyer 
   2446  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2447  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2448  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2449  1.1.1.2.2.2  bouyer a much larger code and data size.
   2450  1.1.1.2.2.2  bouyer 
   2451  1.1.1.2.2.2  bouyer   Previous Release:
   2452  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
   2453  1.1.1.2.2.2  bouyer     Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
   2454  1.1.1.2.2.2  bouyer   Current Release:
   2455  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 17.3K Data,  97.0K Total
   2456  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 64.0K Data, 222.9K Total
   2457  1.1.1.2.2.2  bouyer 
   2458  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2459  1.1.1.2.2.2  bouyer 
   2460  1.1.1.2.2.2  bouyer Implemented full disassembler support for the following new ACPI tables: 
   2461  1.1.1.2.2.2  bouyer BERT, EINJ, and ERST. Implemented partial disassembler support for the 
   2462  1.1.1.2.2.2  bouyer complicated HEST table. These tables support the Windows Hardware Error 
   2463  1.1.1.2.2.2  bouyer Architecture (WHEA).
   2464  1.1.1.2.2.2  bouyer 
   2465  1.1.1.2.2.2  bouyer ----------------------------------------
   2466  1.1.1.2.2.2  bouyer 23 January 2008. Summary of changes for version 20080123:
   2467  1.1.1.2.2.2  bouyer 
   2468  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2469  1.1.1.2.2.2  bouyer 
   2470  1.1.1.2.2.2  bouyer Added the 2008 copyright to all module headers and signons. This affects 
   2471  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, the iASL compiler, and 
   2472  1.1.1.2.2.2  bouyer the tools/utilities.
   2473  1.1.1.2.2.2  bouyer 
   2474  1.1.1.2.2.2  bouyer Fixed a problem with the SizeOf operator when used with Package and Buffer 
   2475  1.1.1.2.2.2  bouyer objects. These objects have deferred execution for some arguments, and the 
   2476  1.1.1.2.2.2  bouyer execution is now completed before the SizeOf is executed. This problem 
   2477  1.1.1.2.2.2  bouyer caused 
   2478  1.1.1.2.2.2  bouyer unexpected AE_PACKAGE_LIMIT errors on some systems (Lin Ming, Bob Moore) BZ 
   2479  1.1.1.2.2.2  bouyer 9558
   2480  1.1.1.2.2.2  bouyer 
   2481  1.1.1.2.2.2  bouyer Implemented an enhancement to the interpreter "slack mode". In the absence 
   2482  1.1.1.2.2.2  bouyer of 
   2483  1.1.1.2.2.2  bouyer an explicit return or an implicitly returned object from the last executed 
   2484  1.1.1.2.2.2  bouyer opcode, a control method will now implicitly return an integer of value 0 
   2485  1.1.1.2.2.2  bouyer for 
   2486  1.1.1.2.2.2  bouyer Microsoft compatibility. (Lin Ming) BZ 392
   2487  1.1.1.2.2.2  bouyer 
   2488  1.1.1.2.2.2  bouyer Fixed a problem with the Load operator where an exception was not returned 
   2489  1.1.1.2.2.2  bouyer in 
   2490  1.1.1.2.2.2  bouyer the case where the table is already loaded. (Lin Ming) BZ 463
   2491  1.1.1.2.2.2  bouyer 
   2492  1.1.1.2.2.2  bouyer Implemented support for the use of DDBHandles as an Indexed Reference, as 
   2493  1.1.1.2.2.2  bouyer per 
   2494  1.1.1.2.2.2  bouyer the ACPI spec. (Lin Ming) BZ 486
   2495  1.1.1.2.2.2  bouyer 
   2496  1.1.1.2.2.2  bouyer Implemented support for UserTerm (Method invocation) for the Unload operator 
   2497  1.1.1.2.2.2  bouyer as per the ACPI spec. (Lin Ming) BZ 580
   2498  1.1.1.2.2.2  bouyer 
   2499  1.1.1.2.2.2  bouyer Fixed a problem with the LoadTable operator where the OemId and OemTableId 
   2500  1.1.1.2.2.2  bouyer input strings could cause unexpected failures if they were shorter than the 
   2501  1.1.1.2.2.2  bouyer maximum lengths allowed. (Lin Ming, Bob Moore) BZ 576
   2502  1.1.1.2.2.2  bouyer 
   2503  1.1.1.2.2.2  bouyer Implemented support for UserTerm (Method invocation) for the Unload operator 
   2504  1.1.1.2.2.2  bouyer as per the ACPI spec. (Lin Ming) BZ 580
   2505  1.1.1.2.2.2  bouyer 
   2506  1.1.1.2.2.2  bouyer Implemented header file support for new ACPI tables - BERT, ERST, EINJ, 
   2507  1.1.1.2.2.2  bouyer HEST, 
   2508  1.1.1.2.2.2  bouyer IBFT, UEFI, WDAT. Disassembler support is forthcoming.
   2509  1.1.1.2.2.2  bouyer 
   2510  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2511  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2512  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2513  1.1.1.2.2.2  bouyer a much larger code and data size.
   2514  1.1.1.2.2.2  bouyer 
   2515  1.1.1.2.2.2  bouyer   Previous Release:
   2516  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
   2517  1.1.1.2.2.2  bouyer     Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
   2518  1.1.1.2.2.2  bouyer   Current Release:
   2519  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.5K Code, 17.2K Data,  96.7K Total
   2520  1.1.1.2.2.2  bouyer     Debug Version:     159.0K Code, 63.8K Data, 222.8K Total
   2521  1.1.1.2.2.2  bouyer 
   2522  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2523  1.1.1.2.2.2  bouyer 
   2524  1.1.1.2.2.2  bouyer Implemented support in the disassembler for checksum validation on incoming 
   2525  1.1.1.2.2.2  bouyer binary DSDTs and SSDTs. If incorrect, a message is displayed within the 
   2526  1.1.1.2.2.2  bouyer table 
   2527  1.1.1.2.2.2  bouyer header dump at the start of the disassembly.
   2528  1.1.1.2.2.2  bouyer 
   2529  1.1.1.2.2.2  bouyer Implemented additional debugging information in the namespace listing file 
   2530  1.1.1.2.2.2  bouyer created during compilation. In addition to the namespace hierarchy, the full 
   2531  1.1.1.2.2.2  bouyer pathname to each namespace object is displayed.
   2532  1.1.1.2.2.2  bouyer 
   2533  1.1.1.2.2.2  bouyer Fixed a problem with the disassembler where invalid ACPI tables could cause 
   2534  1.1.1.2.2.2  bouyer faults or infinite loops.
   2535  1.1.1.2.2.2  bouyer 
   2536  1.1.1.2.2.2  bouyer Fixed an unexpected parse error when using the optional "parameter types" 
   2537  1.1.1.2.2.2  bouyer list in a control method declaration. (Lin Ming) BZ 397
   2538  1.1.1.2.2.2  bouyer 
   2539  1.1.1.2.2.2  bouyer Fixed a problem where two External declarations with the same name did not 
   2540  1.1.1.2.2.2  bouyer cause an error (Lin Ming) BZ 509
   2541  1.1.1.2.2.2  bouyer 
   2542  1.1.1.2.2.2  bouyer Implemented support for full TermArgs (adding Argx, Localx and method 
   2543  1.1.1.2.2.2  bouyer invocation) for the ParameterData parameter to the LoadTable operator. (Lin 
   2544  1.1.1.2.2.2  bouyer Ming) BZ 583,587
   2545  1.1.1.2.2.2  bouyer 
   2546  1.1.1.2.2.2  bouyer ----------------------------------------
   2547  1.1.1.2.2.2  bouyer 19 December 2007. Summary of changes for version 20071219:
   2548  1.1.1.2.2.2  bouyer 
   2549  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2550  1.1.1.2.2.2  bouyer 
   2551  1.1.1.2.2.2  bouyer Implemented full support for deferred execution for the TermArg string 
   2552  1.1.1.2.2.2  bouyer arguments for DataTableRegion. This enables forward references and full 
   2553  1.1.1.2.2.2  bouyer operand resolution for the three string arguments. Similar to 
   2554  1.1.1.2.2.2  bouyer OperationRegion 
   2555  1.1.1.2.2.2  bouyer deferred argument execution.) Lin Ming. BZ 430
   2556  1.1.1.2.2.2  bouyer 
   2557  1.1.1.2.2.2  bouyer Implemented full argument resolution support for the BankValue argument to 
   2558  1.1.1.2.2.2  bouyer BankField. Previously, only constants were supported, now any TermArg may be 
   2559  1.1.1.2.2.2  bouyer used. Lin Ming BZ 387, 393
   2560  1.1.1.2.2.2  bouyer 
   2561  1.1.1.2.2.2  bouyer Fixed a problem with AcpiGetDevices where the search of a branch of the 
   2562  1.1.1.2.2.2  bouyer device tree could be terminated prematurely. In accordance with the ACPI 
   2563  1.1.1.2.2.2  bouyer specification, the search down the current branch is terminated if a device 
   2564  1.1.1.2.2.2  bouyer is both not present and not functional (instead of just not present.) Yakui 
   2565  1.1.1.2.2.2  bouyer Zhao.
   2566  1.1.1.2.2.2  bouyer 
   2567  1.1.1.2.2.2  bouyer Fixed a problem where "unknown" GPEs could be allowed to fire repeatedly if 
   2568  1.1.1.2.2.2  bouyer the underlying AML code changed the GPE enable registers. Now, any unknown 
   2569  1.1.1.2.2.2  bouyer incoming GPE (no _Lxx/_Exx method and not the EC GPE) is immediately 
   2570  1.1.1.2.2.2  bouyer disabled 
   2571  1.1.1.2.2.2  bouyer instead of simply ignored. Rui Zhang.
   2572  1.1.1.2.2.2  bouyer 
   2573  1.1.1.2.2.2  bouyer Fixed a problem with Index Fields where the Index register was incorrectly 
   2574  1.1.1.2.2.2  bouyer limited to a maximum of 32 bits. Now any size may be used.
   2575  1.1.1.2.2.2  bouyer 
   2576  1.1.1.2.2.2  bouyer Fixed a couple memory leaks associated with "implicit return" objects when 
   2577  1.1.1.2.2.2  bouyer the AML Interpreter slack mode is enabled. Lin Ming BZ 349
   2578  1.1.1.2.2.2  bouyer 
   2579  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2580  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2581  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2582  1.1.1.2.2.2  bouyer a much larger code and data size.
   2583  1.1.1.2.2.2  bouyer 
   2584  1.1.1.2.2.2  bouyer   Previous Release:
   2585  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
   2586  1.1.1.2.2.2  bouyer     Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
   2587  1.1.1.2.2.2  bouyer   Current Release:
   2588  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.3K Code, 17.2K Data,  96.5K Total
   2589  1.1.1.2.2.2  bouyer     Debug Version:     158.6K Code, 63.8K Data, 222.4K Total
   2590  1.1.1.2.2.2  bouyer 
   2591  1.1.1.2.2.2  bouyer ----------------------------------------
   2592  1.1.1.2.2.2  bouyer 14 November 2007. Summary of changes for version 20071114:
   2593  1.1.1.2.2.2  bouyer 
   2594  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2595  1.1.1.2.2.2  bouyer 
   2596  1.1.1.2.2.2  bouyer Implemented event counters for each of the Fixed Events, the ACPI SCI 
   2597  1.1.1.2.2.2  bouyer (interrupt) itself, and control methods executed. Named 
   2598  1.1.1.2.2.2  bouyer AcpiFixedEventCount[], AcpiSciCount, and AcpiMethodCount respectively. These 
   2599  1.1.1.2.2.2  bouyer should be useful for debugging and statistics.
   2600  1.1.1.2.2.2  bouyer 
   2601  1.1.1.2.2.2  bouyer Implemented a new external interface, AcpiGetStatistics, to retrieve the 
   2602  1.1.1.2.2.2  bouyer contents of the various event counters. Returns the current values for 
   2603  1.1.1.2.2.2  bouyer AcpiSciCount, AcpiGpeCount, the AcpiFixedEventCount array, and 
   2604  1.1.1.2.2.2  bouyer AcpiMethodCount. The interface can be expanded in the future if new counters 
   2605  1.1.1.2.2.2  bouyer are added. Device drivers should use this interface rather than access the 
   2606  1.1.1.2.2.2  bouyer counters directly.
   2607  1.1.1.2.2.2  bouyer 
   2608  1.1.1.2.2.2  bouyer Fixed a problem with the FromBCD and ToBCD operators. With some compilers, 
   2609  1.1.1.2.2.2  bouyer the ShortDivide function worked incorrectly, causing problems with the BCD 
   2610  1.1.1.2.2.2  bouyer functions with large input values. A truncation from 64-bit to 32-bit 
   2611  1.1.1.2.2.2  bouyer inadvertently occurred. Internal BZ 435. Lin Ming
   2612  1.1.1.2.2.2  bouyer 
   2613  1.1.1.2.2.2  bouyer Fixed a problem with Index references passed as method arguments. References 
   2614  1.1.1.2.2.2  bouyer passed as arguments to control methods were dereferenced immediately (before 
   2615  1.1.1.2.2.2  bouyer control was passed to the called method). The references are now correctly 
   2616  1.1.1.2.2.2  bouyer passed directly to the called method. BZ 5389. Lin Ming
   2617  1.1.1.2.2.2  bouyer 
   2618  1.1.1.2.2.2  bouyer Fixed a problem with CopyObject used in conjunction with the Index operator. 
   2619  1.1.1.2.2.2  bouyer The reference was incorrectly dereferenced before the copy. The reference is 
   2620  1.1.1.2.2.2  bouyer now correctly copied. BZ 5391. Lin Ming
   2621  1.1.1.2.2.2  bouyer 
   2622  1.1.1.2.2.2  bouyer Fixed a problem with Control Method references within Package objects. These 
   2623  1.1.1.2.2.2  bouyer references are now correctly generated. This completes the package 
   2624  1.1.1.2.2.2  bouyer construction overhaul that began in version 20071019.
   2625  1.1.1.2.2.2  bouyer 
   2626  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2627  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2628  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2629  1.1.1.2.2.2  bouyer a much larger code and data size.
   2630  1.1.1.2.2.2  bouyer 
   2631  1.1.1.2.2.2  bouyer   Previous Release:
   2632  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
   2633  1.1.1.2.2.2  bouyer     Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
   2634  1.1.1.2.2.2  bouyer   Current Release:
   2635  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.0K Code, 17.2K Data,  96.2K Total
   2636  1.1.1.2.2.2  bouyer     Debug Version:     157.9K Code, 63.6K Data, 221.5K Total
   2637  1.1.1.2.2.2  bouyer 
   2638  1.1.1.2.2.2  bouyer 
   2639  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2640  1.1.1.2.2.2  bouyer 
   2641  1.1.1.2.2.2  bouyer The AcpiExec utility now installs handlers for all of the predefined 
   2642  1.1.1.2.2.2  bouyer Operation Region types. New types supported are: PCI_Config, CMOS, and 
   2643  1.1.1.2.2.2  bouyer PCIBARTarget.
   2644  1.1.1.2.2.2  bouyer 
   2645  1.1.1.2.2.2  bouyer Fixed a problem with the 64-bit version of AcpiExec where the extended (64-
   2646  1.1.1.2.2.2  bouyer bit) address fields for the DSDT and FACS within the FADT were not being 
   2647  1.1.1.2.2.2  bouyer used, causing truncation of the upper 32-bits of these addresses. Lin Ming 
   2648  1.1.1.2.2.2  bouyer and Bob Moore
   2649  1.1.1.2.2.2  bouyer 
   2650  1.1.1.2.2.2  bouyer ----------------------------------------
   2651  1.1.1.2.2.2  bouyer 19 October 2007. Summary of changes for version 20071019:
   2652  1.1.1.2.2.2  bouyer 
   2653  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2654  1.1.1.2.2.2  bouyer 
   2655  1.1.1.2.2.2  bouyer Fixed a problem with the Alias operator when the target of the alias is a 
   2656  1.1.1.2.2.2  bouyer named ASL operator that opens a new scope -- Scope, Device, PowerResource, 
   2657  1.1.1.2.2.2  bouyer Processor, and ThermalZone. In these cases, any children of the original 
   2658  1.1.1.2.2.2  bouyer operator could not be accessed via the alias, potentially causing unexpected 
   2659  1.1.1.2.2.2  bouyer AE_NOT_FOUND exceptions. (BZ 9067)
   2660  1.1.1.2.2.2  bouyer 
   2661  1.1.1.2.2.2  bouyer Fixed a problem with the Package operator where all named references were 
   2662  1.1.1.2.2.2  bouyer created as object references and left otherwise unresolved. According to the 
   2663  1.1.1.2.2.2  bouyer ACPI specification, a Package can only contain Data Objects or references to 
   2664  1.1.1.2.2.2  bouyer control methods. The implication is that named references to Data Objects 
   2665  1.1.1.2.2.2  bouyer (Integer, Buffer, String, Package, BufferField, Field) should be resolved 
   2666  1.1.1.2.2.2  bouyer immediately upon package creation. This is the approach taken with this 
   2667  1.1.1.2.2.2  bouyer change. References to all other named objects (Methods, Devices, Scopes, 
   2668  1.1.1.2.2.2  bouyer etc.) are all now properly created as reference objects. (BZ 5328)
   2669  1.1.1.2.2.2  bouyer 
   2670  1.1.1.2.2.2  bouyer Reverted a change to Notify handling that was introduced in version 
   2671  1.1.1.2.2.2  bouyer 20070508. This version changed the Notify handling from asynchronous to 
   2672  1.1.1.2.2.2  bouyer fully synchronous (Device driver Notify handling with respect to the Notify 
   2673  1.1.1.2.2.2  bouyer ASL operator). It was found that this change caused more problems than it 
   2674  1.1.1.2.2.2  bouyer solved and was removed by most users.
   2675  1.1.1.2.2.2  bouyer 
   2676  1.1.1.2.2.2  bouyer Fixed a problem with the Increment and Decrement operators where the type of 
   2677  1.1.1.2.2.2  bouyer the target object could be unexpectedly and incorrectly changed. (BZ 353) 
   2678  1.1.1.2.2.2  bouyer Lin Ming.
   2679  1.1.1.2.2.2  bouyer 
   2680  1.1.1.2.2.2  bouyer Fixed a problem with the Load and LoadTable operators where the table 
   2681  1.1.1.2.2.2  bouyer location within the namespace was ignored. Instead, the table was always 
   2682  1.1.1.2.2.2  bouyer loaded into the root or current scope. Lin Ming.
   2683  1.1.1.2.2.2  bouyer 
   2684  1.1.1.2.2.2  bouyer Fixed a problem with the Load operator when loading a table from a buffer 
   2685  1.1.1.2.2.2  bouyer object. The input buffer was prematurely zeroed and/or deleted. (BZ 577)
   2686  1.1.1.2.2.2  bouyer 
   2687  1.1.1.2.2.2  bouyer Fixed a problem with the Debug object where a store of a DdbHandle reference 
   2688  1.1.1.2.2.2  bouyer object to the Debug object could cause a fault.
   2689  1.1.1.2.2.2  bouyer 
   2690  1.1.1.2.2.2  bouyer Added a table checksum verification for the Load operator, in the case where 
   2691  1.1.1.2.2.2  bouyer the load is from a buffer. (BZ 578).
   2692  1.1.1.2.2.2  bouyer 
   2693  1.1.1.2.2.2  bouyer Implemented additional parameter validation for the LoadTable operator. The 
   2694  1.1.1.2.2.2  bouyer length of the input strings SignatureString, OemIdString, and OemTableId are 
   2695  1.1.1.2.2.2  bouyer now checked for maximum lengths. (BZ 582) Lin Ming.
   2696  1.1.1.2.2.2  bouyer 
   2697  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2698  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2699  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2700  1.1.1.2.2.2  bouyer a much larger code and data size.
   2701  1.1.1.2.2.2  bouyer 
   2702  1.1.1.2.2.2  bouyer   Previous Release:
   2703  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
   2704  1.1.1.2.2.2  bouyer     Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
   2705  1.1.1.2.2.2  bouyer   Current Release:
   2706  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.8K Code, 17.2K Data,  96.0K Total
   2707  1.1.1.2.2.2  bouyer     Debug Version:     157.2K Code, 63.4K Data, 220.6K Total
   2708  1.1.1.2.2.2  bouyer 
   2709  1.1.1.2.2.2  bouyer 
   2710  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   2711  1.1.1.2.2.2  bouyer 
   2712  1.1.1.2.2.2  bouyer Fixed a problem where if a single file was specified and the file did not 
   2713  1.1.1.2.2.2  bouyer exist, no error message was emitted. (Introduced with wildcard support in 
   2714  1.1.1.2.2.2  bouyer version 20070917.)
   2715  1.1.1.2.2.2  bouyer 
   2716  1.1.1.2.2.2  bouyer ----------------------------------------
   2717  1.1.1.2.2.2  bouyer 19 September 2007. Summary of changes for version 20070919:
   2718  1.1.1.2.2.2  bouyer 
   2719  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2720  1.1.1.2.2.2  bouyer 
   2721  1.1.1.2.2.2  bouyer Designed and implemented new external interfaces to install and remove 
   2722  1.1.1.2.2.2  bouyer handlers for ACPI table-related events. Current events that are defined are 
   2723  1.1.1.2.2.2  bouyer LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as 
   2724  1.1.1.2.2.2  bouyer they are dynamically loaded and unloaded. See AcpiInstallTableHandler and 
   2725  1.1.1.2.2.2  bouyer AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
   2726  1.1.1.2.2.2  bouyer 
   2727  1.1.1.2.2.2  bouyer Fixed a problem where the use of the AcpiGbl_AllMethodsSerialized flag 
   2728  1.1.1.2.2.2  bouyer (acpi_serialized option on Linux) could cause some systems to hang during 
   2729  1.1.1.2.2.2  bouyer initialization. (Bob Moore) BZ 8171
   2730  1.1.1.2.2.2  bouyer 
   2731  1.1.1.2.2.2  bouyer Fixed a problem where objects of certain types (Device, ThermalZone, 
   2732  1.1.1.2.2.2  bouyer Processor, PowerResource) can be not found if they are declared and 
   2733  1.1.1.2.2.2  bouyer referenced from within the same control method (Lin Ming) BZ 341
   2734  1.1.1.2.2.2  bouyer 
   2735  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2736  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2737  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2738  1.1.1.2.2.2  bouyer a much larger code and data size.
   2739  1.1.1.2.2.2  bouyer 
   2740  1.1.1.2.2.2  bouyer   Previous Release:
   2741  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
   2742  1.1.1.2.2.2  bouyer     Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
   2743  1.1.1.2.2.2  bouyer   Current Release:
   2744  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code, 17.1K Data,  95.6K Total
   2745  1.1.1.2.2.2  bouyer     Debug Version:     156.7K Code, 63.2K Data, 219.9K Total
   2746  1.1.1.2.2.2  bouyer 
   2747  1.1.1.2.2.2  bouyer 
   2748  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   2749  1.1.1.2.2.2  bouyer 
   2750  1.1.1.2.2.2  bouyer Implemented support to allow multiple files to be compiled/disassembled in a 
   2751  1.1.1.2.2.2  bouyer single invocation. This includes command line wildcard support for both the 
   2752  1.1.1.2.2.2  bouyer Windows and Unix versions of the compiler. This feature simplifies the 
   2753  1.1.1.2.2.2  bouyer disassembly and compilation of multiple ACPI tables in a single directory.
   2754  1.1.1.2.2.2  bouyer 
   2755  1.1.1.2.2.2  bouyer ----------------------------------------
   2756  1.1.1.2.2.2  bouyer 08 May 2007. Summary of changes for version 20070508:
   2757  1.1.1.2.2.2  bouyer 
   2758  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2759  1.1.1.2.2.2  bouyer 
   2760  1.1.1.2.2.2  bouyer Implemented a Microsoft compatibility design change for the handling of the 
   2761  1.1.1.2.2.2  bouyer Notify AML operator. Previously, notify handlers were dispatched and 
   2762  1.1.1.2.2.2  bouyer executed completely asynchronously in a deferred thread. The new design 
   2763  1.1.1.2.2.2  bouyer still executes the notify handlers in a different thread, but the original 
   2764  1.1.1.2.2.2  bouyer thread that executed the Notify() now waits at a synchronization point for 
   2765  1.1.1.2.2.2  bouyer the notify handler to complete. Some machines depend on a synchronous Notify 
   2766  1.1.1.2.2.2  bouyer operator in order to operate correctly.
   2767  1.1.1.2.2.2  bouyer 
   2768  1.1.1.2.2.2  bouyer Implemented support to allow Package objects to be passed as method 
   2769  1.1.1.2.2.2  bouyer arguments to the external AcpiEvaluateObject interface. Previously, this 
   2770  1.1.1.2.2.2  bouyer would return the AE_NOT_IMPLEMENTED exception. This feature had not been 
   2771  1.1.1.2.2.2  bouyer implemented since there were no reserved control methods that required it 
   2772  1.1.1.2.2.2  bouyer until recently.
   2773  1.1.1.2.2.2  bouyer 
   2774  1.1.1.2.2.2  bouyer Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that 
   2775  1.1.1.2.2.2  bouyer contained invalid non-zero values in reserved fields could cause later 
   2776  1.1.1.2.2.2  bouyer failures because these fields have meaning in later revisions of the FADT. 
   2777  1.1.1.2.2.2  bouyer For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (The fields 
   2778  1.1.1.2.2.2  bouyer are: Preferred_PM_Profile, PSTATE_CNT, CST_CNT, and IAPC_BOOT_FLAGS.)
   2779  1.1.1.2.2.2  bouyer 
   2780  1.1.1.2.2.2  bouyer Fixed a problem where the Global Lock handle was not properly updated if a 
   2781  1.1.1.2.2.2  bouyer thread that acquired the Global Lock via executing AML code then attempted 
   2782  1.1.1.2.2.2  bouyer to acquire the lock via the AcpiAcquireGlobalLock interface. Reported by Joe 
   2783  1.1.1.2.2.2  bouyer Liu.
   2784  1.1.1.2.2.2  bouyer 
   2785  1.1.1.2.2.2  bouyer Fixed a problem in AcpiEvDeleteGpeXrupt where the global interrupt list 
   2786  1.1.1.2.2.2  bouyer could be corrupted if the interrupt being removed was at the head of the 
   2787  1.1.1.2.2.2  bouyer list. Reported by Linn Crosetto.
   2788  1.1.1.2.2.2  bouyer 
   2789  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2790  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2791  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2792  1.1.1.2.2.2  bouyer a much larger code and data size.
   2793  1.1.1.2.2.2  bouyer 
   2794  1.1.1.2.2.2  bouyer   Previous Release:
   2795  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2796  1.1.1.2.2.2  bouyer     Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
   2797  1.1.1.2.2.2  bouyer   Current Release:
   2798  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 17.0K Data,  95.3K Total
   2799  1.1.1.2.2.2  bouyer     Debug Version:     156.3K Code, 63.1K Data, 219.4K Total
   2800  1.1.1.2.2.2  bouyer 
   2801  1.1.1.2.2.2  bouyer ----------------------------------------
   2802  1.1.1.2.2.2  bouyer 20 March 2007. Summary of changes for version 20070320:
   2803  1.1.1.2.2.2  bouyer 
   2804  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2805  1.1.1.2.2.2  bouyer 
   2806  1.1.1.2.2.2  bouyer Implemented a change to the order of interpretation and evaluation of AML 
   2807  1.1.1.2.2.2  bouyer operand objects within the AML interpreter. The interpreter now evaluates 
   2808  1.1.1.2.2.2  bouyer operands in the order that they appear in the AML stream (and the 
   2809  1.1.1.2.2.2  bouyer corresponding ASL code), instead of in the reverse order (after the entire 
   2810  1.1.1.2.2.2  bouyer operand list has been parsed). The previous behavior caused several subtle 
   2811  1.1.1.2.2.2  bouyer incompatibilities with the Microsoft AML interpreter as well as being 
   2812  1.1.1.2.2.2  bouyer somewhat non-intuitive. BZ 7871, local BZ 263. Valery Podrezov.
   2813  1.1.1.2.2.2  bouyer 
   2814  1.1.1.2.2.2  bouyer Implemented a change to the ACPI Global Lock support. All interfaces to the 
   2815  1.1.1.2.2.2  bouyer global lock now allow the same thread to acquire the lock multiple times. 
   2816  1.1.1.2.2.2  bouyer This affects the AcpiAcquireGlobalLock external interface to the global lock 
   2817  1.1.1.2.2.2  bouyer as well as the internal use of the global lock to support AML fields -- a 
   2818  1.1.1.2.2.2  bouyer control method that is holding the global lock can now simultaneously access 
   2819  1.1.1.2.2.2  bouyer AML fields that require global lock protection. Previously, in both cases, 
   2820  1.1.1.2.2.2  bouyer this would have resulted in an AE_ALREADY_ACQUIRED exception. The change to 
   2821  1.1.1.2.2.2  bouyer AcpiAcquireGlobalLock is of special interest to drivers for the Embedded 
   2822  1.1.1.2.2.2  bouyer Controller. There is no change to the behavior of the AML Acquire operator, 
   2823  1.1.1.2.2.2  bouyer as this can already be used to acquire a mutex multiple times by the same 
   2824  1.1.1.2.2.2  bouyer thread. BZ 8066. With assistance from Alexey Starikovskiy.
   2825  1.1.1.2.2.2  bouyer 
   2826  1.1.1.2.2.2  bouyer Fixed a problem where invalid objects could be referenced in the AML 
   2827  1.1.1.2.2.2  bouyer Interpreter after error conditions. During operand evaluation, ensure that 
   2828  1.1.1.2.2.2  bouyer the internal "Return Object" field is cleared on error and only valid 
   2829  1.1.1.2.2.2  bouyer pointers are stored there. Caused occasional access to deleted objects that 
   2830  1.1.1.2.2.2  bouyer resulted in "large reference count" warning messages. Valery Podrezov.
   2831  1.1.1.2.2.2  bouyer 
   2832  1.1.1.2.2.2  bouyer Fixed a problem where an AE_STACK_OVERFLOW internal exception could occur on 
   2833  1.1.1.2.2.2  bouyer deeply nested control method invocations. BZ 7873, local BZ 487. Valery 
   2834  1.1.1.2.2.2  bouyer Podrezov.
   2835  1.1.1.2.2.2  bouyer 
   2836  1.1.1.2.2.2  bouyer Fixed an internal problem with the handling of result objects on the 
   2837  1.1.1.2.2.2  bouyer interpreter result stack. BZ 7872. Valery Podrezov.
   2838  1.1.1.2.2.2  bouyer 
   2839  1.1.1.2.2.2  bouyer Removed obsolete code that handled the case where AML_NAME_OP is the target 
   2840  1.1.1.2.2.2  bouyer of a reference (Reference.Opcode). This code was no longer necessary. BZ 
   2841  1.1.1.2.2.2  bouyer 7874. Valery Podrezov.
   2842  1.1.1.2.2.2  bouyer 
   2843  1.1.1.2.2.2  bouyer Removed obsolete ACPI_NO_INTEGER64_SUPPORT from two header files. This was a 
   2844  1.1.1.2.2.2  bouyer remnant from the previously discontinued 16-bit support.
   2845  1.1.1.2.2.2  bouyer 
   2846  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2847  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2848  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2849  1.1.1.2.2.2  bouyer a much larger code and data size.
   2850  1.1.1.2.2.2  bouyer 
   2851  1.1.1.2.2.2  bouyer   Previous Release:
   2852  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2853  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
   2854  1.1.1.2.2.2  bouyer   Current Release:
   2855  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2856  1.1.1.2.2.2  bouyer     Debug Version:     155.9K Code, 63.1K Data, 219.0K Total
   2857  1.1.1.2.2.2  bouyer 
   2858  1.1.1.2.2.2  bouyer ----------------------------------------
   2859  1.1.1.2.2.2  bouyer 26 January 2007. Summary of changes for version 20070126:
   2860  1.1.1.2.2.2  bouyer 
   2861  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2862  1.1.1.2.2.2  bouyer 
   2863  1.1.1.2.2.2  bouyer Added the 2007 copyright to all module headers and signons. This affects 
   2864  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, the iASL compiler, and 
   2865  1.1.1.2.2.2  bouyer the utilities.
   2866  1.1.1.2.2.2  bouyer 
   2867  1.1.1.2.2.2  bouyer Implemented a fix for an incorrect parameter passed to AcpiTbDeleteTable 
   2868  1.1.1.2.2.2  bouyer during a table load. A bad pointer was passed in the case where the DSDT is 
   2869  1.1.1.2.2.2  bouyer overridden, causing a fault in this case.
   2870  1.1.1.2.2.2  bouyer 
   2871  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2872  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2873  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2874  1.1.1.2.2.2  bouyer a much larger code and data size.
   2875  1.1.1.2.2.2  bouyer 
   2876  1.1.1.2.2.2  bouyer   Previous Release:
   2877  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2878  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
   2879  1.1.1.2.2.2  bouyer   Current Release:
   2880  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2881  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
   2882  1.1.1.2.2.2  bouyer 
   2883  1.1.1.2.2.2  bouyer ----------------------------------------
   2884  1.1.1.2.2.2  bouyer 15 December 2006. Summary of changes for version 20061215:
   2885  1.1.1.2.2.2  bouyer 
   2886  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2887  1.1.1.2.2.2  bouyer 
   2888  1.1.1.2.2.2  bouyer Support for 16-bit ACPICA has been completely removed since it is no longer 
   2889  1.1.1.2.2.2  bouyer necessary and it clutters the code. All 16-bit macros, types, and 
   2890  1.1.1.2.2.2  bouyer conditional compiles have been removed, cleaning up and simplifying the code 
   2891  1.1.1.2.2.2  bouyer across the entire subsystem. DOS support is no longer needed since the 
   2892  1.1.1.2.2.2  bouyer bootable Linux firmware kit is now available.
   2893  1.1.1.2.2.2  bouyer 
   2894  1.1.1.2.2.2  bouyer The handler for the Global Lock is now removed during AcpiTerminate to 
   2895  1.1.1.2.2.2  bouyer enable a clean subsystem restart, via the implementation of the 
   2896  1.1.1.2.2.2  bouyer AcpiEvRemoveGlobalLockHandler function. (With assistance from Joel Bretz, 
   2897  1.1.1.2.2.2  bouyer HP)
   2898  1.1.1.2.2.2  bouyer 
   2899  1.1.1.2.2.2  bouyer Implemented enhancements to the multithreading support within the debugger 
   2900  1.1.1.2.2.2  bouyer to enable improved multithreading debugging and evaluation of the subsystem. 
   2901  1.1.1.2.2.2  bouyer (Valery Podrezov)
   2902  1.1.1.2.2.2  bouyer 
   2903  1.1.1.2.2.2  bouyer Debugger: Enhanced the Statistics/Memory command to emit the total (maximum) 
   2904  1.1.1.2.2.2  bouyer memory used during the execution, as well as the maximum memory consumed by 
   2905  1.1.1.2.2.2  bouyer each of the various object types. (Valery Podrezov)
   2906  1.1.1.2.2.2  bouyer 
   2907  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2908  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2909  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2910  1.1.1.2.2.2  bouyer a much larger code and data size.
   2911  1.1.1.2.2.2  bouyer 
   2912  1.1.1.2.2.2  bouyer   Previous Release:
   2913  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
   2914  1.1.1.2.2.2  bouyer     Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
   2915  1.1.1.2.2.2  bouyer   Current Release:
   2916  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 17.1K Data,  95.1K Total
   2917  1.1.1.2.2.2  bouyer     Debug Version:     155.8K Code, 63.3K Data, 219.1K Total
   2918  1.1.1.2.2.2  bouyer 
   2919  1.1.1.2.2.2  bouyer 
   2920  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2921  1.1.1.2.2.2  bouyer 
   2922  1.1.1.2.2.2  bouyer AcpiExec: Implemented a new option (-m) to display full memory use 
   2923  1.1.1.2.2.2  bouyer statistics upon subsystem/program termination. (Valery Podrezov)
   2924  1.1.1.2.2.2  bouyer 
   2925  1.1.1.2.2.2  bouyer ----------------------------------------
   2926  1.1.1.2.2.2  bouyer 09 November 2006. Summary of changes for version 20061109:
   2927  1.1.1.2.2.2  bouyer 
   2928  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2929  1.1.1.2.2.2  bouyer 
   2930  1.1.1.2.2.2  bouyer Optimized the Load ASL operator in the case where the source operand is an 
   2931  1.1.1.2.2.2  bouyer operation region. Simply map the operation region memory, instead of 
   2932  1.1.1.2.2.2  bouyer performing a bytewise read. (Region must be of type SystemMemory, see 
   2933  1.1.1.2.2.2  bouyer below.)
   2934  1.1.1.2.2.2  bouyer 
   2935  1.1.1.2.2.2  bouyer Fixed the Load ASL operator for the case where the source operand is a 
   2936  1.1.1.2.2.2  bouyer region field. A buffer object is also allowed as the source operand. BZ 480
   2937  1.1.1.2.2.2  bouyer 
   2938  1.1.1.2.2.2  bouyer Fixed a problem where the Load ASL operator allowed the source operand to be 
   2939  1.1.1.2.2.2  bouyer an operation region of any type. It is now restricted to regions of type 
   2940  1.1.1.2.2.2  bouyer SystemMemory, as per the ACPI specification. BZ 481
   2941  1.1.1.2.2.2  bouyer 
   2942  1.1.1.2.2.2  bouyer Additional cleanup and optimizations for the new Table Manager code.
   2943  1.1.1.2.2.2  bouyer 
   2944  1.1.1.2.2.2  bouyer AcpiEnable will now fail if all of the required ACPI tables are not loaded 
   2945  1.1.1.2.2.2  bouyer (FADT, FACS, DSDT). BZ 477
   2946  1.1.1.2.2.2  bouyer 
   2947  1.1.1.2.2.2  bouyer Added #pragma pack(8/4) to acobject.h to ensure that the structures in this 
   2948  1.1.1.2.2.2  bouyer header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been 
   2949  1.1.1.2.2.2  bouyer manually optimized to be aligned and will not work if it is byte-packed. 
   2950  1.1.1.2.2.2  bouyer 
   2951  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   2952  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   2953  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   2954  1.1.1.2.2.2  bouyer a much larger code and data size.
   2955  1.1.1.2.2.2  bouyer 
   2956  1.1.1.2.2.2  bouyer   Previous Release:
   2957  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
   2958  1.1.1.2.2.2  bouyer     Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
   2959  1.1.1.2.2.2  bouyer   Current Release:
   2960  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.0K Data,  94.9K Total
   2961  1.1.1.2.2.2  bouyer     Debug Version:     155.2K Code, 63.1K Data, 218.3K Total
   2962  1.1.1.2.2.2  bouyer 
   2963  1.1.1.2.2.2  bouyer 
   2964  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   2965  1.1.1.2.2.2  bouyer 
   2966  1.1.1.2.2.2  bouyer Fixed a problem where the presence of the _OSI predefined control method 
   2967  1.1.1.2.2.2  bouyer within complex expressions could cause an internal compiler error.
   2968  1.1.1.2.2.2  bouyer 
   2969  1.1.1.2.2.2  bouyer AcpiExec: Implemented full region support for multiple address spaces. 
   2970  1.1.1.2.2.2  bouyer SpaceId is now part of the REGION object. BZ 429
   2971  1.1.1.2.2.2  bouyer 
   2972  1.1.1.2.2.2  bouyer ----------------------------------------
   2973  1.1.1.2.2.2  bouyer 11 October 2006. Summary of changes for version 20061011:
   2974  1.1.1.2.2.2  bouyer 
   2975  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   2976  1.1.1.2.2.2  bouyer 
   2977  1.1.1.2.2.2  bouyer Completed an AML interpreter performance enhancement for control method 
   2978  1.1.1.2.2.2  bouyer execution. Previously a 2-pass parse/execution, control methods are now 
   2979  1.1.1.2.2.2  bouyer completely parsed and executed in a single pass. This improves overall 
   2980  1.1.1.2.2.2  bouyer interpreter performance by ~25%, reduces code size, and reduces CPU stack 
   2981  1.1.1.2.2.2  bouyer use. (Valery Podrezov + interpreter changes in version 20051202 that 
   2982  1.1.1.2.2.2  bouyer eliminated namespace loading during the pass one parse.)
   2983  1.1.1.2.2.2  bouyer 
   2984  1.1.1.2.2.2  bouyer Implemented _CID support for PCI Root Bridge detection. If the _HID does not 
   2985  1.1.1.2.2.2  bouyer match the predefined PCI Root Bridge IDs, the _CID list (if present) is now 
   2986  1.1.1.2.2.2  bouyer obtained and also checked for an ID match.
   2987  1.1.1.2.2.2  bouyer 
   2988  1.1.1.2.2.2  bouyer Implemented additional support for the PCI _ADR execution: upsearch until a 
   2989  1.1.1.2.2.2  bouyer device scope is found before executing _ADR. This allows PCI_Config 
   2990  1.1.1.2.2.2  bouyer operation regions to be declared locally within control methods underneath 
   2991  1.1.1.2.2.2  bouyer PCI device objects.
   2992  1.1.1.2.2.2  bouyer 
   2993  1.1.1.2.2.2  bouyer Fixed a problem with a possible race condition between threads executing 
   2994  1.1.1.2.2.2  bouyer AcpiWalkNamespace and the AML interpreter. This condition was removed by 
   2995  1.1.1.2.2.2  bouyer modifying AcpiWalkNamespace to (by default) ignore all temporary namespace 
   2996  1.1.1.2.2.2  bouyer entries created during any concurrent control method execution. An 
   2997  1.1.1.2.2.2  bouyer additional namespace race condition is known to exist between 
   2998  1.1.1.2.2.2  bouyer AcpiWalkNamespace and the Load/Unload ASL operators and is still under 
   2999  1.1.1.2.2.2  bouyer investigation.
   3000  1.1.1.2.2.2  bouyer 
   3001  1.1.1.2.2.2  bouyer Restructured the AML ParseLoop function, breaking it into several 
   3002  1.1.1.2.2.2  bouyer subfunctions in order to reduce CPU stack use and improve maintainability. 
   3003  1.1.1.2.2.2  bouyer (Mikhail Kouzmich)
   3004  1.1.1.2.2.2  bouyer 
   3005  1.1.1.2.2.2  bouyer AcpiGetHandle: Fix for parameter validation to detect invalid combinations 
   3006  1.1.1.2.2.2  bouyer of prefix handle and pathname. BZ 478
   3007  1.1.1.2.2.2  bouyer 
   3008  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3009  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3010  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3011  1.1.1.2.2.2  bouyer a much larger code and data size.
   3012  1.1.1.2.2.2  bouyer 
   3013  1.1.1.2.2.2  bouyer   Previous Release:
   3014  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
   3015  1.1.1.2.2.2  bouyer     Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
   3016  1.1.1.2.2.2  bouyer   Current Release:
   3017  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code, 17.1K Data,  95.2K Total
   3018  1.1.1.2.2.2  bouyer     Debug Version:     155.4K Code, 63.1K Data, 218.5K Total
   3019  1.1.1.2.2.2  bouyer 
   3020  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3021  1.1.1.2.2.2  bouyer 
   3022  1.1.1.2.2.2  bouyer Ported the -g option (get local ACPI tables) to the new ACPICA Table Manager 
   3023  1.1.1.2.2.2  bouyer to restore original behavior.
   3024  1.1.1.2.2.2  bouyer 
   3025  1.1.1.2.2.2  bouyer ----------------------------------------
   3026  1.1.1.2.2.2  bouyer 27 September 2006. Summary of changes for version 20060927:
   3027  1.1.1.2.2.2  bouyer 
   3028  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3029  1.1.1.2.2.2  bouyer 
   3030  1.1.1.2.2.2  bouyer Removed the "Flags" parameter from AcpiGetRegister and AcpiSetRegister. 
   3031  1.1.1.2.2.2  bouyer These functions now use a spinlock for mutual exclusion and the interrupt 
   3032  1.1.1.2.2.2  bouyer level indication flag is not needed.
   3033  1.1.1.2.2.2  bouyer 
   3034  1.1.1.2.2.2  bouyer Fixed a problem with the Global Lock where the lock could appear to be 
   3035  1.1.1.2.2.2  bouyer obtained before it is actually obtained. The global lock semaphore was 
   3036  1.1.1.2.2.2  bouyer inadvertently created with one unit instead of zero units. (BZ 464) Fiodor 
   3037  1.1.1.2.2.2  bouyer Suietov.
   3038  1.1.1.2.2.2  bouyer 
   3039  1.1.1.2.2.2  bouyer Fixed a possible memory leak and fault in AcpiExResolveObjectToValue during 
   3040  1.1.1.2.2.2  bouyer a read from a buffer or region field. (BZ 458) Fiodor Suietov.
   3041  1.1.1.2.2.2  bouyer 
   3042  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3043  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3044  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3045  1.1.1.2.2.2  bouyer a much larger code and data size.
   3046  1.1.1.2.2.2  bouyer 
   3047  1.1.1.2.2.2  bouyer   Previous Release:
   3048  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
   3049  1.1.1.2.2.2  bouyer     Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
   3050  1.1.1.2.2.2  bouyer   Current Release:
   3051  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
   3052  1.1.1.2.2.2  bouyer     Debug Version:     154.6K Code, 63.0K Data, 217.6K Total
   3053  1.1.1.2.2.2  bouyer 
   3054  1.1.1.2.2.2  bouyer 
   3055  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3056  1.1.1.2.2.2  bouyer 
   3057  1.1.1.2.2.2  bouyer Fixed a compilation problem with the pre-defined Resource Descriptor field 
   3058  1.1.1.2.2.2  bouyer names where an "object does not exist" error could be incorrectly generated 
   3059  1.1.1.2.2.2  bouyer if the parent ResourceTemplate pathname places the template within a 
   3060  1.1.1.2.2.2  bouyer different namespace scope than the current scope. (BZ 7212)
   3061  1.1.1.2.2.2  bouyer 
   3062  1.1.1.2.2.2  bouyer Fixed a problem where the compiler could hang after syntax errors detected 
   3063  1.1.1.2.2.2  bouyer in an ElseIf construct. (BZ 453)
   3064  1.1.1.2.2.2  bouyer 
   3065  1.1.1.2.2.2  bouyer Fixed a problem with the AmlFilename parameter to the DefinitionBlock() 
   3066  1.1.1.2.2.2  bouyer operator. An incorrect output filename was produced when this parameter was 
   3067  1.1.1.2.2.2  bouyer a null string (""). Now, the original input filename is used as the AML 
   3068  1.1.1.2.2.2  bouyer output filename, with an ".aml" extension.
   3069  1.1.1.2.2.2  bouyer 
   3070  1.1.1.2.2.2  bouyer Implemented a generic batch command mode for the AcpiExec utility (execute 
   3071  1.1.1.2.2.2  bouyer any AML debugger command) (Valery Podrezov).
   3072  1.1.1.2.2.2  bouyer 
   3073  1.1.1.2.2.2  bouyer ----------------------------------------
   3074  1.1.1.2.2.2  bouyer 12 September 2006. Summary of changes for version 20060912:
   3075  1.1.1.2.2.2  bouyer 
   3076  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3077  1.1.1.2.2.2  bouyer 
   3078  1.1.1.2.2.2  bouyer Enhanced the implementation of the "serialized mode" of the interpreter 
   3079  1.1.1.2.2.2  bouyer (enabled via the AcpiGbl_AllMethodsSerialized flag.) When this mode is 
   3080  1.1.1.2.2.2  bouyer specified, instead of creating a serialization semaphore per control method, 
   3081  1.1.1.2.2.2  bouyer the interpreter lock is simply no longer released before a blocking 
   3082  1.1.1.2.2.2  bouyer operation during control method execution. This effectively makes the AML 
   3083  1.1.1.2.2.2  bouyer Interpreter single-threaded. The overhead of a semaphore per-method is 
   3084  1.1.1.2.2.2  bouyer eliminated.
   3085  1.1.1.2.2.2  bouyer 
   3086  1.1.1.2.2.2  bouyer Fixed a regression where an error was no longer emitted if a control method 
   3087  1.1.1.2.2.2  bouyer attempts to create 2 objects of the same name. This once again returns 
   3088  1.1.1.2.2.2  bouyer AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism that 
   3089  1.1.1.2.2.2  bouyer will dynamically serialize the control method to possible prevent future 
   3090  1.1.1.2.2.2  bouyer errors. (BZ 440)
   3091  1.1.1.2.2.2  bouyer 
   3092  1.1.1.2.2.2  bouyer Integrated a fix for a problem with PCI Express HID detection in the PCI 
   3093  1.1.1.2.2.2  bouyer Config Space setup procedure. (BZ 7145)
   3094  1.1.1.2.2.2  bouyer 
   3095  1.1.1.2.2.2  bouyer Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the 
   3096  1.1.1.2.2.2  bouyer AcpiHwInitialize function - the FADT registers are now validated when the 
   3097  1.1.1.2.2.2  bouyer table is loaded.
   3098  1.1.1.2.2.2  bouyer 
   3099  1.1.1.2.2.2  bouyer Added two new warnings during FADT verification - 1) if the FADT is larger 
   3100  1.1.1.2.2.2  bouyer than the largest known FADT version, and 2) if there is a mismatch between a 
   3101  1.1.1.2.2.2  bouyer 32-bit block address and the 64-bit X counterpart (when both are non-zero.)
   3102  1.1.1.2.2.2  bouyer 
   3103  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3104  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3105  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3106  1.1.1.2.2.2  bouyer a much larger code and data size.
   3107  1.1.1.2.2.2  bouyer 
   3108  1.1.1.2.2.2  bouyer   Previous Release:
   3109  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
   3110  1.1.1.2.2.2  bouyer     Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
   3111  1.1.1.2.2.2  bouyer   Current Release:
   3112  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 17.1K Data,  95.0K Total
   3113  1.1.1.2.2.2  bouyer     Debug Version:     154.7K Code, 63.0K Data, 217.7K Total
   3114  1.1.1.2.2.2  bouyer 
   3115  1.1.1.2.2.2  bouyer 
   3116  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3117  1.1.1.2.2.2  bouyer 
   3118  1.1.1.2.2.2  bouyer Fixed a problem with the implementation of the Switch() operator where the 
   3119  1.1.1.2.2.2  bouyer temporary variable was declared too close to the actual Switch, instead of 
   3120  1.1.1.2.2.2  bouyer at method level. This could cause a problem if the Switch() operator is 
   3121  1.1.1.2.2.2  bouyer within a while loop, causing an error on the second iteration. (BZ 460)
   3122  1.1.1.2.2.2  bouyer 
   3123  1.1.1.2.2.2  bouyer Disassembler - fix for error emitted for unknown type for target of scope 
   3124  1.1.1.2.2.2  bouyer operator. Now, ignore it and continue.
   3125  1.1.1.2.2.2  bouyer 
   3126  1.1.1.2.2.2  bouyer Disassembly of an FADT now verifies the input FADT and reports any errors 
   3127  1.1.1.2.2.2  bouyer found. Fix for proper disassembly of full-sized (ACPI 2.0) FADTs.
   3128  1.1.1.2.2.2  bouyer 
   3129  1.1.1.2.2.2  bouyer Disassembly of raw data buffers with byte initialization data now prefixes 
   3130  1.1.1.2.2.2  bouyer each output line with the current buffer offset.
   3131  1.1.1.2.2.2  bouyer 
   3132  1.1.1.2.2.2  bouyer Disassembly of ASF! table now includes all variable-length data fields at 
   3133  1.1.1.2.2.2  bouyer the end of some of the subtables.
   3134  1.1.1.2.2.2  bouyer 
   3135  1.1.1.2.2.2  bouyer The disassembler now emits a comment if a buffer appears to be a 
   3136  1.1.1.2.2.2  bouyer ResourceTemplate, but cannot be disassembled as such because the EndTag does 
   3137  1.1.1.2.2.2  bouyer not appear at the very end of the buffer.
   3138  1.1.1.2.2.2  bouyer 
   3139  1.1.1.2.2.2  bouyer AcpiExec - Added the "-t" command line option to enable the serialized mode 
   3140  1.1.1.2.2.2  bouyer of the AML interpreter.
   3141  1.1.1.2.2.2  bouyer 
   3142  1.1.1.2.2.2  bouyer ----------------------------------------
   3143  1.1.1.2.2.2  bouyer 31 August 2006. Summary of changes for version 20060831:
   3144  1.1.1.2.2.2  bouyer 
   3145  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3146  1.1.1.2.2.2  bouyer 
   3147  1.1.1.2.2.2  bouyer Miscellaneous fixes for the Table Manager:
   3148  1.1.1.2.2.2  bouyer - Correctly initialize internal common FADT for all 64-bit "X" fields
   3149  1.1.1.2.2.2  bouyer - Fixed a couple table mapping issues during table load
   3150  1.1.1.2.2.2  bouyer - Fixed a couple alignment issues for IA64
   3151  1.1.1.2.2.2  bouyer - Initialize input array to zero in AcpiInitializeTables
   3152  1.1.1.2.2.2  bouyer - Additional parameter validation for AcpiGetTable, AcpiGetTableHeader, 
   3153  1.1.1.2.2.2  bouyer AcpiGetTableByIndex
   3154  1.1.1.2.2.2  bouyer 
   3155  1.1.1.2.2.2  bouyer Change for GPE support: when a "wake" GPE is received, all wake GPEs are now 
   3156  1.1.1.2.2.2  bouyer immediately disabled to prevent the waking GPE from firing again and to 
   3157  1.1.1.2.2.2  bouyer prevent other wake GPEs from interrupting the wake process.
   3158  1.1.1.2.2.2  bouyer 
   3159  1.1.1.2.2.2  bouyer Added the AcpiGpeCount global that tracks the number of processed GPEs, to 
   3160  1.1.1.2.2.2  bouyer be used for debugging systems with a large number of ACPI interrupts.
   3161  1.1.1.2.2.2  bouyer 
   3162  1.1.1.2.2.2  bouyer Implemented support for the "DMAR" ACPI table (DMA Redirection Table) in 
   3163  1.1.1.2.2.2  bouyer both the ACPICA headers and the disassembler.
   3164  1.1.1.2.2.2  bouyer 
   3165  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3166  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3167  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3168  1.1.1.2.2.2  bouyer a much larger code and data size.
   3169  1.1.1.2.2.2  bouyer 
   3170  1.1.1.2.2.2  bouyer   Previous Release:
   3171  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
   3172  1.1.1.2.2.2  bouyer     Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
   3173  1.1.1.2.2.2  bouyer   Current Release:
   3174  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code, 16.7K Data,  94.6K Total
   3175  1.1.1.2.2.2  bouyer     Debug Version:     154.9K Code, 62.6K Data, 217.5K Total
   3176  1.1.1.2.2.2  bouyer 
   3177  1.1.1.2.2.2  bouyer 
   3178  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3179  1.1.1.2.2.2  bouyer 
   3180  1.1.1.2.2.2  bouyer Disassembler support for the DMAR ACPI table.
   3181  1.1.1.2.2.2  bouyer 
   3182  1.1.1.2.2.2  bouyer ----------------------------------------
   3183  1.1.1.2.2.2  bouyer 23 August 2006. Summary of changes for version 20060823:
   3184  1.1.1.2.2.2  bouyer 
   3185  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3186  1.1.1.2.2.2  bouyer 
   3187  1.1.1.2.2.2  bouyer The Table Manager component has been completely redesigned and 
   3188  1.1.1.2.2.2  bouyer reimplemented. The new design is much simpler, and reduces the overall code 
   3189  1.1.1.2.2.2  bouyer and data size of the kernel-resident ACPICA by approximately 5%. Also, it is 
   3190  1.1.1.2.2.2  bouyer now possible to obtain the ACPI tables very early during kernel 
   3191  1.1.1.2.2.2  bouyer initialization, even before dynamic memory management is initialized. 
   3192  1.1.1.2.2.2  bouyer (Alexey Starikovskiy, Fiodor Suietov, Bob Moore)
   3193  1.1.1.2.2.2  bouyer 
   3194  1.1.1.2.2.2  bouyer Obsolete ACPICA interfaces:
   3195  1.1.1.2.2.2  bouyer 
   3196  1.1.1.2.2.2  bouyer - AcpiGetFirmwareTable: Use AcpiGetTable instead (works at early kernel init 
   3197  1.1.1.2.2.2  bouyer time).
   3198  1.1.1.2.2.2  bouyer - AcpiLoadTable: Not needed.
   3199  1.1.1.2.2.2  bouyer - AcpiUnloadTable: Not needed.
   3200  1.1.1.2.2.2  bouyer 
   3201  1.1.1.2.2.2  bouyer New ACPICA interfaces:
   3202  1.1.1.2.2.2  bouyer 
   3203  1.1.1.2.2.2  bouyer - AcpiInitializeTables: Must be called before the table manager can be used.
   3204  1.1.1.2.2.2  bouyer - AcpiReallocateRootTable: Used to transfer the root table to dynamically 
   3205  1.1.1.2.2.2  bouyer allocated memory after it becomes available.
   3206  1.1.1.2.2.2  bouyer - AcpiGetTableByIndex: Allows the host to easily enumerate all ACPI tables 
   3207  1.1.1.2.2.2  bouyer in the RSDT/XSDT.
   3208  1.1.1.2.2.2  bouyer 
   3209  1.1.1.2.2.2  bouyer Other ACPICA changes:
   3210  1.1.1.2.2.2  bouyer 
   3211  1.1.1.2.2.2  bouyer - AcpiGetTableHeader returns the actual mapped table header, not a copy. Use 
   3212  1.1.1.2.2.2  bouyer AcpiOsUnmapMemory to free this mapping.
   3213  1.1.1.2.2.2  bouyer - AcpiGetTable returns the actual mapped table. The mapping is managed 
   3214  1.1.1.2.2.2  bouyer internally and must not be deleted by the caller. Use of this interface 
   3215  1.1.1.2.2.2  bouyer causes no additional dynamic memory allocation.
   3216  1.1.1.2.2.2  bouyer - AcpiFindRootPointer: Support for physical addressing has been eliminated, 
   3217  1.1.1.2.2.2  bouyer it appeared to be unused.
   3218  1.1.1.2.2.2  bouyer - The interface to AcpiOsMapMemory has changed to be consistent with the 
   3219  1.1.1.2.2.2  bouyer other allocation interfaces.
   3220  1.1.1.2.2.2  bouyer - The interface to AcpiOsGetRootPointer has changed to eliminate unnecessary 
   3221  1.1.1.2.2.2  bouyer parameters.
   3222  1.1.1.2.2.2  bouyer - ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64 bits on 64-
   3223  1.1.1.2.2.2  bouyer bit platforms. Was previously 64 bits on all platforms.
   3224  1.1.1.2.2.2  bouyer - The interface to the ACPI Global Lock acquire/release macros have changed 
   3225  1.1.1.2.2.2  bouyer slightly since ACPICA no longer keeps a local copy of the FACS with a 
   3226  1.1.1.2.2.2  bouyer constructed pointer to the actual global lock.
   3227  1.1.1.2.2.2  bouyer 
   3228  1.1.1.2.2.2  bouyer Porting to the new table manager:
   3229  1.1.1.2.2.2  bouyer 
   3230  1.1.1.2.2.2  bouyer - AcpiInitializeTables: Must be called once, and can be called anytime 
   3231  1.1.1.2.2.2  bouyer during the OS initialization process. It allows the host to specify an area 
   3232  1.1.1.2.2.2  bouyer of memory to be used to store the internal version of the RSDT/XSDT (root 
   3233  1.1.1.2.2.2  bouyer table). This allows the host to access ACPI tables before memory management 
   3234  1.1.1.2.2.2  bouyer is initialized and running.
   3235  1.1.1.2.2.2  bouyer - AcpiReallocateRootTable: Can be called after memory management is running 
   3236  1.1.1.2.2.2  bouyer to copy the root table to a dynamically allocated array, freeing up the 
   3237  1.1.1.2.2.2  bouyer scratch memory specified in the call to AcpiInitializeTables.
   3238  1.1.1.2.2.2  bouyer - AcpiSubsystemInitialize: This existing interface is independent of the 
   3239  1.1.1.2.2.2  bouyer Table Manager, and does not have to be called before the Table Manager can 
   3240  1.1.1.2.2.2  bouyer be used, it only must be called before the rest of ACPICA can be used.
   3241  1.1.1.2.2.2  bouyer - ACPI Tables: Some changes have been made to the names and structure of the 
   3242  1.1.1.2.2.2  bouyer actbl.h and actbl1.h header files and may require changes to existing code. 
   3243  1.1.1.2.2.2  bouyer For example, bitfields have been completely removed because of their lack of 
   3244  1.1.1.2.2.2  bouyer portability across C compilers.
   3245  1.1.1.2.2.2  bouyer - Update interfaces to the Global Lock acquire/release macros if local 
   3246  1.1.1.2.2.2  bouyer versions are used. (see acwin.h)
   3247  1.1.1.2.2.2  bouyer 
   3248  1.1.1.2.2.2  bouyer Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c
   3249  1.1.1.2.2.2  bouyer 
   3250  1.1.1.2.2.2  bouyer New files: tbfind.c
   3251  1.1.1.2.2.2  bouyer 
   3252  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3253  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3254  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3255  1.1.1.2.2.2  bouyer a much larger code and data size.
   3256  1.1.1.2.2.2  bouyer 
   3257  1.1.1.2.2.2  bouyer   Previous Release:
   3258  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
   3259  1.1.1.2.2.2  bouyer     Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
   3260  1.1.1.2.2.2  bouyer   Current Release:
   3261  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code, 16.5K Data,  94.3K Total
   3262  1.1.1.2.2.2  bouyer     Debug Version:     154.6K Code, 62.3K Data, 216.9K Total
   3263  1.1.1.2.2.2  bouyer 
   3264  1.1.1.2.2.2  bouyer 
   3265  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3266  1.1.1.2.2.2  bouyer 
   3267  1.1.1.2.2.2  bouyer No changes for this release.
   3268  1.1.1.2.2.2  bouyer 
   3269  1.1.1.2.2.2  bouyer ----------------------------------------
   3270  1.1.1.2.2.2  bouyer 21 July 2006. Summary of changes for version 20060721:
   3271  1.1.1.2.2.2  bouyer 
   3272  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3273  1.1.1.2.2.2  bouyer 
   3274  1.1.1.2.2.2  bouyer The full source code for the ASL test suite used to validate the iASL 
   3275  1.1.1.2.2.2  bouyer compiler and the ACPICA core subsystem is being released with the ACPICA 
   3276  1.1.1.2.2.2  bouyer source for the first time. The source is contained in a separate package and 
   3277  1.1.1.2.2.2  bouyer consists of over 1100 files that exercise all ASL/AML operators. The package 
   3278  1.1.1.2.2.2  bouyer should appear on the Intel/ACPI web site shortly. (Valery Podrezov, Fiodor 
   3279  1.1.1.2.2.2  bouyer Suietov)
   3280  1.1.1.2.2.2  bouyer 
   3281  1.1.1.2.2.2  bouyer Completed a new design and implementation for support of the ACPI Global 
   3282  1.1.1.2.2.2  bouyer Lock. On the OS side, the global lock is now treated as a standard AML 
   3283  1.1.1.2.2.2  bouyer mutex. Previously, multiple OS threads could "acquire" the global lock 
   3284  1.1.1.2.2.2  bouyer simultaneously. However, this could cause the BIOS to be starved out of the 
   3285  1.1.1.2.2.2  bouyer lock - especially in cases such as the Embedded Controller driver where 
   3286  1.1.1.2.2.2  bouyer there is a tight coupling between the OS and the BIOS.
   3287  1.1.1.2.2.2  bouyer 
   3288  1.1.1.2.2.2  bouyer Implemented an optimization for the ACPI Global Lock interrupt mechanism. 
   3289  1.1.1.2.2.2  bouyer The Global Lock interrupt handler no longer queues the execution of a 
   3290  1.1.1.2.2.2  bouyer separate thread to signal the global lock semaphore. Instead, the semaphore 
   3291  1.1.1.2.2.2  bouyer is signaled directly from the interrupt handler.
   3292  1.1.1.2.2.2  bouyer 
   3293  1.1.1.2.2.2  bouyer Implemented support within the AML interpreter for package objects that 
   3294  1.1.1.2.2.2  bouyer contain a larger AML length (package list length) than the package element 
   3295  1.1.1.2.2.2  bouyer count. In this case, the length of the package is truncated to match the 
   3296  1.1.1.2.2.2  bouyer package element count. Some BIOS code apparently modifies the package length 
   3297  1.1.1.2.2.2  bouyer on the fly, and this change supports this behavior. Provides compatibility 
   3298  1.1.1.2.2.2  bouyer with the MS AML interpreter. (With assistance from Fiodor Suietov)
   3299  1.1.1.2.2.2  bouyer 
   3300  1.1.1.2.2.2  bouyer Implemented a temporary fix for the BankValue parameter of a Bank Field to 
   3301  1.1.1.2.2.2  bouyer support all constant values, now including the Zero and One opcodes. 
   3302  1.1.1.2.2.2  bouyer Evaluation of this parameter must eventually be converted to a full TermArg 
   3303  1.1.1.2.2.2  bouyer evaluation. A not-implemented error is now returned (temporarily) for non-
   3304  1.1.1.2.2.2  bouyer constant values for this parameter.
   3305  1.1.1.2.2.2  bouyer 
   3306  1.1.1.2.2.2  bouyer Fixed problem reports (Fiodor Suietov) integrated:
   3307  1.1.1.2.2.2  bouyer - Fix for premature object deletion after CopyObject on Operation Region (BZ 
   3308  1.1.1.2.2.2  bouyer 350)
   3309  1.1.1.2.2.2  bouyer 
   3310  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3311  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3312  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3313  1.1.1.2.2.2  bouyer a much larger code and data size.
   3314  1.1.1.2.2.2  bouyer 
   3315  1.1.1.2.2.2  bouyer   Previous Release:
   3316  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.7K Code, 18.0K Data,  98.7K Total
   3317  1.1.1.2.2.2  bouyer     Debug Version:     160.9K Code, 65.1K Data, 226.0K Total
   3318  1.1.1.2.2.2  bouyer   Current Release:
   3319  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
   3320  1.1.1.2.2.2  bouyer     Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
   3321  1.1.1.2.2.2  bouyer 
   3322  1.1.1.2.2.2  bouyer 
   3323  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3324  1.1.1.2.2.2  bouyer 
   3325  1.1.1.2.2.2  bouyer No changes for this release.
   3326  1.1.1.2.2.2  bouyer 
   3327  1.1.1.2.2.2  bouyer ----------------------------------------
   3328  1.1.1.2.2.2  bouyer 07 July 2006. Summary of changes for version 20060707:
   3329  1.1.1.2.2.2  bouyer 
   3330  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3331  1.1.1.2.2.2  bouyer 
   3332  1.1.1.2.2.2  bouyer Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers 
   3333  1.1.1.2.2.2  bouyer that do not allow the initialization of address pointers within packed 
   3334  1.1.1.2.2.2  bouyer structures - even though the hardware itself may support misaligned 
   3335  1.1.1.2.2.2  bouyer transfers. Some of the debug data structures are packed by default to 
   3336  1.1.1.2.2.2  bouyer minimize size.
   3337  1.1.1.2.2.2  bouyer 
   3338  1.1.1.2.2.2  bouyer Added an error message for the case where AcpiOsGetThreadId() returns zero. 
   3339  1.1.1.2.2.2  bouyer A non-zero value is required by the core ACPICA code to ensure the proper 
   3340  1.1.1.2.2.2  bouyer operation of AML mutexes and recursive control methods.
   3341  1.1.1.2.2.2  bouyer 
   3342  1.1.1.2.2.2  bouyer The DSDT is now the only ACPI table that determines whether the AML 
   3343  1.1.1.2.2.2  bouyer interpreter is in 32-bit or 64-bit mode. Not really a functional change, but 
   3344  1.1.1.2.2.2  bouyer the hooks for per-table 32/64 switching have been removed from the code. A 
   3345  1.1.1.2.2.2  bouyer clarification to the ACPI specification is forthcoming in ACPI 3.0B.
   3346  1.1.1.2.2.2  bouyer 
   3347  1.1.1.2.2.2  bouyer Fixed a possible leak of an OwnerID in the error path of 
   3348  1.1.1.2.2.2  bouyer AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table OwnerID 
   3349  1.1.1.2.2.2  bouyer deletion to a single place in AcpiTbUninstallTable to correct possible leaks 
   3350  1.1.1.2.2.2  bouyer when using the AcpiTbDeleteTablesByType interface (with assistance from 
   3351  1.1.1.2.2.2  bouyer Lance Ortiz.)
   3352  1.1.1.2.2.2  bouyer 
   3353  1.1.1.2.2.2  bouyer Fixed a problem with Serialized control methods where the semaphore 
   3354  1.1.1.2.2.2  bouyer associated with the method could be over-signaled after multiple method 
   3355  1.1.1.2.2.2  bouyer invocations.
   3356  1.1.1.2.2.2  bouyer 
   3357  1.1.1.2.2.2  bouyer Fixed two issues with the locking of the internal namespace data structure. 
   3358  1.1.1.2.2.2  bouyer Both the Unload() operator and AcpiUnloadTable interface now lock the 
   3359  1.1.1.2.2.2  bouyer namespace during the namespace deletion associated with the table unload 
   3360  1.1.1.2.2.2  bouyer (with assistance from Linn Crosetto.)
   3361  1.1.1.2.2.2  bouyer 
   3362  1.1.1.2.2.2  bouyer Fixed problem reports (Valery Podrezov) integrated:
   3363  1.1.1.2.2.2  bouyer - Eliminate unnecessary memory allocation for CreateXxxxField (BZ 5426)
   3364  1.1.1.2.2.2  bouyer 
   3365  1.1.1.2.2.2  bouyer Fixed problem reports (Fiodor Suietov) integrated:
   3366  1.1.1.2.2.2  bouyer - Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
   3367  1.1.1.2.2.2  bouyer - On Address Space handler deletion, needless deactivation call (BZ 374)
   3368  1.1.1.2.2.2  bouyer - AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 375)
   3369  1.1.1.2.2.2  bouyer - Possible memory leak, Notify sub-objects of Processor, Power, ThermalZone 
   3370  1.1.1.2.2.2  bouyer (BZ 376)
   3371  1.1.1.2.2.2  bouyer - AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378)
   3372  1.1.1.2.2.2  bouyer - Minimum Length of RSDT should be validated (BZ 379)
   3373  1.1.1.2.2.2  bouyer - AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no 
   3374  1.1.1.2.2.2  bouyer Handler (BZ (380)
   3375  1.1.1.2.2.2  bouyer - AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type loaded 
   3376  1.1.1.2.2.2  bouyer (BZ 381)
   3377  1.1.1.2.2.2  bouyer 
   3378  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3379  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3380  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3381  1.1.1.2.2.2  bouyer a much larger code and data size.
   3382  1.1.1.2.2.2  bouyer 
   3383  1.1.1.2.2.2  bouyer   Previous Release:
   3384  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
   3385  1.1.1.2.2.2  bouyer     Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
   3386  1.1.1.2.2.2  bouyer   Current Release:
   3387  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.7K Code, 17.9K Data,  98.6K Total
   3388  1.1.1.2.2.2  bouyer     Debug Version:     161.0K Code, 65.1K Data, 226.1K Total
   3389  1.1.1.2.2.2  bouyer 
   3390  1.1.1.2.2.2  bouyer 
   3391  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3392  1.1.1.2.2.2  bouyer 
   3393  1.1.1.2.2.2  bouyer Fixed problem reports:
   3394  1.1.1.2.2.2  bouyer Compiler segfault when ASL contains a long (>1024) String declaration (BZ 
   3395  1.1.1.2.2.2  bouyer 436)
   3396  1.1.1.2.2.2  bouyer 
   3397  1.1.1.2.2.2  bouyer ----------------------------------------
   3398  1.1.1.2.2.2  bouyer 23 June 2006. Summary of changes for version 20060623:
   3399  1.1.1.2.2.2  bouyer 
   3400  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3401  1.1.1.2.2.2  bouyer 
   3402  1.1.1.2.2.2  bouyer Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces. This 
   3403  1.1.1.2.2.2  bouyer allows the type to be customized to the host OS for improved efficiency 
   3404  1.1.1.2.2.2  bouyer (since a spinlock is usually a very small object.)
   3405  1.1.1.2.2.2  bouyer 
   3406  1.1.1.2.2.2  bouyer Implemented support for "ignored" bits in the ACPI registers. According to 
   3407  1.1.1.2.2.2  bouyer the ACPI specification, these bits should be preserved when writing the 
   3408  1.1.1.2.2.2  bouyer registers via a read/modify/write cycle. There are 3 bits preserved in this 
   3409  1.1.1.2.2.2  bouyer manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].
   3410  1.1.1.2.2.2  bouyer 
   3411  1.1.1.2.2.2  bouyer Implemented the initial deployment of new OSL mutex interfaces. Since some 
   3412  1.1.1.2.2.2  bouyer host operating systems have separate mutex and semaphore objects, this 
   3413  1.1.1.2.2.2  bouyer feature was requested. The base code now uses mutexes (and the new mutex 
   3414  1.1.1.2.2.2  bouyer interfaces) wherever a binary semaphore was used previously. However, for 
   3415  1.1.1.2.2.2  bouyer the current release, the mutex interfaces are defined as macros to map them 
   3416  1.1.1.2.2.2  bouyer to the existing semaphore interfaces. Therefore, no OSL changes are required 
   3417  1.1.1.2.2.2  bouyer at this time. (See acpiosxf.h)
   3418  1.1.1.2.2.2  bouyer 
   3419  1.1.1.2.2.2  bouyer Fixed several problems with the support for the control method SyncLevel 
   3420  1.1.1.2.2.2  bouyer parameter. The SyncLevel now works according to the ACPI specification and 
   3421  1.1.1.2.2.2  bouyer in concert with the Mutex SyncLevel parameter, since the current SyncLevel 
   3422  1.1.1.2.2.2  bouyer is a property of the executing thread. Mutual exclusion for control methods 
   3423  1.1.1.2.2.2  bouyer is now implemented with a mutex instead of a semaphore.
   3424  1.1.1.2.2.2  bouyer 
   3425  1.1.1.2.2.2  bouyer Fixed three instances of the use of the C shift operator in the bitfield 
   3426  1.1.1.2.2.2  bouyer support code (exfldio.c) to avoid the use of a shift value larger than the 
   3427  1.1.1.2.2.2  bouyer target data width. The behavior of C compilers is undefined in this case and 
   3428  1.1.1.2.2.2  bouyer can cause unpredictable results, and therefore the case must be detected and 
   3429  1.1.1.2.2.2  bouyer avoided. (Fiodor Suietov)
   3430  1.1.1.2.2.2  bouyer 
   3431  1.1.1.2.2.2  bouyer Added an info message whenever an SSDT or OEM table is loaded dynamically 
   3432  1.1.1.2.2.2  bouyer via the Load() or LoadTable() ASL operators. This should improve debugging 
   3433  1.1.1.2.2.2  bouyer capability since it will show exactly what tables have been loaded (beyond 
   3434  1.1.1.2.2.2  bouyer the tables present in the RSDT/XSDT.)
   3435  1.1.1.2.2.2  bouyer 
   3436  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3437  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3438  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3439  1.1.1.2.2.2  bouyer a much larger code and data size.
   3440  1.1.1.2.2.2  bouyer 
   3441  1.1.1.2.2.2  bouyer   Previous Release:
   3442  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
   3443  1.1.1.2.2.2  bouyer     Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
   3444  1.1.1.2.2.2  bouyer   Current Release:
   3445  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.5K Code, 17.8K Data,  98.3K Total
   3446  1.1.1.2.2.2  bouyer     Debug Version:     160.8K Code, 64.8K Data, 225.6K Total
   3447  1.1.1.2.2.2  bouyer 
   3448  1.1.1.2.2.2  bouyer 
   3449  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3450  1.1.1.2.2.2  bouyer 
   3451  1.1.1.2.2.2  bouyer No changes for this release.
   3452  1.1.1.2.2.2  bouyer 
   3453  1.1.1.2.2.2  bouyer ----------------------------------------
   3454  1.1.1.2.2.2  bouyer 08 June 2006. Summary of changes for version 20060608:
   3455  1.1.1.2.2.2  bouyer 
   3456  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3457  1.1.1.2.2.2  bouyer 
   3458  1.1.1.2.2.2  bouyer Converted the locking mutex used for the ACPI hardware to a spinlock. This 
   3459  1.1.1.2.2.2  bouyer change should eliminate all problems caused by attempting to acquire a 
   3460  1.1.1.2.2.2  bouyer semaphore at interrupt level, and it means that all ACPICA external 
   3461  1.1.1.2.2.2  bouyer interfaces that directly access the ACPI hardware can be safely called from 
   3462  1.1.1.2.2.2  bouyer interrupt level. OSL code that implements the semaphore interfaces should be 
   3463  1.1.1.2.2.2  bouyer able to eliminate any workarounds for being called at interrupt level.
   3464  1.1.1.2.2.2  bouyer 
   3465  1.1.1.2.2.2  bouyer Fixed a regression introduced in 20060526 where the ACPI device 
   3466  1.1.1.2.2.2  bouyer initialization could be prematurely aborted with an AE_NOT_FOUND if a device 
   3467  1.1.1.2.2.2  bouyer did not have an optional _INI method.
   3468  1.1.1.2.2.2  bouyer 
   3469  1.1.1.2.2.2  bouyer Fixed an IndexField issue where a write to the Data Register should be 
   3470  1.1.1.2.2.2  bouyer limited in size to the AccessSize (width) of the IndexField itself. (BZ 433, 
   3471  1.1.1.2.2.2  bouyer Fiodor Suietov)
   3472  1.1.1.2.2.2  bouyer 
   3473  1.1.1.2.2.2  bouyer Fixed problem reports (Valery Podrezov) integrated:
   3474  1.1.1.2.2.2  bouyer - Allow store of ThermalZone objects to Debug object (BZ 5369/5370)
   3475  1.1.1.2.2.2  bouyer 
   3476  1.1.1.2.2.2  bouyer Fixed problem reports (Fiodor Suietov) integrated:
   3477  1.1.1.2.2.2  bouyer - AcpiGetTableHeader doesn't handle multiple instances correctly (BZ 364)
   3478  1.1.1.2.2.2  bouyer 
   3479  1.1.1.2.2.2  bouyer Removed four global mutexes that were obsolete and were no longer being 
   3480  1.1.1.2.2.2  bouyer used.
   3481  1.1.1.2.2.2  bouyer 
   3482  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3483  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3484  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3485  1.1.1.2.2.2  bouyer a much larger code and data size.
   3486  1.1.1.2.2.2  bouyer 
   3487  1.1.1.2.2.2  bouyer   Previous Release:
   3488  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
   3489  1.1.1.2.2.2  bouyer     Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
   3490  1.1.1.2.2.2  bouyer   Current Release:
   3491  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.6K Data,  97.6K Total
   3492  1.1.1.2.2.2  bouyer     Debug Version:     160.2K Code, 64.7K Data, 224.9K Total
   3493  1.1.1.2.2.2  bouyer 
   3494  1.1.1.2.2.2  bouyer 
   3495  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3496  1.1.1.2.2.2  bouyer 
   3497  1.1.1.2.2.2  bouyer Fixed a fault when using -g option (get tables from registry) on Windows 
   3498  1.1.1.2.2.2  bouyer machines.
   3499  1.1.1.2.2.2  bouyer 
   3500  1.1.1.2.2.2  bouyer Fixed problem reports integrated:
   3501  1.1.1.2.2.2  bouyer - Generate error if CreateField NumBits parameter is zero. (BZ 405)
   3502  1.1.1.2.2.2  bouyer - Fault if Offset/Length in Field unit is very large (BZ 432, Fiodor 
   3503  1.1.1.2.2.2  bouyer Suietov)
   3504  1.1.1.2.2.2  bouyer - Global table revision override (-r) is ignored (BZ 413)
   3505  1.1.1.2.2.2  bouyer 
   3506  1.1.1.2.2.2  bouyer ----------------------------------------
   3507  1.1.1.2.2.2  bouyer 26 May 2006. Summary of changes for version 20060526:
   3508  1.1.1.2.2.2  bouyer 
   3509  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3510  1.1.1.2.2.2  bouyer 
   3511  1.1.1.2.2.2  bouyer Restructured, flattened, and simplified the internal interfaces for 
   3512  1.1.1.2.2.2  bouyer namespace object evaluation - resulting in smaller code, less CPU stack use, 
   3513  1.1.1.2.2.2  bouyer and fewer interfaces. (With assistance from Mikhail Kouzmich)
   3514  1.1.1.2.2.2  bouyer 
   3515  1.1.1.2.2.2  bouyer Fixed a problem with the CopyObject operator where the first parameter was 
   3516  1.1.1.2.2.2  bouyer not typed correctly for the parser, interpreter, compiler, and disassembler. 
   3517  1.1.1.2.2.2  bouyer Caused various errors and unexpected behavior.
   3518  1.1.1.2.2.2  bouyer 
   3519  1.1.1.2.2.2  bouyer Fixed a problem where a ShiftLeft or ShiftRight of more than 64 bits 
   3520  1.1.1.2.2.2  bouyer produced incorrect results with some C compilers. Since the behavior of C 
   3521  1.1.1.2.2.2  bouyer compilers when the shift value is larger than the datatype width is 
   3522  1.1.1.2.2.2  bouyer apparently not well defined, the interpreter now detects this condition and 
   3523  1.1.1.2.2.2  bouyer simply returns zero as expected in all such cases. (BZ 395)
   3524  1.1.1.2.2.2  bouyer 
   3525  1.1.1.2.2.2  bouyer Fixed problem reports (Valery Podrezov) integrated:
   3526  1.1.1.2.2.2  bouyer - Update String-to-Integer conversion to match ACPI 3.0A spec (BZ 5329)
   3527  1.1.1.2.2.2  bouyer - Allow interpreter to handle nested method declarations (BZ 5361)
   3528  1.1.1.2.2.2  bouyer 
   3529  1.1.1.2.2.2  bouyer Fixed problem reports (Fiodor Suietov) integrated:
   3530  1.1.1.2.2.2  bouyer - AcpiTerminate doesn't free debug memory allocation list objects (BZ 355)
   3531  1.1.1.2.2.2  bouyer - After Core Subsystem shutdown, AcpiSubsystemStatus returns AE_OK (BZ 356)
   3532  1.1.1.2.2.2  bouyer - AcpiOsUnmapMemory for RSDP can be invoked inconsistently (BZ 357)
   3533  1.1.1.2.2.2  bouyer - Resource Manager should return AE_TYPE for non-device objects (BZ 358)
   3534  1.1.1.2.2.2  bouyer - Incomplete cleanup branch in AcpiNsEvaluateRelative (BZ 359)
   3535  1.1.1.2.2.2  bouyer - Use AcpiOsFree instead of ACPI_FREE in AcpiRsSetSrsMethodData (BZ 360)
   3536  1.1.1.2.2.2  bouyer - Incomplete cleanup branch in AcpiPsParseAml (BZ 361)
   3537  1.1.1.2.2.2  bouyer - Incomplete cleanup branch in AcpiDsDeleteWalkState (BZ 362)
   3538  1.1.1.2.2.2  bouyer - AcpiGetTableHeader returns AE_NO_ACPI_TABLES until DSDT is loaded (BZ 365)
   3539  1.1.1.2.2.2  bouyer - Status of the Global Initialization Handler call not used (BZ 366)
   3540  1.1.1.2.2.2  bouyer - Incorrect object parameter to Global Initialization Handler (BZ 367)
   3541  1.1.1.2.2.2  bouyer 
   3542  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3543  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3544  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3545  1.1.1.2.2.2  bouyer a much larger code and data size.
   3546  1.1.1.2.2.2  bouyer 
   3547  1.1.1.2.2.2  bouyer   Previous Release:
   3548  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
   3549  1.1.1.2.2.2  bouyer     Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
   3550  1.1.1.2.2.2  bouyer   Current Release:
   3551  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.0K Code, 17.7K Data,  97.7K Total
   3552  1.1.1.2.2.2  bouyer     Debug Version:     160.3K Code, 64.9K Data, 225.2K Total
   3553  1.1.1.2.2.2  bouyer 
   3554  1.1.1.2.2.2  bouyer 
   3555  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3556  1.1.1.2.2.2  bouyer 
   3557  1.1.1.2.2.2  bouyer Modified the parser to allow the names IO, DMA, and IRQ to be used as 
   3558  1.1.1.2.2.2  bouyer namespace identifiers with no collision with existing resource descriptor 
   3559  1.1.1.2.2.2  bouyer macro names. This provides compatibility with other ASL compilers and is 
   3560  1.1.1.2.2.2  bouyer most useful for disassembly/recompilation of existing tables without parse 
   3561  1.1.1.2.2.2  bouyer errors. (With assistance from Thomas Renninger)
   3562  1.1.1.2.2.2  bouyer 
   3563  1.1.1.2.2.2  bouyer Disassembler: fixed an incorrect disassembly problem with the 
   3564  1.1.1.2.2.2  bouyer DataTableRegion and CopyObject operators. Fixed a possible fault during 
   3565  1.1.1.2.2.2  bouyer disassembly of some Alias operators.
   3566  1.1.1.2.2.2  bouyer 
   3567  1.1.1.2.2.2  bouyer ----------------------------------------
   3568  1.1.1.2.2.2  bouyer 12 May 2006. Summary of changes for version 20060512:
   3569  1.1.1.2.2.2  bouyer 
   3570  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3571  1.1.1.2.2.2  bouyer 
   3572  1.1.1.2.2.2  bouyer Replaced the AcpiOsQueueForExecution interface with a new interface named 
   3573  1.1.1.2.2.2  bouyer AcpiOsExecute. The major difference is that the new interface does not have 
   3574  1.1.1.2.2.2  bouyer a Priority parameter, this appeared to be useless and has been replaced by a 
   3575  1.1.1.2.2.2  bouyer Type parameter. The Type tells the host what type of execution is being 
   3576  1.1.1.2.2.2  bouyer requested, such as global lock handler, notify handler, GPE handler, etc. 
   3577  1.1.1.2.2.2  bouyer This allows the host to queue and execute the request as appropriate for the 
   3578  1.1.1.2.2.2  bouyer request type, possibly using different work queues and different priorities 
   3579  1.1.1.2.2.2  bouyer for the various request types. This enables fixes for multithreading 
   3580  1.1.1.2.2.2  bouyer deadlock problems such as BZ #5534, and will require changes to all existing 
   3581  1.1.1.2.2.2  bouyer OS interface layers. (Alexey Starikovskiy and Bob Moore)
   3582  1.1.1.2.2.2  bouyer 
   3583  1.1.1.2.2.2  bouyer Fixed a possible memory leak associated with the support for the so-called 
   3584  1.1.1.2.2.2  bouyer "implicit return" ACPI extension. Reported by FreeBSD, BZ #6514. (Fiodor 
   3585  1.1.1.2.2.2  bouyer Suietov)
   3586  1.1.1.2.2.2  bouyer 
   3587  1.1.1.2.2.2  bouyer Fixed a problem with the Load() operator where a table load from an 
   3588  1.1.1.2.2.2  bouyer operation region could overwrite an internal table buffer by up to 7 bytes 
   3589  1.1.1.2.2.2  bouyer and cause alignment faults on IPF systems. (With assistance from Luming Yu)
   3590  1.1.1.2.2.2  bouyer 
   3591  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3592  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3593  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3594  1.1.1.2.2.2  bouyer a much larger code and data size.
   3595  1.1.1.2.2.2  bouyer 
   3596  1.1.1.2.2.2  bouyer   Previous Release:
   3597  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
   3598  1.1.1.2.2.2  bouyer     Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
   3599  1.1.1.2.2.2  bouyer   Current Release:
   3600  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.8K Code, 17.7K Data,  97.5K Total
   3601  1.1.1.2.2.2  bouyer     Debug Version:     160.5K Code, 65.1K Data, 225.6K Total
   3602  1.1.1.2.2.2  bouyer 
   3603  1.1.1.2.2.2  bouyer 
   3604  1.1.1.2.2.2  bouyer 
   3605  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3606  1.1.1.2.2.2  bouyer 
   3607  1.1.1.2.2.2  bouyer Disassembler: Implemented support to cross reference the internal namespace 
   3608  1.1.1.2.2.2  bouyer and automatically generate ASL External() statements for symbols not defined 
   3609  1.1.1.2.2.2  bouyer within the current table being disassembled. This will simplify the 
   3610  1.1.1.2.2.2  bouyer disassembly and recompilation of interdependent tables such as SSDTs since 
   3611  1.1.1.2.2.2  bouyer these statements will no longer have to be added manually.
   3612  1.1.1.2.2.2  bouyer 
   3613  1.1.1.2.2.2  bouyer Disassembler: Implemented experimental support to automatically detect 
   3614  1.1.1.2.2.2  bouyer invocations of external control methods and generate appropriate External() 
   3615  1.1.1.2.2.2  bouyer statements. This is problematic because the AML cannot be correctly parsed 
   3616  1.1.1.2.2.2  bouyer until the number of arguments for each control method is known. Currently, 
   3617  1.1.1.2.2.2  bouyer standalone method invocations and invocations as the source operand of a 
   3618  1.1.1.2.2.2  bouyer Store() statement are supported.
   3619  1.1.1.2.2.2  bouyer 
   3620  1.1.1.2.2.2  bouyer Disassembler: Implemented support for the ASL pseudo-operators LNotEqual, 
   3621  1.1.1.2.2.2  bouyer LLessEqual, and LGreaterEqual. Previously disassembled as LNot(LEqual()), 
   3622  1.1.1.2.2.2  bouyer LNot(LGreater()), and LNot(LLess()), this makes the disassembled ASL code 
   3623  1.1.1.2.2.2  bouyer more readable and likely closer to the original ASL source.
   3624  1.1.1.2.2.2  bouyer 
   3625  1.1.1.2.2.2  bouyer ----------------------------------------
   3626  1.1.1.2.2.2  bouyer 21 April 2006. Summary of changes for version 20060421:
   3627  1.1.1.2.2.2  bouyer 
   3628  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3629  1.1.1.2.2.2  bouyer 
   3630  1.1.1.2.2.2  bouyer Removed a device initialization optimization introduced in 20051216 where 
   3631  1.1.1.2.2.2  bouyer the _STA method was not run unless an _INI was also present for the same 
   3632  1.1.1.2.2.2  bouyer device. This optimization could cause problems because it could allow _INI 
   3633  1.1.1.2.2.2  bouyer methods to be run within a not-present device subtree. (If a not-present 
   3634  1.1.1.2.2.2  bouyer device had no _INI, _STA would not be run, the not-present status would not 
   3635  1.1.1.2.2.2  bouyer be discovered, and the children of the device would be incorrectly 
   3636  1.1.1.2.2.2  bouyer traversed.)
   3637  1.1.1.2.2.2  bouyer 
   3638  1.1.1.2.2.2  bouyer Implemented a new _STA optimization where namespace subtrees that do not 
   3639  1.1.1.2.2.2  bouyer contain _INI are identified and ignored during device initialization. 
   3640  1.1.1.2.2.2  bouyer Selectively running _STA can significantly improve boot time on large 
   3641  1.1.1.2.2.2  bouyer machines (with assistance from Len Brown.)
   3642  1.1.1.2.2.2  bouyer 
   3643  1.1.1.2.2.2  bouyer Implemented support for the device initialization case where the returned 
   3644  1.1.1.2.2.2  bouyer _STA flags indicate a device not-present but functioning. In this case, _INI 
   3645  1.1.1.2.2.2  bouyer is not run, but the device children are examined for presence, as per the 
   3646  1.1.1.2.2.2  bouyer ACPI specification.
   3647  1.1.1.2.2.2  bouyer 
   3648  1.1.1.2.2.2  bouyer Implemented an additional change to the IndexField support in order to 
   3649  1.1.1.2.2.2  bouyer conform to MS behavior. The value written to the Index Register is not 
   3650  1.1.1.2.2.2  bouyer simply a byte offset, it is a byte offset in units of the access width of 
   3651  1.1.1.2.2.2  bouyer the parent Index Field. (Fiodor Suietov)
   3652  1.1.1.2.2.2  bouyer 
   3653  1.1.1.2.2.2  bouyer Defined and deployed a new OSL interface, AcpiOsValidateAddress. This 
   3654  1.1.1.2.2.2  bouyer interface is called during the creation of all AML operation regions, and 
   3655  1.1.1.2.2.2  bouyer allows the host OS to exert control over what addresses it will allow the 
   3656  1.1.1.2.2.2  bouyer AML code to access. Operation Regions whose addresses are disallowed will 
   3657  1.1.1.2.2.2  bouyer cause a runtime exception when they are actually accessed (will not affect 
   3658  1.1.1.2.2.2  bouyer or abort table loading.) See oswinxf or osunixxf for an example 
   3659  1.1.1.2.2.2  bouyer implementation.
   3660  1.1.1.2.2.2  bouyer 
   3661  1.1.1.2.2.2  bouyer Defined and deployed a new OSL interface, AcpiOsValidateInterface. This 
   3662  1.1.1.2.2.2  bouyer interface allows the host OS to match the various "optional" 
   3663  1.1.1.2.2.2  bouyer interface/behavior strings for the _OSI predefined control method as 
   3664  1.1.1.2.2.2  bouyer appropriate (with assistance from Bjorn Helgaas.) See oswinxf or osunixxf 
   3665  1.1.1.2.2.2  bouyer for an example implementation.
   3666  1.1.1.2.2.2  bouyer 
   3667  1.1.1.2.2.2  bouyer Restructured and corrected various problems in the exception handling code 
   3668  1.1.1.2.2.2  bouyer paths within DsCallControlMethod and DsTerminateControlMethod in dsmethod 
   3669  1.1.1.2.2.2  bouyer (with assistance from Takayoshi Kochi.)
   3670  1.1.1.2.2.2  bouyer 
   3671  1.1.1.2.2.2  bouyer Modified the Linux source converter to ignore quoted string literals while 
   3672  1.1.1.2.2.2  bouyer converting identifiers from mixed to lower case. This will correct problems 
   3673  1.1.1.2.2.2  bouyer with the disassembler and other areas where such strings must not be 
   3674  1.1.1.2.2.2  bouyer modified.
   3675  1.1.1.2.2.2  bouyer 
   3676  1.1.1.2.2.2  bouyer The ACPI_FUNCTION_* macros no longer require quotes around the function 
   3677  1.1.1.2.2.2  bouyer name. This allows the Linux source converter to convert the names, now that 
   3678  1.1.1.2.2.2  bouyer the converter ignores quoted strings.
   3679  1.1.1.2.2.2  bouyer 
   3680  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3681  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3682  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3683  1.1.1.2.2.2  bouyer a much larger code and data size.
   3684  1.1.1.2.2.2  bouyer 
   3685  1.1.1.2.2.2  bouyer   Previous Release:
   3686  1.1.1.2.2.2  bouyer 
   3687  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
   3688  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
   3689  1.1.1.2.2.2  bouyer   Current Release:
   3690  1.1.1.2.2.2  bouyer     Non-Debug Version:  79.7K Code, 17.7K Data,  97.4K Total
   3691  1.1.1.2.2.2  bouyer     Debug Version:     160.1K Code, 65.2K Data, 225.3K Total
   3692  1.1.1.2.2.2  bouyer 
   3693  1.1.1.2.2.2  bouyer 
   3694  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3695  1.1.1.2.2.2  bouyer 
   3696  1.1.1.2.2.2  bouyer Implemented 3 new warnings for iASL, and implemented multiple warning levels 
   3697  1.1.1.2.2.2  bouyer (w2 flag).
   3698  1.1.1.2.2.2  bouyer 
   3699  1.1.1.2.2.2  bouyer 1) Ignored timeouts: If the TimeoutValue parameter to Wait or Acquire is not 
   3700  1.1.1.2.2.2  bouyer WAIT_FOREVER (0xFFFF) and the code does not examine the return value to 
   3701  1.1.1.2.2.2  bouyer check for the possible timeout, a warning is issued.
   3702  1.1.1.2.2.2  bouyer 
   3703  1.1.1.2.2.2  bouyer 2) Useless operators: If an ASL operator does not specify an optional target 
   3704  1.1.1.2.2.2  bouyer operand and it also does not use the function return value from the 
   3705  1.1.1.2.2.2  bouyer operator, a warning is issued since the operator effectively does nothing.
   3706  1.1.1.2.2.2  bouyer 
   3707  1.1.1.2.2.2  bouyer 3) Unreferenced objects: If a namespace object is created, but never 
   3708  1.1.1.2.2.2  bouyer referenced, a warning is issued. This is a warning level 2 since there are 
   3709  1.1.1.2.2.2  bouyer cases where this is ok, such as when a secondary table is loaded that uses 
   3710  1.1.1.2.2.2  bouyer the unreferenced objects. Even so, care is taken to only flag objects that 
   3711  1.1.1.2.2.2  bouyer don't look like they will ever be used. For example, the reserved methods 
   3712  1.1.1.2.2.2  bouyer (starting with an underscore) are usually not referenced because it is 
   3713  1.1.1.2.2.2  bouyer expected that the OS will invoke them.
   3714  1.1.1.2.2.2  bouyer 
   3715  1.1.1.2.2.2  bouyer ----------------------------------------
   3716  1.1.1.2.2.2  bouyer 31 March 2006. Summary of changes for version 20060331:
   3717  1.1.1.2.2.2  bouyer 
   3718  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3719  1.1.1.2.2.2  bouyer 
   3720  1.1.1.2.2.2  bouyer Implemented header file support for the following additional ACPI tables: 
   3721  1.1.1.2.2.2  bouyer ASF!, BOOT, CPEP, DBGP, MCFG, SPCR, SPMI, TCPA, and WDRT. With this support, 
   3722  1.1.1.2.2.2  bouyer all current and known ACPI tables are now defined in the ACPICA headers and 
   3723  1.1.1.2.2.2  bouyer are available for use by device drivers and other software.
   3724  1.1.1.2.2.2  bouyer 
   3725  1.1.1.2.2.2  bouyer Implemented support to allow tables that contain ACPI names with invalid 
   3726  1.1.1.2.2.2  bouyer characters to be loaded. Previously, this would cause the table load to 
   3727  1.1.1.2.2.2  bouyer fail, but since there are several known cases of such tables on existing 
   3728  1.1.1.2.2.2  bouyer machines, this change was made to enable ACPI support for them. Also, this 
   3729  1.1.1.2.2.2  bouyer matches the behavior of the Microsoft ACPI implementation.
   3730  1.1.1.2.2.2  bouyer 
   3731  1.1.1.2.2.2  bouyer Fixed a couple regressions introduced during the memory optimization in the 
   3732  1.1.1.2.2.2  bouyer 20060317 release. The namespace node definition required additional 
   3733  1.1.1.2.2.2  bouyer reorganization and an internal datatype that had been changed to 8-bit was 
   3734  1.1.1.2.2.2  bouyer restored to 32-bit. (Valery Podrezov)
   3735  1.1.1.2.2.2  bouyer 
   3736  1.1.1.2.2.2  bouyer Fixed a problem where a null pointer passed to AcpiUtDeleteGenericState 
   3737  1.1.1.2.2.2  bouyer could be passed through to AcpiOsReleaseObject which is unexpected. Such 
   3738  1.1.1.2.2.2  bouyer null pointers are now trapped and ignored, matching the behavior of the 
   3739  1.1.1.2.2.2  bouyer previous implementation before the deployment of AcpiOsReleaseObject.
   3740  1.1.1.2.2.2  bouyer (Valery Podrezov, Fiodor Suietov)
   3741  1.1.1.2.2.2  bouyer 
   3742  1.1.1.2.2.2  bouyer Fixed a memory mapping leak during the deletion of a SystemMemory operation 
   3743  1.1.1.2.2.2  bouyer region where a cached memory mapping was not deleted. This became a 
   3744  1.1.1.2.2.2  bouyer noticeable problem for operation regions that are defined within frequently 
   3745  1.1.1.2.2.2  bouyer used control methods. (Dana Meyers)
   3746  1.1.1.2.2.2  bouyer 
   3747  1.1.1.2.2.2  bouyer Reorganized the ACPI table header files into two main files: one for the 
   3748  1.1.1.2.2.2  bouyer ACPI tables consumed by the ACPICA core, and another for the miscellaneous 
   3749  1.1.1.2.2.2  bouyer ACPI tables that are consumed by the drivers and other software. The various 
   3750  1.1.1.2.2.2  bouyer FADT definitions were merged into one common section and three different 
   3751  1.1.1.2.2.2  bouyer tables (ACPI 1.0, 1.0+, and 2.0)
   3752  1.1.1.2.2.2  bouyer 
   3753  1.1.1.2.2.2  bouyer Example Code and Data Size: These are the sizes for the OS-independent 
   3754  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
   3755  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace mechanism and has 
   3756  1.1.1.2.2.2  bouyer a much larger code and data size.
   3757  1.1.1.2.2.2  bouyer 
   3758  1.1.1.2.2.2  bouyer   Previous Release:
   3759  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
   3760  1.1.1.2.2.2  bouyer     Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
   3761  1.1.1.2.2.2  bouyer   Current Release:
   3762  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.7K Data,  98.8K Total
   3763  1.1.1.2.2.2  bouyer     Debug Version:     158.9K Code, 64.9K Data, 223.8K Total
   3764  1.1.1.2.2.2  bouyer 
   3765  1.1.1.2.2.2  bouyer 
   3766  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3767  1.1.1.2.2.2  bouyer 
   3768  1.1.1.2.2.2  bouyer Disassembler: Implemented support to decode and format all non-AML ACPI 
   3769  1.1.1.2.2.2  bouyer tables (tables other than DSDTs and SSDTs.) This includes the new tables 
   3770  1.1.1.2.2.2  bouyer added to the ACPICA headers, therefore all current and known ACPI tables are 
   3771  1.1.1.2.2.2  bouyer supported.
   3772  1.1.1.2.2.2  bouyer 
   3773  1.1.1.2.2.2  bouyer Disassembler: The change to allow ACPI names with invalid characters also 
   3774  1.1.1.2.2.2  bouyer enables the disassembly of such tables. Invalid characters within names are 
   3775  1.1.1.2.2.2  bouyer changed to '*' to make the name printable; the iASL compiler will still 
   3776  1.1.1.2.2.2  bouyer generate an error for such names, however, since this is an invalid ACPI 
   3777  1.1.1.2.2.2  bouyer character.
   3778  1.1.1.2.2.2  bouyer 
   3779  1.1.1.2.2.2  bouyer Implemented an option for AcpiXtract (-a) to extract all tables found in the 
   3780  1.1.1.2.2.2  bouyer input file. The default invocation extracts only the DSDTs and SSDTs.
   3781  1.1.1.2.2.2  bouyer 
   3782  1.1.1.2.2.2  bouyer Fixed a couple of gcc generation issues for iASL and AcpiExec and added a 
   3783  1.1.1.2.2.2  bouyer makefile for the AcpiXtract utility.
   3784  1.1.1.2.2.2  bouyer 
   3785  1.1.1.2.2.2  bouyer ----------------------------------------
   3786  1.1.1.2.2.2  bouyer 17 March 2006. Summary of changes for version 20060317:
   3787  1.1.1.2.2.2  bouyer 
   3788  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3789  1.1.1.2.2.2  bouyer 
   3790  1.1.1.2.2.2  bouyer Implemented the use of a cache object for all internal namespace nodes. 
   3791  1.1.1.2.2.2  bouyer Since there are about 1000 static nodes in a typical system, this will 
   3792  1.1.1.2.2.2  bouyer decrease memory use for cache implementations that minimize per-allocation 
   3793  1.1.1.2.2.2  bouyer overhead (such as a slab allocator.)
   3794  1.1.1.2.2.2  bouyer 
   3795  1.1.1.2.2.2  bouyer Removed the reference count mechanism for internal namespace nodes, since it 
   3796  1.1.1.2.2.2  bouyer was deemed unnecessary. This reduces the size of each namespace node by 
   3797  1.1.1.2.2.2  bouyer about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit case, 
   3798  1.1.1.2.2.2  bouyer and 32 bytes for the 64-bit case.
   3799  1.1.1.2.2.2  bouyer 
   3800  1.1.1.2.2.2  bouyer Optimized several internal data structures to reduce object size on 64-bit 
   3801  1.1.1.2.2.2  bouyer platforms by packing data within the 64-bit alignment. This includes the 
   3802  1.1.1.2.2.2  bouyer frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static 
   3803  1.1.1.2.2.2  bouyer instances corresponding to the namespace objects.
   3804  1.1.1.2.2.2  bouyer 
   3805  1.1.1.2.2.2  bouyer Added two new strings for the predefined _OSI method: "Windows 2001.1 SP1" 
   3806  1.1.1.2.2.2  bouyer and "Windows 2006".
   3807  1.1.1.2.2.2  bouyer 
   3808  1.1.1.2.2.2  bouyer Split the allocation tracking mechanism out to a separate file, from 
   3809  1.1.1.2.2.2  bouyer utalloc.c to uttrack.c. This mechanism appears to be only useful for 
   3810  1.1.1.2.2.2  bouyer application-level code. Kernels may wish to not include uttrack.c in 
   3811  1.1.1.2.2.2  bouyer distributions.
   3812  1.1.1.2.2.2  bouyer 
   3813  1.1.1.2.2.2  bouyer Removed all remnants of the obsolete ACPI_REPORT_* macros and the associated 
   3814  1.1.1.2.2.2  bouyer code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING 
   3815  1.1.1.2.2.2  bouyer macros.)
   3816  1.1.1.2.2.2  bouyer 
   3817  1.1.1.2.2.2  bouyer Code and Data Size: These are the sizes for the acpica.lib produced by the 
   3818  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
   3819  1.1.1.2.2.2  bouyer driver or OSPM code. The debug version of the code includes the debug output 
   3820  1.1.1.2.2.2  bouyer trace mechanism and has a much larger code and data size. Note that these 
   3821  1.1.1.2.2.2  bouyer values will vary depending on the efficiency of the compiler and the 
   3822  1.1.1.2.2.2  bouyer compiler options used during generation.
   3823  1.1.1.2.2.2  bouyer 
   3824  1.1.1.2.2.2  bouyer   Previous Release:
   3825  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
   3826  1.1.1.2.2.2  bouyer     Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
   3827  1.1.1.2.2.2  bouyer   Current Release:
   3828  1.1.1.2.2.2  bouyer     Non-Debug Version:  80.9K Code, 17.7K Data,  98.6K Total
   3829  1.1.1.2.2.2  bouyer     Debug Version:     158.7K Code, 64.8K Data, 223.5K Total
   3830  1.1.1.2.2.2  bouyer 
   3831  1.1.1.2.2.2  bouyer 
   3832  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler and Tools:
   3833  1.1.1.2.2.2  bouyer 
   3834  1.1.1.2.2.2  bouyer Implemented an ANSI C version of the acpixtract utility. This version will 
   3835  1.1.1.2.2.2  bouyer automatically extract the DSDT and all SSDTs from the input acpidump text 
   3836  1.1.1.2.2.2  bouyer file and dump the binary output to separate files. It can also display a 
   3837  1.1.1.2.2.2  bouyer summary of the input file including the headers for each table found and 
   3838  1.1.1.2.2.2  bouyer will extract any single ACPI table, with any signature. (See 
   3839  1.1.1.2.2.2  bouyer source/tools/acpixtract)
   3840  1.1.1.2.2.2  bouyer 
   3841  1.1.1.2.2.2  bouyer ----------------------------------------
   3842  1.1.1.2.2.2  bouyer 10 March 2006. Summary of changes for version 20060310:
   3843  1.1.1.2.2.2  bouyer 
   3844  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3845  1.1.1.2.2.2  bouyer 
   3846  1.1.1.2.2.2  bouyer Tagged all external interfaces to the subsystem with the new 
   3847  1.1.1.2.2.2  bouyer ACPI_EXPORT_SYMBOL macro. This macro can be defined as necessary to assist 
   3848  1.1.1.2.2.2  bouyer kernel integration. For Linux, the macro resolves to the EXPORT_SYMBOL 
   3849  1.1.1.2.2.2  bouyer macro. The default definition is NULL.
   3850  1.1.1.2.2.2  bouyer 
   3851  1.1.1.2.2.2  bouyer Added the ACPI_THREAD_ID type for the return value from AcpiOsGetThreadId. 
   3852  1.1.1.2.2.2  bouyer This allows the host to define this as necessary to simplify kernel 
   3853  1.1.1.2.2.2  bouyer integration. The default definition is ACPI_NATIVE_UINT.
   3854  1.1.1.2.2.2  bouyer 
   3855  1.1.1.2.2.2  bouyer Fixed two interpreter problems related to error processing, the deletion of 
   3856  1.1.1.2.2.2  bouyer objects, and placing invalid pointers onto the internal operator result 
   3857  1.1.1.2.2.2  bouyer stack. BZ 6028, 6151 (Valery Podrezov)
   3858  1.1.1.2.2.2  bouyer 
   3859  1.1.1.2.2.2  bouyer Increased the reference count threshold where a warning is emitted for large 
   3860  1.1.1.2.2.2  bouyer reference counts in order to eliminate unnecessary warnings on systems with 
   3861  1.1.1.2.2.2  bouyer large namespaces (especially 64-bit.) Increased the value from 0x400 to 
   3862  1.1.1.2.2.2  bouyer 0x800.
   3863  1.1.1.2.2.2  bouyer 
   3864  1.1.1.2.2.2  bouyer Due to universal disagreement as to the meaning of the 'c' in the calloc() 
   3865  1.1.1.2.2.2  bouyer function, the ACPI_MEM_CALLOCATE macro has been renamed to 
   3866  1.1.1.2.2.2  bouyer ACPI_ALLOCATE_ZEROED so that the purpose of the interface is 'clear'. 
   3867  1.1.1.2.2.2  bouyer ACPI_MEM_ALLOCATE and ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and 
   3868  1.1.1.2.2.2  bouyer ACPI_FREE.
   3869  1.1.1.2.2.2  bouyer 
   3870  1.1.1.2.2.2  bouyer Code and Data Size: These are the sizes for the acpica.lib produced by the 
   3871  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
   3872  1.1.1.2.2.2  bouyer driver or OSPM code. The debug version of the code includes the debug output 
   3873  1.1.1.2.2.2  bouyer trace mechanism and has a much larger code and data size. Note that these 
   3874  1.1.1.2.2.2  bouyer values will vary depending on the efficiency of the compiler and the 
   3875  1.1.1.2.2.2  bouyer compiler options used during generation.
   3876  1.1.1.2.2.2  bouyer 
   3877  1.1.1.2.2.2  bouyer   Previous Release:
   3878  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
   3879  1.1.1.2.2.2  bouyer     Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
   3880  1.1.1.2.2.2  bouyer   Current Release:
   3881  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
   3882  1.1.1.2.2.2  bouyer     Debug Version:     161.6K Code, 65.7K Data, 227.3K Total
   3883  1.1.1.2.2.2  bouyer 
   3884  1.1.1.2.2.2  bouyer 
   3885  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   3886  1.1.1.2.2.2  bouyer 
   3887  1.1.1.2.2.2  bouyer Disassembler: implemented support for symbolic resource descriptor 
   3888  1.1.1.2.2.2  bouyer references. If a CreateXxxxField operator references a fixed offset within a 
   3889  1.1.1.2.2.2  bouyer resource descriptor, a name is assigned to the descriptor and the offset is 
   3890  1.1.1.2.2.2  bouyer translated to the appropriate resource tag and pathname. The addition of 
   3891  1.1.1.2.2.2  bouyer this support brings the disassembled code very close to the original ASL 
   3892  1.1.1.2.2.2  bouyer source code and helps eliminate run-time errors when the disassembled code 
   3893  1.1.1.2.2.2  bouyer is modified (and recompiled) in such a way as to invalidate the original 
   3894  1.1.1.2.2.2  bouyer fixed offsets.
   3895  1.1.1.2.2.2  bouyer 
   3896  1.1.1.2.2.2  bouyer Implemented support for a Descriptor Name as the last parameter to the ASL 
   3897  1.1.1.2.2.2  bouyer Register() macro. This parameter was inadvertently left out of the ACPI 
   3898  1.1.1.2.2.2  bouyer specification, and will be added for ACPI 3.0b.
   3899  1.1.1.2.2.2  bouyer 
   3900  1.1.1.2.2.2  bouyer Fixed a problem where the use of the "_OSI" string (versus the full path 
   3901  1.1.1.2.2.2  bouyer "\_OSI") caused an internal compiler error. ("No back ptr to op")
   3902  1.1.1.2.2.2  bouyer 
   3903  1.1.1.2.2.2  bouyer Fixed a problem with the error message that occurs when an invalid string is 
   3904  1.1.1.2.2.2  bouyer used for a _HID object (such as one with an embedded asterisk: "*PNP010A".) 
   3905  1.1.1.2.2.2  bouyer The correct message is now displayed.
   3906  1.1.1.2.2.2  bouyer 
   3907  1.1.1.2.2.2  bouyer ----------------------------------------
   3908  1.1.1.2.2.2  bouyer 17 February 2006. Summary of changes for version 20060217:
   3909  1.1.1.2.2.2  bouyer 
   3910  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3911  1.1.1.2.2.2  bouyer 
   3912  1.1.1.2.2.2  bouyer Implemented a change to the IndexField support to match the behavior of the 
   3913  1.1.1.2.2.2  bouyer Microsoft AML interpreter. The value written to the Index register is now a 
   3914  1.1.1.2.2.2  bouyer byte offset, no longer an index based upon the width of the Data register. 
   3915  1.1.1.2.2.2  bouyer This should fix IndexField problems seen on some machines where the Data 
   3916  1.1.1.2.2.2  bouyer register is not exactly one byte wide. The ACPI specification will be 
   3917  1.1.1.2.2.2  bouyer clarified on this point.
   3918  1.1.1.2.2.2  bouyer 
   3919  1.1.1.2.2.2  bouyer Fixed a problem where several resource descriptor types could overrun the 
   3920  1.1.1.2.2.2  bouyer internal descriptor buffer due to size miscalculation: VendorShort, 
   3921  1.1.1.2.2.2  bouyer VendorLong, and Interrupt. This was noticed on IA64 machines, but could 
   3922  1.1.1.2.2.2  bouyer affect all platforms.
   3923  1.1.1.2.2.2  bouyer 
   3924  1.1.1.2.2.2  bouyer Fixed a problem where individual resource descriptors were misaligned within 
   3925  1.1.1.2.2.2  bouyer the internal buffer, causing alignment faults on IA64 platforms.
   3926  1.1.1.2.2.2  bouyer 
   3927  1.1.1.2.2.2  bouyer Code and Data Size: These are the sizes for the acpica.lib produced by the 
   3928  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI 
   3929  1.1.1.2.2.2  bouyer driver or OSPM code. The debug version of the code includes the debug output 
   3930  1.1.1.2.2.2  bouyer trace mechanism and has a much larger code and data size. Note that these 
   3931  1.1.1.2.2.2  bouyer values will vary depending on the efficiency of the compiler and the 
   3932  1.1.1.2.2.2  bouyer compiler options used during generation.
   3933  1.1.1.2.2.2  bouyer 
   3934  1.1.1.2.2.2  bouyer   Previous Release:
   3935  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
   3936  1.1.1.2.2.2  bouyer     Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
   3937  1.1.1.2.2.2  bouyer   Current Release:
   3938  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.0K Code, 17.8K Data,  98.8K Total
   3939  1.1.1.2.2.2  bouyer     Debug Version:     161.4K Code, 65.7K Data, 227.1K Total
   3940  1.1.1.2.2.2  bouyer 
   3941  1.1.1.2.2.2  bouyer 
   3942  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   3943  1.1.1.2.2.2  bouyer 
   3944  1.1.1.2.2.2  bouyer Implemented support for new reserved names: _WDG and _WED are Microsoft 
   3945  1.1.1.2.2.2  bouyer extensions for Windows Instrumentation Management, _TDL is a new ACPI-
   3946  1.1.1.2.2.2  bouyer defined method (Throttling Depth Limit.)
   3947  1.1.1.2.2.2  bouyer 
   3948  1.1.1.2.2.2  bouyer Fixed a problem where a zero-length VendorShort or VendorLong resource 
   3949  1.1.1.2.2.2  bouyer descriptor was incorrectly emitted as a descriptor of length one.
   3950  1.1.1.2.2.2  bouyer 
   3951  1.1.1.2.2.2  bouyer ----------------------------------------
   3952  1.1.1.2.2.2  bouyer 10 February 2006. Summary of changes for version 20060210:
   3953  1.1.1.2.2.2  bouyer 
   3954  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   3955  1.1.1.2.2.2  bouyer 
   3956  1.1.1.2.2.2  bouyer Removed a couple of extraneous ACPI_ERROR messages that appeared during 
   3957  1.1.1.2.2.2  bouyer normal execution. These became apparent after the conversion from 
   3958  1.1.1.2.2.2  bouyer ACPI_DEBUG_PRINT.
   3959  1.1.1.2.2.2  bouyer 
   3960  1.1.1.2.2.2  bouyer Fixed a problem where the CreateField operator could hang if the BitIndex or 
   3961  1.1.1.2.2.2  bouyer NumBits parameter referred to a named object. (Valery Podrezov, BZ 5359)
   3962  1.1.1.2.2.2  bouyer 
   3963  1.1.1.2.2.2  bouyer Fixed a problem where a DeRefOf operation on a buffer object incorrectly 
   3964  1.1.1.2.2.2  bouyer failed with an exception. This also fixes a couple of related RefOf and 
   3965  1.1.1.2.2.2  bouyer DeRefOf issues. (Valery Podrezov, BZ 5360/5392/5387)
   3966  1.1.1.2.2.2  bouyer 
   3967  1.1.1.2.2.2  bouyer Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead of 
   3968  1.1.1.2.2.2  bouyer AE_STRING_LIMIT on an out-of-bounds Index() operation. (Valery Podrezov, BZ 
   3969  1.1.1.2.2.2  bouyer 5480)
   3970  1.1.1.2.2.2  bouyer 
   3971  1.1.1.2.2.2  bouyer Implemented a memory cleanup at the end of the execution of each iteration 
   3972  1.1.1.2.2.2  bouyer of an AML While() loop, preventing the accumulation of outstanding objects. 
   3973  1.1.1.2.2.2  bouyer (Valery Podrezov, BZ 5427)
   3974  1.1.1.2.2.2  bouyer 
   3975  1.1.1.2.2.2  bouyer Eliminated a chunk of duplicate code in the object resolution code. (Valery 
   3976  1.1.1.2.2.2  bouyer Podrezov, BZ 5336)
   3977  1.1.1.2.2.2  bouyer 
   3978  1.1.1.2.2.2  bouyer Fixed several warnings during the 64-bit code generation.
   3979  1.1.1.2.2.2  bouyer 
   3980  1.1.1.2.2.2  bouyer The AcpiSrc source code conversion tool now inserts one line of whitespace 
   3981  1.1.1.2.2.2  bouyer after an if() statement that is followed immediately by a comment, improving 
   3982  1.1.1.2.2.2  bouyer readability of the Linux code.
   3983  1.1.1.2.2.2  bouyer 
   3984  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   3985  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   3986  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   3987  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   3988  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   3989  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   3990  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   3991  1.1.1.2.2.2  bouyer 
   3992  1.1.1.2.2.2  bouyer   Previous Release:
   3993  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
   3994  1.1.1.2.2.2  bouyer     Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
   3995  1.1.1.2.2.2  bouyer   Current Release:
   3996  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.1K Code, 17.8K Data,  98.9K Total
   3997  1.1.1.2.2.2  bouyer     Debug Version:     161.3K Code, 65.6K Data, 226.9K Total
   3998  1.1.1.2.2.2  bouyer 
   3999  1.1.1.2.2.2  bouyer 
   4000  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4001  1.1.1.2.2.2  bouyer 
   4002  1.1.1.2.2.2  bouyer Fixed a problem with the disassembly of a BankField operator with a complex 
   4003  1.1.1.2.2.2  bouyer expression for the BankValue parameter.
   4004  1.1.1.2.2.2  bouyer 
   4005  1.1.1.2.2.2  bouyer ----------------------------------------
   4006  1.1.1.2.2.2  bouyer 27 January 2006. Summary of changes for version 20060127:
   4007  1.1.1.2.2.2  bouyer 
   4008  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4009  1.1.1.2.2.2  bouyer 
   4010  1.1.1.2.2.2  bouyer Implemented support in the Resource Manager to allow unresolved namestring 
   4011  1.1.1.2.2.2  bouyer references within resource package objects for the _PRT method. This support 
   4012  1.1.1.2.2.2  bouyer is in addition to the previously implemented unresolved reference support 
   4013  1.1.1.2.2.2  bouyer within the AML parser. If the interpreter slack mode is enabled, these 
   4014  1.1.1.2.2.2  bouyer unresolved references will be passed through to the caller as a NULL package 
   4015  1.1.1.2.2.2  bouyer entry.
   4016  1.1.1.2.2.2  bouyer 
   4017  1.1.1.2.2.2  bouyer Implemented and deployed new macros and functions for error and warning 
   4018  1.1.1.2.2.2  bouyer messages across the subsystem. These macros are simpler and generate less 
   4019  1.1.1.2.2.2  bouyer code than their predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION, 
   4020  1.1.1.2.2.2  bouyer ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_* macros. The older 
   4021  1.1.1.2.2.2  bouyer macros remain defined to allow ACPI drivers time to migrate to the new 
   4022  1.1.1.2.2.2  bouyer macros.
   4023  1.1.1.2.2.2  bouyer 
   4024  1.1.1.2.2.2  bouyer Implemented the ACPI_CPU_FLAGS type to simplify host OS integration of the 
   4025  1.1.1.2.2.2  bouyer Acquire/Release Lock OSL interfaces.
   4026  1.1.1.2.2.2  bouyer 
   4027  1.1.1.2.2.2  bouyer Fixed a problem where Alias ASL operators are sometimes not correctly 
   4028  1.1.1.2.2.2  bouyer resolved, in both the interpreter and the iASL compiler.
   4029  1.1.1.2.2.2  bouyer 
   4030  1.1.1.2.2.2  bouyer Fixed several problems with the implementation of the ConcatenateResTemplate 
   4031  1.1.1.2.2.2  bouyer ASL operator. As per the ACPI specification, zero length buffers are now 
   4032  1.1.1.2.2.2  bouyer treated as a single EndTag. One-length buffers always cause a fatal 
   4033  1.1.1.2.2.2  bouyer exception. Non-zero length buffers that do not end with a full 2-byte EndTag 
   4034  1.1.1.2.2.2  bouyer cause a fatal exception.
   4035  1.1.1.2.2.2  bouyer 
   4036  1.1.1.2.2.2  bouyer Fixed a possible structure overwrite in the AcpiGetObjectInfo external 
   4037  1.1.1.2.2.2  bouyer interface. (With assistance from Thomas Renninger)
   4038  1.1.1.2.2.2  bouyer 
   4039  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4040  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4041  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4042  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4043  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4044  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4045  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4046  1.1.1.2.2.2  bouyer 
   4047  1.1.1.2.2.2  bouyer   Previous Release:
   4048  1.1.1.2.2.2  bouyer     Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
   4049  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
   4050  1.1.1.2.2.2  bouyer   Current Release:
   4051  1.1.1.2.2.2  bouyer     Non-Debug Version:  81.0K Code, 17.9K Data,  98.9K Total
   4052  1.1.1.2.2.2  bouyer     Debug Version:     161.3K Code, 65.7K Data, 227.0K Total
   4053  1.1.1.2.2.2  bouyer 
   4054  1.1.1.2.2.2  bouyer 
   4055  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4056  1.1.1.2.2.2  bouyer 
   4057  1.1.1.2.2.2  bouyer Fixed an internal error that was generated for any forward references to ASL 
   4058  1.1.1.2.2.2  bouyer Alias objects.
   4059  1.1.1.2.2.2  bouyer 
   4060  1.1.1.2.2.2  bouyer ----------------------------------------
   4061  1.1.1.2.2.2  bouyer 13 January 2006. Summary of changes for version 20060113:
   4062  1.1.1.2.2.2  bouyer 
   4063  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4064  1.1.1.2.2.2  bouyer 
   4065  1.1.1.2.2.2  bouyer Added 2006 copyright to all module headers and signons. This affects 
   4066  1.1.1.2.2.2  bouyer virtually every file in the ACPICA core subsystem, iASL compiler, and the 
   4067  1.1.1.2.2.2  bouyer utilities.
   4068  1.1.1.2.2.2  bouyer  
   4069  1.1.1.2.2.2  bouyer Enhanced the ACPICA error reporting in order to simplify user migration to 
   4070  1.1.1.2.2.2  bouyer the non-debug version of ACPICA. Replaced all instances of the 
   4071  1.1.1.2.2.2  bouyer ACPI_DEBUG_PRINT macro invoked at the ACPI_DB_ERROR and ACPI_DB_WARN debug 
   4072  1.1.1.2.2.2  bouyer levels with the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros, 
   4073  1.1.1.2.2.2  bouyer respectively. This preserves all error and warning messages in the non-debug 
   4074  1.1.1.2.2.2  bouyer version of the ACPICA code (this has been referred to as the "debug lite" 
   4075  1.1.1.2.2.2  bouyer option.) Over 200 cases were converted to create a total of over 380 
   4076  1.1.1.2.2.2  bouyer error/warning messages across the ACPICA code. This increases the code and 
   4077  1.1.1.2.2.2  bouyer data size of the default non-debug version of the code somewhat (about 13K), 
   4078  1.1.1.2.2.2  bouyer but all error/warning reporting may be disabled if desired (and code 
   4079  1.1.1.2.2.2  bouyer eliminated) by specifying the ACPI_NO_ERROR_MESSAGES compile-time 
   4080  1.1.1.2.2.2  bouyer configuration option. The size of the debug version of ACPICA remains about 
   4081  1.1.1.2.2.2  bouyer the same.
   4082  1.1.1.2.2.2  bouyer 
   4083  1.1.1.2.2.2  bouyer Fixed a memory leak within the AML Debugger "Set" command. One object was 
   4084  1.1.1.2.2.2  bouyer not properly deleted for every successful invocation of the command.
   4085  1.1.1.2.2.2  bouyer 
   4086  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4087  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4088  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4089  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4090  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4091  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4092  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4093  1.1.1.2.2.2  bouyer 
   4094  1.1.1.2.2.2  bouyer   Previous Release:
   4095  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
   4096  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
   4097  1.1.1.2.2.2  bouyer   Current Release:
   4098  1.1.1.2.2.2  bouyer     Non-Debug Version:  83.1K Code, 18.4K Data, 101.5K Total
   4099  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code, 66.2K Data, 229.4K Total
   4100  1.1.1.2.2.2  bouyer 
   4101  1.1.1.2.2.2  bouyer 
   4102  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4103  1.1.1.2.2.2  bouyer 
   4104  1.1.1.2.2.2  bouyer The compiler now officially supports the ACPI 3.0a specification that was 
   4105  1.1.1.2.2.2  bouyer released on December 30, 2005. (Specification is available at www.acpi.info)
   4106  1.1.1.2.2.2  bouyer 
   4107  1.1.1.2.2.2  bouyer ----------------------------------------
   4108  1.1.1.2.2.2  bouyer 16 December 2005. Summary of changes for version 20051216:
   4109  1.1.1.2.2.2  bouyer 
   4110  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4111  1.1.1.2.2.2  bouyer 
   4112  1.1.1.2.2.2  bouyer Implemented optional support to allow unresolved names within ASL Package 
   4113  1.1.1.2.2.2  bouyer objects. A null object is inserted in the package when a named reference 
   4114  1.1.1.2.2.2  bouyer cannot be located in the current namespace. Enabled via the interpreter 
   4115  1.1.1.2.2.2  bouyer slack flag, this should eliminate AE_NOT_FOUND exceptions seen on machines 
   4116  1.1.1.2.2.2  bouyer that contain such code.
   4117  1.1.1.2.2.2  bouyer 
   4118  1.1.1.2.2.2  bouyer Implemented an optimization to the initialization sequence that can improve 
   4119  1.1.1.2.2.2  bouyer boot time. During ACPI device initialization, the _STA method is now run if 
   4120  1.1.1.2.2.2  bouyer and only if the _INI method exists. The _STA method is used to determine if 
   4121  1.1.1.2.2.2  bouyer the device is present; An _INI can only be run if _STA returns present, but 
   4122  1.1.1.2.2.2  bouyer it is a waste of time to run the _STA method if the _INI does not exist. 
   4123  1.1.1.2.2.2  bouyer (Prototype and assistance from Dong Wei)
   4124  1.1.1.2.2.2  bouyer 
   4125  1.1.1.2.2.2  bouyer Implemented use of the C99 uintptr_t for the pointer casting macros if it is 
   4126  1.1.1.2.2.2  bouyer available in the current compiler. Otherwise, the default (void *) cast is 
   4127  1.1.1.2.2.2  bouyer used as before.
   4128  1.1.1.2.2.2  bouyer 
   4129  1.1.1.2.2.2  bouyer Fixed some possible memory leaks found within the execution path of the 
   4130  1.1.1.2.2.2  bouyer Break, Continue, If, and CreateField operators. (Valery Podrezov)
   4131  1.1.1.2.2.2  bouyer 
   4132  1.1.1.2.2.2  bouyer Fixed a problem introduced in the 20051202 release where an exception is 
   4133  1.1.1.2.2.2  bouyer generated during method execution if a control method attempts to declare 
   4134  1.1.1.2.2.2  bouyer another method.
   4135  1.1.1.2.2.2  bouyer 
   4136  1.1.1.2.2.2  bouyer Moved resource descriptor string constants that are used by both the AML 
   4137  1.1.1.2.2.2  bouyer disassembler and AML debugger to the common utilities directory so that 
   4138  1.1.1.2.2.2  bouyer these components are independent.
   4139  1.1.1.2.2.2  bouyer 
   4140  1.1.1.2.2.2  bouyer Implemented support in the AcpiExec utility (-e switch) to globally ignore 
   4141  1.1.1.2.2.2  bouyer exceptions during control method execution (method is not aborted.)
   4142  1.1.1.2.2.2  bouyer 
   4143  1.1.1.2.2.2  bouyer Added the rsinfo.c source file to the AcpiExec makefile for Linux/Unix 
   4144  1.1.1.2.2.2  bouyer generation.
   4145  1.1.1.2.2.2  bouyer 
   4146  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4147  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4148  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4149  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4150  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4151  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4152  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4153  1.1.1.2.2.2  bouyer 
   4154  1.1.1.2.2.2  bouyer   Previous Release:
   4155  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
   4156  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
   4157  1.1.1.2.2.2  bouyer   Current Release:
   4158  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.6K Code, 12.3K Data,  88.9K Total
   4159  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 67.5K Data, 231.2K Total
   4160  1.1.1.2.2.2  bouyer 
   4161  1.1.1.2.2.2  bouyer 
   4162  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4163  1.1.1.2.2.2  bouyer 
   4164  1.1.1.2.2.2  bouyer Fixed a problem where a CPU stack overflow fault could occur if a recursive 
   4165  1.1.1.2.2.2  bouyer method call was made from within a Return statement.
   4166  1.1.1.2.2.2  bouyer 
   4167  1.1.1.2.2.2  bouyer ----------------------------------------
   4168  1.1.1.2.2.2  bouyer 02 December 2005. Summary of changes for version 20051202:
   4169  1.1.1.2.2.2  bouyer 
   4170  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4171  1.1.1.2.2.2  bouyer 
   4172  1.1.1.2.2.2  bouyer Modified the parsing of control methods to no longer create namespace 
   4173  1.1.1.2.2.2  bouyer objects during the first pass of the parse. Objects are now created only 
   4174  1.1.1.2.2.2  bouyer during the execute phase, at the moment the namespace creation operator is 
   4175  1.1.1.2.2.2  bouyer encountered in the AML (Name, OperationRegion, CreateByteField, etc.) This 
   4176  1.1.1.2.2.2  bouyer should eliminate ALREADY_EXISTS exceptions seen on some machines where 
   4177  1.1.1.2.2.2  bouyer reentrant control methods are protected by an AML mutex. The mutex will now 
   4178  1.1.1.2.2.2  bouyer correctly block multiple threads from attempting to create the same object 
   4179  1.1.1.2.2.2  bouyer more than once.
   4180  1.1.1.2.2.2  bouyer 
   4181  1.1.1.2.2.2  bouyer Increased the number of available Owner Ids for namespace object tracking 
   4182  1.1.1.2.2.2  bouyer from 32 to 255. This should eliminate the OWNER_ID_LIMIT exceptions seen on 
   4183  1.1.1.2.2.2  bouyer some machines with a large number of ACPI tables (either static or dynamic).
   4184  1.1.1.2.2.2  bouyer 
   4185  1.1.1.2.2.2  bouyer Fixed a problem with the AcpiExec utility where a fault could occur when the 
   4186  1.1.1.2.2.2  bouyer -b switch (batch mode) is used.
   4187  1.1.1.2.2.2  bouyer 
   4188  1.1.1.2.2.2  bouyer Enhanced the namespace dump routine to output the owner ID for each 
   4189  1.1.1.2.2.2  bouyer namespace object.
   4190  1.1.1.2.2.2  bouyer 
   4191  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4192  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4193  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4194  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4195  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4196  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4197  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4198  1.1.1.2.2.2  bouyer 
   4199  1.1.1.2.2.2  bouyer   Previous Release:
   4200  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
   4201  1.1.1.2.2.2  bouyer     Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
   4202  1.1.1.2.2.2  bouyer   Current Release:
   4203  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
   4204  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code, 67.4K Data, 230.6K Total
   4205  1.1.1.2.2.2  bouyer 
   4206  1.1.1.2.2.2  bouyer 
   4207  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4208  1.1.1.2.2.2  bouyer 
   4209  1.1.1.2.2.2  bouyer Fixed a parse error during compilation of certain Switch/Case constructs. To 
   4210  1.1.1.2.2.2  bouyer simplify the parse, the grammar now allows for multiple Default statements 
   4211  1.1.1.2.2.2  bouyer and this error is now detected and flagged during the analysis phase.
   4212  1.1.1.2.2.2  bouyer 
   4213  1.1.1.2.2.2  bouyer Disassembler: The disassembly now includes the contents of the original 
   4214  1.1.1.2.2.2  bouyer table header within a comment at the start of the file. This includes the 
   4215  1.1.1.2.2.2  bouyer name and version of the original ASL compiler.
   4216  1.1.1.2.2.2  bouyer 
   4217  1.1.1.2.2.2  bouyer ----------------------------------------
   4218  1.1.1.2.2.2  bouyer 17 November 2005. Summary of changes for version 20051117:
   4219  1.1.1.2.2.2  bouyer 
   4220  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4221  1.1.1.2.2.2  bouyer 
   4222  1.1.1.2.2.2  bouyer Fixed a problem in the AML parser where the method thread count could be 
   4223  1.1.1.2.2.2  bouyer decremented below zero if any errors occurred during the method parse phase. 
   4224  1.1.1.2.2.2  bouyer This should eliminate AE_AML_METHOD_LIMIT exceptions seen on some machines. 
   4225  1.1.1.2.2.2  bouyer This also fixed a related regression with the mechanism that detects and 
   4226  1.1.1.2.2.2  bouyer corrects methods that cannot properly handle reentrancy (related to the 
   4227  1.1.1.2.2.2  bouyer deployment of the new OwnerId mechanism.)
   4228  1.1.1.2.2.2  bouyer 
   4229  1.1.1.2.2.2  bouyer Eliminated the pre-parsing of control methods (to detect errors) during 
   4230  1.1.1.2.2.2  bouyer table load. Related to the problem above, this was causing unwind issues if 
   4231  1.1.1.2.2.2  bouyer any errors occurred during the parse, and it seemed to be overkill. A table 
   4232  1.1.1.2.2.2  bouyer load should not be aborted if there are problems with any single control 
   4233  1.1.1.2.2.2  bouyer method, thus rendering this feature rather pointless.
   4234  1.1.1.2.2.2  bouyer 
   4235  1.1.1.2.2.2  bouyer Fixed a problem with the new table-driven resource manager where an internal 
   4236  1.1.1.2.2.2  bouyer buffer overflow could occur for small resource templates.
   4237  1.1.1.2.2.2  bouyer 
   4238  1.1.1.2.2.2  bouyer Implemented a new external interface, AcpiGetVendorResource. This interface 
   4239  1.1.1.2.2.2  bouyer will find and return a vendor-defined resource descriptor within a _CRS or 
   4240  1.1.1.2.2.2  bouyer _PRS method via an ACPI 3.0 UUID match. With assistance from Bjorn Helgaas.
   4241  1.1.1.2.2.2  bouyer 
   4242  1.1.1.2.2.2  bouyer Removed the length limit (200) on string objects as per the upcoming ACPI 
   4243  1.1.1.2.2.2  bouyer 3.0A specification. This affects the following areas of the interpreter: 1) 
   4244  1.1.1.2.2.2  bouyer any implicit conversion of a Buffer to a String, 2) a String object result 
   4245  1.1.1.2.2.2  bouyer of the ASL Concatentate operator, 3) the String object result of the ASL 
   4246  1.1.1.2.2.2  bouyer ToString operator.
   4247  1.1.1.2.2.2  bouyer 
   4248  1.1.1.2.2.2  bouyer Fixed a problem in the Windows OS interface layer (OSL) where a WAIT_FOREVER 
   4249  1.1.1.2.2.2  bouyer on a semaphore object would incorrectly timeout. This allows the 
   4250  1.1.1.2.2.2  bouyer multithreading features of the AcpiExec utility to work properly under 
   4251  1.1.1.2.2.2  bouyer Windows.
   4252  1.1.1.2.2.2  bouyer 
   4253  1.1.1.2.2.2  bouyer Updated the Linux makefiles for the iASL compiler and AcpiExec to include 
   4254  1.1.1.2.2.2  bouyer the recently added file named "utresrc.c".
   4255  1.1.1.2.2.2  bouyer 
   4256  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4257  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4258  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4259  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4260  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4261  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4262  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4263  1.1.1.2.2.2  bouyer 
   4264  1.1.1.2.2.2  bouyer   Previous Release:
   4265  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
   4266  1.1.1.2.2.2  bouyer     Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
   4267  1.1.1.2.2.2  bouyer   Current Release:
   4268  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.3K Code, 12.3K Data,  88.6K Total
   4269  1.1.1.2.2.2  bouyer     Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
   4270  1.1.1.2.2.2  bouyer 
   4271  1.1.1.2.2.2  bouyer 
   4272  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4273  1.1.1.2.2.2  bouyer 
   4274  1.1.1.2.2.2  bouyer Removed the limit (200) on string objects as per the upcoming ACPI 3.0A 
   4275  1.1.1.2.2.2  bouyer specification. For the iASL compiler, this means that string literals within 
   4276  1.1.1.2.2.2  bouyer the source ASL can be of any length. 
   4277  1.1.1.2.2.2  bouyer 
   4278  1.1.1.2.2.2  bouyer Enhanced the listing output to dump the AML code for resource descriptors 
   4279  1.1.1.2.2.2  bouyer immediately after the ASL code for each descriptor, instead of in a block at 
   4280  1.1.1.2.2.2  bouyer the end of the entire resource template.
   4281  1.1.1.2.2.2  bouyer 
   4282  1.1.1.2.2.2  bouyer Enhanced the compiler debug output to dump the entire original parse tree 
   4283  1.1.1.2.2.2  bouyer constructed during the parse phase, before any transforms are applied to the 
   4284  1.1.1.2.2.2  bouyer tree. The transformed tree is dumped also.
   4285  1.1.1.2.2.2  bouyer 
   4286  1.1.1.2.2.2  bouyer ----------------------------------------
   4287  1.1.1.2.2.2  bouyer 02 November 2005. Summary of changes for version 20051102:
   4288  1.1.1.2.2.2  bouyer 
   4289  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4290  1.1.1.2.2.2  bouyer 
   4291  1.1.1.2.2.2  bouyer Modified the subsystem initialization sequence to improve GPE support. The 
   4292  1.1.1.2.2.2  bouyer GPE initialization has been split into two parts in order to defer execution 
   4293  1.1.1.2.2.2  bouyer of the _PRW methods (Power Resources for Wake) until after the hardware is 
   4294  1.1.1.2.2.2  bouyer fully initialized and the SCI handler is installed. This allows the _PRW 
   4295  1.1.1.2.2.2  bouyer methods to access fields protected by the Global Lock. This will fix systems 
   4296  1.1.1.2.2.2  bouyer where a NO_GLOBAL_LOCK exception has been seen during initialization.
   4297  1.1.1.2.2.2  bouyer 
   4298  1.1.1.2.2.2  bouyer Converted the ACPI internal object disassemble and display code within the 
   4299  1.1.1.2.2.2  bouyer AML debugger to fully table-driven operation, reducing code size and 
   4300  1.1.1.2.2.2  bouyer increasing maintainability.
   4301  1.1.1.2.2.2  bouyer 
   4302  1.1.1.2.2.2  bouyer Fixed a regression with the ConcatenateResTemplate() ASL operator introduced 
   4303  1.1.1.2.2.2  bouyer in the 20051021 release.
   4304  1.1.1.2.2.2  bouyer 
   4305  1.1.1.2.2.2  bouyer Implemented support for "local" internal ACPI object types within the 
   4306  1.1.1.2.2.2  bouyer debugger "Object" command and the AcpiWalkNamespace external interfaces. 
   4307  1.1.1.2.2.2  bouyer These local types include RegionFields, BankFields, IndexFields, Alias, and 
   4308  1.1.1.2.2.2  bouyer reference objects.
   4309  1.1.1.2.2.2  bouyer 
   4310  1.1.1.2.2.2  bouyer Moved common AML resource handling code into a new file, "utresrc.c". This 
   4311  1.1.1.2.2.2  bouyer code is shared by both the Resource Manager and the AML Debugger.
   4312  1.1.1.2.2.2  bouyer 
   4313  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4314  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4315  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4316  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4317  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4318  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4319  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4320  1.1.1.2.2.2  bouyer 
   4321  1.1.1.2.2.2  bouyer   Previous Release:
   4322  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
   4323  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
   4324  1.1.1.2.2.2  bouyer   Current Release:
   4325  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.2K Code, 12.3K Data,  88.5K Total
   4326  1.1.1.2.2.2  bouyer     Debug Version:     163.0K Code, 67.4K Data, 230.4K Total
   4327  1.1.1.2.2.2  bouyer 
   4328  1.1.1.2.2.2  bouyer 
   4329  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4330  1.1.1.2.2.2  bouyer 
   4331  1.1.1.2.2.2  bouyer Fixed a problem with very large initializer lists (more than 4000 elements) 
   4332  1.1.1.2.2.2  bouyer for both Buffer and Package objects where the parse stack could overflow.
   4333  1.1.1.2.2.2  bouyer 
   4334  1.1.1.2.2.2  bouyer Enhanced the pre-compile source code scan for non-ASCII characters to ignore 
   4335  1.1.1.2.2.2  bouyer characters within comment fields. The scan is now always performed and is no 
   4336  1.1.1.2.2.2  bouyer longer optional, detecting invalid characters within a source file 
   4337  1.1.1.2.2.2  bouyer immediately rather than during the parse phase or later.
   4338  1.1.1.2.2.2  bouyer 
   4339  1.1.1.2.2.2  bouyer Enhanced the ASL grammar definition to force early reductions on all list-
   4340  1.1.1.2.2.2  bouyer style grammar elements so that the overall parse stack usage is greatly 
   4341  1.1.1.2.2.2  bouyer reduced. This should improve performance and reduce the possibility of parse 
   4342  1.1.1.2.2.2  bouyer stack overflow.
   4343  1.1.1.2.2.2  bouyer 
   4344  1.1.1.2.2.2  bouyer Eliminated all reduce/reduce conflicts in the iASL parser generation. Also, 
   4345  1.1.1.2.2.2  bouyer with the addition of a %expected statement, the compiler generates from 
   4346  1.1.1.2.2.2  bouyer source with no warnings.
   4347  1.1.1.2.2.2  bouyer 
   4348  1.1.1.2.2.2  bouyer Fixed a possible segment fault in the disassembler if the input filename 
   4349  1.1.1.2.2.2  bouyer does not contain a "dot" extension (Thomas Renninger).
   4350  1.1.1.2.2.2  bouyer 
   4351  1.1.1.2.2.2  bouyer ----------------------------------------
   4352  1.1.1.2.2.2  bouyer 21 October 2005. Summary of changes for version 20051021:
   4353  1.1.1.2.2.2  bouyer 
   4354  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4355  1.1.1.2.2.2  bouyer 
   4356  1.1.1.2.2.2  bouyer Implemented support for the EM64T and other x86-64 processors. This 
   4357  1.1.1.2.2.2  bouyer essentially entails recognizing that these processors support non-aligned 
   4358  1.1.1.2.2.2  bouyer memory transfers. Previously, all 64-bit processors were assumed to lack 
   4359  1.1.1.2.2.2  bouyer hardware support for non-aligned transfers.
   4360  1.1.1.2.2.2  bouyer 
   4361  1.1.1.2.2.2  bouyer Completed conversion of the Resource Manager to nearly full table-driven 
   4362  1.1.1.2.2.2  bouyer operation. Specifically, the resource conversion code (convert AML to 
   4363  1.1.1.2.2.2  bouyer internal format and the reverse) and the debug code to dump internal 
   4364  1.1.1.2.2.2  bouyer resource descriptors are fully table-driven, reducing code and data size and 
   4365  1.1.1.2.2.2  bouyer improving maintainability.
   4366  1.1.1.2.2.2  bouyer 
   4367  1.1.1.2.2.2  bouyer The OSL interfaces for Acquire and Release Lock now use a 64-bit flag word 
   4368  1.1.1.2.2.2  bouyer on 64-bit processors instead of a fixed 32-bit word. (With assistance from 
   4369  1.1.1.2.2.2  bouyer Alexey Starikovskiy)
   4370  1.1.1.2.2.2  bouyer 
   4371  1.1.1.2.2.2  bouyer Implemented support within the resource conversion code for the Type-
   4372  1.1.1.2.2.2  bouyer Specific byte within the various ACPI 3.0 *WordSpace macros.
   4373  1.1.1.2.2.2  bouyer 
   4374  1.1.1.2.2.2  bouyer Fixed some issues within the resource conversion code for the type-specific 
   4375  1.1.1.2.2.2  bouyer flags for both Memory and I/O address resource descriptors. For Memory, 
   4376  1.1.1.2.2.2  bouyer implemented support for the MTP and TTP flags. For I/O, split the TRS and 
   4377  1.1.1.2.2.2  bouyer TTP flags into two separate fields.
   4378  1.1.1.2.2.2  bouyer 
   4379  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4380  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4381  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4382  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4383  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4384  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4385  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4386  1.1.1.2.2.2  bouyer 
   4387  1.1.1.2.2.2  bouyer   Previous Release:
   4388  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
   4389  1.1.1.2.2.2  bouyer     Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
   4390  1.1.1.2.2.2  bouyer   Current Release:
   4391  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.1K Code, 12.2K Data,  88.3K Total
   4392  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 67.0K Data, 230.5K Total
   4393  1.1.1.2.2.2  bouyer 
   4394  1.1.1.2.2.2  bouyer 
   4395  1.1.1.2.2.2  bouyer 
   4396  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4397  1.1.1.2.2.2  bouyer 
   4398  1.1.1.2.2.2  bouyer Relaxed a compiler restriction that disallowed a ResourceIndex byte if the 
   4399  1.1.1.2.2.2  bouyer corresponding ResourceSource string was not also present in a resource 
   4400  1.1.1.2.2.2  bouyer descriptor declaration. This restriction caused problems with existing 
   4401  1.1.1.2.2.2  bouyer AML/ASL code that includes the Index byte without the string. When such AML 
   4402  1.1.1.2.2.2  bouyer was disassembled, it could not be compiled without modification. Further, 
   4403  1.1.1.2.2.2  bouyer the modified code created a resource template with a different size than the 
   4404  1.1.1.2.2.2  bouyer original, breaking code that used fixed offsets into the resource template 
   4405  1.1.1.2.2.2  bouyer buffer.
   4406  1.1.1.2.2.2  bouyer 
   4407  1.1.1.2.2.2  bouyer Removed a recent feature of the disassembler to ignore a lone ResourceIndex 
   4408  1.1.1.2.2.2  bouyer byte. This byte is now emitted if present so that the exact AML can be 
   4409  1.1.1.2.2.2  bouyer reproduced when the disassembled code is recompiled.
   4410  1.1.1.2.2.2  bouyer 
   4411  1.1.1.2.2.2  bouyer Improved comments and text alignment for the resource descriptor code 
   4412  1.1.1.2.2.2  bouyer emitted by the disassembler.
   4413  1.1.1.2.2.2  bouyer 
   4414  1.1.1.2.2.2  bouyer Implemented disassembler support for the ACPI 3.0 AccessSize field within a 
   4415  1.1.1.2.2.2  bouyer Register() resource descriptor.
   4416  1.1.1.2.2.2  bouyer 
   4417  1.1.1.2.2.2  bouyer ----------------------------------------
   4418  1.1.1.2.2.2  bouyer 30 September 2005. Summary of changes for version 20050930:
   4419  1.1.1.2.2.2  bouyer 
   4420  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4421  1.1.1.2.2.2  bouyer 
   4422  1.1.1.2.2.2  bouyer Completed a major overhaul of the Resource Manager code - specifically, 
   4423  1.1.1.2.2.2  bouyer optimizations in the area of the AML/internal resource conversion code. The 
   4424  1.1.1.2.2.2  bouyer code has been optimized to simplify and eliminate duplicated code, CPU stack 
   4425  1.1.1.2.2.2  bouyer use has been decreased by optimizing function parameters and local 
   4426  1.1.1.2.2.2  bouyer variables, and naming conventions across the manager have been standardized 
   4427  1.1.1.2.2.2  bouyer for clarity and ease of maintenance (this includes function, parameter, 
   4428  1.1.1.2.2.2  bouyer variable, and struct/typedef names.) The update may force changes in some 
   4429  1.1.1.2.2.2  bouyer driver code, depending on how resources are handled by the host OS.
   4430  1.1.1.2.2.2  bouyer 
   4431  1.1.1.2.2.2  bouyer All Resource Manager dispatch and information tables have been moved to a 
   4432  1.1.1.2.2.2  bouyer single location for clarity and ease of maintenance. One new file was 
   4433  1.1.1.2.2.2  bouyer created, named "rsinfo.c".
   4434  1.1.1.2.2.2  bouyer 
   4435  1.1.1.2.2.2  bouyer The ACPI return macros (return_ACPI_STATUS, etc.) have been modified to 
   4436  1.1.1.2.2.2  bouyer guarantee that the argument is not evaluated twice, making them less prone 
   4437  1.1.1.2.2.2  bouyer to macro side-effects. However, since there exists the possibility of 
   4438  1.1.1.2.2.2  bouyer additional stack use if a particular compiler cannot optimize them (such as 
   4439  1.1.1.2.2.2  bouyer in the debug generation case), the original macros are optionally available.  
   4440  1.1.1.2.2.2  bouyer Note that some invocations of the return_VALUE macro may now cause size 
   4441  1.1.1.2.2.2  bouyer mismatch warnings; the return_UINT8 and return_UINT32 macros are provided to 
   4442  1.1.1.2.2.2  bouyer eliminate these. (From Randy Dunlap)
   4443  1.1.1.2.2.2  bouyer 
   4444  1.1.1.2.2.2  bouyer Implemented a new mechanism to enable debug tracing for individual control 
   4445  1.1.1.2.2.2  bouyer methods. A new external interface, AcpiDebugTrace, is provided to enable 
   4446  1.1.1.2.2.2  bouyer this mechanism. The intent is to allow the host OS to easily enable and 
   4447  1.1.1.2.2.2  bouyer disable tracing for problematic control methods. This interface can be 
   4448  1.1.1.2.2.2  bouyer easily exposed to a user or debugger interface if desired. See the file 
   4449  1.1.1.2.2.2  bouyer psxface.c for details.
   4450  1.1.1.2.2.2  bouyer 
   4451  1.1.1.2.2.2  bouyer AcpiUtCallocate will now return a valid pointer if a length of zero is 
   4452  1.1.1.2.2.2  bouyer specified - a length of one is used and a warning is issued. This matches 
   4453  1.1.1.2.2.2  bouyer the behavior of AcpiUtAllocate.
   4454  1.1.1.2.2.2  bouyer 
   4455  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4456  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4457  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4458  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4459  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4460  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4461  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4462  1.1.1.2.2.2  bouyer 
   4463  1.1.1.2.2.2  bouyer   Previous Release:
   4464  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
   4465  1.1.1.2.2.2  bouyer     Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
   4466  1.1.1.2.2.2  bouyer   Current Release:
   4467  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.1K Code, 12.1K Data,  89.2K Total
   4468  1.1.1.2.2.2  bouyer     Debug Version:     168.0K Code, 68.3K Data, 236.3K Total
   4469  1.1.1.2.2.2  bouyer 
   4470  1.1.1.2.2.2  bouyer 
   4471  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4472  1.1.1.2.2.2  bouyer 
   4473  1.1.1.2.2.2  bouyer A remark is issued if the effective compile-time length of a package or 
   4474  1.1.1.2.2.2  bouyer buffer is zero. Previously, this was a warning.
   4475  1.1.1.2.2.2  bouyer 
   4476  1.1.1.2.2.2  bouyer ----------------------------------------
   4477  1.1.1.2.2.2  bouyer 16 September 2005. Summary of changes for version 20050916:
   4478  1.1.1.2.2.2  bouyer 
   4479  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4480  1.1.1.2.2.2  bouyer 
   4481  1.1.1.2.2.2  bouyer Fixed a problem within the Resource Manager where support for the Generic 
   4482  1.1.1.2.2.2  bouyer Register descriptor was not fully implemented. This descriptor is now fully 
   4483  1.1.1.2.2.2  bouyer recognized, parsed, disassembled, and displayed.
   4484  1.1.1.2.2.2  bouyer 
   4485  1.1.1.2.2.2  bouyer Completely restructured the Resource Manager code to utilize table-driven 
   4486  1.1.1.2.2.2  bouyer dispatch and lookup, eliminating many of the large switch() statements. This 
   4487  1.1.1.2.2.2  bouyer reduces overall subsystem code size and code complexity. Affects the 
   4488  1.1.1.2.2.2  bouyer resource parsing and construction, disassembly, and debug dump output.
   4489  1.1.1.2.2.2  bouyer 
   4490  1.1.1.2.2.2  bouyer Cleaned up and restructured the debug dump output for all resource 
   4491  1.1.1.2.2.2  bouyer descriptors. Improved readability of the output and reduced code size.
   4492  1.1.1.2.2.2  bouyer 
   4493  1.1.1.2.2.2  bouyer Fixed a problem where changes to internal data structures caused the 
   4494  1.1.1.2.2.2  bouyer optional ACPI_MUTEX_DEBUG code to fail compilation if specified.
   4495  1.1.1.2.2.2  bouyer 
   4496  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous library sizes for the core 
   4497  1.1.1.2.2.2  bouyer subsystem are shown below. These are the code and data sizes for the 
   4498  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These 
   4499  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code. The debug version of the 
   4500  1.1.1.2.2.2  bouyer code includes the debug output trace mechanism and has a much larger code 
   4501  1.1.1.2.2.2  bouyer and data size. Note that these values will vary depending on the efficiency 
   4502  1.1.1.2.2.2  bouyer of the compiler and the compiler options used during generation.
   4503  1.1.1.2.2.2  bouyer 
   4504  1.1.1.2.2.2  bouyer   Previous Release:
   4505  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
   4506  1.1.1.2.2.2  bouyer     Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
   4507  1.1.1.2.2.2  bouyer   Current Release:
   4508  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.5K Code, 12.0K Data,  89.5K Total
   4509  1.1.1.2.2.2  bouyer     Debug Version:     168.1K Code, 68.4K Data, 236.5K Total
   4510  1.1.1.2.2.2  bouyer 
   4511  1.1.1.2.2.2  bouyer 
   4512  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4513  1.1.1.2.2.2  bouyer 
   4514  1.1.1.2.2.2  bouyer Updated the disassembler to automatically insert an EndDependentFn() macro 
   4515  1.1.1.2.2.2  bouyer into the ASL stream if this macro is missing in the original AML code, 
   4516  1.1.1.2.2.2  bouyer simplifying compilation of the resulting ASL module.
   4517  1.1.1.2.2.2  bouyer 
   4518  1.1.1.2.2.2  bouyer Fixed a problem in the disassembler where a disassembled ResourceSource 
   4519  1.1.1.2.2.2  bouyer string (within a large resource descriptor) was not surrounded by quotes and 
   4520  1.1.1.2.2.2  bouyer not followed by a comma, causing errors when the resulting ASL module was 
   4521  1.1.1.2.2.2  bouyer compiled. Also, escape sequences within a ResourceSource string are now 
   4522  1.1.1.2.2.2  bouyer handled correctly (especially "\\")
   4523  1.1.1.2.2.2  bouyer 
   4524  1.1.1.2.2.2  bouyer ----------------------------------------
   4525  1.1.1.2.2.2  bouyer 02 September 2005. Summary of changes for version 20050902:
   4526  1.1.1.2.2.2  bouyer 
   4527  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4528  1.1.1.2.2.2  bouyer 
   4529  1.1.1.2.2.2  bouyer Fixed a problem with the internal Owner ID allocation and deallocation 
   4530  1.1.1.2.2.2  bouyer mechanisms for control method execution and recursive method invocation. 
   4531  1.1.1.2.2.2  bouyer This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId" 
   4532  1.1.1.2.2.2  bouyer messages seen on some systems. Recursive method invocation depth is 
   4533  1.1.1.2.2.2  bouyer currently limited to 255. (Alexey Starikovskiy)
   4534  1.1.1.2.2.2  bouyer 
   4535  1.1.1.2.2.2  bouyer Completely eliminated all vestiges of support for the "module-level 
   4536  1.1.1.2.2.2  bouyer executable code" until this support is fully implemented and debugged. This 
   4537  1.1.1.2.2.2  bouyer should eliminate the NO_RETURN_VALUE exceptions seen during table load on 
   4538  1.1.1.2.2.2  bouyer some systems that invoke this support.
   4539  1.1.1.2.2.2  bouyer 
   4540  1.1.1.2.2.2  bouyer Fixed a problem within the resource manager code where the transaction flags 
   4541  1.1.1.2.2.2  bouyer for a 64-bit address descriptor were handled incorrectly in the type-
   4542  1.1.1.2.2.2  bouyer specific flag byte.
   4543  1.1.1.2.2.2  bouyer 
   4544  1.1.1.2.2.2  bouyer Consolidated duplicate code within the address descriptor resource manager 
   4545  1.1.1.2.2.2  bouyer code, reducing overall subsystem code size.
   4546  1.1.1.2.2.2  bouyer 
   4547  1.1.1.2.2.2  bouyer Fixed a fault when using the AML debugger "disassemble" command to 
   4548  1.1.1.2.2.2  bouyer disassemble individual control methods.
   4549  1.1.1.2.2.2  bouyer 
   4550  1.1.1.2.2.2  bouyer Removed references to the "release_current" directory within the Unix 
   4551  1.1.1.2.2.2  bouyer release package.
   4552  1.1.1.2.2.2  bouyer 
   4553  1.1.1.2.2.2  bouyer Code and Data Size: The current and previous core subsystem library sizes 
   4554  1.1.1.2.2.2  bouyer are shown below. These are the code and data sizes for the acpica.lib 
   4555  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler. These values do not 
   4556  1.1.1.2.2.2  bouyer include any ACPI driver or OSPM code. The debug version of the code includes 
   4557  1.1.1.2.2.2  bouyer the debug output trace mechanism and has a much larger code and data size. 
   4558  1.1.1.2.2.2  bouyer Note that these values will vary depending on the efficiency of the compiler 
   4559  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   4560  1.1.1.2.2.2  bouyer 
   4561  1.1.1.2.2.2  bouyer   Previous Release:
   4562  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
   4563  1.1.1.2.2.2  bouyer     Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
   4564  1.1.1.2.2.2  bouyer   Current Release:
   4565  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.4K Code, 11.8K Data,  90.2K Total
   4566  1.1.1.2.2.2  bouyer     Debug Version:     169.6K Code, 69.9K Data, 239.5K Total
   4567  1.1.1.2.2.2  bouyer 
   4568  1.1.1.2.2.2  bouyer 
   4569  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4570  1.1.1.2.2.2  bouyer 
   4571  1.1.1.2.2.2  bouyer Implemented an error check for illegal duplicate values in the interrupt and 
   4572  1.1.1.2.2.2  bouyer dma lists for the following ASL macros: Dma(), Irq(), IrqNoFlags(), and 
   4573  1.1.1.2.2.2  bouyer Interrupt().
   4574  1.1.1.2.2.2  bouyer 
   4575  1.1.1.2.2.2  bouyer Implemented error checking for the Irq() and IrqNoFlags() macros to detect 
   4576  1.1.1.2.2.2  bouyer too many values in the interrupt list (16 max) and invalid values in the 
   4577  1.1.1.2.2.2  bouyer list (range 0 - 15)
   4578  1.1.1.2.2.2  bouyer 
   4579  1.1.1.2.2.2  bouyer The maximum length string literal within an ASL file is now restricted to 
   4580  1.1.1.2.2.2  bouyer 200 characters as per the ACPI specification.
   4581  1.1.1.2.2.2  bouyer 
   4582  1.1.1.2.2.2  bouyer Fixed a fault when using the -ln option (generate namespace listing).
   4583  1.1.1.2.2.2  bouyer 
   4584  1.1.1.2.2.2  bouyer Implemented an error check to determine if a DescriptorName within a 
   4585  1.1.1.2.2.2  bouyer resource descriptor has already been used within the current scope.
   4586  1.1.1.2.2.2  bouyer 
   4587  1.1.1.2.2.2  bouyer ----------------------------------------
   4588  1.1.1.2.2.2  bouyer 15 August 2005.  Summary of changes for version 20050815:
   4589  1.1.1.2.2.2  bouyer  
   4590  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4591  1.1.1.2.2.2  bouyer  
   4592  1.1.1.2.2.2  bouyer Implemented a full bytewise compare to determine if a table load request is 
   4593  1.1.1.2.2.2  bouyer attempting to load a duplicate table. The compare is performed if the table 
   4594  1.1.1.2.2.2  bouyer signatures and table lengths match. This will allow different tables with 
   4595  1.1.1.2.2.2  bouyer the same OEM Table ID and revision to be loaded - probably against the ACPI 
   4596  1.1.1.2.2.2  bouyer specification, but discovered in the field nonetheless.
   4597  1.1.1.2.2.2  bouyer  
   4598  1.1.1.2.2.2  bouyer Added the changes.txt logfile to each of the zipped release packages.
   4599  1.1.1.2.2.2  bouyer  
   4600  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4601  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4602  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4603  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4604  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4605  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4606  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4607  1.1.1.2.2.2  bouyer  
   4608  1.1.1.2.2.2  bouyer   Previous Release:
   4609  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
   4610  1.1.1.2.2.2  bouyer     Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
   4611  1.1.1.2.2.2  bouyer   Current Release:
   4612  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
   4613  1.1.1.2.2.2  bouyer     Debug Version:     170.0K Code, 69.9K Data, 239.9K Total
   4614  1.1.1.2.2.2  bouyer  
   4615  1.1.1.2.2.2  bouyer  
   4616  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4617  1.1.1.2.2.2  bouyer  
   4618  1.1.1.2.2.2  bouyer Fixed a problem where incorrect AML code could be generated for Package 
   4619  1.1.1.2.2.2  bouyer objects if optimization is disabled (via the -oa switch).
   4620  1.1.1.2.2.2  bouyer  
   4621  1.1.1.2.2.2  bouyer Fixed a problem with where incorrect AML code is generated for variable-
   4622  1.1.1.2.2.2  bouyer length packages when the package length is not specified and the number of 
   4623  1.1.1.2.2.2  bouyer initializer values is greater than 255.
   4624  1.1.1.2.2.2  bouyer  
   4625  1.1.1.2.2.2  bouyer 
   4626  1.1.1.2.2.2  bouyer ----------------------------------------
   4627  1.1.1.2.2.2  bouyer 29 July 2005.  Summary of changes for version 20050729:
   4628  1.1.1.2.2.2  bouyer 
   4629  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4630  1.1.1.2.2.2  bouyer 
   4631  1.1.1.2.2.2  bouyer Implemented support to ignore an attempt to install/load a particular ACPI 
   4632  1.1.1.2.2.2  bouyer table more than once. Apparently there exists BIOS code that repeatedly 
   4633  1.1.1.2.2.2  bouyer attempts to load the same SSDT upon certain events. With assistance from 
   4634  1.1.1.2.2.2  bouyer Venkatesh Pallipadi.
   4635  1.1.1.2.2.2  bouyer 
   4636  1.1.1.2.2.2  bouyer Restructured the main interface to the AML parser in order to correctly 
   4637  1.1.1.2.2.2  bouyer handle all exceptional conditions. This will prevent leakage of the OwnerId 
   4638  1.1.1.2.2.2  bouyer resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on some 
   4639  1.1.1.2.2.2  bouyer machines. With assistance from Alexey Starikovskiy.
   4640  1.1.1.2.2.2  bouyer 
   4641  1.1.1.2.2.2  bouyer Support for "module level code" has been disabled in this version due to a 
   4642  1.1.1.2.2.2  bouyer number of issues that have appeared on various machines. The support can be 
   4643  1.1.1.2.2.2  bouyer enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem 
   4644  1.1.1.2.2.2  bouyer compilation. When the issues are fully resolved, the code will be enabled by 
   4645  1.1.1.2.2.2  bouyer default again.
   4646  1.1.1.2.2.2  bouyer 
   4647  1.1.1.2.2.2  bouyer Modified the internal functions for debug print support to define the 
   4648  1.1.1.2.2.2  bouyer FunctionName parameter as a (const char *) for compatibility with compiler 
   4649  1.1.1.2.2.2  bouyer built-in macros such as __FUNCTION__, etc.
   4650  1.1.1.2.2.2  bouyer 
   4651  1.1.1.2.2.2  bouyer Linted the entire ACPICA source tree for both 32-bit and 64-bit.
   4652  1.1.1.2.2.2  bouyer 
   4653  1.1.1.2.2.2  bouyer Implemented support to display an object count summary for the AML Debugger 
   4654  1.1.1.2.2.2  bouyer commands Object and Methods.
   4655  1.1.1.2.2.2  bouyer 
   4656  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4657  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4658  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4659  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4660  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4661  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4662  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4663  1.1.1.2.2.2  bouyer 
   4664  1.1.1.2.2.2  bouyer   Previous Release:
   4665  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
   4666  1.1.1.2.2.2  bouyer     Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
   4667  1.1.1.2.2.2  bouyer   Current Release:
   4668  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.7K Data,  90.3K Total
   4669  1.1.1.2.2.2  bouyer     Debug Version:     167.0K Code, 69.9K Data, 236.9K Total
   4670  1.1.1.2.2.2  bouyer 
   4671  1.1.1.2.2.2  bouyer 
   4672  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4673  1.1.1.2.2.2  bouyer 
   4674  1.1.1.2.2.2  bouyer Fixed a regression that appeared in the 20050708 version of the compiler 
   4675  1.1.1.2.2.2  bouyer where an error message was inadvertently emitted for invocations of the _OSI 
   4676  1.1.1.2.2.2  bouyer reserved control method.
   4677  1.1.1.2.2.2  bouyer 
   4678  1.1.1.2.2.2  bouyer ----------------------------------------
   4679  1.1.1.2.2.2  bouyer 08 July 2005.  Summary of changes for version 20050708:
   4680  1.1.1.2.2.2  bouyer 
   4681  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4682  1.1.1.2.2.2  bouyer 
   4683  1.1.1.2.2.2  bouyer The use of the CPU stack in the debug version of the subsystem has been 
   4684  1.1.1.2.2.2  bouyer considerably reduced. Previously, a debug structure was declared in every 
   4685  1.1.1.2.2.2  bouyer function that used the debug macros. This structure has been removed in 
   4686  1.1.1.2.2.2  bouyer favor of declaring the individual elements as parameters to the debug 
   4687  1.1.1.2.2.2  bouyer functions. This reduces the cumulative stack use during nested execution of 
   4688  1.1.1.2.2.2  bouyer ACPI function calls at the cost of a small increase in the code size of the 
   4689  1.1.1.2.2.2  bouyer debug version of the subsystem. With assistance from Alexey Starikovskiy and 
   4690  1.1.1.2.2.2  bouyer Len Brown.
   4691  1.1.1.2.2.2  bouyer 
   4692  1.1.1.2.2.2  bouyer Added the ACPI_GET_FUNCTION_NAME macro to enable the compiler-dependent 
   4693  1.1.1.2.2.2  bouyer headers to define a macro that will return the current function name at 
   4694  1.1.1.2.2.2  bouyer runtime (such as __FUNCTION__ or _func_, etc.) The function name is used by 
   4695  1.1.1.2.2.2  bouyer the debug trace output. If ACPI_GET_FUNCTION_NAME is not defined in the 
   4696  1.1.1.2.2.2  bouyer compiler-dependent header, the function name is saved on the CPU stack (one 
   4697  1.1.1.2.2.2  bouyer pointer per function.) This mechanism is used because apparently there 
   4698  1.1.1.2.2.2  bouyer exists no standard ANSI-C defined macro that that returns the function name.
   4699  1.1.1.2.2.2  bouyer 
   4700  1.1.1.2.2.2  bouyer Redesigned and reimplemented the "Owner ID" mechanism used to track 
   4701  1.1.1.2.2.2  bouyer namespace objects created/deleted by ACPI tables and control method 
   4702  1.1.1.2.2.2  bouyer execution. A bitmap is now used to allocate and free the IDs, thus solving 
   4703  1.1.1.2.2.2  bouyer the wraparound problem present in the previous implementation. The size of 
   4704  1.1.1.2.2.2  bouyer the namespace node descriptor was reduced by 2 bytes as a result (Alexey 
   4705  1.1.1.2.2.2  bouyer Starikovskiy).
   4706  1.1.1.2.2.2  bouyer 
   4707  1.1.1.2.2.2  bouyer Removed the UINT32_BIT and UINT16_BIT types that were used for the bitfield 
   4708  1.1.1.2.2.2  bouyer flag definitions within the headers for the predefined ACPI tables. These 
   4709  1.1.1.2.2.2  bouyer have been replaced by UINT8_BIT in order to increase the code portability of 
   4710  1.1.1.2.2.2  bouyer the subsystem. If the use of UINT8 remains a problem, we may be forced to 
   4711  1.1.1.2.2.2  bouyer eliminate bitfields entirely because of a lack of portability.
   4712  1.1.1.2.2.2  bouyer 
   4713  1.1.1.2.2.2  bouyer Enhanced the performance of the AcpiUtUpdateObjectReference procedure. This 
   4714  1.1.1.2.2.2  bouyer is a frequently used function and this improvement increases the performance 
   4715  1.1.1.2.2.2  bouyer of the entire subsystem (Alexey Starikovskiy).
   4716  1.1.1.2.2.2  bouyer 
   4717  1.1.1.2.2.2  bouyer Fixed several possible memory leaks and the inverse - premature object 
   4718  1.1.1.2.2.2  bouyer deletion (Alexey Starikovskiy).
   4719  1.1.1.2.2.2  bouyer 
   4720  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4721  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4722  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4723  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4724  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4725  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4726  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4727  1.1.1.2.2.2  bouyer 
   4728  1.1.1.2.2.2  bouyer   Previous Release:
   4729  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
   4730  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
   4731  1.1.1.2.2.2  bouyer   Current Release:
   4732  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.6K Data,  90.2K Total
   4733  1.1.1.2.2.2  bouyer     Debug Version:     170.0K Code, 69.7K Data, 239.7K Total
   4734  1.1.1.2.2.2  bouyer 
   4735  1.1.1.2.2.2  bouyer ----------------------------------------
   4736  1.1.1.2.2.2  bouyer 24 June 2005.  Summary of changes for version 20050624:
   4737  1.1.1.2.2.2  bouyer 
   4738  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4739  1.1.1.2.2.2  bouyer 
   4740  1.1.1.2.2.2  bouyer Modified the new OSL cache interfaces to use ACPI_CACHE_T as the type for 
   4741  1.1.1.2.2.2  bouyer the host-defined cache object. This allows the OSL implementation to define 
   4742  1.1.1.2.2.2  bouyer and type this object in any manner desired, simplifying the OSL 
   4743  1.1.1.2.2.2  bouyer implementation. For example, ACPI_CACHE_T is defined as kmem_cache_t for 
   4744  1.1.1.2.2.2  bouyer Linux, and should be defined in the OS-specific header file for other 
   4745  1.1.1.2.2.2  bouyer operating systems as required.
   4746  1.1.1.2.2.2  bouyer 
   4747  1.1.1.2.2.2  bouyer Changed the interface to AcpiOsAcquireObject to directly return the 
   4748  1.1.1.2.2.2  bouyer requested object as the function return (instead of ACPI_STATUS.) This 
   4749  1.1.1.2.2.2  bouyer change was made for performance reasons, since this is the purpose of the 
   4750  1.1.1.2.2.2  bouyer interface in the first place. AcpiOsAcquireObject is now similar to the 
   4751  1.1.1.2.2.2  bouyer AcpiOsAllocate interface.
   4752  1.1.1.2.2.2  bouyer 
   4753  1.1.1.2.2.2  bouyer Implemented a new AML debugger command named Businfo. This command displays 
   4754  1.1.1.2.2.2  bouyer information about all devices that have an associate _PRT object. The _ADR, 
   4755  1.1.1.2.2.2  bouyer _HID, _UID, and _CID are displayed for these devices.
   4756  1.1.1.2.2.2  bouyer 
   4757  1.1.1.2.2.2  bouyer Modified the initialization sequence in AcpiInitializeSubsystem to call the 
   4758  1.1.1.2.2.2  bouyer OSL interface AcpiOslInitialize first, before any local initialization. This 
   4759  1.1.1.2.2.2  bouyer change was required because the global initialization now calls OSL 
   4760  1.1.1.2.2.2  bouyer interfaces.
   4761  1.1.1.2.2.2  bouyer 
   4762  1.1.1.2.2.2  bouyer Enhanced the Dump command to display the entire contents of Package objects 
   4763  1.1.1.2.2.2  bouyer (including all sub-objects and their values.) 
   4764  1.1.1.2.2.2  bouyer 
   4765  1.1.1.2.2.2  bouyer Restructured the code base to split some files because of size and/or 
   4766  1.1.1.2.2.2  bouyer because the code logically belonged in a separate file. New files are listed 
   4767  1.1.1.2.2.2  bouyer below. All makefiles and project files included in the ACPI CA release have 
   4768  1.1.1.2.2.2  bouyer been updated.
   4769  1.1.1.2.2.2  bouyer     utilities/utcache.c           /* Local cache interfaces */
   4770  1.1.1.2.2.2  bouyer     utilities/utmutex.c           /* Local mutex support */
   4771  1.1.1.2.2.2  bouyer     utilities/utstate.c           /* State object support */
   4772  1.1.1.2.2.2  bouyer     interpreter/parser/psloop.c   /* Main AML parse loop */
   4773  1.1.1.2.2.2  bouyer 
   4774  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4775  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4776  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4777  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4778  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4779  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4780  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4781  1.1.1.2.2.2  bouyer 
   4782  1.1.1.2.2.2  bouyer   Previous Release:
   4783  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
   4784  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
   4785  1.1.1.2.2.2  bouyer   Current Release:
   4786  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.6K Code, 11.5K Data,  90.1K Total
   4787  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code, 69.6K Data, 234.8K Total
   4788  1.1.1.2.2.2  bouyer 
   4789  1.1.1.2.2.2  bouyer 
   4790  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4791  1.1.1.2.2.2  bouyer 
   4792  1.1.1.2.2.2  bouyer Fixed a regression introduced in version 20050513 where the use of a Package 
   4793  1.1.1.2.2.2  bouyer object within a Case() statement caused a compile time exception. The 
   4794  1.1.1.2.2.2  bouyer original behavior has been restored (a Match() operator is emitted.)
   4795  1.1.1.2.2.2  bouyer 
   4796  1.1.1.2.2.2  bouyer ----------------------------------------
   4797  1.1.1.2.2.2  bouyer 17 June 2005.  Summary of changes for version 20050617:
   4798  1.1.1.2.2.2  bouyer 
   4799  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4800  1.1.1.2.2.2  bouyer 
   4801  1.1.1.2.2.2  bouyer Moved the object cache operations into the OS interface layer (OSL) to allow 
   4802  1.1.1.2.2.2  bouyer the host OS to handle these operations if desired (for example, the Linux 
   4803  1.1.1.2.2.2  bouyer OSL will invoke the slab allocator). This support is optional; the compile 
   4804  1.1.1.2.2.2  bouyer time define ACPI_USE_LOCAL_CACHE may be used to utilize the original cache 
   4805  1.1.1.2.2.2  bouyer code in the ACPI CA core. The new OSL interfaces are shown below. See 
   4806  1.1.1.2.2.2  bouyer utalloc.c for an example implementation, and acpiosxf.h for the exact 
   4807  1.1.1.2.2.2  bouyer interface definitions. With assistance from Alexey Starikovskiy.
   4808  1.1.1.2.2.2  bouyer     AcpiOsCreateCache
   4809  1.1.1.2.2.2  bouyer     AcpiOsDeleteCache
   4810  1.1.1.2.2.2  bouyer     AcpiOsPurgeCache
   4811  1.1.1.2.2.2  bouyer     AcpiOsAcquireObject
   4812  1.1.1.2.2.2  bouyer     AcpiOsReleaseObject
   4813  1.1.1.2.2.2  bouyer 
   4814  1.1.1.2.2.2  bouyer Modified the interfaces to AcpiOsAcquireLock and AcpiOsReleaseLock to return 
   4815  1.1.1.2.2.2  bouyer and restore a flags parameter. This fits better with many OS lock models. 
   4816  1.1.1.2.2.2  bouyer Note: the current execution state (interrupt handler or not) is no longer 
   4817  1.1.1.2.2.2  bouyer passed to these interfaces. If necessary, the OSL must determine this state 
   4818  1.1.1.2.2.2  bouyer by itself, a simple and fast operation. With assistance from Alexey 
   4819  1.1.1.2.2.2  bouyer Starikovskiy.
   4820  1.1.1.2.2.2  bouyer 
   4821  1.1.1.2.2.2  bouyer Fixed a problem in the ACPI table handling where a valid XSDT was assumed 
   4822  1.1.1.2.2.2  bouyer present if the revision of the RSDP was 2 or greater. According to the ACPI 
   4823  1.1.1.2.2.2  bouyer specification, the XSDT is optional in all cases, and the table manager 
   4824  1.1.1.2.2.2  bouyer therefore now checks for both an RSDP >=2 and a valid XSDT pointer. 
   4825  1.1.1.2.2.2  bouyer Otherwise, the RSDT pointer is used. Some ACPI 2.0 compliant BIOSs contain 
   4826  1.1.1.2.2.2  bouyer only the RSDT.
   4827  1.1.1.2.2.2  bouyer 
   4828  1.1.1.2.2.2  bouyer Fixed an interpreter problem with the Mid() operator in the case of an input 
   4829  1.1.1.2.2.2  bouyer string where the resulting output string is of zero length. It now correctly 
   4830  1.1.1.2.2.2  bouyer returns a valid, null terminated string object instead of a string object 
   4831  1.1.1.2.2.2  bouyer with a null pointer.
   4832  1.1.1.2.2.2  bouyer 
   4833  1.1.1.2.2.2  bouyer Fixed a problem with the control method argument handling to allow a store 
   4834  1.1.1.2.2.2  bouyer to an Arg object that already contains an object of type Device. The Device 
   4835  1.1.1.2.2.2  bouyer object is now correctly overwritten. Previously, an error was returned.
   4836  1.1.1.2.2.2  bouyer 
   4837  1.1.1.2.2.2  bouyer 
   4838  1.1.1.2.2.2  bouyer Enhanced the debugger Find command to emit object values in addition to the 
   4839  1.1.1.2.2.2  bouyer found object pathnames. The output format is the same as the dump namespace 
   4840  1.1.1.2.2.2  bouyer command.
   4841  1.1.1.2.2.2  bouyer 
   4842  1.1.1.2.2.2  bouyer Enhanced the debugger Set command. It now has the ability to set the value 
   4843  1.1.1.2.2.2  bouyer of any Named integer object in the namespace (Previously, only method locals 
   4844  1.1.1.2.2.2  bouyer and args could be set.)
   4845  1.1.1.2.2.2  bouyer 
   4846  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4847  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4848  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4849  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4850  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4851  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4852  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4853  1.1.1.2.2.2  bouyer 
   4854  1.1.1.2.2.2  bouyer   Previous Release:
   4855  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
   4856  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
   4857  1.1.1.2.2.2  bouyer   Current Release:
   4858  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.6K Data,  89.9K Total
   4859  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 69.1K Data, 233.1K Total
   4860  1.1.1.2.2.2  bouyer 
   4861  1.1.1.2.2.2  bouyer 
   4862  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4863  1.1.1.2.2.2  bouyer 
   4864  1.1.1.2.2.2  bouyer Fixed a regression in the disassembler where if/else/while constructs were 
   4865  1.1.1.2.2.2  bouyer output incorrectly. This problem was introduced in the previous release 
   4866  1.1.1.2.2.2  bouyer (20050526). This problem also affected the single-step disassembly in the 
   4867  1.1.1.2.2.2  bouyer debugger.
   4868  1.1.1.2.2.2  bouyer 
   4869  1.1.1.2.2.2  bouyer Fixed a problem where compiling the reserved _OSI method would randomly (but 
   4870  1.1.1.2.2.2  bouyer rarely) produce compile errors.
   4871  1.1.1.2.2.2  bouyer 
   4872  1.1.1.2.2.2  bouyer Enhanced the disassembler to emit compilable code in the face of incorrect 
   4873  1.1.1.2.2.2  bouyer AML resource descriptors. If the optional ResourceSourceIndex is present, 
   4874  1.1.1.2.2.2  bouyer but the ResourceSource is not, do not emit the ResourceSourceIndex in the 
   4875  1.1.1.2.2.2  bouyer disassembly. Otherwise, the resulting code cannot be compiled without 
   4876  1.1.1.2.2.2  bouyer errors.
   4877  1.1.1.2.2.2  bouyer 
   4878  1.1.1.2.2.2  bouyer ----------------------------------------
   4879  1.1.1.2.2.2  bouyer 26 May 2005.  Summary of changes for version 20050526:
   4880  1.1.1.2.2.2  bouyer 
   4881  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4882  1.1.1.2.2.2  bouyer 
   4883  1.1.1.2.2.2  bouyer Implemented support to execute Type 1 and Type 2 AML opcodes appearing at 
   4884  1.1.1.2.2.2  bouyer the module level (not within a control method.) These opcodes are executed 
   4885  1.1.1.2.2.2  bouyer exactly once at the time the table is loaded. This type of code was legal up 
   4886  1.1.1.2.2.2  bouyer until the release of ACPI 2.0B (2002) and is now supported within ACPI CA in 
   4887  1.1.1.2.2.2  bouyer order to provide backwards compatibility with earlier BIOS implementations. 
   4888  1.1.1.2.2.2  bouyer This eliminates the "Encountered executable code at module level" warning 
   4889  1.1.1.2.2.2  bouyer that was previously generated upon detection of such code.
   4890  1.1.1.2.2.2  bouyer 
   4891  1.1.1.2.2.2  bouyer Fixed a problem in the interpreter where an AE_NOT_FOUND exception could 
   4892  1.1.1.2.2.2  bouyer inadvertently be generated during the lookup of namespace objects in the 
   4893  1.1.1.2.2.2  bouyer second pass parse of ACPI tables and control methods. It appears that this 
   4894  1.1.1.2.2.2  bouyer problem could occur during the resolution of forward references to namespace 
   4895  1.1.1.2.2.2  bouyer objects.
   4896  1.1.1.2.2.2  bouyer 
   4897  1.1.1.2.2.2  bouyer Added the ACPI_MUTEX_DEBUG #ifdef to the AcpiUtReleaseMutex function, 
   4898  1.1.1.2.2.2  bouyer corresponding to the same #ifdef in the AcpiUtAcquireMutex function. This 
   4899  1.1.1.2.2.2  bouyer allows the deadlock detection debug code to be compiled out in the normal 
   4900  1.1.1.2.2.2  bouyer case, improving mutex performance (and overall subsystem performance) 
   4901  1.1.1.2.2.2  bouyer considerably.
   4902  1.1.1.2.2.2  bouyer 
   4903  1.1.1.2.2.2  bouyer Implemented a handful of miscellaneous fixes for possible memory leaks on 
   4904  1.1.1.2.2.2  bouyer error conditions and error handling control paths. These fixes were 
   4905  1.1.1.2.2.2  bouyer suggested by FreeBSD and the Coverity Prevent source code analysis tool.
   4906  1.1.1.2.2.2  bouyer 
   4907  1.1.1.2.2.2  bouyer Added a check for a null RSDT pointer in AcpiGetFirmwareTable (tbxfroot.c) 
   4908  1.1.1.2.2.2  bouyer to prevent a fault in this error case.
   4909  1.1.1.2.2.2  bouyer 
   4910  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4911  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4912  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4913  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4914  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4915  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4916  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4917  1.1.1.2.2.2  bouyer 
   4918  1.1.1.2.2.2  bouyer   Previous Release:
   4919  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
   4920  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
   4921  1.1.1.2.2.2  bouyer   Current Release:
   4922  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code, 11.6K Data,  89.7K Total
   4923  1.1.1.2.2.2  bouyer     Debug Version:     164.0K Code, 69.3K Data, 233.3K Total
   4924  1.1.1.2.2.2  bouyer 
   4925  1.1.1.2.2.2  bouyer 
   4926  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4927  1.1.1.2.2.2  bouyer 
   4928  1.1.1.2.2.2  bouyer Implemented support to allow Type 1 and Type 2 ASL operators to appear at 
   4929  1.1.1.2.2.2  bouyer the module level (not within a control method.) These operators will be 
   4930  1.1.1.2.2.2  bouyer executed once at the time the table is loaded. This type of code was legal 
   4931  1.1.1.2.2.2  bouyer up until the release of ACPI 2.0B (2002) and is now supported by the iASL 
   4932  1.1.1.2.2.2  bouyer compiler in order to provide backwards compatibility with earlier BIOS ASL 
   4933  1.1.1.2.2.2  bouyer code.
   4934  1.1.1.2.2.2  bouyer 
   4935  1.1.1.2.2.2  bouyer The ACPI integer width (specified via the table revision ID or the -r 
   4936  1.1.1.2.2.2  bouyer override, 32 or 64 bits) is now used internally during compile-time constant 
   4937  1.1.1.2.2.2  bouyer folding to ensure that constants are truncated to 32 bits if necessary. 
   4938  1.1.1.2.2.2  bouyer Previously, the revision ID value was only emitted in the AML table header.
   4939  1.1.1.2.2.2  bouyer 
   4940  1.1.1.2.2.2  bouyer An error message is now generated for the Mutex and Method operators if the 
   4941  1.1.1.2.2.2  bouyer SyncLevel parameter is outside the legal range of 0 through 15.
   4942  1.1.1.2.2.2  bouyer 
   4943  1.1.1.2.2.2  bouyer Fixed a problem with the Method operator ParameterTypes list handling (ACPI 
   4944  1.1.1.2.2.2  bouyer 3.0). Previously, more than 2 types or 2 arguments generated a syntax error.  
   4945  1.1.1.2.2.2  bouyer The actual underlying implementation of method argument typechecking is 
   4946  1.1.1.2.2.2  bouyer still under development, however.
   4947  1.1.1.2.2.2  bouyer 
   4948  1.1.1.2.2.2  bouyer ----------------------------------------
   4949  1.1.1.2.2.2  bouyer 13 May 2005.  Summary of changes for version 20050513:
   4950  1.1.1.2.2.2  bouyer 
   4951  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   4952  1.1.1.2.2.2  bouyer 
   4953  1.1.1.2.2.2  bouyer Implemented support for PCI Express root bridges -- added support for device 
   4954  1.1.1.2.2.2  bouyer PNP0A08 in the root bridge search within AcpiEvPciConfigRegionSetup.
   4955  1.1.1.2.2.2  bouyer 
   4956  1.1.1.2.2.2  bouyer The interpreter now automatically truncates incoming 64-bit constants to 32 
   4957  1.1.1.2.2.2  bouyer bits if currently executing out of a 32-bit ACPI table (Revision < 2). This 
   4958  1.1.1.2.2.2  bouyer also affects the iASL compiler constant folding. (Note: as per below, the 
   4959  1.1.1.2.2.2  bouyer iASL compiler no longer allows 64-bit constants within 32-bit tables.)
   4960  1.1.1.2.2.2  bouyer 
   4961  1.1.1.2.2.2  bouyer Fixed a problem where string and buffer objects with "static" pointers 
   4962  1.1.1.2.2.2  bouyer (pointers to initialization data within an ACPI table) were not handled 
   4963  1.1.1.2.2.2  bouyer consistently. The internal object copy operation now always copies the data 
   4964  1.1.1.2.2.2  bouyer to a newly allocated buffer, regardless of whether the source object is 
   4965  1.1.1.2.2.2  bouyer static or not.
   4966  1.1.1.2.2.2  bouyer 
   4967  1.1.1.2.2.2  bouyer Fixed a problem with the FromBCD operator where an implicit result 
   4968  1.1.1.2.2.2  bouyer conversion was improperly performed while storing the result to the target 
   4969  1.1.1.2.2.2  bouyer operand. Since this is an "explicit conversion" operator, the implicit 
   4970  1.1.1.2.2.2  bouyer conversion should never be performed on the output.
   4971  1.1.1.2.2.2  bouyer 
   4972  1.1.1.2.2.2  bouyer Fixed a problem with the CopyObject operator where a copy to an existing 
   4973  1.1.1.2.2.2  bouyer named object did not always completely overwrite the existing object stored 
   4974  1.1.1.2.2.2  bouyer at name. Specifically, a buffer-to-buffer copy did not delete the existing 
   4975  1.1.1.2.2.2  bouyer buffer.
   4976  1.1.1.2.2.2  bouyer 
   4977  1.1.1.2.2.2  bouyer Replaced "InterruptLevel" with "InterruptNumber" in all GPE interfaces and 
   4978  1.1.1.2.2.2  bouyer structs for consistency.
   4979  1.1.1.2.2.2  bouyer 
   4980  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   4981  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   4982  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   4983  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   4984  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   4985  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   4986  1.1.1.2.2.2  bouyer the compiler options used during generation.
   4987  1.1.1.2.2.2  bouyer 
   4988  1.1.1.2.2.2  bouyer   Previous Release:
   4989  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
   4990  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
   4991  1.1.1.2.2.2  bouyer   Current Release: (Same sizes)
   4992  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
   4993  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
   4994  1.1.1.2.2.2  bouyer 
   4995  1.1.1.2.2.2  bouyer 
   4996  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   4997  1.1.1.2.2.2  bouyer 
   4998  1.1.1.2.2.2  bouyer The compiler now emits a warning if an attempt is made to generate a 64-bit 
   4999  1.1.1.2.2.2  bouyer integer constant from within a 32-bit ACPI table (Revision < 2). The integer 
   5000  1.1.1.2.2.2  bouyer is truncated to 32 bits.
   5001  1.1.1.2.2.2  bouyer 
   5002  1.1.1.2.2.2  bouyer Fixed a problem with large package objects: if the static length of the 
   5003  1.1.1.2.2.2  bouyer package is greater than 255, the "variable length package" opcode is 
   5004  1.1.1.2.2.2  bouyer emitted. Previously, this caused an error. This requires an update to the 
   5005  1.1.1.2.2.2  bouyer ACPI spec, since it currently (incorrectly) states that packages larger than 
   5006  1.1.1.2.2.2  bouyer 255 elements are not allowed.
   5007  1.1.1.2.2.2  bouyer 
   5008  1.1.1.2.2.2  bouyer The disassembler now correctly handles variable length packages and packages 
   5009  1.1.1.2.2.2  bouyer larger than 255 elements.
   5010  1.1.1.2.2.2  bouyer 
   5011  1.1.1.2.2.2  bouyer ----------------------------------------
   5012  1.1.1.2.2.2  bouyer 08 April 2005.  Summary of changes for version 20050408:
   5013  1.1.1.2.2.2  bouyer 
   5014  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5015  1.1.1.2.2.2  bouyer 
   5016  1.1.1.2.2.2  bouyer Fixed three cases in the interpreter where an "index" argument to an ASL 
   5017  1.1.1.2.2.2  bouyer function was still (internally) 32 bits instead of the required 64 bits. 
   5018  1.1.1.2.2.2  bouyer This was the Index argument to the Index, Mid, and Match operators.
   5019  1.1.1.2.2.2  bouyer 
   5020  1.1.1.2.2.2  bouyer The "strupr" function is now permanently local (AcpiUtStrupr), since this is 
   5021  1.1.1.2.2.2  bouyer not a POSIX-defined function and not present in most kernel-level C 
   5022  1.1.1.2.2.2  bouyer libraries. All references to the C library strupr function have been removed 
   5023  1.1.1.2.2.2  bouyer from the headers.
   5024  1.1.1.2.2.2  bouyer 
   5025  1.1.1.2.2.2  bouyer Completed the deployment of static functions/prototypes. All prototypes with 
   5026  1.1.1.2.2.2  bouyer the static attribute have been moved from the headers to the owning C file.
   5027  1.1.1.2.2.2  bouyer 
   5028  1.1.1.2.2.2  bouyer Implemented an extract option (-e) for the AcpiBin utility (AML binary 
   5029  1.1.1.2.2.2  bouyer utility). This option allows the utility to extract individual ACPI tables 
   5030  1.1.1.2.2.2  bouyer from the output of AcpiDmp. It provides the same functionality of the 
   5031  1.1.1.2.2.2  bouyer acpixtract.pl perl script without the worry of setting the correct perl 
   5032  1.1.1.2.2.2  bouyer options. AcpiBin runs on Windows and has not yet been generated/validated in 
   5033  1.1.1.2.2.2  bouyer the Linux/Unix environment (but should be soon).
   5034  1.1.1.2.2.2  bouyer  
   5035  1.1.1.2.2.2  bouyer Updated and fixed the table dump option for AcpiBin (-d). This option 
   5036  1.1.1.2.2.2  bouyer converts a single ACPI table to a hex/ascii file, similar to the output of 
   5037  1.1.1.2.2.2  bouyer AcpiDmp.
   5038  1.1.1.2.2.2  bouyer 
   5039  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5040  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5041  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5042  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5043  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5044  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5045  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5046  1.1.1.2.2.2  bouyer 
   5047  1.1.1.2.2.2  bouyer   Previous Release:
   5048  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
   5049  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
   5050  1.1.1.2.2.2  bouyer   Current Release:
   5051  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.6K Data,  89.8K Total
   5052  1.1.1.2.2.2  bouyer     Debug Version:     163.7K Code, 69.3K Data, 233.0K Total
   5053  1.1.1.2.2.2  bouyer 
   5054  1.1.1.2.2.2  bouyer 
   5055  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5056  1.1.1.2.2.2  bouyer 
   5057  1.1.1.2.2.2  bouyer Disassembler fix: Added a check to ensure that the table length found in the 
   5058  1.1.1.2.2.2  bouyer ACPI table header within the input file is not longer than the actual input 
   5059  1.1.1.2.2.2  bouyer file size. This indicates some kind of file or table corruption.
   5060  1.1.1.2.2.2  bouyer 
   5061  1.1.1.2.2.2  bouyer ----------------------------------------
   5062  1.1.1.2.2.2  bouyer 29 March 2005.  Summary of changes for version 20050329:
   5063  1.1.1.2.2.2  bouyer 
   5064  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5065  1.1.1.2.2.2  bouyer 
   5066  1.1.1.2.2.2  bouyer An error is now generated if an attempt is made to create a Buffer Field of 
   5067  1.1.1.2.2.2  bouyer length zero (A CreateField with a length operand of zero.)
   5068  1.1.1.2.2.2  bouyer 
   5069  1.1.1.2.2.2  bouyer The interpreter now issues a warning whenever executable code at the module 
   5070  1.1.1.2.2.2  bouyer level is detected during ACPI table load. This will give some idea of the 
   5071  1.1.1.2.2.2  bouyer prevalence of this type of code.
   5072  1.1.1.2.2.2  bouyer 
   5073  1.1.1.2.2.2  bouyer Implemented support for references to named objects (other than control 
   5074  1.1.1.2.2.2  bouyer methods) within package objects.
   5075  1.1.1.2.2.2  bouyer 
   5076  1.1.1.2.2.2  bouyer Enhanced package object output for the debug object. Package objects are now 
   5077  1.1.1.2.2.2  bouyer completely dumped, showing all elements.
   5078  1.1.1.2.2.2  bouyer 
   5079  1.1.1.2.2.2  bouyer Enhanced miscellaneous object output for the debug object. Any object can 
   5080  1.1.1.2.2.2  bouyer now be written to the debug object (for example, a device object can be 
   5081  1.1.1.2.2.2  bouyer written, and the type of the object will be displayed.)
   5082  1.1.1.2.2.2  bouyer 
   5083  1.1.1.2.2.2  bouyer The "static" qualifier has been added to all local functions across both the 
   5084  1.1.1.2.2.2  bouyer core subsystem and the iASL compiler.
   5085  1.1.1.2.2.2  bouyer 
   5086  1.1.1.2.2.2  bouyer The number of "long" lines (> 80 chars) within the source has been 
   5087  1.1.1.2.2.2  bouyer significantly reduced, by about 1/3.
   5088  1.1.1.2.2.2  bouyer 
   5089  1.1.1.2.2.2  bouyer Cleaned up all header files to ensure that all CA/iASL functions are 
   5090  1.1.1.2.2.2  bouyer prototyped (even static functions) and the formatting is consistent.
   5091  1.1.1.2.2.2  bouyer 
   5092  1.1.1.2.2.2  bouyer Two new header files have been added, acopcode.h and acnames.h.
   5093  1.1.1.2.2.2  bouyer 
   5094  1.1.1.2.2.2  bouyer Removed several obsolete functions that were no longer used.
   5095  1.1.1.2.2.2  bouyer 
   5096  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5097  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5098  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5099  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5100  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5101  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5102  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5103  1.1.1.2.2.2  bouyer 
   5104  1.1.1.2.2.2  bouyer   Previous Release:
   5105  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
   5106  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
   5107  1.1.1.2.2.2  bouyer   Current Release:
   5108  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code, 11.6K Data,  89.6K Total
   5109  1.1.1.2.2.2  bouyer     Debug Version:     163.5K Code, 69.3K Data, 232.8K Total
   5110  1.1.1.2.2.2  bouyer 
   5111  1.1.1.2.2.2  bouyer 
   5112  1.1.1.2.2.2  bouyer 
   5113  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5114  1.1.1.2.2.2  bouyer 
   5115  1.1.1.2.2.2  bouyer Fixed a problem with the resource descriptor generation/support. For the 
   5116  1.1.1.2.2.2  bouyer ResourceSourceIndex and the ResourceSource fields, both must be present, or 
   5117  1.1.1.2.2.2  bouyer both must be not present - can't have one without the other.
   5118  1.1.1.2.2.2  bouyer 
   5119  1.1.1.2.2.2  bouyer The compiler now returns non-zero from the main procedure if any errors have 
   5120  1.1.1.2.2.2  bouyer occurred during the compilation.
   5121  1.1.1.2.2.2  bouyer 
   5122  1.1.1.2.2.2  bouyer 
   5123  1.1.1.2.2.2  bouyer ----------------------------------------
   5124  1.1.1.2.2.2  bouyer 09 March 2005.  Summary of changes for version 20050309:
   5125  1.1.1.2.2.2  bouyer 
   5126  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5127  1.1.1.2.2.2  bouyer 
   5128  1.1.1.2.2.2  bouyer The string-to-buffer implicit conversion code has been modified again after 
   5129  1.1.1.2.2.2  bouyer a change to the ACPI specification.  In order to match the behavior of the 
   5130  1.1.1.2.2.2  bouyer other major ACPI implementation, the target buffer is no longer truncated if 
   5131  1.1.1.2.2.2  bouyer the source string is smaller than an existing target buffer. This change 
   5132  1.1.1.2.2.2  bouyer requires an update to the ACPI spec, and should eliminate the recent 
   5133  1.1.1.2.2.2  bouyer AE_AML_BUFFER_LIMIT issues.
   5134  1.1.1.2.2.2  bouyer 
   5135  1.1.1.2.2.2  bouyer The "implicit return" support was rewritten to a new algorithm that solves 
   5136  1.1.1.2.2.2  bouyer the general case. Rather than attempt to determine when a method is about to 
   5137  1.1.1.2.2.2  bouyer exit, the result of every ASL operator is saved momentarily until the very 
   5138  1.1.1.2.2.2  bouyer next ASL operator is executed. Therefore, no matter how the method exits, 
   5139  1.1.1.2.2.2  bouyer there will always be a saved implicit return value. This feature is only 
   5140  1.1.1.2.2.2  bouyer enabled with the AcpiGbl_EnableInterpreterSlack flag, and should eliminate 
   5141  1.1.1.2.2.2  bouyer AE_AML_NO_RETURN_VALUE errors when enabled.
   5142  1.1.1.2.2.2  bouyer 
   5143  1.1.1.2.2.2  bouyer Implemented implicit conversion support for the predicate (operand) of the 
   5144  1.1.1.2.2.2  bouyer If, Else, and While operators. String and Buffer arguments are automatically 
   5145  1.1.1.2.2.2  bouyer converted to Integers.
   5146  1.1.1.2.2.2  bouyer 
   5147  1.1.1.2.2.2  bouyer Changed the string-to-integer conversion behavior to match the new ACPI 
   5148  1.1.1.2.2.2  bouyer errata: "If no integer object exists, a new integer is created. The ASCII 
   5149  1.1.1.2.2.2  bouyer string is interpreted as a hexadecimal constant. Each string character is 
   5150  1.1.1.2.2.2  bouyer interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting 
   5151  1.1.1.2.2.2  bouyer with the first character as the most significant digit, and ending with the 
   5152  1.1.1.2.2.2  bouyer first non-hexadecimal character or end-of-string." This means that the first 
   5153  1.1.1.2.2.2  bouyer non-hex character terminates the conversion and this is the code that was 
   5154  1.1.1.2.2.2  bouyer changed.
   5155  1.1.1.2.2.2  bouyer 
   5156  1.1.1.2.2.2  bouyer Fixed a problem where the ObjectType operator would fail (fault) when used 
   5157  1.1.1.2.2.2  bouyer on an Index of a Package which pointed to a null package element. The 
   5158  1.1.1.2.2.2  bouyer operator now properly returns zero (Uninitialized) in this case.
   5159  1.1.1.2.2.2  bouyer 
   5160  1.1.1.2.2.2  bouyer Fixed a problem where the While operator used excessive memory by not 
   5161  1.1.1.2.2.2  bouyer properly popping the result stack during execution. There was no memory leak 
   5162  1.1.1.2.2.2  bouyer after execution, however. (Code provided by Valery Podrezov.)
   5163  1.1.1.2.2.2  bouyer 
   5164  1.1.1.2.2.2  bouyer Fixed a problem where references to control methods within Package objects 
   5165  1.1.1.2.2.2  bouyer caused the method to be invoked, instead of producing a reference object 
   5166  1.1.1.2.2.2  bouyer pointing to the method.
   5167  1.1.1.2.2.2  bouyer 
   5168  1.1.1.2.2.2  bouyer Restructured and simplified the pswalk.c module (AcpiPsDeleteParseTree) to 
   5169  1.1.1.2.2.2  bouyer improve performance and reduce code size. (Code provided by Alexey 
   5170  1.1.1.2.2.2  bouyer Starikovskiy.)
   5171  1.1.1.2.2.2  bouyer 
   5172  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5173  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5174  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5175  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5176  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5177  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5178  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5179  1.1.1.2.2.2  bouyer 
   5180  1.1.1.2.2.2  bouyer   Previous Release:
   5181  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
   5182  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
   5183  1.1.1.2.2.2  bouyer   Current Release:
   5184  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
   5185  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code, 69.7K Data, 236.1K Total
   5186  1.1.1.2.2.2  bouyer 
   5187  1.1.1.2.2.2  bouyer 
   5188  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5189  1.1.1.2.2.2  bouyer 
   5190  1.1.1.2.2.2  bouyer Fixed a problem with the Return operator with no arguments. Since the AML 
   5191  1.1.1.2.2.2  bouyer grammar for the byte encoding requires an operand for the Return opcode, the 
   5192  1.1.1.2.2.2  bouyer compiler now emits a Return(Zero) for this case.  An ACPI specification 
   5193  1.1.1.2.2.2  bouyer update has been written for this case.
   5194  1.1.1.2.2.2  bouyer 
   5195  1.1.1.2.2.2  bouyer For tables other than the DSDT, namepath optimization is automatically 
   5196  1.1.1.2.2.2  bouyer disabled. This is because SSDTs can be loaded anywhere in the namespace, the 
   5197  1.1.1.2.2.2  bouyer compiler has no knowledge of where, and thus cannot optimize namepaths.
   5198  1.1.1.2.2.2  bouyer 
   5199  1.1.1.2.2.2  bouyer Added "ProcessorObj" to the ObjectTypeKeyword list. This object type was 
   5200  1.1.1.2.2.2  bouyer inadvertently omitted from the ACPI specification, and will require an 
   5201  1.1.1.2.2.2  bouyer update to the spec.
   5202  1.1.1.2.2.2  bouyer 
   5203  1.1.1.2.2.2  bouyer The source file scan for ASCII characters is now optional (-a). This change 
   5204  1.1.1.2.2.2  bouyer was made because some vendors place non-ascii characters within comments. 
   5205  1.1.1.2.2.2  bouyer However, the scan is simply a brute-force byte compare to ensure all 
   5206  1.1.1.2.2.2  bouyer characters in the file are in the range 0x00 to 0x7F.
   5207  1.1.1.2.2.2  bouyer 
   5208  1.1.1.2.2.2  bouyer Fixed a problem with the CondRefOf operator where the compiler was 
   5209  1.1.1.2.2.2  bouyer inappropriately checking for the existence of the target. Since the point of 
   5210  1.1.1.2.2.2  bouyer the operator is to check for the existence of the target at run-time, the 
   5211  1.1.1.2.2.2  bouyer compiler no longer checks for the target existence.
   5212  1.1.1.2.2.2  bouyer 
   5213  1.1.1.2.2.2  bouyer Fixed a problem where errors generated from the internal AML interpreter 
   5214  1.1.1.2.2.2  bouyer during constant folding were not handled properly, causing a fault.
   5215  1.1.1.2.2.2  bouyer 
   5216  1.1.1.2.2.2  bouyer Fixed a problem with overly aggressive range checking for the Stall 
   5217  1.1.1.2.2.2  bouyer operator. The valid range (max 255) is now only checked if the operand is of 
   5218  1.1.1.2.2.2  bouyer type Integer. All other operand types cannot be statically checked.
   5219  1.1.1.2.2.2  bouyer 
   5220  1.1.1.2.2.2  bouyer Fixed a problem where control method references within the RefOf, DeRefOf, 
   5221  1.1.1.2.2.2  bouyer and ObjectType operators were not treated properly. They are now treated as 
   5222  1.1.1.2.2.2  bouyer actual references, not method invocations.
   5223  1.1.1.2.2.2  bouyer 
   5224  1.1.1.2.2.2  bouyer Fixed and enhanced the "list namespace" option (-ln). This option was broken 
   5225  1.1.1.2.2.2  bouyer a number of releases ago.
   5226  1.1.1.2.2.2  bouyer 
   5227  1.1.1.2.2.2  bouyer Improved error handling for the Field, IndexField, and BankField operators. 
   5228  1.1.1.2.2.2  bouyer The compiler now cleanly reports and recovers from errors in the field 
   5229  1.1.1.2.2.2  bouyer component (FieldUnit) list.
   5230  1.1.1.2.2.2  bouyer 
   5231  1.1.1.2.2.2  bouyer Fixed a disassembler problem where the optional ResourceDescriptor fields 
   5232  1.1.1.2.2.2  bouyer TRS and TTP were not always handled correctly.
   5233  1.1.1.2.2.2  bouyer 
   5234  1.1.1.2.2.2  bouyer Disassembler - Comments in output now use "//" instead of "/*"
   5235  1.1.1.2.2.2  bouyer 
   5236  1.1.1.2.2.2  bouyer ----------------------------------------
   5237  1.1.1.2.2.2  bouyer 28 February 2005.  Summary of changes for version 20050228:
   5238  1.1.1.2.2.2  bouyer 
   5239  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5240  1.1.1.2.2.2  bouyer 
   5241  1.1.1.2.2.2  bouyer Fixed a problem where the result of an Index() operator (an object 
   5242  1.1.1.2.2.2  bouyer reference) must increment the reference count on the target object for the 
   5243  1.1.1.2.2.2  bouyer life of the object reference.
   5244  1.1.1.2.2.2  bouyer 
   5245  1.1.1.2.2.2  bouyer Implemented AML Interpreter and Debugger support for the new ACPI 3.0 
   5246  1.1.1.2.2.2  bouyer Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and WordSpace 
   5247  1.1.1.2.2.2  bouyer resource descriptors.
   5248  1.1.1.2.2.2  bouyer 
   5249  1.1.1.2.2.2  bouyer Implemented support in the _OSI method for the ACPI 3.0 "Extended Address 
   5250  1.1.1.2.2.2  bouyer Space Descriptor" string, indicating interpreter support for the descriptors 
   5251  1.1.1.2.2.2  bouyer above.
   5252  1.1.1.2.2.2  bouyer 
   5253  1.1.1.2.2.2  bouyer Implemented header support for the new ACPI 3.0 FADT flag bits.
   5254  1.1.1.2.2.2  bouyer 
   5255  1.1.1.2.2.2  bouyer Implemented header support for the new ACPI 3.0 PCI Express bits for the PM1 
   5256  1.1.1.2.2.2  bouyer status/enable registers.
   5257  1.1.1.2.2.2  bouyer 
   5258  1.1.1.2.2.2  bouyer Updated header support for the MADT processor local Apic struct and MADT 
   5259  1.1.1.2.2.2  bouyer platform interrupt source struct for new ACPI 3.0 fields.
   5260  1.1.1.2.2.2  bouyer 
   5261  1.1.1.2.2.2  bouyer Implemented header support for the SRAT and SLIT ACPI tables.
   5262  1.1.1.2.2.2  bouyer 
   5263  1.1.1.2.2.2  bouyer Implemented the -s switch in AcpiExec to enable the "InterpreterSlack" flag 
   5264  1.1.1.2.2.2  bouyer at runtime.
   5265  1.1.1.2.2.2  bouyer 
   5266  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5267  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5268  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5269  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5270  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5271  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5272  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5273  1.1.1.2.2.2  bouyer 
   5274  1.1.1.2.2.2  bouyer   Previous Release:
   5275  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
   5276  1.1.1.2.2.2  bouyer     Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
   5277  1.1.1.2.2.2  bouyer   Current Release:
   5278  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code, 11.5K Data,  89.8K Total
   5279  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code, 69.6K Data, 236.0K Total
   5280  1.1.1.2.2.2  bouyer 
   5281  1.1.1.2.2.2  bouyer 
   5282  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5283  1.1.1.2.2.2  bouyer 
   5284  1.1.1.2.2.2  bouyer Fixed a problem with the internal 64-bit String-to-integer conversion with 
   5285  1.1.1.2.2.2  bouyer strings less than two characters long.
   5286  1.1.1.2.2.2  bouyer 
   5287  1.1.1.2.2.2  bouyer Fixed a problem with constant folding where the result of the Index() 
   5288  1.1.1.2.2.2  bouyer operator can not be considered a constant. This means that Index() cannot be 
   5289  1.1.1.2.2.2  bouyer a type3 opcode and this will require an update to the ACPI specification.
   5290  1.1.1.2.2.2  bouyer 
   5291  1.1.1.2.2.2  bouyer Disassembler: Implemented support for the TTP, MTP, and TRS resource 
   5292  1.1.1.2.2.2  bouyer descriptor fields. These fields were inadvertently ignored and not output in 
   5293  1.1.1.2.2.2  bouyer the disassembly of the resource descriptor.
   5294  1.1.1.2.2.2  bouyer 
   5295  1.1.1.2.2.2  bouyer 
   5296  1.1.1.2.2.2  bouyer  ----------------------------------------
   5297  1.1.1.2.2.2  bouyer 11 February 2005.  Summary of changes for version 20050211:
   5298  1.1.1.2.2.2  bouyer 
   5299  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5300  1.1.1.2.2.2  bouyer 
   5301  1.1.1.2.2.2  bouyer Implemented ACPI 3.0 support for implicit conversion within the Match() 
   5302  1.1.1.2.2.2  bouyer operator. MatchObjects can now be of type integer, buffer, or string instead 
   5303  1.1.1.2.2.2  bouyer of just type integer.  Package elements are implicitly converted to the type 
   5304  1.1.1.2.2.2  bouyer of the MatchObject. This change aligns the behavior of Match() with the 
   5305  1.1.1.2.2.2  bouyer behavior of the other logical operators (LLess(), etc.) It also requires an 
   5306  1.1.1.2.2.2  bouyer errata change to the ACPI specification as this support was intended for 
   5307  1.1.1.2.2.2  bouyer ACPI 3.0, but was inadvertently omitted.
   5308  1.1.1.2.2.2  bouyer 
   5309  1.1.1.2.2.2  bouyer Fixed a problem with the internal implicit "to buffer" conversion. Strings 
   5310  1.1.1.2.2.2  bouyer that are converted to buffers will cause buffer truncation if the string is 
   5311  1.1.1.2.2.2  bouyer smaller than the target buffer. Integers that are converted to buffers will 
   5312  1.1.1.2.2.2  bouyer not cause buffer truncation, only zero extension (both as per the ACPI 
   5313  1.1.1.2.2.2  bouyer spec.) The problem was introduced when code was added to truncate the 
   5314  1.1.1.2.2.2  bouyer buffer, but this should not be performed in all cases, only the string case.
   5315  1.1.1.2.2.2  bouyer 
   5316  1.1.1.2.2.2  bouyer Fixed a problem with the Buffer and Package operators where the interpreter 
   5317  1.1.1.2.2.2  bouyer would get confused if two such operators were used as operands to an ASL 
   5318  1.1.1.2.2.2  bouyer operator (such as LLess(Buffer(1){0},Buffer(1){1}). The internal result 
   5319  1.1.1.2.2.2  bouyer stack was not being popped after the execution of these operators, resulting 
   5320  1.1.1.2.2.2  bouyer in an AE_NO_RETURN_VALUE exception.
   5321  1.1.1.2.2.2  bouyer 
   5322  1.1.1.2.2.2  bouyer Fixed a problem with constructs of the form Store(Index(...),...). The 
   5323  1.1.1.2.2.2  bouyer reference object returned from Index was inadvertently resolved to an actual 
   5324  1.1.1.2.2.2  bouyer value. This problem was introduced in version 20050114 when the behavior of 
   5325  1.1.1.2.2.2  bouyer Store() was modified to restrict the object types that can be used as the 
   5326  1.1.1.2.2.2  bouyer source operand (to match the ACPI specification.)
   5327  1.1.1.2.2.2  bouyer 
   5328  1.1.1.2.2.2  bouyer Reduced excessive stack use within the AcpiGetObjectInfo procedure.
   5329  1.1.1.2.2.2  bouyer 
   5330  1.1.1.2.2.2  bouyer Added a fix to aclinux.h to allow generation of AcpiExec on Linux.
   5331  1.1.1.2.2.2  bouyer 
   5332  1.1.1.2.2.2  bouyer Updated the AcpiSrc utility to add the FADT_DESCRIPTOR_REV2_MINUS struct.
   5333  1.1.1.2.2.2  bouyer 
   5334  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5335  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5336  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5337  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5338  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5339  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5340  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5341  1.1.1.2.2.2  bouyer 
   5342  1.1.1.2.2.2  bouyer   Previous Release:
   5343  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code, 11.5K Data,  89.6K Total
   5344  1.1.1.2.2.2  bouyer     Debug Version:     164.8K Code, 69.2K Data, 234.0K Total
   5345  1.1.1.2.2.2  bouyer   Current Release:
   5346  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.2K Code, 11.5K Data,  89.7K Total
   5347  1.1.1.2.2.2  bouyer     Debug Version:     164.9K Code, 69.2K Data, 234.1K Total
   5348  1.1.1.2.2.2  bouyer 
   5349  1.1.1.2.2.2  bouyer 
   5350  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5351  1.1.1.2.2.2  bouyer 
   5352  1.1.1.2.2.2  bouyer Fixed a code generation problem in the constant folding optimization code 
   5353  1.1.1.2.2.2  bouyer where incorrect code was generated if a constant was reduced to a buffer 
   5354  1.1.1.2.2.2  bouyer object (i.e., a reduced type 5 opcode.)
   5355  1.1.1.2.2.2  bouyer 
   5356  1.1.1.2.2.2  bouyer Fixed a typechecking problem for the ToBuffer operator. Caused by an 
   5357  1.1.1.2.2.2  bouyer incorrect return type in the internal opcode information table.
   5358  1.1.1.2.2.2  bouyer 
   5359  1.1.1.2.2.2  bouyer ----------------------------------------
   5360  1.1.1.2.2.2  bouyer 25 January 2005.  Summary of changes for version 20050125:
   5361  1.1.1.2.2.2  bouyer 
   5362  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5363  1.1.1.2.2.2  bouyer 
   5364  1.1.1.2.2.2  bouyer Fixed a recently introduced problem with the Global Lock where the 
   5365  1.1.1.2.2.2  bouyer underlying semaphore was not created.  This problem was introduced in 
   5366  1.1.1.2.2.2  bouyer version 20050114, and caused an AE_AML_NO_OPERAND exception during an 
   5367  1.1.1.2.2.2  bouyer Acquire() operation on _GL.
   5368  1.1.1.2.2.2  bouyer 
   5369  1.1.1.2.2.2  bouyer The local object cache is now optional, and is disabled by default. Both 
   5370  1.1.1.2.2.2  bouyer AcpiExec and the iASL compiler enable the cache because they run in user 
   5371  1.1.1.2.2.2  bouyer mode and this enhances their performance. #define ACPI_ENABLE_OBJECT_CACHE 
   5372  1.1.1.2.2.2  bouyer to enable the local cache.
   5373  1.1.1.2.2.2  bouyer 
   5374  1.1.1.2.2.2  bouyer Fixed an issue in the internal function AcpiUtEvaluateObject concerning the 
   5375  1.1.1.2.2.2  bouyer optional "implicit return" support where an error was returned if no return 
   5376  1.1.1.2.2.2  bouyer object was expected, but one was implicitly returned. AE_OK is now returned 
   5377  1.1.1.2.2.2  bouyer in this case and the implicitly returned object is deleted. 
   5378  1.1.1.2.2.2  bouyer AcpiUtEvaluateObject is only occasionally used, and only to execute reserved 
   5379  1.1.1.2.2.2  bouyer methods such as _STA and _INI where the return type is known up front.
   5380  1.1.1.2.2.2  bouyer 
   5381  1.1.1.2.2.2  bouyer Fixed a few issues with the internal convert-to-integer code. It now returns 
   5382  1.1.1.2.2.2  bouyer an error if an attempt is made to convert a null string, a string of only 
   5383  1.1.1.2.2.2  bouyer blanks/tabs, or a zero-length buffer. This affects both implicit conversion 
   5384  1.1.1.2.2.2  bouyer and explicit conversion via the ToInteger() operator.
   5385  1.1.1.2.2.2  bouyer 
   5386  1.1.1.2.2.2  bouyer The internal debug code in AcpiUtAcquireMutex has been commented out. It is 
   5387  1.1.1.2.2.2  bouyer not needed for normal operation and should increase the performance of the 
   5388  1.1.1.2.2.2  bouyer entire subsystem. The code remains in case it is needed for debug purposes 
   5389  1.1.1.2.2.2  bouyer again.
   5390  1.1.1.2.2.2  bouyer 
   5391  1.1.1.2.2.2  bouyer The AcpiExec source and makefile are included in the Unix/Linux package for 
   5392  1.1.1.2.2.2  bouyer the first time.
   5393  1.1.1.2.2.2  bouyer 
   5394  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5395  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5396  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5397  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5398  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5399  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5400  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5401  1.1.1.2.2.2  bouyer 
   5402  1.1.1.2.2.2  bouyer   Previous Release:
   5403  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
   5404  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
   5405  1.1.1.2.2.2  bouyer   Current Release:
   5406  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.1K Code,  11.5K Data,   89.6K Total
   5407  1.1.1.2.2.2  bouyer     Debug Version:     164.8K Code,  69.2K Data,  234.0K Total
   5408  1.1.1.2.2.2  bouyer 
   5409  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5410  1.1.1.2.2.2  bouyer 
   5411  1.1.1.2.2.2  bouyer Switch/Case support: A warning is now issued if the type of the Switch value 
   5412  1.1.1.2.2.2  bouyer cannot be determined at compile time. For example, Switch(Arg0) will 
   5413  1.1.1.2.2.2  bouyer generate the warning, and the type is assumed to be an integer. As per the 
   5414  1.1.1.2.2.2  bouyer ACPI spec, use a construct such as Switch(ToInteger(Arg0)) to eliminate the 
   5415  1.1.1.2.2.2  bouyer warning.
   5416  1.1.1.2.2.2  bouyer 
   5417  1.1.1.2.2.2  bouyer Switch/Case support: Implemented support for buffer and string objects as 
   5418  1.1.1.2.2.2  bouyer the switch value.  This is an ACPI 3.0 feature, now that LEqual supports 
   5419  1.1.1.2.2.2  bouyer buffers and strings.
   5420  1.1.1.2.2.2  bouyer 
   5421  1.1.1.2.2.2  bouyer Switch/Case support: The emitted code for the LEqual() comparisons now uses 
   5422  1.1.1.2.2.2  bouyer the switch value as the first operand, not the second. The case value is now 
   5423  1.1.1.2.2.2  bouyer the second operand, and this allows the case value to be implicitly 
   5424  1.1.1.2.2.2  bouyer converted to the type of the switch value, not the other way around.
   5425  1.1.1.2.2.2  bouyer 
   5426  1.1.1.2.2.2  bouyer Switch/Case support: Temporary variables are now emitted immediately within 
   5427  1.1.1.2.2.2  bouyer the control method, not at the global level. This means that there are now 
   5428  1.1.1.2.2.2  bouyer 36 temps available per-method, not 36 temps per-module as was the case with 
   5429  1.1.1.2.2.2  bouyer the earlier implementation (_T_0 through _T_9 and _T_A through _T_Z.)
   5430  1.1.1.2.2.2  bouyer 
   5431  1.1.1.2.2.2  bouyer ----------------------------------------
   5432  1.1.1.2.2.2  bouyer 14 January 2005.  Summary of changes for version 20050114:
   5433  1.1.1.2.2.2  bouyer 
   5434  1.1.1.2.2.2  bouyer Added 2005 copyright to all module headers.  This affects every module in 
   5435  1.1.1.2.2.2  bouyer the core subsystem, iASL compiler, and the utilities.
   5436  1.1.1.2.2.2  bouyer 
   5437  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5438  1.1.1.2.2.2  bouyer 
   5439  1.1.1.2.2.2  bouyer Fixed an issue with the String-to-Buffer conversion code where the string 
   5440  1.1.1.2.2.2  bouyer null terminator was not included in the buffer after conversion, but there 
   5441  1.1.1.2.2.2  bouyer is existing ASL that assumes the string null terminator is included. This is 
   5442  1.1.1.2.2.2  bouyer the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was 
   5443  1.1.1.2.2.2  bouyer introduced in the previous version when the code was updated to correctly 
   5444  1.1.1.2.2.2  bouyer set the converted buffer size as per the ACPI specification. The ACPI spec 
   5445  1.1.1.2.2.2  bouyer is ambiguous and will be updated to specify that the null terminator must be 
   5446  1.1.1.2.2.2  bouyer included in the converted buffer. This also affects the ToBuffer() ASL 
   5447  1.1.1.2.2.2  bouyer operator.
   5448  1.1.1.2.2.2  bouyer 
   5449  1.1.1.2.2.2  bouyer Fixed a problem with the Mid() ASL/AML operator where it did not work 
   5450  1.1.1.2.2.2  bouyer correctly on Buffer objects. Newly created sub-buffers were not being marked 
   5451  1.1.1.2.2.2  bouyer as initialized.
   5452  1.1.1.2.2.2  bouyer 
   5453  1.1.1.2.2.2  bouyer 
   5454  1.1.1.2.2.2  bouyer Fixed a problem in AcpiTbFindTable where incorrect string compares were 
   5455  1.1.1.2.2.2  bouyer performed on the OemId and OemTableId table header fields.  These fields are 
   5456  1.1.1.2.2.2  bouyer not null terminated, so strncmp is now used instead of strcmp.
   5457  1.1.1.2.2.2  bouyer 
   5458  1.1.1.2.2.2  bouyer Implemented a restriction on the Store() ASL/AML operator to align the 
   5459  1.1.1.2.2.2  bouyer behavior with the ACPI specification.  Previously, any object could be used 
   5460  1.1.1.2.2.2  bouyer as the source operand.  Now, the only objects that may be used are Integers, 
   5461  1.1.1.2.2.2  bouyer Buffers, Strings, Packages, Object References, and DDB Handles.  If 
   5462  1.1.1.2.2.2  bouyer necessary, the original behavior can be restored by enabling the 
   5463  1.1.1.2.2.2  bouyer EnableInterpreterSlack flag.
   5464  1.1.1.2.2.2  bouyer 
   5465  1.1.1.2.2.2  bouyer Enhanced the optional "implicit return" support to allow an implicit return 
   5466  1.1.1.2.2.2  bouyer value from methods that are invoked externally via the AcpiEvaluateObject 
   5467  1.1.1.2.2.2  bouyer interface.  This enables implicit returns from the _STA and _INI methods, 
   5468  1.1.1.2.2.2  bouyer for example.
   5469  1.1.1.2.2.2  bouyer 
   5470  1.1.1.2.2.2  bouyer Changed the Revision() ASL/AML operator to return the current version of the 
   5471  1.1.1.2.2.2  bouyer AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned 
   5472  1.1.1.2.2.2  bouyer the supported ACPI version (This is the function of the _REV method).
   5473  1.1.1.2.2.2  bouyer 
   5474  1.1.1.2.2.2  bouyer Updated the _REV predefined method to return the currently supported version 
   5475  1.1.1.2.2.2  bouyer of ACPI, now 3.
   5476  1.1.1.2.2.2  bouyer 
   5477  1.1.1.2.2.2  bouyer Implemented batch mode option for the AcpiExec utility (-b).
   5478  1.1.1.2.2.2  bouyer 
   5479  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5480  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5481  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5482  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5483  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5484  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5485  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5486  1.1.1.2.2.2  bouyer 
   5487  1.1.1.2.2.2  bouyer   Previous Release:
   5488  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
   5489  1.1.1.2.2.2  bouyer     Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
   5490  1.1.1.2.2.2  bouyer   Current Release:
   5491  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.4K Code,  11.5K Data,   89.9K Total
   5492  1.1.1.2.2.2  bouyer     Debug Version:     165.4K Code,  69.4K Data,  234.8K Total
   5493  1.1.1.2.2.2  bouyer 
   5494  1.1.1.2.2.2  bouyer ----------------------------------------
   5495  1.1.1.2.2.2  bouyer 10 December 2004.  Summary of changes for version 20041210:
   5496  1.1.1.2.2.2  bouyer 
   5497  1.1.1.2.2.2  bouyer ACPI 3.0 support is nearing completion in both the iASL compiler and the 
   5498  1.1.1.2.2.2  bouyer ACPI CA core subsystem.
   5499  1.1.1.2.2.2  bouyer 
   5500  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5501  1.1.1.2.2.2  bouyer 
   5502  1.1.1.2.2.2  bouyer Fixed a problem in the ToDecimalString operator where the resulting string 
   5503  1.1.1.2.2.2  bouyer length was incorrectly calculated. The length is now calculated exactly, 
   5504  1.1.1.2.2.2  bouyer eliminating incorrect AE_STRING_LIMIT exceptions.
   5505  1.1.1.2.2.2  bouyer 
   5506  1.1.1.2.2.2  bouyer Fixed a problem in the ToHexString operator to allow a maximum 200 character 
   5507  1.1.1.2.2.2  bouyer string to be produced.
   5508  1.1.1.2.2.2  bouyer 
   5509  1.1.1.2.2.2  bouyer Fixed a problem in the internal string-to-buffer and buffer-to-buffer copy 
   5510  1.1.1.2.2.2  bouyer routine where the length of the resulting buffer was not truncated to the 
   5511  1.1.1.2.2.2  bouyer new size (if the target buffer already existed).
   5512  1.1.1.2.2.2  bouyer 
   5513  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5514  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5515  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5516  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5517  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5518  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5519  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5520  1.1.1.2.2.2  bouyer 
   5521  1.1.1.2.2.2  bouyer   Previous Release:
   5522  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
   5523  1.1.1.2.2.2  bouyer     Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
   5524  1.1.1.2.2.2  bouyer   Current Release:
   5525  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
   5526  1.1.1.2.2.2  bouyer     Debug Version:     165.3K Code,  69.4K Data,  234.7K Total
   5527  1.1.1.2.2.2  bouyer 
   5528  1.1.1.2.2.2  bouyer 
   5529  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5530  1.1.1.2.2.2  bouyer 
   5531  1.1.1.2.2.2  bouyer Implemented the new ACPI 3.0 resource template macros - DWordSpace, 
   5532  1.1.1.2.2.2  bouyer ExtendedIO, ExtendedMemory, ExtendedSpace, QWordSpace, and WordSpace. 
   5533  1.1.1.2.2.2  bouyer Includes support in the disassembler.
   5534  1.1.1.2.2.2  bouyer 
   5535  1.1.1.2.2.2  bouyer Implemented support for the new (ACPI 3.0) parameter to the Register macro, 
   5536  1.1.1.2.2.2  bouyer AccessSize.
   5537  1.1.1.2.2.2  bouyer 
   5538  1.1.1.2.2.2  bouyer Fixed a problem where the _HE resource name for the Interrupt macro was 
   5539  1.1.1.2.2.2  bouyer referencing bit 0 instead of bit 1.
   5540  1.1.1.2.2.2  bouyer 
   5541  1.1.1.2.2.2  bouyer Implemented check for maximum 255 interrupts in the Interrupt macro.
   5542  1.1.1.2.2.2  bouyer 
   5543  1.1.1.2.2.2  bouyer Fixed a problem with the predefined resource descriptor names where 
   5544  1.1.1.2.2.2  bouyer incorrect AML code was generated if the offset within the resource buffer 
   5545  1.1.1.2.2.2  bouyer was 0 or 1.  The optimizer shortened the AML code to a single byte opcode 
   5546  1.1.1.2.2.2  bouyer but did not update the surrounding package lengths.
   5547  1.1.1.2.2.2  bouyer 
   5548  1.1.1.2.2.2  bouyer Changes to the Dma macro:  All channels within the channel list must be in 
   5549  1.1.1.2.2.2  bouyer the range 0-7.  Maximum 8 channels can be specified. BusMaster operand is 
   5550  1.1.1.2.2.2  bouyer optional (default is BusMaster).
   5551  1.1.1.2.2.2  bouyer 
   5552  1.1.1.2.2.2  bouyer Implemented check for maximum 7 data bytes for the VendorShort macro.
   5553  1.1.1.2.2.2  bouyer 
   5554  1.1.1.2.2.2  bouyer The ReadWrite parameter is now optional for the Memory32 and similar macros.
   5555  1.1.1.2.2.2  bouyer 
   5556  1.1.1.2.2.2  bouyer ----------------------------------------
   5557  1.1.1.2.2.2  bouyer 03 December 2004.  Summary of changes for version 20041203:
   5558  1.1.1.2.2.2  bouyer 
   5559  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5560  1.1.1.2.2.2  bouyer 
   5561  1.1.1.2.2.2  bouyer The low-level field insertion/extraction code (exfldio) has been completely 
   5562  1.1.1.2.2.2  bouyer rewritten to eliminate unnecessary complexity, bugs, and boundary 
   5563  1.1.1.2.2.2  bouyer conditions.
   5564  1.1.1.2.2.2  bouyer 
   5565  1.1.1.2.2.2  bouyer Fixed a problem in the ToInteger, ToBuffer, ToHexString, and ToDecimalString 
   5566  1.1.1.2.2.2  bouyer operators where the input operand could be inadvertently deleted if no 
   5567  1.1.1.2.2.2  bouyer conversion was necessary (e.g., if the input to ToInteger was an Integer 
   5568  1.1.1.2.2.2  bouyer object.)
   5569  1.1.1.2.2.2  bouyer 
   5570  1.1.1.2.2.2  bouyer Fixed a problem with the ToDecimalString and ToHexString where an incorrect 
   5571  1.1.1.2.2.2  bouyer exception code was returned if the resulting string would be > 200 chars.  
   5572  1.1.1.2.2.2  bouyer AE_STRING_LIMIT is now returned.
   5573  1.1.1.2.2.2  bouyer 
   5574  1.1.1.2.2.2  bouyer Fixed a problem with the Concatenate operator where AE_OK was always 
   5575  1.1.1.2.2.2  bouyer returned, even if the operation failed.
   5576  1.1.1.2.2.2  bouyer 
   5577  1.1.1.2.2.2  bouyer Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128 
   5578  1.1.1.2.2.2  bouyer semaphores to be allocated.
   5579  1.1.1.2.2.2  bouyer 
   5580  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5581  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5582  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5583  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5584  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5585  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5586  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5587  1.1.1.2.2.2  bouyer 
   5588  1.1.1.2.2.2  bouyer   Previous Release:
   5589  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
   5590  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
   5591  1.1.1.2.2.2  bouyer   Current Release:
   5592  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.3K Code,  11.5K Data,   89.8K Total
   5593  1.1.1.2.2.2  bouyer     Debug Version:     164.7K Code,  68.5K Data,  233.2K Total
   5594  1.1.1.2.2.2  bouyer 
   5595  1.1.1.2.2.2  bouyer 
   5596  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5597  1.1.1.2.2.2  bouyer 
   5598  1.1.1.2.2.2  bouyer Fixed typechecking for the ObjectType and SizeOf operators.  Problem was 
   5599  1.1.1.2.2.2  bouyer recently introduced in 20041119.
   5600  1.1.1.2.2.2  bouyer 
   5601  1.1.1.2.2.2  bouyer Fixed a problem with the ToUUID macro where the upper nybble of each buffer 
   5602  1.1.1.2.2.2  bouyer byte was inadvertently set to zero.
   5603  1.1.1.2.2.2  bouyer 
   5604  1.1.1.2.2.2  bouyer ----------------------------------------
   5605  1.1.1.2.2.2  bouyer 19 November 2004.  Summary of changes for version 20041119:
   5606  1.1.1.2.2.2  bouyer 
   5607  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5608  1.1.1.2.2.2  bouyer 
   5609  1.1.1.2.2.2  bouyer Fixed a problem in the internal ConvertToInteger routine where new integers 
   5610  1.1.1.2.2.2  bouyer were not truncated to 32 bits for 32-bit ACPI tables. This routine converts 
   5611  1.1.1.2.2.2  bouyer buffers and strings to integers.
   5612  1.1.1.2.2.2  bouyer 
   5613  1.1.1.2.2.2  bouyer Implemented support to store a value to an Index() on a String object. This 
   5614  1.1.1.2.2.2  bouyer is an ACPI 2.0 feature that had not yet been implemented.
   5615  1.1.1.2.2.2  bouyer 
   5616  1.1.1.2.2.2  bouyer Implemented new behavior for storing objects to individual package elements 
   5617  1.1.1.2.2.2  bouyer (via the Index() operator). The previous behavior was to invoke the implicit 
   5618  1.1.1.2.2.2  bouyer conversion rules if an object was already present at the index.  The new 
   5619  1.1.1.2.2.2  bouyer behavior is to simply delete any existing object and directly store the new 
   5620  1.1.1.2.2.2  bouyer object. Although the ACPI specification seems unclear on this subject, other 
   5621  1.1.1.2.2.2  bouyer ACPI implementations behave in this manner.  (This is the root of the 
   5622  1.1.1.2.2.2  bouyer AE_BAD_HEX_CONSTANT issue.)
   5623  1.1.1.2.2.2  bouyer 
   5624  1.1.1.2.2.2  bouyer Modified the RSDP memory scan mechanism to support the extended checksum for 
   5625  1.1.1.2.2.2  bouyer ACPI 2.0 (and above) RSDPs. Note that the search continues until a valid 
   5626  1.1.1.2.2.2  bouyer RSDP signature is found with a valid checksum.
   5627  1.1.1.2.2.2  bouyer 
   5628  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5629  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5630  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5631  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5632  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5633  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5634  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5635  1.1.1.2.2.2  bouyer 
   5636  1.1.1.2.2.2  bouyer   Previous Release:
   5637  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
   5638  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
   5639  1.1.1.2.2.2  bouyer   Current Release:
   5640  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
   5641  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
   5642  1.1.1.2.2.2  bouyer 
   5643  1.1.1.2.2.2  bouyer 
   5644  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5645  1.1.1.2.2.2  bouyer 
   5646  1.1.1.2.2.2  bouyer Fixed a missing semicolon in the aslcompiler.y file.
   5647  1.1.1.2.2.2  bouyer 
   5648  1.1.1.2.2.2  bouyer ----------------------------------------
   5649  1.1.1.2.2.2  bouyer 05 November 2004.  Summary of changes for version 20041105:
   5650  1.1.1.2.2.2  bouyer 
   5651  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5652  1.1.1.2.2.2  bouyer 
   5653  1.1.1.2.2.2  bouyer Implemented support for FADT revision 2.  This was an interim table (between 
   5654  1.1.1.2.2.2  bouyer ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register.
   5655  1.1.1.2.2.2  bouyer 
   5656  1.1.1.2.2.2  bouyer Implemented optional support to allow uninitialized LocalX and ArgX 
   5657  1.1.1.2.2.2  bouyer variables in a control method.  The variables are initialized to an Integer 
   5658  1.1.1.2.2.2  bouyer object with a value of zero.  This support is enabled by setting the 
   5659  1.1.1.2.2.2  bouyer AcpiGbl_EnableInterpreterSlack flag to TRUE.
   5660  1.1.1.2.2.2  bouyer 
   5661  1.1.1.2.2.2  bouyer Implemented support for Integer objects for the SizeOf operator.  Either 4 
   5662  1.1.1.2.2.2  bouyer or 8 is returned, depending on the current integer size (32-bit or 64-bit, 
   5663  1.1.1.2.2.2  bouyer depending on the parent table revision).
   5664  1.1.1.2.2.2  bouyer 
   5665  1.1.1.2.2.2  bouyer Fixed a problem in the implementation of the SizeOf and ObjectType operators 
   5666  1.1.1.2.2.2  bouyer where the operand was resolved to a value too early, causing incorrect 
   5667  1.1.1.2.2.2  bouyer return values for some objects.
   5668  1.1.1.2.2.2  bouyer 
   5669  1.1.1.2.2.2  bouyer Fixed some possible memory leaks during exceptional conditions.
   5670  1.1.1.2.2.2  bouyer 
   5671  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5672  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5673  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5674  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5675  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5676  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5677  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5678  1.1.1.2.2.2  bouyer 
   5679  1.1.1.2.2.2  bouyer   Previous Release:
   5680  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
   5681  1.1.1.2.2.2  bouyer     Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
   5682  1.1.1.2.2.2  bouyer   Current Release:
   5683  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.5K Code,  11.5K Data,   90.0K Total
   5684  1.1.1.2.2.2  bouyer     Debug Version:     165.2K Code,  68.6K Data,  233.8K Total
   5685  1.1.1.2.2.2  bouyer 
   5686  1.1.1.2.2.2  bouyer 
   5687  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5688  1.1.1.2.2.2  bouyer 
   5689  1.1.1.2.2.2  bouyer Implemented support for all ACPI 3.0 reserved names and methods.
   5690  1.1.1.2.2.2  bouyer 
   5691  1.1.1.2.2.2  bouyer Implemented all ACPI 3.0 grammar elements in the front-end, including 
   5692  1.1.1.2.2.2  bouyer support for semicolons.
   5693  1.1.1.2.2.2  bouyer 
   5694  1.1.1.2.2.2  bouyer Implemented the ACPI 3.0 Function() and ToUUID() macros
   5695  1.1.1.2.2.2  bouyer 
   5696  1.1.1.2.2.2  bouyer Fixed a problem in the disassembler where a Scope() operator would not be 
   5697  1.1.1.2.2.2  bouyer emitted properly if the target of the scope was in another table.
   5698  1.1.1.2.2.2  bouyer 
   5699  1.1.1.2.2.2  bouyer ----------------------------------------
   5700  1.1.1.2.2.2  bouyer 15 October 2004.  Summary of changes for version 20041015:
   5701  1.1.1.2.2.2  bouyer 
   5702  1.1.1.2.2.2  bouyer Note:  ACPI CA is currently undergoing an in-depth and complete formal 
   5703  1.1.1.2.2.2  bouyer evaluation to test/verify the following areas. Other suggestions are 
   5704  1.1.1.2.2.2  bouyer welcome. This will result in an increase in the frequency of releases and 
   5705  1.1.1.2.2.2  bouyer the number of bug fixes in the next few months.
   5706  1.1.1.2.2.2  bouyer   - Functional tests for all ASL/AML operators
   5707  1.1.1.2.2.2  bouyer   - All implicit/explicit type conversions
   5708  1.1.1.2.2.2  bouyer   - Bit fields and operation regions
   5709  1.1.1.2.2.2  bouyer   - 64-bit math support and 32-bit-only "truncated" math support
   5710  1.1.1.2.2.2  bouyer   - Exceptional conditions, both compiler and interpreter
   5711  1.1.1.2.2.2  bouyer   - Dynamic object deletion and memory leaks
   5712  1.1.1.2.2.2  bouyer   - ACPI 3.0 support when implemented
   5713  1.1.1.2.2.2  bouyer   - External interfaces to the ACPI subsystem
   5714  1.1.1.2.2.2  bouyer 
   5715  1.1.1.2.2.2  bouyer 
   5716  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5717  1.1.1.2.2.2  bouyer 
   5718  1.1.1.2.2.2  bouyer Fixed two alignment issues on 64-bit platforms - within debug statements in 
   5719  1.1.1.2.2.2  bouyer AcpiEvGpeDetect and AcpiEvCreateGpeBlock. Removed references to the Address 
   5720  1.1.1.2.2.2  bouyer field within the non-aligned ACPI generic address structure.
   5721  1.1.1.2.2.2  bouyer 
   5722  1.1.1.2.2.2  bouyer Fixed a problem in the Increment and Decrement operators where incorrect 
   5723  1.1.1.2.2.2  bouyer operand resolution could result in the inadvertent modification of the 
   5724  1.1.1.2.2.2  bouyer original integer when the integer is passed into another method as an 
   5725  1.1.1.2.2.2  bouyer argument and the arg is then incremented/decremented.
   5726  1.1.1.2.2.2  bouyer 
   5727  1.1.1.2.2.2  bouyer Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit 
   5728  1.1.1.2.2.2  bouyer BCD number were truncated during conversion.
   5729  1.1.1.2.2.2  bouyer 
   5730  1.1.1.2.2.2  bouyer Fixed a problem in the ToDecimal operator where the length of the resulting 
   5731  1.1.1.2.2.2  bouyer string could be set incorrectly too long if the input operand was a Buffer 
   5732  1.1.1.2.2.2  bouyer object.
   5733  1.1.1.2.2.2  bouyer 
   5734  1.1.1.2.2.2  bouyer Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0) 
   5735  1.1.1.2.2.2  bouyer within a buffer would prematurely terminate a compare between buffer 
   5736  1.1.1.2.2.2  bouyer objects.
   5737  1.1.1.2.2.2  bouyer 
   5738  1.1.1.2.2.2  bouyer Added a check for string overflow (>200 characters as per the ACPI 
   5739  1.1.1.2.2.2  bouyer specification) during the Concatenate operator with two string operands.
   5740  1.1.1.2.2.2  bouyer 
   5741  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5742  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5743  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5744  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5745  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5746  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5747  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5748  1.1.1.2.2.2  bouyer 
   5749  1.1.1.2.2.2  bouyer   Previous Release:
   5750  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
   5751  1.1.1.2.2.2  bouyer     Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
   5752  1.1.1.2.2.2  bouyer   Current Release:
   5753  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
   5754  1.1.1.2.2.2  bouyer     Debug Version:     164.8K Code,  68.6K Data,  233.4K Total
   5755  1.1.1.2.2.2  bouyer 
   5756  1.1.1.2.2.2  bouyer 
   5757  1.1.1.2.2.2  bouyer 
   5758  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5759  1.1.1.2.2.2  bouyer 
   5760  1.1.1.2.2.2  bouyer Allow the use of the ObjectType operator on uninitialized Locals and Args 
   5761  1.1.1.2.2.2  bouyer (returns 0 as per the ACPI specification).
   5762  1.1.1.2.2.2  bouyer 
   5763  1.1.1.2.2.2  bouyer Fixed a problem where the compiler would fault if there was a syntax error 
   5764  1.1.1.2.2.2  bouyer in the FieldName of all of the various CreateXXXField operators.
   5765  1.1.1.2.2.2  bouyer 
   5766  1.1.1.2.2.2  bouyer Disallow the use of lower case letters within the EISAID macro, as per the 
   5767  1.1.1.2.2.2  bouyer ACPI specification.  All EISAID strings must be of the form "UUUNNNN" Where 
   5768  1.1.1.2.2.2  bouyer U is an uppercase letter and N is a hex digit.
   5769  1.1.1.2.2.2  bouyer 
   5770  1.1.1.2.2.2  bouyer 
   5771  1.1.1.2.2.2  bouyer ----------------------------------------
   5772  1.1.1.2.2.2  bouyer 06 October 2004.  Summary of changes for version 20041006:
   5773  1.1.1.2.2.2  bouyer 
   5774  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5775  1.1.1.2.2.2  bouyer 
   5776  1.1.1.2.2.2  bouyer Implemented support for the ACPI 3.0 Timer operator. This ASL function 
   5777  1.1.1.2.2.2  bouyer implements a 64-bit timer with 100 nanosecond granularity.
   5778  1.1.1.2.2.2  bouyer 
   5779  1.1.1.2.2.2  bouyer Defined a new OSL interface, AcpiOsGetTimer. This interface is used to 
   5780  1.1.1.2.2.2  bouyer implement the ACPI 3.0 Timer operator.  This allows the host OS to implement 
   5781  1.1.1.2.2.2  bouyer the timer with the best clock available. Also, it keeps the core subsystem 
   5782  1.1.1.2.2.2  bouyer out of the clock handling business, since the host OS (usually) performs 
   5783  1.1.1.2.2.2  bouyer this function.
   5784  1.1.1.2.2.2  bouyer 
   5785  1.1.1.2.2.2  bouyer Fixed an alignment issue on 64-bit platforms. The HwLowLevelRead(Write) 
   5786  1.1.1.2.2.2  bouyer functions use a 64-bit address which is part of the packed ACPI Generic 
   5787  1.1.1.2.2.2  bouyer Address Structure. Since the structure is non-aligned, the alignment macros 
   5788  1.1.1.2.2.2  bouyer are now used to extract the address to a local variable before use.
   5789  1.1.1.2.2.2  bouyer 
   5790  1.1.1.2.2.2  bouyer Fixed a problem where the ToInteger operator assumed all input strings were 
   5791  1.1.1.2.2.2  bouyer hexadecimal. The operator now handles both decimal strings and hex strings 
   5792  1.1.1.2.2.2  bouyer (prefixed with "0x").
   5793  1.1.1.2.2.2  bouyer 
   5794  1.1.1.2.2.2  bouyer Fixed a problem where the string length in the string object created as a 
   5795  1.1.1.2.2.2  bouyer result of the internal ConvertToString procedure could be incorrect. This 
   5796  1.1.1.2.2.2  bouyer potentially affected all implicit conversions and also the ToDecimalString 
   5797  1.1.1.2.2.2  bouyer and ToHexString operators.
   5798  1.1.1.2.2.2  bouyer 
   5799  1.1.1.2.2.2  bouyer Fixed two problems in the ToString operator. If the length parameter was 
   5800  1.1.1.2.2.2  bouyer zero, an incorrect string object was created and the value of the input 
   5801  1.1.1.2.2.2  bouyer length parameter was inadvertently changed from zero to Ones.
   5802  1.1.1.2.2.2  bouyer 
   5803  1.1.1.2.2.2  bouyer Fixed a problem where the optional ResourceSource string in the ExtendedIRQ 
   5804  1.1.1.2.2.2  bouyer resource macro was ignored.
   5805  1.1.1.2.2.2  bouyer 
   5806  1.1.1.2.2.2  bouyer Simplified the interfaces to the internal division functions, reducing code 
   5807  1.1.1.2.2.2  bouyer size and complexity.
   5808  1.1.1.2.2.2  bouyer 
   5809  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5810  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5811  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5812  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5813  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5814  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5815  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5816  1.1.1.2.2.2  bouyer 
   5817  1.1.1.2.2.2  bouyer   Previous Release:
   5818  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
   5819  1.1.1.2.2.2  bouyer     Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
   5820  1.1.1.2.2.2  bouyer   Current Release:
   5821  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
   5822  1.1.1.2.2.2  bouyer     Debug Version:     164.6K Code,  68.5K Data,  233.1K Total
   5823  1.1.1.2.2.2  bouyer 
   5824  1.1.1.2.2.2  bouyer 
   5825  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5826  1.1.1.2.2.2  bouyer 
   5827  1.1.1.2.2.2  bouyer Implemented support for the ACPI 3.0 Timer operator.
   5828  1.1.1.2.2.2  bouyer 
   5829  1.1.1.2.2.2  bouyer Fixed a problem where the Default() operator was inadvertently ignored in a 
   5830  1.1.1.2.2.2  bouyer Switch/Case block.  This was a problem in the translation of the Switch 
   5831  1.1.1.2.2.2  bouyer statement to If...Else pairs.
   5832  1.1.1.2.2.2  bouyer 
   5833  1.1.1.2.2.2  bouyer Added support to allow a standalone Return operator, with no parentheses (or 
   5834  1.1.1.2.2.2  bouyer operands).
   5835  1.1.1.2.2.2  bouyer 
   5836  1.1.1.2.2.2  bouyer Fixed a problem with code generation for the ElseIf operator where the 
   5837  1.1.1.2.2.2  bouyer translated Else...If parse tree was improperly constructed leading to the 
   5838  1.1.1.2.2.2  bouyer loss of some code.
   5839  1.1.1.2.2.2  bouyer 
   5840  1.1.1.2.2.2  bouyer ----------------------------------------
   5841  1.1.1.2.2.2  bouyer 22 September 2004.  Summary of changes for version 20040922:
   5842  1.1.1.2.2.2  bouyer 
   5843  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5844  1.1.1.2.2.2  bouyer 
   5845  1.1.1.2.2.2  bouyer Fixed a problem with the implementation of the LNot() operator where "Ones" 
   5846  1.1.1.2.2.2  bouyer was not returned for the TRUE case. Changed the code to return Ones instead 
   5847  1.1.1.2.2.2  bouyer of (!Arg) which was usually 1. This change affects iASL constant folding for 
   5848  1.1.1.2.2.2  bouyer this operator also.
   5849  1.1.1.2.2.2  bouyer 
   5850  1.1.1.2.2.2  bouyer Fixed a problem in AcpiUtInitializeBuffer where an existing buffer was not 
   5851  1.1.1.2.2.2  bouyer initialized properly -- Now zero the entire buffer in this case where the 
   5852  1.1.1.2.2.2  bouyer buffer already exists.
   5853  1.1.1.2.2.2  bouyer 
   5854  1.1.1.2.2.2  bouyer Changed the interface to AcpiOsSleep from (UINT32 Seconds, UINT32 
   5855  1.1.1.2.2.2  bouyer Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all 
   5856  1.1.1.2.2.2  bouyer related code considerably. This will require changes/updates to all OS 
   5857  1.1.1.2.2.2  bouyer interface layers (OSLs.)
   5858  1.1.1.2.2.2  bouyer 
   5859  1.1.1.2.2.2  bouyer Implemented a new external interface, AcpiInstallExceptionHandler, to allow 
   5860  1.1.1.2.2.2  bouyer a system exception handler to be installed. This handler is invoked upon any 
   5861  1.1.1.2.2.2  bouyer run-time exception that occurs during control method execution.
   5862  1.1.1.2.2.2  bouyer 
   5863  1.1.1.2.2.2  bouyer Added support for the DSDT in AcpiTbFindTable. This allows the 
   5864  1.1.1.2.2.2  bouyer DataTableRegion() operator to access the local copy of the DSDT.
   5865  1.1.1.2.2.2  bouyer 
   5866  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5867  1.1.1.2.2.2  bouyer shown below. These are the code and data sizes for the acpica.lib produced 
   5868  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5869  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code. The debug version of the code includes the 
   5870  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size. Note 
   5871  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5872  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5873  1.1.1.2.2.2  bouyer 
   5874  1.1.1.2.2.2  bouyer   Previous Release:
   5875  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
   5876  1.1.1.2.2.2  bouyer     Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
   5877  1.1.1.2.2.2  bouyer   Current Release:
   5878  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code,  11.4K Data,   89.3K Total
   5879  1.1.1.2.2.2  bouyer     Debug Version:     164.5K Code,  68.3K Data,  232.8K Total
   5880  1.1.1.2.2.2  bouyer 
   5881  1.1.1.2.2.2  bouyer 
   5882  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5883  1.1.1.2.2.2  bouyer 
   5884  1.1.1.2.2.2  bouyer Fixed a problem with constant folding and the LNot operator. LNot was 
   5885  1.1.1.2.2.2  bouyer returning 1 in the TRUE case, not Ones as per the ACPI specification. This 
   5886  1.1.1.2.2.2  bouyer could result in the generation of an incorrect folded/reduced constant.
   5887  1.1.1.2.2.2  bouyer 
   5888  1.1.1.2.2.2  bouyer End-Of-File is now allowed within a "//"-style comment.  A parse error no 
   5889  1.1.1.2.2.2  bouyer longer occurs if such a comment is at the very end of the input ASL source 
   5890  1.1.1.2.2.2  bouyer file.
   5891  1.1.1.2.2.2  bouyer 
   5892  1.1.1.2.2.2  bouyer Implemented the "-r" option to override the Revision in the table header. 
   5893  1.1.1.2.2.2  bouyer The initial use of this option will be to simplify the evaluation of the AML 
   5894  1.1.1.2.2.2  bouyer interpreter by allowing a single ASL source module to be compiled for either 
   5895  1.1.1.2.2.2  bouyer 32-bit or 64-bit integers.
   5896  1.1.1.2.2.2  bouyer 
   5897  1.1.1.2.2.2  bouyer 
   5898  1.1.1.2.2.2  bouyer ----------------------------------------
   5899  1.1.1.2.2.2  bouyer 27 August 2004.  Summary of changes for version 20040827:
   5900  1.1.1.2.2.2  bouyer 
   5901  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5902  1.1.1.2.2.2  bouyer 
   5903  1.1.1.2.2.2  bouyer - Implemented support for implicit object conversion in the non-numeric 
   5904  1.1.1.2.2.2  bouyer logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and 
   5905  1.1.1.2.2.2  bouyer LNotEqual.)  Any combination of Integers/Strings/Buffers may now be used; 
   5906  1.1.1.2.2.2  bouyer the second operand is implicitly converted on the fly to match the type of 
   5907  1.1.1.2.2.2  bouyer the first operand.  For example:
   5908  1.1.1.2.2.2  bouyer 
   5909  1.1.1.2.2.2  bouyer     LEqual (Source1, Source2)
   5910  1.1.1.2.2.2  bouyer 
   5911  1.1.1.2.2.2  bouyer Source1 and Source2 must each evaluate to an integer, a string, or a buffer. 
   5912  1.1.1.2.2.2  bouyer The data type of Source1 dictates the required type of Source2. Source2 is 
   5913  1.1.1.2.2.2  bouyer implicitly converted if necessary to match the type of Source1.
   5914  1.1.1.2.2.2  bouyer 
   5915  1.1.1.2.2.2  bouyer - Updated and corrected the behavior of the string conversion support.  The 
   5916  1.1.1.2.2.2  bouyer rules concerning conversion of buffers to strings (according to the ACPI 
   5917  1.1.1.2.2.2  bouyer specification) are as follows:
   5918  1.1.1.2.2.2  bouyer 
   5919  1.1.1.2.2.2  bouyer ToDecimalString - explicit byte-wise conversion of buffer to string of 
   5920  1.1.1.2.2.2  bouyer decimal values (0-255) separated by commas. ToHexString - explicit byte-wise 
   5921  1.1.1.2.2.2  bouyer conversion of buffer to string of hex values (0-FF) separated by commas. 
   5922  1.1.1.2.2.2  bouyer ToString - explicit byte-wise conversion of buffer to string.  Byte-by-byte 
   5923  1.1.1.2.2.2  bouyer copy with no transform except NULL terminated. Any other implicit buffer-to-
   5924  1.1.1.2.2.2  bouyer string conversion - byte-wise conversion of buffer to string of hex values 
   5925  1.1.1.2.2.2  bouyer (0-FF) separated by spaces.
   5926  1.1.1.2.2.2  bouyer 
   5927  1.1.1.2.2.2  bouyer - Fixed typo in definition of AcpiGbl_EnableInterpreterSlack.
   5928  1.1.1.2.2.2  bouyer 
   5929  1.1.1.2.2.2  bouyer - Fixed a problem in AcpiNsGetPathnameLength where the returned length was 
   5930  1.1.1.2.2.2  bouyer one byte too short in the case of a node in the root scope.  This could 
   5931  1.1.1.2.2.2  bouyer cause a fault during debug output.
   5932  1.1.1.2.2.2  bouyer 
   5933  1.1.1.2.2.2  bouyer - Code and Data Size: Current and previous core subsystem library sizes are 
   5934  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   5935  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5936  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   5937  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   5938  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5939  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5940  1.1.1.2.2.2  bouyer 
   5941  1.1.1.2.2.2  bouyer   Previous Release:
   5942  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
   5943  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
   5944  1.1.1.2.2.2  bouyer   Current Release:
   5945  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.4K Data,   89.2K Total
   5946  1.1.1.2.2.2  bouyer     Debug Version:     164.2K Code,  68.2K Data,  232.4K Total
   5947  1.1.1.2.2.2  bouyer 
   5948  1.1.1.2.2.2  bouyer 
   5949  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5950  1.1.1.2.2.2  bouyer 
   5951  1.1.1.2.2.2  bouyer - Fixed a Linux generation error.
   5952  1.1.1.2.2.2  bouyer 
   5953  1.1.1.2.2.2  bouyer 
   5954  1.1.1.2.2.2  bouyer ----------------------------------------
   5955  1.1.1.2.2.2  bouyer 16 August 2004.  Summary of changes for version 20040816:
   5956  1.1.1.2.2.2  bouyer 
   5957  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   5958  1.1.1.2.2.2  bouyer 
   5959  1.1.1.2.2.2  bouyer Designed and implemented support within the AML interpreter for the so-
   5960  1.1.1.2.2.2  bouyer called "implicit return".  This support returns the result of the last ASL 
   5961  1.1.1.2.2.2  bouyer operation within a control method, in the absence of an explicit Return() 
   5962  1.1.1.2.2.2  bouyer operator.  A few machines depend on this behavior, even though it is not 
   5963  1.1.1.2.2.2  bouyer explicitly supported by the ASL language.  It is optional support that can 
   5964  1.1.1.2.2.2  bouyer be enabled at runtime via the AcpiGbl_EnableInterpreterSlack flag.
   5965  1.1.1.2.2.2  bouyer 
   5966  1.1.1.2.2.2  bouyer Removed support for the PCI_Config address space from the internal low level 
   5967  1.1.1.2.2.2  bouyer hardware interfaces (AcpiHwLowLevelRead and AcpiHwLowLevelWrite).  This 
   5968  1.1.1.2.2.2  bouyer support was not used internally, and would not work correctly anyway because 
   5969  1.1.1.2.2.2  bouyer the PCI bus number and segment number were not supported.  There are 
   5970  1.1.1.2.2.2  bouyer separate interfaces for PCI configuration space access because of the unique 
   5971  1.1.1.2.2.2  bouyer interface.
   5972  1.1.1.2.2.2  bouyer 
   5973  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   5974  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   5975  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   5976  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   5977  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   5978  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   5979  1.1.1.2.2.2  bouyer the compiler options used during generation.
   5980  1.1.1.2.2.2  bouyer 
   5981  1.1.1.2.2.2  bouyer   Previous Release:
   5982  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
   5983  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
   5984  1.1.1.2.2.2  bouyer   Current Release:
   5985  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.9K Code,  11.5K Data,   89.4K Total
   5986  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code,  68.3K Data,  232.4K Total
   5987  1.1.1.2.2.2  bouyer 
   5988  1.1.1.2.2.2  bouyer 
   5989  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   5990  1.1.1.2.2.2  bouyer 
   5991  1.1.1.2.2.2  bouyer Fixed a problem where constants in ASL expressions at the root level (not 
   5992  1.1.1.2.2.2  bouyer within a control method) could be inadvertently truncated during code 
   5993  1.1.1.2.2.2  bouyer generation.  This problem was introduced in the 20040715 release.
   5994  1.1.1.2.2.2  bouyer 
   5995  1.1.1.2.2.2  bouyer 
   5996  1.1.1.2.2.2  bouyer ----------------------------------------
   5997  1.1.1.2.2.2  bouyer 15 July 2004.  Summary of changes for version 20040715:
   5998  1.1.1.2.2.2  bouyer 
   5999  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6000  1.1.1.2.2.2  bouyer 
   6001  1.1.1.2.2.2  bouyer Restructured the internal HW GPE interfaces to pass/track the current state 
   6002  1.1.1.2.2.2  bouyer of interrupts (enabled/disabled) in order to avoid possible deadlock and 
   6003  1.1.1.2.2.2  bouyer increase flexibility of the interfaces.
   6004  1.1.1.2.2.2  bouyer 
   6005  1.1.1.2.2.2  bouyer Implemented a "lexicographical compare" for String and Buffer objects within 
   6006  1.1.1.2.2.2  bouyer the logical operators -- LGreater, LLess, LGreaterEqual, and LLessEqual -- 
   6007  1.1.1.2.2.2  bouyer as per further clarification to the ACPI specification.  Behavior is similar 
   6008  1.1.1.2.2.2  bouyer to C library "strcmp".
   6009  1.1.1.2.2.2  bouyer 
   6010  1.1.1.2.2.2  bouyer Completed a major reduction in CPU stack use for the AcpiGetFirmwareTable 
   6011  1.1.1.2.2.2  bouyer external function.  In the 32-bit non-debug case, the stack use has been 
   6012  1.1.1.2.2.2  bouyer reduced from 168 bytes to 32 bytes.
   6013  1.1.1.2.2.2  bouyer 
   6014  1.1.1.2.2.2  bouyer Deployed a new run-time configuration flag, AcpiGbl_EnableInterpreterSlack, 
   6015  1.1.1.2.2.2  bouyer whose purpose is to allow the AML interpreter to forgive certain bad AML 
   6016  1.1.1.2.2.2  bouyer constructs.  Default setting is FALSE.
   6017  1.1.1.2.2.2  bouyer 
   6018  1.1.1.2.2.2  bouyer Implemented the first use of AcpiGbl_EnableInterpreterSlack in the Field IO 
   6019  1.1.1.2.2.2  bouyer support code.  If enabled, it allows field access to go beyond the end of a 
   6020  1.1.1.2.2.2  bouyer region definition if the field is within the region length rounded up to the 
   6021  1.1.1.2.2.2  bouyer next access width boundary (a common coding error.)
   6022  1.1.1.2.2.2  bouyer 
   6023  1.1.1.2.2.2  bouyer Renamed OSD_HANDLER to ACPI_OSD_HANDLER, and OSD_EXECUTION_CALLBACK to 
   6024  1.1.1.2.2.2  bouyer ACPI_OSD_EXEC_CALLBACK for consistency with other ACPI symbols.  Also, these 
   6025  1.1.1.2.2.2  bouyer symbols are lowercased by the latest version of the AcpiSrc tool.
   6026  1.1.1.2.2.2  bouyer 
   6027  1.1.1.2.2.2  bouyer The prototypes for the PCI interfaces in acpiosxf.h have been updated to 
   6028  1.1.1.2.2.2  bouyer rename "Register" to simply "Reg" to prevent certain compilers from 
   6029  1.1.1.2.2.2  bouyer complaining.
   6030  1.1.1.2.2.2  bouyer 
   6031  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6032  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6033  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6034  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6035  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6036  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6037  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6038  1.1.1.2.2.2  bouyer 
   6039  1.1.1.2.2.2  bouyer   Previous Release:
   6040  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
   6041  1.1.1.2.2.2  bouyer     Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
   6042  1.1.1.2.2.2  bouyer   Current Release:
   6043  1.1.1.2.2.2  bouyer     Non-Debug Version:  78.0K Code,  11.5K Data,   89.5K Total
   6044  1.1.1.2.2.2  bouyer     Debug Version:     164.1K Code,  68.2K Data,  232.3K Total
   6045  1.1.1.2.2.2  bouyer 
   6046  1.1.1.2.2.2  bouyer 
   6047  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6048  1.1.1.2.2.2  bouyer 
   6049  1.1.1.2.2.2  bouyer Implemented full support for Package objects within the Case() operator.  
   6050  1.1.1.2.2.2  bouyer Note: The Break() operator is currently not supported within Case blocks 
   6051  1.1.1.2.2.2  bouyer (TermLists) as there is some question about backward compatibility with ACPI 
   6052  1.1.1.2.2.2  bouyer 1.0 interpreters.
   6053  1.1.1.2.2.2  bouyer 
   6054  1.1.1.2.2.2  bouyer 
   6055  1.1.1.2.2.2  bouyer Fixed a problem where complex terms were not supported properly within the 
   6056  1.1.1.2.2.2  bouyer Switch() operator.
   6057  1.1.1.2.2.2  bouyer 
   6058  1.1.1.2.2.2  bouyer Eliminated extraneous warning for compiler-emitted reserved names of the 
   6059  1.1.1.2.2.2  bouyer form "_T_x".  (Used in Switch/Case operators.)
   6060  1.1.1.2.2.2  bouyer 
   6061  1.1.1.2.2.2  bouyer Eliminated optimization messages for "_T_x" objects and small constants 
   6062  1.1.1.2.2.2  bouyer within the DefinitionBlock operator.
   6063  1.1.1.2.2.2  bouyer 
   6064  1.1.1.2.2.2  bouyer 
   6065  1.1.1.2.2.2  bouyer ----------------------------------------
   6066  1.1.1.2.2.2  bouyer 15 June 2004.  Summary of changes for version 20040615:
   6067  1.1.1.2.2.2  bouyer 
   6068  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6069  1.1.1.2.2.2  bouyer 
   6070  1.1.1.2.2.2  bouyer Implemented support for Buffer and String objects (as per ACPI 2.0) for the 
   6071  1.1.1.2.2.2  bouyer following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
   6072  1.1.1.2.2.2  bouyer LLessEqual.
   6073  1.1.1.2.2.2  bouyer 
   6074  1.1.1.2.2.2  bouyer All directory names in the entire source package are lower case, as they 
   6075  1.1.1.2.2.2  bouyer were in earlier releases.
   6076  1.1.1.2.2.2  bouyer 
   6077  1.1.1.2.2.2  bouyer Implemented "Disassemble" command in the AML debugger that will disassemble 
   6078  1.1.1.2.2.2  bouyer a single control method.
   6079  1.1.1.2.2.2  bouyer 
   6080  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6081  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6082  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6083  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6084  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6085  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6086  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6087  1.1.1.2.2.2  bouyer 
   6088  1.1.1.2.2.2  bouyer   Previous Release:
   6089  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
   6090  1.1.1.2.2.2  bouyer     Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
   6091  1.1.1.2.2.2  bouyer 
   6092  1.1.1.2.2.2  bouyer   Current Release:
   6093  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.8K Code,  11.5K Data,   89.3K Total
   6094  1.1.1.2.2.2  bouyer     Debug Version:     163.8K Code,  68.2K Data,  232.0K Total
   6095  1.1.1.2.2.2  bouyer 
   6096  1.1.1.2.2.2  bouyer 
   6097  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6098  1.1.1.2.2.2  bouyer 
   6099  1.1.1.2.2.2  bouyer Implemented support for Buffer and String objects (as per ACPI 2.0) for the 
   6100  1.1.1.2.2.2  bouyer following ASL operators:  LEqual, LGreater, LLess, LGreaterEqual, and 
   6101  1.1.1.2.2.2  bouyer LLessEqual.
   6102  1.1.1.2.2.2  bouyer 
   6103  1.1.1.2.2.2  bouyer All directory names in the entire source package are lower case, as they 
   6104  1.1.1.2.2.2  bouyer were in earlier releases.
   6105  1.1.1.2.2.2  bouyer 
   6106  1.1.1.2.2.2  bouyer Fixed a fault when using the -g or -d<nofilename> options if the FADT was 
   6107  1.1.1.2.2.2  bouyer not found.
   6108  1.1.1.2.2.2  bouyer 
   6109  1.1.1.2.2.2  bouyer Fixed an issue with the Windows version of the compiler where later versions 
   6110  1.1.1.2.2.2  bouyer of Windows place the FADT in the registry under the name "FADT" and not 
   6111  1.1.1.2.2.2  bouyer "FACP" as earlier versions did.  This applies when using the -g or -
   6112  1.1.1.2.2.2  bouyer d<nofilename> options.  The compiler now looks for both strings as 
   6113  1.1.1.2.2.2  bouyer necessary.
   6114  1.1.1.2.2.2  bouyer 
   6115  1.1.1.2.2.2  bouyer Fixed a problem with compiler namepath optimization where a namepath within 
   6116  1.1.1.2.2.2  bouyer the Scope() operator could not be optimized if the namepath was a subpath of 
   6117  1.1.1.2.2.2  bouyer the current scope path.
   6118  1.1.1.2.2.2  bouyer 
   6119  1.1.1.2.2.2  bouyer ----------------------------------------
   6120  1.1.1.2.2.2  bouyer 27 May 2004.  Summary of changes for version 20040527:
   6121  1.1.1.2.2.2  bouyer 
   6122  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6123  1.1.1.2.2.2  bouyer 
   6124  1.1.1.2.2.2  bouyer Completed a new design and implementation for EBDA (Extended BIOS Data Area) 
   6125  1.1.1.2.2.2  bouyer support in the RSDP scan code.  The original code improperly scanned for the 
   6126  1.1.1.2.2.2  bouyer EBDA by simply scanning from memory location 0 to 0x400.  The correct method 
   6127  1.1.1.2.2.2  bouyer is to first obtain the EBDA pointer from within the BIOS data area, then 
   6128  1.1.1.2.2.2  bouyer scan 1K of memory starting at the EBDA pointer.  There appear to be few if 
   6129  1.1.1.2.2.2  bouyer any machines that place the RSDP in the EBDA, however.
   6130  1.1.1.2.2.2  bouyer 
   6131  1.1.1.2.2.2  bouyer Integrated a fix for a possible fault during evaluation of BufferField 
   6132  1.1.1.2.2.2  bouyer arguments.  Obsolete code that was causing the problem was removed.
   6133  1.1.1.2.2.2  bouyer 
   6134  1.1.1.2.2.2  bouyer Found and fixed a problem in the Field Support Code where data could be 
   6135  1.1.1.2.2.2  bouyer corrupted on a bit field read that starts on an aligned boundary but does 
   6136  1.1.1.2.2.2  bouyer not end on an aligned boundary.  Merged the read/write "datum length" 
   6137  1.1.1.2.2.2  bouyer calculation code into a common procedure.
   6138  1.1.1.2.2.2  bouyer 
   6139  1.1.1.2.2.2  bouyer Rolled in a couple of changes to the FreeBSD-specific header.
   6140  1.1.1.2.2.2  bouyer 
   6141  1.1.1.2.2.2  bouyer 
   6142  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6143  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6144  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6145  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6146  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6147  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6148  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6149  1.1.1.2.2.2  bouyer 
   6150  1.1.1.2.2.2  bouyer   Previous Release:
   6151  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
   6152  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
   6153  1.1.1.2.2.2  bouyer   Current Release:
   6154  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.7K Code,  11.5K Data,   89.2K Total
   6155  1.1.1.2.2.2  bouyer     Debug Version:     163.3K Code,  67.2K Data,  230.5K Total
   6156  1.1.1.2.2.2  bouyer 
   6157  1.1.1.2.2.2  bouyer 
   6158  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6159  1.1.1.2.2.2  bouyer 
   6160  1.1.1.2.2.2  bouyer Fixed a generation warning produced by some overly-verbose compilers for a 
   6161  1.1.1.2.2.2  bouyer 64-bit constant.
   6162  1.1.1.2.2.2  bouyer 
   6163  1.1.1.2.2.2  bouyer ----------------------------------------
   6164  1.1.1.2.2.2  bouyer 14 May 2004.  Summary of changes for version 20040514:
   6165  1.1.1.2.2.2  bouyer 
   6166  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6167  1.1.1.2.2.2  bouyer 
   6168  1.1.1.2.2.2  bouyer Fixed a problem where hardware GPE enable bits sometimes not set properly 
   6169  1.1.1.2.2.2  bouyer during and after GPE method execution.  Result of 04/27 changes.
   6170  1.1.1.2.2.2  bouyer 
   6171  1.1.1.2.2.2  bouyer Removed extra "clear all GPEs" when sleeping/waking.
   6172  1.1.1.2.2.2  bouyer 
   6173  1.1.1.2.2.2  bouyer Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the single 
   6174  1.1.1.2.2.2  bouyer AcpiHwWriteGpeEnableReg. Changed a couple of calls to the functions above to 
   6175  1.1.1.2.2.2  bouyer the new AcpiEv* calls as appropriate.
   6176  1.1.1.2.2.2  bouyer 
   6177  1.1.1.2.2.2  bouyer ACPI_OS_NAME was removed from the OS-specific headers.  The default name is 
   6178  1.1.1.2.2.2  bouyer now "Microsoft Windows NT" for maximum compatibility.  However this can be 
   6179  1.1.1.2.2.2  bouyer changed by modifying the acconfig.h file.
   6180  1.1.1.2.2.2  bouyer 
   6181  1.1.1.2.2.2  bouyer Allow a single invocation of AcpiInstallNotifyHandler for a handler that 
   6182  1.1.1.2.2.2  bouyer traps both types of notifies (System, Device).  Use ACPI_ALL_NOTIFY flag. 
   6183  1.1.1.2.2.2  bouyer 
   6184  1.1.1.2.2.2  bouyer Run _INI methods on ThermalZone objects.  This is against the ACPI 
   6185  1.1.1.2.2.2  bouyer specification, but there is apparently ASL code in the field that has these 
   6186  1.1.1.2.2.2  bouyer _INI methods, and apparently "other" AML interpreters execute them.
   6187  1.1.1.2.2.2  bouyer 
   6188  1.1.1.2.2.2  bouyer Performed a full 16/32/64 bit lint that resulted in some small changes.
   6189  1.1.1.2.2.2  bouyer 
   6190  1.1.1.2.2.2  bouyer Added a sleep simulation command to the AML debugger to test sleep code. 
   6191  1.1.1.2.2.2  bouyer 
   6192  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6193  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6194  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6195  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6196  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6197  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6198  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6199  1.1.1.2.2.2  bouyer 
   6200  1.1.1.2.2.2  bouyer   Previous Release:
   6201  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
   6202  1.1.1.2.2.2  bouyer     Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
   6203  1.1.1.2.2.2  bouyer   Current Release:
   6204  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
   6205  1.1.1.2.2.2  bouyer     Debug Version:     163.2K Code,  67.2K Data,  230.4K Total
   6206  1.1.1.2.2.2  bouyer 
   6207  1.1.1.2.2.2  bouyer ----------------------------------------
   6208  1.1.1.2.2.2  bouyer 27 April 2004.  Summary of changes for version 20040427:
   6209  1.1.1.2.2.2  bouyer 
   6210  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6211  1.1.1.2.2.2  bouyer 
   6212  1.1.1.2.2.2  bouyer Completed a major overhaul of the GPE handling within ACPI CA.  There are 
   6213  1.1.1.2.2.2  bouyer now three types of GPEs:  wake-only, runtime-only, and combination wake/run.  
   6214  1.1.1.2.2.2  bouyer The only GPEs allowed to be combination wake/run are for button-style 
   6215  1.1.1.2.2.2  bouyer devices such as a control-method power button, control-method sleep button, 
   6216  1.1.1.2.2.2  bouyer or a notebook lid switch.  GPEs that have an _Lxx or _Exx method and are not 
   6217  1.1.1.2.2.2  bouyer referenced by any _PRW methods are marked for "runtime" and hardware 
   6218  1.1.1.2.2.2  bouyer enabled.  Any GPE that is referenced by a _PRW method is marked for "wake" 
   6219  1.1.1.2.2.2  bouyer (and disabled at runtime).  However, at sleep time, only those GPEs that 
   6220  1.1.1.2.2.2  bouyer have been specifically enabled for wake via the AcpiEnableGpe interface will 
   6221  1.1.1.2.2.2  bouyer actually be hardware enabled.
   6222  1.1.1.2.2.2  bouyer 
   6223  1.1.1.2.2.2  bouyer A new external interface has been added, AcpiSetGpeType(), that is meant to 
   6224  1.1.1.2.2.2  bouyer be used by device drivers to force a GPE to a particular type.  It will be 
   6225  1.1.1.2.2.2  bouyer especially useful for the drivers for the button devices mentioned above.
   6226  1.1.1.2.2.2  bouyer 
   6227  1.1.1.2.2.2  bouyer Completed restructuring of the ACPI CA initialization sequence so that 
   6228  1.1.1.2.2.2  bouyer default operation region handlers are installed before GPEs are initialized 
   6229  1.1.1.2.2.2  bouyer and the _PRW methods are executed.  This will prevent errors when the _PRW 
   6230  1.1.1.2.2.2  bouyer methods attempt to access system memory or I/O space.
   6231  1.1.1.2.2.2  bouyer 
   6232  1.1.1.2.2.2  bouyer GPE enable/disable no longer reads the GPE enable register.  We now keep the 
   6233  1.1.1.2.2.2  bouyer enable info for runtime and wake separate and in the GPE_EVENT_INFO.  We 
   6234  1.1.1.2.2.2  bouyer thus no longer depend on the hardware to maintain these bits.
   6235  1.1.1.2.2.2  bouyer 
   6236  1.1.1.2.2.2  bouyer Always clear the wake status and fixed/GPE status bits before sleep, even 
   6237  1.1.1.2.2.2  bouyer for state S5.
   6238  1.1.1.2.2.2  bouyer 
   6239  1.1.1.2.2.2  bouyer Improved the AML debugger output for displaying the GPE blocks and their 
   6240  1.1.1.2.2.2  bouyer current status.
   6241  1.1.1.2.2.2  bouyer 
   6242  1.1.1.2.2.2  bouyer Added new strings for the _OSI method, of the form "Windows 2001 SPx" where 
   6243  1.1.1.2.2.2  bouyer x = 0,1,2,3,4.
   6244  1.1.1.2.2.2  bouyer 
   6245  1.1.1.2.2.2  bouyer Fixed a problem where the physical address was incorrectly calculated when 
   6246  1.1.1.2.2.2  bouyer the Load() operator was used to directly load from an Operation Region (vs. 
   6247  1.1.1.2.2.2  bouyer loading from a Field object.)  Also added check for minimum table length for 
   6248  1.1.1.2.2.2  bouyer this case.
   6249  1.1.1.2.2.2  bouyer 
   6250  1.1.1.2.2.2  bouyer Fix for multiple mutex acquisition.  Restore original thread SyncLevel on 
   6251  1.1.1.2.2.2  bouyer mutex release.
   6252  1.1.1.2.2.2  bouyer 
   6253  1.1.1.2.2.2  bouyer Added ACPI_VALID_SXDS flag to the AcpiGetObjectInfo interface for 
   6254  1.1.1.2.2.2  bouyer consistency with the other fields returned.
   6255  1.1.1.2.2.2  bouyer 
   6256  1.1.1.2.2.2  bouyer Shrunk the ACPI_GPE_EVENT_INFO structure by 40%.  There is one such 
   6257  1.1.1.2.2.2  bouyer structure for each GPE in the system, so the size of this structure is 
   6258  1.1.1.2.2.2  bouyer important.
   6259  1.1.1.2.2.2  bouyer 
   6260  1.1.1.2.2.2  bouyer CPU stack requirement reduction:  Cleaned up the method execution and object 
   6261  1.1.1.2.2.2  bouyer evaluation paths so that now a parameter structure is passed, instead of 
   6262  1.1.1.2.2.2  bouyer copying the various method parameters over and over again.
   6263  1.1.1.2.2.2  bouyer 
   6264  1.1.1.2.2.2  bouyer In evregion.c:  Correctly exit and reenter the interpreter region if and 
   6265  1.1.1.2.2.2  bouyer only if dispatching an operation region request to a user-installed handler.  
   6266  1.1.1.2.2.2  bouyer Do not exit/reenter when dispatching to a default handler (e.g., default 
   6267  1.1.1.2.2.2  bouyer system memory or I/O handlers)
   6268  1.1.1.2.2.2  bouyer 
   6269  1.1.1.2.2.2  bouyer 
   6270  1.1.1.2.2.2  bouyer Notes for updating drivers for the new GPE support.  The following changes 
   6271  1.1.1.2.2.2  bouyer must be made to ACPI-related device drivers that are attached to one or more 
   6272  1.1.1.2.2.2  bouyer GPEs: (This information will be added to the ACPI CA Programmer Reference.)
   6273  1.1.1.2.2.2  bouyer 
   6274  1.1.1.2.2.2  bouyer 1) AcpiInstallGpeHandler no longer automatically enables the GPE, you must 
   6275  1.1.1.2.2.2  bouyer explicitly call AcpiEnableGpe.
   6276  1.1.1.2.2.2  bouyer 2) There is a new interface called AcpiSetGpeType. This should be called 
   6277  1.1.1.2.2.2  bouyer before enabling the GPE.  Also, this interface will automatically disable 
   6278  1.1.1.2.2.2  bouyer the GPE if it is currently enabled.
   6279  1.1.1.2.2.2  bouyer 3) AcpiEnableGpe no longer supports a GPE type flag.
   6280  1.1.1.2.2.2  bouyer 
   6281  1.1.1.2.2.2  bouyer Specific drivers that must be changed:
   6282  1.1.1.2.2.2  bouyer 1) EC driver:
   6283  1.1.1.2.2.2  bouyer     AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED, 
   6284  1.1.1.2.2.2  bouyer AeGpeHandler, NULL);
   6285  1.1.1.2.2.2  bouyer     AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
   6286  1.1.1.2.2.2  bouyer     AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
   6287  1.1.1.2.2.2  bouyer 
   6288  1.1.1.2.2.2  bouyer 2) Button Drivers (Power, Lid, Sleep):
   6289  1.1.1.2.2.2  bouyer Run _PRW method under parent device
   6290  1.1.1.2.2.2  bouyer If _PRW exists: /* This is a control-method button */
   6291  1.1.1.2.2.2  bouyer     Extract GPE number and possibly GpeDevice
   6292  1.1.1.2.2.2  bouyer     AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
   6293  1.1.1.2.2.2  bouyer     AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
   6294  1.1.1.2.2.2  bouyer 
   6295  1.1.1.2.2.2  bouyer For all other devices that have _PRWs, we automatically set the GPE type to 
   6296  1.1.1.2.2.2  bouyer ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically (wake) enabled.  This 
   6297  1.1.1.2.2.2  bouyer must be done on a selective basis, usually requiring some kind of user app 
   6298  1.1.1.2.2.2  bouyer to allow the user to pick the wake devices.
   6299  1.1.1.2.2.2  bouyer 
   6300  1.1.1.2.2.2  bouyer 
   6301  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6302  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6303  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6304  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6305  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6306  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6307  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6308  1.1.1.2.2.2  bouyer 
   6309  1.1.1.2.2.2  bouyer   Previous Release:
   6310  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
   6311  1.1.1.2.2.2  bouyer     Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
   6312  1.1.1.2.2.2  bouyer   Current Release:
   6313  1.1.1.2.2.2  bouyer 
   6314  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.6K Code,  11.5K Data,   89.1K Total
   6315  1.1.1.2.2.2  bouyer     Debug Version:     162.9K Code,  67.0K Data,  229.9K Total
   6316  1.1.1.2.2.2  bouyer 
   6317  1.1.1.2.2.2  bouyer 
   6318  1.1.1.2.2.2  bouyer 
   6319  1.1.1.2.2.2  bouyer ----------------------------------------
   6320  1.1.1.2.2.2  bouyer 02 April 2004.  Summary of changes for version 20040402:
   6321  1.1.1.2.2.2  bouyer 
   6322  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6323  1.1.1.2.2.2  bouyer 
   6324  1.1.1.2.2.2  bouyer Fixed an interpreter problem where an indirect store through an ArgX 
   6325  1.1.1.2.2.2  bouyer parameter was incorrectly applying the "implicit conversion rules" during 
   6326  1.1.1.2.2.2  bouyer the store.  From the ACPI specification: "If the target is a method local or 
   6327  1.1.1.2.2.2  bouyer argument (LocalX or ArgX), no conversion is performed and the result is 
   6328  1.1.1.2.2.2  bouyer stored directly to the target".  The new behavior is to disable implicit 
   6329  1.1.1.2.2.2  bouyer conversion during ALL stores to an ArgX.
   6330  1.1.1.2.2.2  bouyer 
   6331  1.1.1.2.2.2  bouyer Changed the behavior of the _PRW method scan to ignore any and all errors 
   6332  1.1.1.2.2.2  bouyer returned by a given _PRW.  This prevents the scan from aborting from the 
   6333  1.1.1.2.2.2  bouyer failure of any single _PRW.
   6334  1.1.1.2.2.2  bouyer 
   6335  1.1.1.2.2.2  bouyer Moved the runtime configuration parameters from the global init procedure to 
   6336  1.1.1.2.2.2  bouyer static variables in acglobal.h.  This will allow the host to override the 
   6337  1.1.1.2.2.2  bouyer default values easily.
   6338  1.1.1.2.2.2  bouyer 
   6339  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6340  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6341  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6342  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6343  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6344  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6345  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6346  1.1.1.2.2.2  bouyer 
   6347  1.1.1.2.2.2  bouyer   Previous Release:
   6348  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
   6349  1.1.1.2.2.2  bouyer     Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
   6350  1.1.1.2.2.2  bouyer   Current Release:
   6351  1.1.1.2.2.2  bouyer     Non-Debug Version:  77.0K Code,  11.4K Data,   88.4K Total
   6352  1.1.1.2.2.2  bouyer     Debug Version:     161.0K Code,  66.3K Data,  227.3K Total
   6353  1.1.1.2.2.2  bouyer 
   6354  1.1.1.2.2.2  bouyer 
   6355  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6356  1.1.1.2.2.2  bouyer 
   6357  1.1.1.2.2.2  bouyer iASL now fully disassembles SSDTs.  However, External() statements are not 
   6358  1.1.1.2.2.2  bouyer generated automatically for unresolved symbols at this time.  This is a 
   6359  1.1.1.2.2.2  bouyer planned feature for future implementation.
   6360  1.1.1.2.2.2  bouyer 
   6361  1.1.1.2.2.2  bouyer Fixed a scoping problem in the disassembler that occurs when the type of the 
   6362  1.1.1.2.2.2  bouyer target of a Scope() operator is overridden.  This problem caused an 
   6363  1.1.1.2.2.2  bouyer incorrectly nested internal namespace to be constructed.
   6364  1.1.1.2.2.2  bouyer 
   6365  1.1.1.2.2.2  bouyer Any warnings or errors that are emitted during disassembly are now commented 
   6366  1.1.1.2.2.2  bouyer out automatically so that the resulting file can be recompiled without any 
   6367  1.1.1.2.2.2  bouyer hand editing.
   6368  1.1.1.2.2.2  bouyer 
   6369  1.1.1.2.2.2  bouyer ----------------------------------------
   6370  1.1.1.2.2.2  bouyer 26 March 2004.  Summary of changes for version 20040326:
   6371  1.1.1.2.2.2  bouyer 
   6372  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6373  1.1.1.2.2.2  bouyer 
   6374  1.1.1.2.2.2  bouyer Implemented support for "wake" GPEs via interaction between GPEs and the 
   6375  1.1.1.2.2.2  bouyer _PRW methods.  Every GPE that is pointed to by one or more _PRWs is 
   6376  1.1.1.2.2.2  bouyer identified as a WAKE GPE and by default will no longer be enabled at 
   6377  1.1.1.2.2.2  bouyer runtime.  Previously, we were blindly enabling all GPEs with a corresponding 
   6378  1.1.1.2.2.2  bouyer _Lxx or _Exx method - but most of these turn out to be WAKE GPEs anyway.  We 
   6379  1.1.1.2.2.2  bouyer believe this has been the cause of thousands of "spurious" GPEs on some 
   6380  1.1.1.2.2.2  bouyer systems.
   6381  1.1.1.2.2.2  bouyer 
   6382  1.1.1.2.2.2  bouyer This new GPE behavior is can be reverted to the original behavior (enable 
   6383  1.1.1.2.2.2  bouyer ALL GPEs at runtime) via a runtime flag.
   6384  1.1.1.2.2.2  bouyer 
   6385  1.1.1.2.2.2  bouyer Fixed a problem where aliased control methods could not access objects 
   6386  1.1.1.2.2.2  bouyer properly.  The proper scope within the namespace was not initialized 
   6387  1.1.1.2.2.2  bouyer (transferred to the target of the aliased method) before executing the 
   6388  1.1.1.2.2.2  bouyer target method.
   6389  1.1.1.2.2.2  bouyer 
   6390  1.1.1.2.2.2  bouyer Fixed a potential race condition on internal object deletion on the return 
   6391  1.1.1.2.2.2  bouyer object in AcpiEvaluateObject. 
   6392  1.1.1.2.2.2  bouyer 
   6393  1.1.1.2.2.2  bouyer Integrated a fix for resource descriptors where both _MEM and _MTP were 
   6394  1.1.1.2.2.2  bouyer being extracted instead of just _MEM.  (i.e. bitmask was incorrectly too 
   6395  1.1.1.2.2.2  bouyer wide, 0x0F instead of 0x03.)
   6396  1.1.1.2.2.2  bouyer 
   6397  1.1.1.2.2.2  bouyer Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName, preventing a 
   6398  1.1.1.2.2.2  bouyer fault in some cases.
   6399  1.1.1.2.2.2  bouyer 
   6400  1.1.1.2.2.2  bouyer Updated Notify() values for debug statements in evmisc.c
   6401  1.1.1.2.2.2  bouyer 
   6402  1.1.1.2.2.2  bouyer Return proper status from AcpiUtMutexInitialize, not just simply AE_OK.
   6403  1.1.1.2.2.2  bouyer 
   6404  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6405  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6406  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6407  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6408  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6409  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6410  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6411  1.1.1.2.2.2  bouyer 
   6412  1.1.1.2.2.2  bouyer   Previous Release:
   6413  1.1.1.2.2.2  bouyer 
   6414  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
   6415  1.1.1.2.2.2  bouyer     Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
   6416  1.1.1.2.2.2  bouyer   Current Release:
   6417  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.9K Code,  11.4K Data,   88.3K Total
   6418  1.1.1.2.2.2  bouyer     Debug Version:     160.8K Code,  66.1K Data,  226.9K Total
   6419  1.1.1.2.2.2  bouyer 
   6420  1.1.1.2.2.2  bouyer ----------------------------------------
   6421  1.1.1.2.2.2  bouyer 11 March 2004.  Summary of changes for version 20040311:
   6422  1.1.1.2.2.2  bouyer 
   6423  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6424  1.1.1.2.2.2  bouyer 
   6425  1.1.1.2.2.2  bouyer Fixed a problem where errors occurring during the parse phase of control 
   6426  1.1.1.2.2.2  bouyer method execution did not abort cleanly.  For example, objects created and 
   6427  1.1.1.2.2.2  bouyer installed in the namespace were not deleted.  This caused all subsequent 
   6428  1.1.1.2.2.2  bouyer invocations of the method to return the AE_ALREADY_EXISTS exception.
   6429  1.1.1.2.2.2  bouyer 
   6430  1.1.1.2.2.2  bouyer Implemented a mechanism to force a control method to "Serialized" execution 
   6431  1.1.1.2.2.2  bouyer if the method attempts to create namespace objects. (The root of the 
   6432  1.1.1.2.2.2  bouyer AE_ALREADY_EXISTS problem.)
   6433  1.1.1.2.2.2  bouyer 
   6434  1.1.1.2.2.2  bouyer Implemented support for the predefined _OSI "internal" control method.  
   6435  1.1.1.2.2.2  bouyer Initial supported strings are "Linux", "Windows 2000", "Windows 2001", and 
   6436  1.1.1.2.2.2  bouyer "Windows 2001.1", and can be easily upgraded for new strings as necessary.  
   6437  1.1.1.2.2.2  bouyer This feature will allow "other" operating systems to execute the fully 
   6438  1.1.1.2.2.2  bouyer tested, "Windows" code path through the ASL code
   6439  1.1.1.2.2.2  bouyer 
   6440  1.1.1.2.2.2  bouyer Global Lock Support:  Now allows multiple acquires and releases with any 
   6441  1.1.1.2.2.2  bouyer internal thread.  Removed concept of "owning thread" for this special mutex.
   6442  1.1.1.2.2.2  bouyer 
   6443  1.1.1.2.2.2  bouyer Fixed two functions that were inappropriately declaring large objects on the 
   6444  1.1.1.2.2.2  bouyer CPU stack:  PsParseLoop, NsEvaluateRelative.  Reduces the stack usage during 
   6445  1.1.1.2.2.2  bouyer method execution considerably.
   6446  1.1.1.2.2.2  bouyer 
   6447  1.1.1.2.2.2  bouyer Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the 
   6448  1.1.1.2.2.2  bouyer S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
   6449  1.1.1.2.2.2  bouyer 
   6450  1.1.1.2.2.2  bouyer Fixed a problem where AcpiEvGpeDetect would fault if there were no GPEs 
   6451  1.1.1.2.2.2  bouyer defined on the machine.
   6452  1.1.1.2.2.2  bouyer 
   6453  1.1.1.2.2.2  bouyer Implemented two runtime options:  One to force all control method execution 
   6454  1.1.1.2.2.2  bouyer to "Serialized" to mimic Windows behavior, another to disable _OSI support 
   6455  1.1.1.2.2.2  bouyer if it causes problems on a given machine.
   6456  1.1.1.2.2.2  bouyer 
   6457  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library sizes are 
   6458  1.1.1.2.2.2  bouyer shown below.  These are the code and data sizes for the acpica.lib produced 
   6459  1.1.1.2.2.2  bouyer by the Microsoft Visual C++ 6.0 compiler, and these values do not include 
   6460  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code includes the 
   6461  1.1.1.2.2.2  bouyer debug output trace mechanism and has a much larger code and data size.  Note 
   6462  1.1.1.2.2.2  bouyer that these values will vary depending on the efficiency of the compiler and 
   6463  1.1.1.2.2.2  bouyer the compiler options used during generation.
   6464  1.1.1.2.2.2  bouyer 
   6465  1.1.1.2.2.2  bouyer   Previous Release:
   6466  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
   6467  1.1.1.2.2.2  bouyer     Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
   6468  1.1.1.2.2.2  bouyer   Current Release:
   6469  1.1.1.2.2.2  bouyer     Non-Debug Version:  76.5K Code,  11.3K Data,   87.8K Total
   6470  1.1.1.2.2.2  bouyer     Debug Version:     160.3K Code,  66.0K Data,  226.3K Total
   6471  1.1.1.2.2.2  bouyer 
   6472  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6473  1.1.1.2.2.2  bouyer 
   6474  1.1.1.2.2.2  bouyer Fixed an array size problem for FreeBSD that would cause the compiler to 
   6475  1.1.1.2.2.2  bouyer fault.
   6476  1.1.1.2.2.2  bouyer 
   6477  1.1.1.2.2.2  bouyer ----------------------------------------
   6478  1.1.1.2.2.2  bouyer 20 February 2004.  Summary of changes for version 20040220:
   6479  1.1.1.2.2.2  bouyer 
   6480  1.1.1.2.2.2  bouyer 
   6481  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6482  1.1.1.2.2.2  bouyer 
   6483  1.1.1.2.2.2  bouyer Implemented execution of _SxD methods for Device objects in the 
   6484  1.1.1.2.2.2  bouyer GetObjectInfo interface.
   6485  1.1.1.2.2.2  bouyer 
   6486  1.1.1.2.2.2  bouyer Fixed calls to _SST method to pass the correct arguments.
   6487  1.1.1.2.2.2  bouyer 
   6488  1.1.1.2.2.2  bouyer Added a call to _SST on wake to restore to "working" state.
   6489  1.1.1.2.2.2  bouyer 
   6490  1.1.1.2.2.2  bouyer Check for End-Of-Buffer failure case in the WalkResources interface.
   6491  1.1.1.2.2.2  bouyer 
   6492  1.1.1.2.2.2  bouyer Integrated fix for 64-bit alignment issue in acglobal.h by moving two 
   6493  1.1.1.2.2.2  bouyer structures to the beginning of the file.
   6494  1.1.1.2.2.2  bouyer 
   6495  1.1.1.2.2.2  bouyer After wake, clear GPE status register(s) before enabling GPEs.
   6496  1.1.1.2.2.2  bouyer 
   6497  1.1.1.2.2.2  bouyer After wake, clear/enable power button.  (Perhaps we should clear/enable all 
   6498  1.1.1.2.2.2  bouyer fixed events upon wake.)
   6499  1.1.1.2.2.2  bouyer 
   6500  1.1.1.2.2.2  bouyer Fixed a couple of possible memory leaks in the Namespace manager.
   6501  1.1.1.2.2.2  bouyer 
   6502  1.1.1.2.2.2  bouyer Integrated latest acnetbsd.h file.
   6503  1.1.1.2.2.2  bouyer 
   6504  1.1.1.2.2.2  bouyer ----------------------------------------
   6505  1.1.1.2.2.2  bouyer 11 February 2004.  Summary of changes for version 20040211:
   6506  1.1.1.2.2.2  bouyer 
   6507  1.1.1.2.2.2  bouyer 
   6508  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6509  1.1.1.2.2.2  bouyer 
   6510  1.1.1.2.2.2  bouyer Completed investigation and implementation of the call-by-reference 
   6511  1.1.1.2.2.2  bouyer mechanism for control method arguments.
   6512  1.1.1.2.2.2  bouyer 
   6513  1.1.1.2.2.2  bouyer Fixed a problem where a store of an object into an indexed package could 
   6514  1.1.1.2.2.2  bouyer fail if the store occurs within a different method than the method that 
   6515  1.1.1.2.2.2  bouyer created the package.
   6516  1.1.1.2.2.2  bouyer 
   6517  1.1.1.2.2.2  bouyer Fixed a problem where the ToDecimal operator could return incorrect results.
   6518  1.1.1.2.2.2  bouyer 
   6519  1.1.1.2.2.2  bouyer Fixed a problem where the CopyObject operator could fail on some of the more 
   6520  1.1.1.2.2.2  bouyer obscure objects (e.g., Reference objects.)
   6521  1.1.1.2.2.2  bouyer 
   6522  1.1.1.2.2.2  bouyer Improved the output of the Debug object to display buffer, package, and 
   6523  1.1.1.2.2.2  bouyer index objects.
   6524  1.1.1.2.2.2  bouyer 
   6525  1.1.1.2.2.2  bouyer Fixed a problem where constructs of the form "RefOf (ArgX)" did not return 
   6526  1.1.1.2.2.2  bouyer the expected result.
   6527  1.1.1.2.2.2  bouyer 
   6528  1.1.1.2.2.2  bouyer Added permanent ACPI_REPORT_ERROR macros for all instances of the 
   6529  1.1.1.2.2.2  bouyer ACPI_AML_INTERNAL exception.
   6530  1.1.1.2.2.2  bouyer 
   6531  1.1.1.2.2.2  bouyer Integrated latest version of acfreebsd.h
   6532  1.1.1.2.2.2  bouyer 
   6533  1.1.1.2.2.2  bouyer ----------------------------------------
   6534  1.1.1.2.2.2  bouyer 16 January 2004.  Summary of changes for version 20040116:
   6535  1.1.1.2.2.2  bouyer 
   6536  1.1.1.2.2.2  bouyer The purpose of this release is primarily to update the copyright years in 
   6537  1.1.1.2.2.2  bouyer each module, thus causing a huge number of diffs.  There are a few small 
   6538  1.1.1.2.2.2  bouyer functional changes, however.
   6539  1.1.1.2.2.2  bouyer 
   6540  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6541  1.1.1.2.2.2  bouyer 
   6542  1.1.1.2.2.2  bouyer Improved error messages when there is a problem finding one or more of the 
   6543  1.1.1.2.2.2  bouyer required base ACPI tables
   6544  1.1.1.2.2.2  bouyer 
   6545  1.1.1.2.2.2  bouyer Reintroduced the definition of APIC_HEADER in actbl.h
   6546  1.1.1.2.2.2  bouyer 
   6547  1.1.1.2.2.2  bouyer Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
   6548  1.1.1.2.2.2  bouyer 
   6549  1.1.1.2.2.2  bouyer Removed extraneous reference to NewObj in dsmthdat.c
   6550  1.1.1.2.2.2  bouyer 
   6551  1.1.1.2.2.2  bouyer 2) iASL compiler
   6552  1.1.1.2.2.2  bouyer 
   6553  1.1.1.2.2.2  bouyer Fixed a problem introduced in December that disabled the correct disassembly 
   6554  1.1.1.2.2.2  bouyer of Resource Templates
   6555  1.1.1.2.2.2  bouyer 
   6556  1.1.1.2.2.2  bouyer 
   6557  1.1.1.2.2.2  bouyer ----------------------------------------
   6558  1.1.1.2.2.2  bouyer 03 December 2003.  Summary of changes for version 20031203:
   6559  1.1.1.2.2.2  bouyer 
   6560  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6561  1.1.1.2.2.2  bouyer 
   6562  1.1.1.2.2.2  bouyer Changed the initialization of Operation Regions during subsystem
   6563  1.1.1.2.2.2  bouyer init to perform two entire walks of the ACPI namespace; The first
   6564  1.1.1.2.2.2  bouyer to initialize the regions themselves, the second to execute the
   6565  1.1.1.2.2.2  bouyer _REG methods.  This fixed some interdependencies across _REG
   6566  1.1.1.2.2.2  bouyer methods found on some machines.
   6567  1.1.1.2.2.2  bouyer 
   6568  1.1.1.2.2.2  bouyer Fixed a problem where a Store(Local0, Local1) could simply update
   6569  1.1.1.2.2.2  bouyer the object reference count, and not create a new copy of the
   6570  1.1.1.2.2.2  bouyer object if the Local1 is uninitialized.
   6571  1.1.1.2.2.2  bouyer 
   6572  1.1.1.2.2.2  bouyer Implemented support for the _SST reserved method during sleep
   6573  1.1.1.2.2.2  bouyer transitions.
   6574  1.1.1.2.2.2  bouyer 
   6575  1.1.1.2.2.2  bouyer Implemented support to clear the SLP_TYP and SLP_EN bits when
   6576  1.1.1.2.2.2  bouyer waking up, this is apparently required by some machines.
   6577  1.1.1.2.2.2  bouyer 
   6578  1.1.1.2.2.2  bouyer When sleeping, clear the wake status only if SleepState is not S5.
   6579  1.1.1.2.2.2  bouyer 
   6580  1.1.1.2.2.2  bouyer Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
   6581  1.1.1.2.2.2  bouyer pointer arithmetic advanced a string pointer too far.
   6582  1.1.1.2.2.2  bouyer 
   6583  1.1.1.2.2.2  bouyer Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
   6584  1.1.1.2.2.2  bouyer could be returned if the requested table has not been loaded.
   6585  1.1.1.2.2.2  bouyer 
   6586  1.1.1.2.2.2  bouyer Within the support for IRQ resources, restructured the handling of
   6587  1.1.1.2.2.2  bouyer the active and edge/level bits.
   6588  1.1.1.2.2.2  bouyer 
   6589  1.1.1.2.2.2  bouyer Fixed a few problems in AcpiPsxExecute() where memory could be
   6590  1.1.1.2.2.2  bouyer leaked under certain error conditions.
   6591  1.1.1.2.2.2  bouyer 
   6592  1.1.1.2.2.2  bouyer Improved error messages for the cases where the ACPI mode could
   6593  1.1.1.2.2.2  bouyer not be entered.
   6594  1.1.1.2.2.2  bouyer 
   6595  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library
   6596  1.1.1.2.2.2  bouyer sizes are shown below.  These are the code and data sizes for the
   6597  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
   6598  1.1.1.2.2.2  bouyer these values do not include any ACPI driver or OSPM code.  The
   6599  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace
   6600  1.1.1.2.2.2  bouyer mechanism and has a much larger code and data size.  Note that
   6601  1.1.1.2.2.2  bouyer these values will vary depending on the efficiency of the compiler
   6602  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   6603  1.1.1.2.2.2  bouyer 
   6604  1.1.1.2.2.2  bouyer   Previous Release (20031029):
   6605  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
   6606  1.1.1.2.2.2  bouyer     Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
   6607  1.1.1.2.2.2  bouyer   Current Release:
   6608  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.8K Code,  10.1K Data,   84.9K Total
   6609  1.1.1.2.2.2  bouyer     Debug Version:     158.7K Code,  65.1K Data,  223.8K Total
   6610  1.1.1.2.2.2  bouyer 
   6611  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6612  1.1.1.2.2.2  bouyer 
   6613  1.1.1.2.2.2  bouyer Implemented a fix for the iASL disassembler where a bad index was
   6614  1.1.1.2.2.2  bouyer generated.  This was most noticeable on 64-bit platforms
   6615  1.1.1.2.2.2  bouyer 
   6616  1.1.1.2.2.2  bouyer 
   6617  1.1.1.2.2.2  bouyer ----------------------------------------
   6618  1.1.1.2.2.2  bouyer 29 October 2003.  Summary of changes for version 20031029:
   6619  1.1.1.2.2.2  bouyer 
   6620  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6621  1.1.1.2.2.2  bouyer 
   6622  1.1.1.2.2.2  bouyer 
   6623  1.1.1.2.2.2  bouyer Fixed a problem where a level-triggered GPE with an associated
   6624  1.1.1.2.2.2  bouyer _Lxx control method was incorrectly cleared twice.
   6625  1.1.1.2.2.2  bouyer 
   6626  1.1.1.2.2.2  bouyer Fixed a problem with the Field support code where an access can
   6627  1.1.1.2.2.2  bouyer occur beyond the end-of-region if the field is non-aligned but
   6628  1.1.1.2.2.2  bouyer extends to the very end of the parent region (resulted in an
   6629  1.1.1.2.2.2  bouyer AE_AML_REGION_LIMIT exception.)
   6630  1.1.1.2.2.2  bouyer 
   6631  1.1.1.2.2.2  bouyer Fixed a problem with ACPI Fixed Events where an RT Clock handler
   6632  1.1.1.2.2.2  bouyer would not get invoked on an RTC event.  The RTC event bitmasks for
   6633  1.1.1.2.2.2  bouyer the PM1 registers were not being initialized properly.
   6634  1.1.1.2.2.2  bouyer 
   6635  1.1.1.2.2.2  bouyer Implemented support for executing _STA and _INI methods for
   6636  1.1.1.2.2.2  bouyer Processor objects.  Although this is currently not part of the
   6637  1.1.1.2.2.2  bouyer ACPI specification, there is existing ASL code that depends on the
   6638  1.1.1.2.2.2  bouyer init-time execution of these methods.
   6639  1.1.1.2.2.2  bouyer 
   6640  1.1.1.2.2.2  bouyer Implemented and deployed a GetDescriptorName function to decode
   6641  1.1.1.2.2.2  bouyer the various types of internal descriptors.  Guards against null
   6642  1.1.1.2.2.2  bouyer descriptors during debug output also.
   6643  1.1.1.2.2.2  bouyer 
   6644  1.1.1.2.2.2  bouyer Implemented and deployed a GetNodeName function to extract the 4-
   6645  1.1.1.2.2.2  bouyer character namespace node name.  This function simplifies the debug
   6646  1.1.1.2.2.2  bouyer and error output, as well as guarding against null pointers during
   6647  1.1.1.2.2.2  bouyer output.
   6648  1.1.1.2.2.2  bouyer 
   6649  1.1.1.2.2.2  bouyer Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
   6650  1.1.1.2.2.2  bouyer simplify the debug and error output of 64-bit integers.  This
   6651  1.1.1.2.2.2  bouyer macro replaces the HIDWORD and LODWORD macros for dumping these
   6652  1.1.1.2.2.2  bouyer integers.
   6653  1.1.1.2.2.2  bouyer 
   6654  1.1.1.2.2.2  bouyer Updated the implementation of the Stall() operator to only call
   6655  1.1.1.2.2.2  bouyer AcpiOsStall(), and also return an error if the operand is larger
   6656  1.1.1.2.2.2  bouyer than 255.  This preserves the required behavior of not
   6657  1.1.1.2.2.2  bouyer relinquishing the processor, as would happen if AcpiOsSleep() was
   6658  1.1.1.2.2.2  bouyer called for "long stalls".
   6659  1.1.1.2.2.2  bouyer 
   6660  1.1.1.2.2.2  bouyer Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
   6661  1.1.1.2.2.2  bouyer initialized are now treated as NOOPs.
   6662  1.1.1.2.2.2  bouyer 
   6663  1.1.1.2.2.2  bouyer Cleaned up a handful of warnings during 64-bit generation.
   6664  1.1.1.2.2.2  bouyer 
   6665  1.1.1.2.2.2  bouyer Fixed a reported error where and incorrect GPE number was passed
   6666  1.1.1.2.2.2  bouyer to the GPE dispatch handler.  This value is only used for error
   6667  1.1.1.2.2.2  bouyer output, however.  Used this opportunity to clean up and streamline
   6668  1.1.1.2.2.2  bouyer the GPE dispatch code.
   6669  1.1.1.2.2.2  bouyer 
   6670  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library
   6671  1.1.1.2.2.2  bouyer sizes are shown below.  These are the code and data sizes for the
   6672  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
   6673  1.1.1.2.2.2  bouyer these values do not include any ACPI driver or OSPM code.  The
   6674  1.1.1.2.2.2  bouyer 
   6675  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace
   6676  1.1.1.2.2.2  bouyer mechanism and has a much larger code and data size.  Note that
   6677  1.1.1.2.2.2  bouyer these values will vary depending on the efficiency of the compiler
   6678  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   6679  1.1.1.2.2.2  bouyer 
   6680  1.1.1.2.2.2  bouyer   Previous Release (20031002):
   6681  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
   6682  1.1.1.2.2.2  bouyer     Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
   6683  1.1.1.2.2.2  bouyer   Current Release:
   6684  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.4K Code,  10.1K Data,   84.5K Total
   6685  1.1.1.2.2.2  bouyer     Debug Version:     158.3K Code,  65.0K Data,  223.3K Total
   6686  1.1.1.2.2.2  bouyer 
   6687  1.1.1.2.2.2  bouyer 
   6688  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler:
   6689  1.1.1.2.2.2  bouyer 
   6690  1.1.1.2.2.2  bouyer Updated the iASL compiler to return an error if the operand to the
   6691  1.1.1.2.2.2  bouyer Stall() operator is larger than 255.
   6692  1.1.1.2.2.2  bouyer 
   6693  1.1.1.2.2.2  bouyer 
   6694  1.1.1.2.2.2  bouyer ----------------------------------------
   6695  1.1.1.2.2.2  bouyer 02 October 2003.  Summary of changes for version 20031002:
   6696  1.1.1.2.2.2  bouyer 
   6697  1.1.1.2.2.2  bouyer 
   6698  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6699  1.1.1.2.2.2  bouyer 
   6700  1.1.1.2.2.2  bouyer Fixed a problem with Index Fields where the index was not
   6701  1.1.1.2.2.2  bouyer incremented for fields that require multiple writes to the
   6702  1.1.1.2.2.2  bouyer index/data registers (Fields that are wider than the data
   6703  1.1.1.2.2.2  bouyer register.)
   6704  1.1.1.2.2.2  bouyer 
   6705  1.1.1.2.2.2  bouyer Fixed a problem with all Field objects where a write could go
   6706  1.1.1.2.2.2  bouyer beyond the end-of-field if the field was larger than the access
   6707  1.1.1.2.2.2  bouyer granularity and therefore required multiple writes to complete the
   6708  1.1.1.2.2.2  bouyer request.  An extra write beyond the end of the field could happen
   6709  1.1.1.2.2.2  bouyer inadvertently.
   6710  1.1.1.2.2.2  bouyer 
   6711  1.1.1.2.2.2  bouyer Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
   6712  1.1.1.2.2.2  bouyer would incorrectly be returned if the width of the Data Register
   6713  1.1.1.2.2.2  bouyer was larger than the specified field access width.
   6714  1.1.1.2.2.2  bouyer 
   6715  1.1.1.2.2.2  bouyer Completed fixes for LoadTable() and Unload() and verified their
   6716  1.1.1.2.2.2  bouyer operation.  Implemented full support for the "DdbHandle" object
   6717  1.1.1.2.2.2  bouyer throughout the ACPI CA subsystem.
   6718  1.1.1.2.2.2  bouyer 
   6719  1.1.1.2.2.2  bouyer Implemented full support for the MADT and ECDT tables in the ACPI
   6720  1.1.1.2.2.2  bouyer CA header files.  Even though these tables are not directly
   6721  1.1.1.2.2.2  bouyer consumed by ACPI CA, the header definitions are useful for ACPI
   6722  1.1.1.2.2.2  bouyer device drivers.
   6723  1.1.1.2.2.2  bouyer 
   6724  1.1.1.2.2.2  bouyer Integrated resource descriptor fixes posted to the Linux ACPI
   6725  1.1.1.2.2.2  bouyer list.  This included checks for minimum descriptor length, and
   6726  1.1.1.2.2.2  bouyer support for trailing NULL strings within descriptors that have
   6727  1.1.1.2.2.2  bouyer optional string elements.
   6728  1.1.1.2.2.2  bouyer 
   6729  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library
   6730  1.1.1.2.2.2  bouyer sizes are shown below.  These are the code and data sizes for the
   6731  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
   6732  1.1.1.2.2.2  bouyer these values do not include any ACPI driver or OSPM code.  The
   6733  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace
   6734  1.1.1.2.2.2  bouyer mechanism and has a much larger code and data size.  Note that
   6735  1.1.1.2.2.2  bouyer these values will vary depending on the efficiency of the compiler
   6736  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   6737  1.1.1.2.2.2  bouyer 
   6738  1.1.1.2.2.2  bouyer   Previous Release (20030918):
   6739  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
   6740  1.1.1.2.2.2  bouyer     Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
   6741  1.1.1.2.2.2  bouyer   Current Release:
   6742  1.1.1.2.2.2  bouyer     Non-Debug Version:  74.1K Code,   9.7K Data,   83.8K Total
   6743  1.1.1.2.2.2  bouyer     Debug Version:     157.9K Code,  64.8K Data,  222.7K Total
   6744  1.1.1.2.2.2  bouyer 
   6745  1.1.1.2.2.2  bouyer 
   6746  1.1.1.2.2.2  bouyer 2) iASL Compiler:
   6747  1.1.1.2.2.2  bouyer 
   6748  1.1.1.2.2.2  bouyer Implemented detection of non-ASCII characters within the input
   6749  1.1.1.2.2.2  bouyer source ASL file.  This catches attempts to compile binary (AML)
   6750  1.1.1.2.2.2  bouyer files early in the compile, with an informative error message.
   6751  1.1.1.2.2.2  bouyer 
   6752  1.1.1.2.2.2  bouyer Fixed a problem where the disassembler would fault if the output
   6753  1.1.1.2.2.2  bouyer filename could not be generated or if the output file could not be
   6754  1.1.1.2.2.2  bouyer opened.
   6755  1.1.1.2.2.2  bouyer 
   6756  1.1.1.2.2.2  bouyer ----------------------------------------
   6757  1.1.1.2.2.2  bouyer 18 September 2003.  Summary of changes for version 20030918:
   6758  1.1.1.2.2.2  bouyer 
   6759  1.1.1.2.2.2  bouyer 
   6760  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6761  1.1.1.2.2.2  bouyer 
   6762  1.1.1.2.2.2  bouyer Found and fixed a longstanding problem with the late execution of
   6763  1.1.1.2.2.2  bouyer the various deferred AML opcodes (such as Operation Regions,
   6764  1.1.1.2.2.2  bouyer Buffer Fields, Buffers, and Packages).  If the name string
   6765  1.1.1.2.2.2  bouyer specified for the name of the new object placed the object in a
   6766  1.1.1.2.2.2  bouyer scope other than the current scope, the initialization/execution
   6767  1.1.1.2.2.2  bouyer of the opcode failed.  The solution to this problem was to
   6768  1.1.1.2.2.2  bouyer implement a mechanism where the late execution of such opcodes
   6769  1.1.1.2.2.2  bouyer does not attempt to lookup/create the name a second time in an
   6770  1.1.1.2.2.2  bouyer incorrect scope.  This fixes the "region size computed
   6771  1.1.1.2.2.2  bouyer incorrectly" problem.
   6772  1.1.1.2.2.2  bouyer 
   6773  1.1.1.2.2.2  bouyer Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing a
   6774  1.1.1.2.2.2  bouyer Global Lock AE_BAD_PARAMETER error.
   6775  1.1.1.2.2.2  bouyer 
   6776  1.1.1.2.2.2  bouyer Fixed several 64-bit issues with prototypes, casting and data
   6777  1.1.1.2.2.2  bouyer types.
   6778  1.1.1.2.2.2  bouyer 
   6779  1.1.1.2.2.2  bouyer Removed duplicate prototype from acdisasm.h
   6780  1.1.1.2.2.2  bouyer 
   6781  1.1.1.2.2.2  bouyer Fixed an issue involving EC Operation Region Detach (Shaohua Li)
   6782  1.1.1.2.2.2  bouyer 
   6783  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library
   6784  1.1.1.2.2.2  bouyer sizes are shown below.  These are the code and data sizes for the
   6785  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
   6786  1.1.1.2.2.2  bouyer these values do not include any ACPI driver or OSPM code.  The
   6787  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace
   6788  1.1.1.2.2.2  bouyer mechanism and has a much larger code and data size.  Note that
   6789  1.1.1.2.2.2  bouyer these values will vary depending on the efficiency of the compiler
   6790  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   6791  1.1.1.2.2.2  bouyer 
   6792  1.1.1.2.2.2  bouyer   Previous Release:
   6793  1.1.1.2.2.2  bouyer 
   6794  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
   6795  1.1.1.2.2.2  bouyer     Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
   6796  1.1.1.2.2.2  bouyer   Current Release:
   6797  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.9K Code,   9.7K Data,   83.6K Total
   6798  1.1.1.2.2.2  bouyer     Debug Version:     157.3K Code,  64.5K Data,  221.8K Total
   6799  1.1.1.2.2.2  bouyer 
   6800  1.1.1.2.2.2  bouyer 
   6801  1.1.1.2.2.2  bouyer 2) Linux:
   6802  1.1.1.2.2.2  bouyer 
   6803  1.1.1.2.2.2  bouyer Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
   6804  1.1.1.2.2.2  bouyer correct sleep time in seconds.
   6805  1.1.1.2.2.2  bouyer 
   6806  1.1.1.2.2.2  bouyer ----------------------------------------
   6807  1.1.1.2.2.2  bouyer 14 July 2003.  Summary of changes for version 20030619:
   6808  1.1.1.2.2.2  bouyer 
   6809  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6810  1.1.1.2.2.2  bouyer 
   6811  1.1.1.2.2.2  bouyer Parse SSDTs in order discovered, as opposed to reverse order
   6812  1.1.1.2.2.2  bouyer (Hrvoje Habjanic)
   6813  1.1.1.2.2.2  bouyer 
   6814  1.1.1.2.2.2  bouyer Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
   6815  1.1.1.2.2.2  bouyer Klausner,
   6816  1.1.1.2.2.2  bouyer    Nate Lawson)
   6817  1.1.1.2.2.2  bouyer 
   6818  1.1.1.2.2.2  bouyer 
   6819  1.1.1.2.2.2  bouyer 2) Linux:
   6820  1.1.1.2.2.2  bouyer 
   6821  1.1.1.2.2.2  bouyer Dynamically allocate SDT list (suggested by Andi Kleen)
   6822  1.1.1.2.2.2  bouyer 
   6823  1.1.1.2.2.2  bouyer proc function return value cleanups (Andi Kleen)
   6824  1.1.1.2.2.2  bouyer 
   6825  1.1.1.2.2.2  bouyer Correctly handle NMI watchdog during long stalls (Andrew Morton)
   6826  1.1.1.2.2.2  bouyer 
   6827  1.1.1.2.2.2  bouyer Make it so acpismp=force works (reported by Andrew Morton)
   6828  1.1.1.2.2.2  bouyer 
   6829  1.1.1.2.2.2  bouyer 
   6830  1.1.1.2.2.2  bouyer ----------------------------------------
   6831  1.1.1.2.2.2  bouyer 19 June 2003.  Summary of changes for version 20030619:
   6832  1.1.1.2.2.2  bouyer 
   6833  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6834  1.1.1.2.2.2  bouyer 
   6835  1.1.1.2.2.2  bouyer Fix To/FromBCD, eliminating the need for an arch-specific #define.
   6836  1.1.1.2.2.2  bouyer 
   6837  1.1.1.2.2.2  bouyer Do not acquire a semaphore in the S5 shutdown path.
   6838  1.1.1.2.2.2  bouyer 
   6839  1.1.1.2.2.2  bouyer Fix ex_digits_needed for 0. (Takayoshi Kochi)
   6840  1.1.1.2.2.2  bouyer 
   6841  1.1.1.2.2.2  bouyer Fix sleep/stall code reversal. (Andi Kleen)
   6842  1.1.1.2.2.2  bouyer 
   6843  1.1.1.2.2.2  bouyer Revert a change having to do with control method calling
   6844  1.1.1.2.2.2  bouyer semantics.
   6845  1.1.1.2.2.2  bouyer 
   6846  1.1.1.2.2.2  bouyer 2) Linux:
   6847  1.1.1.2.2.2  bouyer 
   6848  1.1.1.2.2.2  bouyer acpiphp update (Takayoshi Kochi)
   6849  1.1.1.2.2.2  bouyer 
   6850  1.1.1.2.2.2  bouyer Export acpi_disabled for sonypi (Stelian Pop)
   6851  1.1.1.2.2.2  bouyer 
   6852  1.1.1.2.2.2  bouyer Mention acpismp=force in config help
   6853  1.1.1.2.2.2  bouyer 
   6854  1.1.1.2.2.2  bouyer Re-add acpitable.c and acpismp=force. This improves backwards
   6855  1.1.1.2.2.2  bouyer 
   6856  1.1.1.2.2.2  bouyer compatibility and also cleans up the code to a significant degree.
   6857  1.1.1.2.2.2  bouyer 
   6858  1.1.1.2.2.2  bouyer Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
   6859  1.1.1.2.2.2  bouyer 
   6860  1.1.1.2.2.2  bouyer ----------------------------------------
   6861  1.1.1.2.2.2  bouyer 22 May 2003.  Summary of changes for version 20030522:
   6862  1.1.1.2.2.2  bouyer 
   6863  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6864  1.1.1.2.2.2  bouyer 
   6865  1.1.1.2.2.2  bouyer Found and fixed a reported problem where an AE_NOT_FOUND error
   6866  1.1.1.2.2.2  bouyer occurred occasionally during _BST evaluation.  This turned out to
   6867  1.1.1.2.2.2  bouyer be an Owner ID allocation issue where a called method did not get
   6868  1.1.1.2.2.2  bouyer a new ID assigned to it.  Eventually, (after 64k calls), the Owner
   6869  1.1.1.2.2.2  bouyer ID UINT16 would wraparound so that the ID would be the same as the
   6870  1.1.1.2.2.2  bouyer caller's and the called method would delete the caller's
   6871  1.1.1.2.2.2  bouyer namespace.
   6872  1.1.1.2.2.2  bouyer 
   6873  1.1.1.2.2.2  bouyer Implemented extended error reporting for control methods that are
   6874  1.1.1.2.2.2  bouyer aborted due to a run-time exception.  Output includes the exact
   6875  1.1.1.2.2.2  bouyer AML instruction that caused the method abort, a dump of the method
   6876  1.1.1.2.2.2  bouyer locals and arguments at the time of the abort, and a trace of all
   6877  1.1.1.2.2.2  bouyer nested control method calls.
   6878  1.1.1.2.2.2  bouyer 
   6879  1.1.1.2.2.2  bouyer Modified the interpreter to allow the creation of buffers of zero
   6880  1.1.1.2.2.2  bouyer length from the AML code. Implemented new code to ensure that no
   6881  1.1.1.2.2.2  bouyer attempt is made to actually allocate a memory buffer (of length
   6882  1.1.1.2.2.2  bouyer zero) - instead, a simple buffer object with a NULL buffer pointer
   6883  1.1.1.2.2.2  bouyer and length zero is created.  A warning is no longer issued when
   6884  1.1.1.2.2.2  bouyer the AML attempts to create a zero-length buffer.
   6885  1.1.1.2.2.2  bouyer 
   6886  1.1.1.2.2.2  bouyer Implemented a workaround for the "leading asterisk issue" in
   6887  1.1.1.2.2.2  bouyer _HIDs, _UIDs, and _CIDs in the AML interpreter.  One leading
   6888  1.1.1.2.2.2  bouyer asterisk is automatically removed if present in any HID, UID, or
   6889  1.1.1.2.2.2  bouyer CID strings.  The iASL compiler will still flag this asterisk as
   6890  1.1.1.2.2.2  bouyer an error, however.
   6891  1.1.1.2.2.2  bouyer 
   6892  1.1.1.2.2.2  bouyer Implemented full support for _CID methods that return a package of
   6893  1.1.1.2.2.2  bouyer multiple CIDs (Compatible IDs).  The AcpiGetObjectInfo() interface
   6894  1.1.1.2.2.2  bouyer now additionally returns a device _CID list if present.  This
   6895  1.1.1.2.2.2  bouyer required a change to the external interface in order to pass an
   6896  1.1.1.2.2.2  bouyer ACPI_BUFFER object as a parameter since the _CID list is of
   6897  1.1.1.2.2.2  bouyer variable length.
   6898  1.1.1.2.2.2  bouyer 
   6899  1.1.1.2.2.2  bouyer Fixed a problem with the new AE_SAME_HANDLER exception where
   6900  1.1.1.2.2.2  bouyer handler initialization code did not know about this exception.
   6901  1.1.1.2.2.2  bouyer 
   6902  1.1.1.2.2.2  bouyer Code and Data Size: Current and previous core subsystem library
   6903  1.1.1.2.2.2  bouyer sizes are shown below.  These are the code and data sizes for the
   6904  1.1.1.2.2.2  bouyer acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
   6905  1.1.1.2.2.2  bouyer these values do not include any ACPI driver or OSPM code.  The
   6906  1.1.1.2.2.2  bouyer debug version of the code includes the debug output trace
   6907  1.1.1.2.2.2  bouyer mechanism and has a much larger code and data size.  Note that
   6908  1.1.1.2.2.2  bouyer these values will vary depending on the efficiency of the compiler
   6909  1.1.1.2.2.2  bouyer and the compiler options used during generation.
   6910  1.1.1.2.2.2  bouyer 
   6911  1.1.1.2.2.2  bouyer   Previous Release (20030509):
   6912  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
   6913  1.1.1.2.2.2  bouyer     Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
   6914  1.1.1.2.2.2  bouyer   Current Release:
   6915  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.7K Code,   9.7K Data,   83.4K Total
   6916  1.1.1.2.2.2  bouyer     Debug Version:     156.9K Code,  64.2K Data,  221.1K Total
   6917  1.1.1.2.2.2  bouyer 
   6918  1.1.1.2.2.2  bouyer 
   6919  1.1.1.2.2.2  bouyer 2) Linux:
   6920  1.1.1.2.2.2  bouyer 
   6921  1.1.1.2.2.2  bouyer Fixed a bug in which we would reinitialize the ACPI interrupt
   6922  1.1.1.2.2.2  bouyer after it was already working, thus disabling all ACPI and the IRQs
   6923  1.1.1.2.2.2  bouyer for any other device sharing the interrupt. (Thanks to Stian
   6924  1.1.1.2.2.2  bouyer Jordet)
   6925  1.1.1.2.2.2  bouyer 
   6926  1.1.1.2.2.2  bouyer Toshiba driver update (John Belmonte)
   6927  1.1.1.2.2.2  bouyer 
   6928  1.1.1.2.2.2  bouyer Return only 0 or 1 for our interrupt handler status (Andrew
   6929  1.1.1.2.2.2  bouyer Morton)
   6930  1.1.1.2.2.2  bouyer 
   6931  1.1.1.2.2.2  bouyer 
   6932  1.1.1.2.2.2  bouyer 3) iASL Compiler:
   6933  1.1.1.2.2.2  bouyer 
   6934  1.1.1.2.2.2  bouyer Fixed a reported problem where multiple (nested) ElseIf()
   6935  1.1.1.2.2.2  bouyer statements were not handled correctly by the compiler, resulting
   6936  1.1.1.2.2.2  bouyer in incorrect warnings and incorrect AML code.  This was a problem
   6937  1.1.1.2.2.2  bouyer in both the ASL parser and the code generator.
   6938  1.1.1.2.2.2  bouyer 
   6939  1.1.1.2.2.2  bouyer 
   6940  1.1.1.2.2.2  bouyer 4) Documentation:
   6941  1.1.1.2.2.2  bouyer 
   6942  1.1.1.2.2.2  bouyer Added changes to existing interfaces, new exception codes, and new
   6943  1.1.1.2.2.2  bouyer text concerning reference count object management versus garbage
   6944  1.1.1.2.2.2  bouyer collection.
   6945  1.1.1.2.2.2  bouyer 
   6946  1.1.1.2.2.2  bouyer ----------------------------------------
   6947  1.1.1.2.2.2  bouyer 09 May 2003.  Summary of changes for version 20030509.
   6948  1.1.1.2.2.2  bouyer 
   6949  1.1.1.2.2.2  bouyer 
   6950  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   6951  1.1.1.2.2.2  bouyer 
   6952  1.1.1.2.2.2  bouyer Changed the subsystem initialization sequence to hold off
   6953  1.1.1.2.2.2  bouyer installation of address space handlers until the hardware has been
   6954  1.1.1.2.2.2  bouyer initialized and the system has entered ACPI mode.  This is because
   6955  1.1.1.2.2.2  bouyer the installation of space handlers can cause _REG methods to be
   6956  1.1.1.2.2.2  bouyer run.  Previously, the _REG methods could potentially be run before
   6957  1.1.1.2.2.2  bouyer ACPI mode was enabled.
   6958  1.1.1.2.2.2  bouyer 
   6959  1.1.1.2.2.2  bouyer Fixed some memory leak issues related to address space handler and
   6960  1.1.1.2.2.2  bouyer notify handler installation.  There were some problems with the
   6961  1.1.1.2.2.2  bouyer reference count mechanism caused by the fact that the handler
   6962  1.1.1.2.2.2  bouyer objects are shared across several namespace objects.
   6963  1.1.1.2.2.2  bouyer 
   6964  1.1.1.2.2.2  bouyer Fixed a reported problem where reference counts within the
   6965  1.1.1.2.2.2  bouyer namespace were not properly updated when named objects created by
   6966  1.1.1.2.2.2  bouyer method execution were deleted.
   6967  1.1.1.2.2.2  bouyer 
   6968  1.1.1.2.2.2  bouyer Fixed a reported problem where multiple SSDTs caused a deletion
   6969  1.1.1.2.2.2  bouyer issue during subsystem termination.  Restructured the table data
   6970  1.1.1.2.2.2  bouyer structures to simplify the linked lists and the related code.
   6971  1.1.1.2.2.2  bouyer 
   6972  1.1.1.2.2.2  bouyer Fixed a problem where the table ID associated with secondary
   6973  1.1.1.2.2.2  bouyer tables (SSDTs) was not being propagated into the namespace objects
   6974  1.1.1.2.2.2  bouyer created by those tables.  This would only present a problem for
   6975  1.1.1.2.2.2  bouyer tables that are unloaded at run-time, however.
   6976  1.1.1.2.2.2  bouyer 
   6977  1.1.1.2.2.2  bouyer Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
   6978  1.1.1.2.2.2  bouyer type as the length parameter (instead of UINT32).
   6979  1.1.1.2.2.2  bouyer 
   6980  1.1.1.2.2.2  bouyer Solved a long-standing problem where an ALREADY_EXISTS error
   6981  1.1.1.2.2.2  bouyer appears on various systems.  This problem could happen when there
   6982  1.1.1.2.2.2  bouyer are multiple PCI_Config operation regions under a single PCI root
   6983  1.1.1.2.2.2  bouyer bus.  This doesn't happen very frequently, but there are some
   6984  1.1.1.2.2.2  bouyer systems that do this in the ASL.
   6985  1.1.1.2.2.2  bouyer 
   6986  1.1.1.2.2.2  bouyer Fixed a reported problem where the internal DeleteNode function
   6987  1.1.1.2.2.2  bouyer was incorrectly handling the case where a namespace node was the
   6988  1.1.1.2.2.2  bouyer first in the parent's child list, and had additional peers (not
   6989  1.1.1.2.2.2  bouyer the only child, but first in the list of children.)
   6990  1.1.1.2.2.2  bouyer 
   6991  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   6992  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   6993  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   6994  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   6995  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   6996  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   6997  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   6998  1.1.1.2.2.2  bouyer options used during generation.
   6999  1.1.1.2.2.2  bouyer 
   7000  1.1.1.2.2.2  bouyer   Previous Release
   7001  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
   7002  1.1.1.2.2.2  bouyer     Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
   7003  1.1.1.2.2.2  bouyer   Current Release:
   7004  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.4K Code,   9.7K Data,   83.1K Total
   7005  1.1.1.2.2.2  bouyer     Debug Version:     156.1K Code,  63.9K Data,  220.0K Total
   7006  1.1.1.2.2.2  bouyer 
   7007  1.1.1.2.2.2  bouyer 
   7008  1.1.1.2.2.2  bouyer 2) Linux:
   7009  1.1.1.2.2.2  bouyer 
   7010  1.1.1.2.2.2  bouyer Allow ":" in OS override string (Ducrot Bruno)
   7011  1.1.1.2.2.2  bouyer 
   7012  1.1.1.2.2.2  bouyer Kobject fix (Greg KH)
   7013  1.1.1.2.2.2  bouyer 
   7014  1.1.1.2.2.2  bouyer 
   7015  1.1.1.2.2.2  bouyer 3 iASL Compiler/Disassembler:
   7016  1.1.1.2.2.2  bouyer 
   7017  1.1.1.2.2.2  bouyer Fixed a problem in the generation of the C source code files (AML
   7018  1.1.1.2.2.2  bouyer is emitted in C source statements for BIOS inclusion) where the
   7019  1.1.1.2.2.2  bouyer Ascii dump that appears within a C comment at the end of each line
   7020  1.1.1.2.2.2  bouyer could cause a compile time error if the AML sequence happens to
   7021  1.1.1.2.2.2  bouyer have an open comment or close comment sequence embedded.
   7022  1.1.1.2.2.2  bouyer 
   7023  1.1.1.2.2.2  bouyer 
   7024  1.1.1.2.2.2  bouyer ----------------------------------------
   7025  1.1.1.2.2.2  bouyer 24 April 2003.  Summary of changes for version 20030424.
   7026  1.1.1.2.2.2  bouyer 
   7027  1.1.1.2.2.2  bouyer 
   7028  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7029  1.1.1.2.2.2  bouyer 
   7030  1.1.1.2.2.2  bouyer Support for big-endian systems has been implemented.  Most of the
   7031  1.1.1.2.2.2  bouyer support has been invisibly added behind big-endian versions of the
   7032  1.1.1.2.2.2  bouyer ACPI_MOVE_* macros.
   7033  1.1.1.2.2.2  bouyer 
   7034  1.1.1.2.2.2  bouyer Fixed a problem in AcpiHwDisableGpeBlock() and
   7035  1.1.1.2.2.2  bouyer AcpiHwClearGpeBlock() where an incorrect offset was passed to the
   7036  1.1.1.2.2.2  bouyer low level hardware write routine.  The offset parameter was
   7037  1.1.1.2.2.2  bouyer actually eliminated from the low level read/write routines because
   7038  1.1.1.2.2.2  bouyer they had become obsolete.
   7039  1.1.1.2.2.2  bouyer 
   7040  1.1.1.2.2.2  bouyer Fixed a problem where a handler object was deleted twice during
   7041  1.1.1.2.2.2  bouyer the removal of a fixed event handler.
   7042  1.1.1.2.2.2  bouyer 
   7043  1.1.1.2.2.2  bouyer 
   7044  1.1.1.2.2.2  bouyer 2) Linux:
   7045  1.1.1.2.2.2  bouyer 
   7046  1.1.1.2.2.2  bouyer A fix for SMP systems with link devices was contributed by
   7047  1.1.1.2.2.2  bouyer 
   7048  1.1.1.2.2.2  bouyer Compaq's Dan Zink.
   7049  1.1.1.2.2.2  bouyer 
   7050  1.1.1.2.2.2  bouyer (2.5) Return whether we handled the interrupt in our IRQ handler.
   7051  1.1.1.2.2.2  bouyer (Linux ISRs no longer return void, so we can propagate the handler
   7052  1.1.1.2.2.2  bouyer return value from the ACPI CA core back to the OS.)
   7053  1.1.1.2.2.2  bouyer 
   7054  1.1.1.2.2.2  bouyer 
   7055  1.1.1.2.2.2  bouyer 
   7056  1.1.1.2.2.2  bouyer 3) Documentation:
   7057  1.1.1.2.2.2  bouyer 
   7058  1.1.1.2.2.2  bouyer The ACPI CA Programmer Reference has been updated to reflect new
   7059  1.1.1.2.2.2  bouyer interfaces and changes to existing interfaces.
   7060  1.1.1.2.2.2  bouyer 
   7061  1.1.1.2.2.2  bouyer ----------------------------------------
   7062  1.1.1.2.2.2  bouyer 28 March 2003.  Summary of changes for version 20030328.
   7063  1.1.1.2.2.2  bouyer 
   7064  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7065  1.1.1.2.2.2  bouyer 
   7066  1.1.1.2.2.2  bouyer The GPE Block Device support has been completed.  New interfaces
   7067  1.1.1.2.2.2  bouyer are AcpiInstallGpeBlock and AcpiRemoveGpeBlock.  The Event
   7068  1.1.1.2.2.2  bouyer interfaces (enable, disable, clear, getstatus) have been split
   7069  1.1.1.2.2.2  bouyer into separate interfaces for Fixed Events and General Purpose
   7070  1.1.1.2.2.2  bouyer Events (GPEs) in order to support GPE Block Devices properly.
   7071  1.1.1.2.2.2  bouyer 
   7072  1.1.1.2.2.2  bouyer Fixed a problem where the error message "Failed to acquire
   7073  1.1.1.2.2.2  bouyer semaphore" would appear during operations on the embedded
   7074  1.1.1.2.2.2  bouyer controller (EC).
   7075  1.1.1.2.2.2  bouyer 
   7076  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7077  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7078  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7079  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7080  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7081  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7082  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7083  1.1.1.2.2.2  bouyer options used during generation.
   7084  1.1.1.2.2.2  bouyer 
   7085  1.1.1.2.2.2  bouyer   Previous Release
   7086  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
   7087  1.1.1.2.2.2  bouyer     Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
   7088  1.1.1.2.2.2  bouyer   Current Release:
   7089  1.1.1.2.2.2  bouyer     Non-Debug Version:  73.7K Code,   9.5K Data,   83.2K Total
   7090  1.1.1.2.2.2  bouyer     Debug Version:     156.1K Code,  63.6K Data,  219.7K Total
   7091  1.1.1.2.2.2  bouyer 
   7092  1.1.1.2.2.2  bouyer 
   7093  1.1.1.2.2.2  bouyer ----------------------------------------
   7094  1.1.1.2.2.2  bouyer 28 February 2003.  Summary of changes for version 20030228.
   7095  1.1.1.2.2.2  bouyer 
   7096  1.1.1.2.2.2  bouyer 
   7097  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7098  1.1.1.2.2.2  bouyer 
   7099  1.1.1.2.2.2  bouyer The GPE handling and dispatch code has been completely overhauled
   7100  1.1.1.2.2.2  bouyer in preparation for support of GPE Block Devices (ID ACPI0006).
   7101  1.1.1.2.2.2  bouyer This affects internal data structures and code only; there should
   7102  1.1.1.2.2.2  bouyer be no differences visible externally.  One new file has been
   7103  1.1.1.2.2.2  bouyer added, evgpeblk.c
   7104  1.1.1.2.2.2  bouyer 
   7105  1.1.1.2.2.2  bouyer The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
   7106  1.1.1.2.2.2  bouyer fields that are used to determine the GPE block lengths.  The
   7107  1.1.1.2.2.2  bouyer REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
   7108  1.1.1.2.2.2  bouyer structures are ignored.  This is per the ACPI specification but it
   7109  1.1.1.2.2.2  bouyer isn't very clear.  The full 256 Block 0/1 GPEs are now supported
   7110  1.1.1.2.2.2  bouyer (the use of REGISTER_BIT_WIDTH limited the number of GPEs to 128).
   7111  1.1.1.2.2.2  bouyer 
   7112  1.1.1.2.2.2  bouyer In the SCI interrupt handler, removed the read of the PM1_CONTROL
   7113  1.1.1.2.2.2  bouyer register to look at the SCI_EN bit.  On some machines, this read
   7114  1.1.1.2.2.2  bouyer causes an SMI event and greatly slows down SCI events.  (This may
   7115  1.1.1.2.2.2  bouyer in fact be the cause of slow battery status response on some
   7116  1.1.1.2.2.2  bouyer systems.)
   7117  1.1.1.2.2.2  bouyer 
   7118  1.1.1.2.2.2  bouyer Fixed a problem where a store of a NULL string to a package object
   7119  1.1.1.2.2.2  bouyer could cause the premature deletion of the object.  This was seen
   7120  1.1.1.2.2.2  bouyer during execution of the battery _BIF method on some systems,
   7121  1.1.1.2.2.2  bouyer resulting in no battery data being returned.
   7122  1.1.1.2.2.2  bouyer 
   7123  1.1.1.2.2.2  bouyer Added AcpiWalkResources interface to simplify parsing of resource
   7124  1.1.1.2.2.2  bouyer lists.
   7125  1.1.1.2.2.2  bouyer 
   7126  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7127  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7128  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7129  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7130  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7131  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7132  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7133  1.1.1.2.2.2  bouyer options used during generation.
   7134  1.1.1.2.2.2  bouyer 
   7135  1.1.1.2.2.2  bouyer   Previous Release
   7136  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
   7137  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
   7138  1.1.1.2.2.2  bouyer   Current Release:
   7139  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.3K Code,   9.5K Data,   81.8K Total
   7140  1.1.1.2.2.2  bouyer     Debug Version:     154.0K Code,  63.4K Data,  217.4K Total
   7141  1.1.1.2.2.2  bouyer 
   7142  1.1.1.2.2.2  bouyer 
   7143  1.1.1.2.2.2  bouyer 2) Linux
   7144  1.1.1.2.2.2  bouyer 
   7145  1.1.1.2.2.2  bouyer S3 fixes (Ole Rohne)
   7146  1.1.1.2.2.2  bouyer 
   7147  1.1.1.2.2.2  bouyer Update ACPI PHP driver with to use new acpi_walk_resource API
   7148  1.1.1.2.2.2  bouyer (Bjorn Helgaas)
   7149  1.1.1.2.2.2  bouyer 
   7150  1.1.1.2.2.2  bouyer Add S4BIOS support (Pavel Machek)
   7151  1.1.1.2.2.2  bouyer 
   7152  1.1.1.2.2.2  bouyer Map in entire table before performing checksum (John Stultz)
   7153  1.1.1.2.2.2  bouyer 
   7154  1.1.1.2.2.2  bouyer Expand the mem= cmdline to allow the specification of reserved and
   7155  1.1.1.2.2.2  bouyer ACPI DATA blocks (Pavel Machek)
   7156  1.1.1.2.2.2  bouyer 
   7157  1.1.1.2.2.2  bouyer Never use ACPI on VISWS
   7158  1.1.1.2.2.2  bouyer 
   7159  1.1.1.2.2.2  bouyer Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
   7160  1.1.1.2.2.2  bouyer 
   7161  1.1.1.2.2.2  bouyer Revert a change that allowed P_BLK lengths to be 4 or 5. This is
   7162  1.1.1.2.2.2  bouyer causing us to think that some systems support C2 when they really
   7163  1.1.1.2.2.2  bouyer don't.
   7164  1.1.1.2.2.2  bouyer 
   7165  1.1.1.2.2.2  bouyer Do not count processor objects for non-present CPUs (Thanks to
   7166  1.1.1.2.2.2  bouyer Dominik Brodowski)
   7167  1.1.1.2.2.2  bouyer 
   7168  1.1.1.2.2.2  bouyer 
   7169  1.1.1.2.2.2  bouyer 3) iASL Compiler:
   7170  1.1.1.2.2.2  bouyer 
   7171  1.1.1.2.2.2  bouyer Fixed a problem where ASL include files could not be found and
   7172  1.1.1.2.2.2  bouyer opened.
   7173  1.1.1.2.2.2  bouyer 
   7174  1.1.1.2.2.2  bouyer Added support for the _PDC reserved name.
   7175  1.1.1.2.2.2  bouyer 
   7176  1.1.1.2.2.2  bouyer 
   7177  1.1.1.2.2.2  bouyer ----------------------------------------
   7178  1.1.1.2.2.2  bouyer 22 January 2003.  Summary of changes for version 20030122.
   7179  1.1.1.2.2.2  bouyer 
   7180  1.1.1.2.2.2  bouyer 
   7181  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7182  1.1.1.2.2.2  bouyer 
   7183  1.1.1.2.2.2  bouyer Added a check for constructs of the form:  Store (Local0, Local0)
   7184  1.1.1.2.2.2  bouyer where Local0 is not initialized.  Apparently, some BIOS
   7185  1.1.1.2.2.2  bouyer programmers believe that this is a NOOP.  Since this store doesn't
   7186  1.1.1.2.2.2  bouyer do anything anyway, the new prototype behavior will ignore this
   7187  1.1.1.2.2.2  bouyer error.  This is a case where we can relax the strict checking in
   7188  1.1.1.2.2.2  bouyer the interpreter in the name of compatibility.
   7189  1.1.1.2.2.2  bouyer 
   7190  1.1.1.2.2.2  bouyer 
   7191  1.1.1.2.2.2  bouyer 2) Linux
   7192  1.1.1.2.2.2  bouyer 
   7193  1.1.1.2.2.2  bouyer The AcpiSrc Source Conversion Utility has been released with the
   7194  1.1.1.2.2.2  bouyer Linux package for the first time.  This is the utility that is
   7195  1.1.1.2.2.2  bouyer used to convert the ACPI CA base source code to the Linux version.
   7196  1.1.1.2.2.2  bouyer 
   7197  1.1.1.2.2.2  bouyer (Both) Handle P_BLK lengths shorter than 6 more gracefully
   7198  1.1.1.2.2.2  bouyer 
   7199  1.1.1.2.2.2  bouyer (Both) Move more headers to include/acpi, and delete an unused
   7200  1.1.1.2.2.2  bouyer header.
   7201  1.1.1.2.2.2  bouyer 
   7202  1.1.1.2.2.2  bouyer (Both) Move drivers/acpi/include directory to include/acpi
   7203  1.1.1.2.2.2  bouyer 
   7204  1.1.1.2.2.2  bouyer (Both) Boot functions don't use cmdline, so don't pass it around
   7205  1.1.1.2.2.2  bouyer 
   7206  1.1.1.2.2.2  bouyer (Both) Remove include of unused header (Adrian Bunk)
   7207  1.1.1.2.2.2  bouyer 
   7208  1.1.1.2.2.2  bouyer (Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
   7209  1.1.1.2.2.2  bouyer the
   7210  1.1.1.2.2.2  bouyer former now also includes the latter, acpiphp.h only needs the one,
   7211  1.1.1.2.2.2  bouyer now.
   7212  1.1.1.2.2.2  bouyer 
   7213  1.1.1.2.2.2  bouyer (2.5) Make it possible to select method of bios restoring after S3
   7214  1.1.1.2.2.2  bouyer resume. [=> no more ugly ifdefs] (Pavel Machek)
   7215  1.1.1.2.2.2  bouyer 
   7216  1.1.1.2.2.2  bouyer (2.5) Make proc write interfaces work (Pavel Machek)
   7217  1.1.1.2.2.2  bouyer 
   7218  1.1.1.2.2.2  bouyer (2.5) Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
   7219  1.1.1.2.2.2  bouyer 
   7220  1.1.1.2.2.2  bouyer (2.5) Break out ACPI Perf code into its own module, under cpufreq
   7221  1.1.1.2.2.2  bouyer (Dominik Brodowski)
   7222  1.1.1.2.2.2  bouyer 
   7223  1.1.1.2.2.2  bouyer (2.4) S4BIOS support (Ducrot Bruno)
   7224  1.1.1.2.2.2  bouyer 
   7225  1.1.1.2.2.2  bouyer (2.4) Fix acpiphp_glue.c for latest ACPI struct changes (Sergio
   7226  1.1.1.2.2.2  bouyer Visinoni)
   7227  1.1.1.2.2.2  bouyer 
   7228  1.1.1.2.2.2  bouyer 
   7229  1.1.1.2.2.2  bouyer 3) iASL Compiler:
   7230  1.1.1.2.2.2  bouyer 
   7231  1.1.1.2.2.2  bouyer Added support to disassemble SSDT and PSDTs.
   7232  1.1.1.2.2.2  bouyer 
   7233  1.1.1.2.2.2  bouyer Implemented support to obtain SSDTs from the Windows registry if
   7234  1.1.1.2.2.2  bouyer available.
   7235  1.1.1.2.2.2  bouyer 
   7236  1.1.1.2.2.2  bouyer 
   7237  1.1.1.2.2.2  bouyer ----------------------------------------
   7238  1.1.1.2.2.2  bouyer 09 January 2003.  Summary of changes for version 20030109.
   7239  1.1.1.2.2.2  bouyer 
   7240  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7241  1.1.1.2.2.2  bouyer 
   7242  1.1.1.2.2.2  bouyer Changed the behavior of the internal Buffer-to-String conversion
   7243  1.1.1.2.2.2  bouyer function.  The current ACPI specification states that the contents
   7244  1.1.1.2.2.2  bouyer of the buffer are "converted to a string of two-character
   7245  1.1.1.2.2.2  bouyer hexadecimal numbers, each separated by a space".  Unfortunately,
   7246  1.1.1.2.2.2  bouyer this definition is not backwards compatible with existing ACPI 1.0
   7247  1.1.1.2.2.2  bouyer implementations (although the behavior was not defined in the ACPI
   7248  1.1.1.2.2.2  bouyer 1.0 specification).  The new behavior simply copies data from the
   7249  1.1.1.2.2.2  bouyer buffer to the string until a null character is found or the end of
   7250  1.1.1.2.2.2  bouyer the buffer is reached.  The new String object is always null
   7251  1.1.1.2.2.2  bouyer terminated.  This problem was seen during the generation of _BIF
   7252  1.1.1.2.2.2  bouyer battery data where incorrect strings were returned for battery
   7253  1.1.1.2.2.2  bouyer type, etc.  This will also require an errata to the ACPI
   7254  1.1.1.2.2.2  bouyer specification.
   7255  1.1.1.2.2.2  bouyer 
   7256  1.1.1.2.2.2  bouyer Renamed all instances of NATIVE_UINT and NATIVE_INT to
   7257  1.1.1.2.2.2  bouyer ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
   7258  1.1.1.2.2.2  bouyer 
   7259  1.1.1.2.2.2  bouyer Copyright in all module headers (both Linux and non-Linux) has be
   7260  1.1.1.2.2.2  bouyer updated to 2003.
   7261  1.1.1.2.2.2  bouyer 
   7262  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7263  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7264  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7265  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7266  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7267  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7268  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7269  1.1.1.2.2.2  bouyer options used during generation.
   7270  1.1.1.2.2.2  bouyer 
   7271  1.1.1.2.2.2  bouyer   Previous Release
   7272  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
   7273  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
   7274  1.1.1.2.2.2  bouyer   Current Release:
   7275  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
   7276  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
   7277  1.1.1.2.2.2  bouyer 
   7278  1.1.1.2.2.2  bouyer 
   7279  1.1.1.2.2.2  bouyer 2) Linux
   7280  1.1.1.2.2.2  bouyer 
   7281  1.1.1.2.2.2  bouyer Fixed an oops on module insertion/removal (Matthew Tippett)
   7282  1.1.1.2.2.2  bouyer 
   7283  1.1.1.2.2.2  bouyer (2.4) Fix to handle dynamic size of mp_irqs (Joerg Prante)
   7284  1.1.1.2.2.2  bouyer 
   7285  1.1.1.2.2.2  bouyer (2.5) Replace pr_debug (Randy Dunlap)
   7286  1.1.1.2.2.2  bouyer 
   7287  1.1.1.2.2.2  bouyer (2.5) Remove usage of CPUFREQ_ALL_CPUS (Dominik Brodowski)
   7288  1.1.1.2.2.2  bouyer 
   7289  1.1.1.2.2.2  bouyer (Both) Eliminate spawning of thread from timer callback, in favor
   7290  1.1.1.2.2.2  bouyer of schedule_work()
   7291  1.1.1.2.2.2  bouyer 
   7292  1.1.1.2.2.2  bouyer (Both) Show Lid status in /proc (Zdenek OGAR Skalak)
   7293  1.1.1.2.2.2  bouyer 
   7294  1.1.1.2.2.2  bouyer (Both) Added define for Fixed Function HW region (Matthew Wilcox)
   7295  1.1.1.2.2.2  bouyer 
   7296  1.1.1.2.2.2  bouyer (Both) Add missing statics to button.c (Pavel Machek)
   7297  1.1.1.2.2.2  bouyer 
   7298  1.1.1.2.2.2  bouyer Several changes have been made to the source code translation
   7299  1.1.1.2.2.2  bouyer utility that generates the Linux Code in order to make the code
   7300  1.1.1.2.2.2  bouyer more "Linux-like":
   7301  1.1.1.2.2.2  bouyer 
   7302  1.1.1.2.2.2  bouyer All typedefs on structs and unions have been removed in keeping
   7303  1.1.1.2.2.2  bouyer with the Linux coding style.
   7304  1.1.1.2.2.2  bouyer 
   7305  1.1.1.2.2.2  bouyer Removed the non-Linux SourceSafe module revision number from each
   7306  1.1.1.2.2.2  bouyer module header.
   7307  1.1.1.2.2.2  bouyer 
   7308  1.1.1.2.2.2  bouyer Completed major overhaul of symbols to be lowercased for linux.
   7309  1.1.1.2.2.2  bouyer Doubled the number of symbols that are lowercased.
   7310  1.1.1.2.2.2  bouyer 
   7311  1.1.1.2.2.2  bouyer Fixed a problem where identifiers within procedure headers and
   7312  1.1.1.2.2.2  bouyer within quotes were not fully lower cased (they were left with a
   7313  1.1.1.2.2.2  bouyer starting capital.)
   7314  1.1.1.2.2.2  bouyer 
   7315  1.1.1.2.2.2  bouyer Some C macros whose only purpose is to allow the generation of 16-
   7316  1.1.1.2.2.2  bouyer bit code are now completely removed in the Linux code, increasing
   7317  1.1.1.2.2.2  bouyer readability and maintainability.
   7318  1.1.1.2.2.2  bouyer 
   7319  1.1.1.2.2.2  bouyer ----------------------------------------
   7320  1.1.1.2.2.2  bouyer 
   7321  1.1.1.2.2.2  bouyer 12 December 2002.  Summary of changes for version 20021212.
   7322  1.1.1.2.2.2  bouyer 
   7323  1.1.1.2.2.2  bouyer 
   7324  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7325  1.1.1.2.2.2  bouyer 
   7326  1.1.1.2.2.2  bouyer Fixed a problem where the creation of a zero-length AML Buffer
   7327  1.1.1.2.2.2  bouyer would cause a fault.
   7328  1.1.1.2.2.2  bouyer 
   7329  1.1.1.2.2.2  bouyer Fixed a problem where a Buffer object that pointed to a static AML
   7330  1.1.1.2.2.2  bouyer buffer (in an ACPI table) could inadvertently be deleted, causing
   7331  1.1.1.2.2.2  bouyer memory corruption.
   7332  1.1.1.2.2.2  bouyer 
   7333  1.1.1.2.2.2  bouyer Fixed a problem where a user buffer (passed in to the external
   7334  1.1.1.2.2.2  bouyer ACPI CA interfaces) could be overwritten if the buffer was too
   7335  1.1.1.2.2.2  bouyer small to complete the operation, causing memory corruption.
   7336  1.1.1.2.2.2  bouyer 
   7337  1.1.1.2.2.2  bouyer Fixed a problem in the Buffer-to-String conversion code where a
   7338  1.1.1.2.2.2  bouyer string of length one was always returned, regardless of the size
   7339  1.1.1.2.2.2  bouyer of the input Buffer object.
   7340  1.1.1.2.2.2  bouyer 
   7341  1.1.1.2.2.2  bouyer Removed the NATIVE_CHAR data type across the entire source due to
   7342  1.1.1.2.2.2  bouyer lack of need and lack of consistent use.
   7343  1.1.1.2.2.2  bouyer 
   7344  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7345  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7346  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7347  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7348  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7349  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7350  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7351  1.1.1.2.2.2  bouyer options used during generation.
   7352  1.1.1.2.2.2  bouyer 
   7353  1.1.1.2.2.2  bouyer   Previous Release
   7354  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
   7355  1.1.1.2.2.2  bouyer     Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
   7356  1.1.1.2.2.2  bouyer   Current Release:
   7357  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.0K Code,   9.5K Data,   81.5K Total
   7358  1.1.1.2.2.2  bouyer     Debug Version:     153.0K Code,  62.9K Data,  215.9K Total
   7359  1.1.1.2.2.2  bouyer 
   7360  1.1.1.2.2.2  bouyer 
   7361  1.1.1.2.2.2  bouyer ----------------------------------------
   7362  1.1.1.2.2.2  bouyer 05 December 2002.  Summary of changes for version 20021205.
   7363  1.1.1.2.2.2  bouyer 
   7364  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7365  1.1.1.2.2.2  bouyer 
   7366  1.1.1.2.2.2  bouyer Fixed a problem where a store to a String or Buffer object could
   7367  1.1.1.2.2.2  bouyer cause corruption of the DSDT if the object type being stored was
   7368  1.1.1.2.2.2  bouyer the same as the target object type and the length of the object
   7369  1.1.1.2.2.2  bouyer being stored was equal to or smaller than the original (existing)
   7370  1.1.1.2.2.2  bouyer target object.  This was seen to cause corruption of battery _BIF
   7371  1.1.1.2.2.2  bouyer buffers if the _BIF method modified the buffer on the fly.
   7372  1.1.1.2.2.2  bouyer 
   7373  1.1.1.2.2.2  bouyer Fixed a problem where an internal error was generated if a control
   7374  1.1.1.2.2.2  bouyer method invocation was used in an OperationRegion, Buffer, or
   7375  1.1.1.2.2.2  bouyer Package declaration.  This was caused by the deferred parsing of
   7376  1.1.1.2.2.2  bouyer the control method and thus the deferred creation of the internal
   7377  1.1.1.2.2.2  bouyer method object.  The solution to this problem was to create the
   7378  1.1.1.2.2.2  bouyer internal method object at the moment the method is encountered in
   7379  1.1.1.2.2.2  bouyer the first pass - so that subsequent references to the method will
   7380  1.1.1.2.2.2  bouyer able to obtain the required parameter count and thus properly
   7381  1.1.1.2.2.2  bouyer parse the method invocation.  This problem presented itself as an
   7382  1.1.1.2.2.2  bouyer AE_AML_INTERNAL during the pass 1 parse phase during table load.
   7383  1.1.1.2.2.2  bouyer 
   7384  1.1.1.2.2.2  bouyer Fixed a problem where the internal String object copy routine did
   7385  1.1.1.2.2.2  bouyer not always allocate sufficient memory for the target String object
   7386  1.1.1.2.2.2  bouyer and caused memory corruption.  This problem was seen to cause
   7387  1.1.1.2.2.2  bouyer "Allocation already present in list!" errors as memory allocation
   7388  1.1.1.2.2.2  bouyer became corrupted.
   7389  1.1.1.2.2.2  bouyer 
   7390  1.1.1.2.2.2  bouyer Implemented a new function for the evaluation of namespace objects
   7391  1.1.1.2.2.2  bouyer that allows the specification of the allowable return object
   7392  1.1.1.2.2.2  bouyer types.  This simplifies a lot of code that checks for a return
   7393  1.1.1.2.2.2  bouyer object of one or more specific objects returned from the
   7394  1.1.1.2.2.2  bouyer evaluation (such as _STA, etc.)  This may become and external
   7395  1.1.1.2.2.2  bouyer function if it would be useful to ACPI-related drivers.
   7396  1.1.1.2.2.2  bouyer 
   7397  1.1.1.2.2.2  bouyer Completed another round of prefixing #defines with "ACPI_" for
   7398  1.1.1.2.2.2  bouyer clarity.
   7399  1.1.1.2.2.2  bouyer 
   7400  1.1.1.2.2.2  bouyer Completed additional code restructuring to allow more modular
   7401  1.1.1.2.2.2  bouyer linking for iASL compiler and AcpiExec.  Several files were split
   7402  1.1.1.2.2.2  bouyer creating new files.  New files:  nsparse.c dsinit.c evgpe.c
   7403  1.1.1.2.2.2  bouyer 
   7404  1.1.1.2.2.2  bouyer Implemented an abort mechanism to terminate an executing control
   7405  1.1.1.2.2.2  bouyer method via the AML debugger.  This feature is useful for debugging
   7406  1.1.1.2.2.2  bouyer control methods that depend (wait) for specific hardware
   7407  1.1.1.2.2.2  bouyer responses.
   7408  1.1.1.2.2.2  bouyer 
   7409  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7410  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7411  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7412  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7413  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7414  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7415  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7416  1.1.1.2.2.2  bouyer options used during generation.
   7417  1.1.1.2.2.2  bouyer 
   7418  1.1.1.2.2.2  bouyer   Previous Release
   7419  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
   7420  1.1.1.2.2.2  bouyer     Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
   7421  1.1.1.2.2.2  bouyer   Current Release:
   7422  1.1.1.2.2.2  bouyer     Non-Debug Version:  72.1K Code,   9.5K Data,   81.6K Total
   7423  1.1.1.2.2.2  bouyer     Debug Version:     152.7K Code,  62.7K Data,  215.4K Total
   7424  1.1.1.2.2.2  bouyer 
   7425  1.1.1.2.2.2  bouyer 
   7426  1.1.1.2.2.2  bouyer 2) iASL Compiler/Disassembler
   7427  1.1.1.2.2.2  bouyer 
   7428  1.1.1.2.2.2  bouyer Fixed a compiler code generation problem for "Interrupt" Resource
   7429  1.1.1.2.2.2  bouyer Descriptors.  If specified in the ASL, the optional "Resource
   7430  1.1.1.2.2.2  bouyer Source Index" and "Resource Source" fields were not inserted into
   7431  1.1.1.2.2.2  bouyer the correct location within the AML resource descriptor, creating
   7432  1.1.1.2.2.2  bouyer an invalid descriptor.
   7433  1.1.1.2.2.2  bouyer 
   7434  1.1.1.2.2.2  bouyer Fixed a disassembler problem for "Interrupt" resource descriptors.
   7435  1.1.1.2.2.2  bouyer The optional "Resource Source Index" and "Resource Source" fields
   7436  1.1.1.2.2.2  bouyer were ignored.
   7437  1.1.1.2.2.2  bouyer 
   7438  1.1.1.2.2.2  bouyer 
   7439  1.1.1.2.2.2  bouyer ----------------------------------------
   7440  1.1.1.2.2.2  bouyer 22 November 2002.  Summary of changes for version 20021122.
   7441  1.1.1.2.2.2  bouyer 
   7442  1.1.1.2.2.2  bouyer 
   7443  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7444  1.1.1.2.2.2  bouyer 
   7445  1.1.1.2.2.2  bouyer Fixed a reported problem where an object stored to a Method Local
   7446  1.1.1.2.2.2  bouyer or Arg was not copied to a new object during the store - the
   7447  1.1.1.2.2.2  bouyer object pointer was simply copied to the Local/Arg.  This caused
   7448  1.1.1.2.2.2  bouyer all subsequent operations on the Local/Arg to also affect the
   7449  1.1.1.2.2.2  bouyer original source of the store operation.
   7450  1.1.1.2.2.2  bouyer 
   7451  1.1.1.2.2.2  bouyer Fixed a problem where a store operation to a Method Local or Arg
   7452  1.1.1.2.2.2  bouyer was not completed properly if the Local/Arg contained a reference
   7453  1.1.1.2.2.2  bouyer (from RefOf) to a named field.  The general-purpose store-to-
   7454  1.1.1.2.2.2  bouyer namespace-node code is now used so that this case is handled
   7455  1.1.1.2.2.2  bouyer automatically.
   7456  1.1.1.2.2.2  bouyer 
   7457  1.1.1.2.2.2  bouyer Fixed a problem where the internal object copy routine would cause
   7458  1.1.1.2.2.2  bouyer a protection fault if the object being copied was a Package and
   7459  1.1.1.2.2.2  bouyer contained either 1) a NULL package element or 2) a nested sub-
   7460  1.1.1.2.2.2  bouyer package.
   7461  1.1.1.2.2.2  bouyer 
   7462  1.1.1.2.2.2  bouyer Fixed a problem with the GPE initialization that resulted from an
   7463  1.1.1.2.2.2  bouyer ambiguity in the ACPI specification.  One section of the
   7464  1.1.1.2.2.2  bouyer specification states that both the address and length of the GPE
   7465  1.1.1.2.2.2  bouyer block must be zero if the block is not supported.  Another section
   7466  1.1.1.2.2.2  bouyer implies that only the address need be zero if the block is not
   7467  1.1.1.2.2.2  bouyer supported.  The code has been changed so that both the address and
   7468  1.1.1.2.2.2  bouyer the length must be non-zero to indicate a valid GPE block (i.e.,
   7469  1.1.1.2.2.2  bouyer if either the address or the length is zero, the GPE block is
   7470  1.1.1.2.2.2  bouyer invalid.)
   7471  1.1.1.2.2.2  bouyer 
   7472  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7473  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7474  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7475  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7476  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7477  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7478  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7479  1.1.1.2.2.2  bouyer options used during generation.
   7480  1.1.1.2.2.2  bouyer 
   7481  1.1.1.2.2.2  bouyer   Previous Release
   7482  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
   7483  1.1.1.2.2.2  bouyer     Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
   7484  1.1.1.2.2.2  bouyer   Current Release:
   7485  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
   7486  1.1.1.2.2.2  bouyer     Debug Version:     152.9K Code,  63.3K Data,  216.2K Total
   7487  1.1.1.2.2.2  bouyer 
   7488  1.1.1.2.2.2  bouyer 
   7489  1.1.1.2.2.2  bouyer 2) Linux
   7490  1.1.1.2.2.2  bouyer 
   7491  1.1.1.2.2.2  bouyer Cleaned up EC driver. Exported an external EC read/write
   7492  1.1.1.2.2.2  bouyer interface. By going through this, other drivers (most notably
   7493  1.1.1.2.2.2  bouyer sonypi) will be able to serialize access to the EC.
   7494  1.1.1.2.2.2  bouyer 
   7495  1.1.1.2.2.2  bouyer 
   7496  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7497  1.1.1.2.2.2  bouyer 
   7498  1.1.1.2.2.2  bouyer Implemented support to optionally generate include files for both
   7499  1.1.1.2.2.2  bouyer ASM and C (the -i switch).  This simplifies BIOS development by
   7500  1.1.1.2.2.2  bouyer automatically creating include files that contain external
   7501  1.1.1.2.2.2  bouyer declarations for the symbols that are created within the
   7502  1.1.1.2.2.2  bouyer 
   7503  1.1.1.2.2.2  bouyer (optionally generated) ASM and C AML source files.
   7504  1.1.1.2.2.2  bouyer 
   7505  1.1.1.2.2.2  bouyer 
   7506  1.1.1.2.2.2  bouyer ----------------------------------------
   7507  1.1.1.2.2.2  bouyer 15 November 2002.  Summary of changes for version 20021115.
   7508  1.1.1.2.2.2  bouyer 
   7509  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7510  1.1.1.2.2.2  bouyer 
   7511  1.1.1.2.2.2  bouyer Fixed a memory leak problem where an error during resolution of
   7512  1.1.1.2.2.2  bouyer 
   7513  1.1.1.2.2.2  bouyer method arguments during a method invocation from another method
   7514  1.1.1.2.2.2  bouyer failed to cleanup properly by deleting all successfully resolved
   7515  1.1.1.2.2.2  bouyer argument objects.
   7516  1.1.1.2.2.2  bouyer 
   7517  1.1.1.2.2.2  bouyer Fixed a problem where the target of the Index() operator was not
   7518  1.1.1.2.2.2  bouyer correctly constructed if the source object was a package.  This
   7519  1.1.1.2.2.2  bouyer problem has not been detected because the use of a target operand
   7520  1.1.1.2.2.2  bouyer with Index() is very rare.
   7521  1.1.1.2.2.2  bouyer 
   7522  1.1.1.2.2.2  bouyer Fixed a problem with the Index() operator where an attempt was
   7523  1.1.1.2.2.2  bouyer made to delete the operand objects twice.
   7524  1.1.1.2.2.2  bouyer 
   7525  1.1.1.2.2.2  bouyer Fixed a problem where an attempt was made to delete an operand
   7526  1.1.1.2.2.2  bouyer twice during execution of the CondRefOf() operator if the target
   7527  1.1.1.2.2.2  bouyer did not exist.
   7528  1.1.1.2.2.2  bouyer 
   7529  1.1.1.2.2.2  bouyer Implemented the first of perhaps several internal create object
   7530  1.1.1.2.2.2  bouyer functions that create and initialize a specific object type.  This
   7531  1.1.1.2.2.2  bouyer consolidates duplicated code wherever the object is created, thus
   7532  1.1.1.2.2.2  bouyer shrinking the size of the subsystem.
   7533  1.1.1.2.2.2  bouyer 
   7534  1.1.1.2.2.2  bouyer Implemented improved debug/error messages for errors that occur
   7535  1.1.1.2.2.2  bouyer during nested method invocations.  All executing method pathnames
   7536  1.1.1.2.2.2  bouyer are displayed (with the error) as the call stack is unwound - thus
   7537  1.1.1.2.2.2  bouyer simplifying debug.
   7538  1.1.1.2.2.2  bouyer 
   7539  1.1.1.2.2.2  bouyer Fixed a problem introduced in the 10/02 release that caused
   7540  1.1.1.2.2.2  bouyer premature deletion of a buffer object if a buffer was used as an
   7541  1.1.1.2.2.2  bouyer ASL operand where an integer operand is required (Thus causing an
   7542  1.1.1.2.2.2  bouyer implicit object conversion from Buffer to Integer.)  The change in
   7543  1.1.1.2.2.2  bouyer the 10/02 release was attempting to fix a memory leak (albeit
   7544  1.1.1.2.2.2  bouyer incorrectly.)
   7545  1.1.1.2.2.2  bouyer 
   7546  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7547  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7548  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7549  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7550  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7551  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7552  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7553  1.1.1.2.2.2  bouyer options used during generation.
   7554  1.1.1.2.2.2  bouyer 
   7555  1.1.1.2.2.2  bouyer   Previous Release
   7556  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
   7557  1.1.1.2.2.2  bouyer     Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
   7558  1.1.1.2.2.2  bouyer   Current Release:
   7559  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.3K Code,   9.0K Data,   80.3K Total
   7560  1.1.1.2.2.2  bouyer     Debug Version:     152.7K Code,  63.2K Data,  215.5K Total
   7561  1.1.1.2.2.2  bouyer 
   7562  1.1.1.2.2.2  bouyer 
   7563  1.1.1.2.2.2  bouyer 2) Linux
   7564  1.1.1.2.2.2  bouyer 
   7565  1.1.1.2.2.2  bouyer Changed the implementation of the ACPI semaphores to use down()
   7566  1.1.1.2.2.2  bouyer instead of down_interruptable().  It is important that the
   7567  1.1.1.2.2.2  bouyer execution of ACPI control methods not be interrupted by signals.
   7568  1.1.1.2.2.2  bouyer Methods must run to completion, or the system may be left in an
   7569  1.1.1.2.2.2  bouyer unknown/unstable state.
   7570  1.1.1.2.2.2  bouyer 
   7571  1.1.1.2.2.2  bouyer Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not set.
   7572  1.1.1.2.2.2  bouyer (Shawn Starr)
   7573  1.1.1.2.2.2  bouyer 
   7574  1.1.1.2.2.2  bouyer 
   7575  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7576  1.1.1.2.2.2  bouyer 
   7577  1.1.1.2.2.2  bouyer 
   7578  1.1.1.2.2.2  bouyer Changed the default location of output files.  All output files
   7579  1.1.1.2.2.2  bouyer are now placed in the current directory by default instead of in
   7580  1.1.1.2.2.2  bouyer the directory of the source file.  This change may affect some
   7581  1.1.1.2.2.2  bouyer existing makefiles, but it brings the behavior of the compiler in
   7582  1.1.1.2.2.2  bouyer line with other similar tools.  The location of the output files
   7583  1.1.1.2.2.2  bouyer can be overridden with the -p command line switch.
   7584  1.1.1.2.2.2  bouyer 
   7585  1.1.1.2.2.2  bouyer 
   7586  1.1.1.2.2.2  bouyer ----------------------------------------
   7587  1.1.1.2.2.2  bouyer 11 November 2002.  Summary of changes for version 20021111.
   7588  1.1.1.2.2.2  bouyer 
   7589  1.1.1.2.2.2  bouyer 
   7590  1.1.1.2.2.2  bouyer 0) ACPI Specification 2.0B is released and is now available at:
   7591  1.1.1.2.2.2  bouyer http://www.acpi.info/index.html
   7592  1.1.1.2.2.2  bouyer 
   7593  1.1.1.2.2.2  bouyer 
   7594  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7595  1.1.1.2.2.2  bouyer 
   7596  1.1.1.2.2.2  bouyer Implemented support for the ACPI 2.0 SMBus Operation Regions.
   7597  1.1.1.2.2.2  bouyer This includes the early detection and handoff of the request to
   7598  1.1.1.2.2.2  bouyer the SMBus region handler (avoiding all of the complex field
   7599  1.1.1.2.2.2  bouyer support code), and support for the bidirectional return packet
   7600  1.1.1.2.2.2  bouyer from an SMBus write operation.  This paves the way for the
   7601  1.1.1.2.2.2  bouyer development of SMBus drivers in each host operating system.
   7602  1.1.1.2.2.2  bouyer 
   7603  1.1.1.2.2.2  bouyer Fixed a problem where the semaphore WAIT_FOREVER constant was
   7604  1.1.1.2.2.2  bouyer defined as 32 bits, but must be 16 bits according to the ACPI
   7605  1.1.1.2.2.2  bouyer specification.  This had the side effect of causing ASL
   7606  1.1.1.2.2.2  bouyer Mutex/Event timeouts even though the ASL code requested a wait
   7607  1.1.1.2.2.2  bouyer forever.  Changed all internal references to the ACPI timeout
   7608  1.1.1.2.2.2  bouyer parameter to 16 bits to prevent future problems.  Changed the name
   7609  1.1.1.2.2.2  bouyer of WAIT_FOREVER to ACPI_WAIT_FOREVER.
   7610  1.1.1.2.2.2  bouyer 
   7611  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7612  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7613  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7614  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7615  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7616  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7617  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7618  1.1.1.2.2.2  bouyer options used during generation.
   7619  1.1.1.2.2.2  bouyer 
   7620  1.1.1.2.2.2  bouyer   Previous Release
   7621  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
   7622  1.1.1.2.2.2  bouyer     Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
   7623  1.1.1.2.2.2  bouyer   Current Release:
   7624  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.9K Code,   9.1K Data,   81.0K Total
   7625  1.1.1.2.2.2  bouyer     Debug Version:     153.1K Code,  63.3K Data,  216.4K Total
   7626  1.1.1.2.2.2  bouyer 
   7627  1.1.1.2.2.2  bouyer 
   7628  1.1.1.2.2.2  bouyer 2) Linux
   7629  1.1.1.2.2.2  bouyer 
   7630  1.1.1.2.2.2  bouyer Module loading/unloading fixes (John Cagle)
   7631  1.1.1.2.2.2  bouyer 
   7632  1.1.1.2.2.2  bouyer 
   7633  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7634  1.1.1.2.2.2  bouyer 
   7635  1.1.1.2.2.2  bouyer Added support for the SMBBlockProcessCall keyword (ACPI 2.0)
   7636  1.1.1.2.2.2  bouyer 
   7637  1.1.1.2.2.2  bouyer Implemented support for the disassembly of all SMBus protocol
   7638  1.1.1.2.2.2  bouyer keywords (SMBQuick, SMBWord, etc.)
   7639  1.1.1.2.2.2  bouyer 
   7640  1.1.1.2.2.2  bouyer ----------------------------------------
   7641  1.1.1.2.2.2  bouyer 01 November 2002.  Summary of changes for version 20021101.
   7642  1.1.1.2.2.2  bouyer 
   7643  1.1.1.2.2.2  bouyer 
   7644  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7645  1.1.1.2.2.2  bouyer 
   7646  1.1.1.2.2.2  bouyer Fixed a problem where platforms that have a GPE1 block but no GPE0
   7647  1.1.1.2.2.2  bouyer block were not handled correctly.  This resulted in a "GPE
   7648  1.1.1.2.2.2  bouyer overlap" error message.  GPE0 is no longer required.
   7649  1.1.1.2.2.2  bouyer 
   7650  1.1.1.2.2.2  bouyer Removed code added in the previous release that inserted nodes
   7651  1.1.1.2.2.2  bouyer into the namespace in alphabetical order.  This caused some side-
   7652  1.1.1.2.2.2  bouyer effects on various machines.  The root cause of the problem is
   7653  1.1.1.2.2.2  bouyer still under investigation since in theory, the internal ordering
   7654  1.1.1.2.2.2  bouyer of the namespace nodes should not matter.
   7655  1.1.1.2.2.2  bouyer 
   7656  1.1.1.2.2.2  bouyer 
   7657  1.1.1.2.2.2  bouyer Enhanced error reporting for the case where a named object is not
   7658  1.1.1.2.2.2  bouyer found during control method execution.  The full ACPI namepath
   7659  1.1.1.2.2.2  bouyer (name reference) of the object that was not found is displayed in
   7660  1.1.1.2.2.2  bouyer this case.
   7661  1.1.1.2.2.2  bouyer 
   7662  1.1.1.2.2.2  bouyer Note: as a result of the overhaul of the namespace object types in
   7663  1.1.1.2.2.2  bouyer the previous release, the namespace nodes for the predefined
   7664  1.1.1.2.2.2  bouyer scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
   7665  1.1.1.2.2.2  bouyer instead of ACPI_TYPE_ANY.  This simplifies the namespace
   7666  1.1.1.2.2.2  bouyer management code but may affect code that walks the namespace tree
   7667  1.1.1.2.2.2  bouyer looking for specific object types.
   7668  1.1.1.2.2.2  bouyer 
   7669  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7670  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7671  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7672  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7673  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7674  1.1.1.2.2.2  bouyer has a much larger code and data size.  Note that these values will
   7675  1.1.1.2.2.2  bouyer vary depending on the efficiency of the compiler and the compiler
   7676  1.1.1.2.2.2  bouyer options used during generation.
   7677  1.1.1.2.2.2  bouyer 
   7678  1.1.1.2.2.2  bouyer   Previous Release
   7679  1.1.1.2.2.2  bouyer     Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
   7680  1.1.1.2.2.2  bouyer     Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
   7681  1.1.1.2.2.2  bouyer   Current Release:
   7682  1.1.1.2.2.2  bouyer     Non-Debug Version:  71.4K Code,   9.0K Data,   80.4K Total
   7683  1.1.1.2.2.2  bouyer     Debug Version:     152.3K Code,  63.0K Data,  215.3K Total
   7684  1.1.1.2.2.2  bouyer 
   7685  1.1.1.2.2.2  bouyer 
   7686  1.1.1.2.2.2  bouyer 2) Linux
   7687  1.1.1.2.2.2  bouyer 
   7688  1.1.1.2.2.2  bouyer Fixed a problem introduced in the previous release where the
   7689  1.1.1.2.2.2  bouyer Processor and Thermal objects were not recognized and installed in
   7690  1.1.1.2.2.2  bouyer /proc.  This was related to the scope type change described above.
   7691  1.1.1.2.2.2  bouyer 
   7692  1.1.1.2.2.2  bouyer 
   7693  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7694  1.1.1.2.2.2  bouyer 
   7695  1.1.1.2.2.2  bouyer Implemented the -g option to get all of the required ACPI tables
   7696  1.1.1.2.2.2  bouyer from the registry and save them to files (Windows version of the
   7697  1.1.1.2.2.2  bouyer compiler only.)  The required tables are the FADT, FACS, and DSDT.
   7698  1.1.1.2.2.2  bouyer 
   7699  1.1.1.2.2.2  bouyer Added ACPI table checksum validation during table disassembly in
   7700  1.1.1.2.2.2  bouyer order to catch corrupted tables.
   7701  1.1.1.2.2.2  bouyer 
   7702  1.1.1.2.2.2  bouyer 
   7703  1.1.1.2.2.2  bouyer ----------------------------------------
   7704  1.1.1.2.2.2  bouyer 22 October 2002.  Summary of changes for version 20021022.
   7705  1.1.1.2.2.2  bouyer 
   7706  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   7707  1.1.1.2.2.2  bouyer 
   7708  1.1.1.2.2.2  bouyer Implemented a restriction on the Scope operator that the target
   7709  1.1.1.2.2.2  bouyer must already exist in the namespace at the time the operator is
   7710  1.1.1.2.2.2  bouyer encountered (during table load or method execution).  In other
   7711  1.1.1.2.2.2  bouyer words, forward references are not allowed and Scope() cannot
   7712  1.1.1.2.2.2  bouyer create a new object. This changes the previous behavior where the
   7713  1.1.1.2.2.2  bouyer interpreter would create the name if not found.  This new behavior
   7714  1.1.1.2.2.2  bouyer correctly enables the search-to-root algorithm during namespace
   7715  1.1.1.2.2.2  bouyer lookup of the target name.  Because of this upsearch, this fixes
   7716  1.1.1.2.2.2  bouyer the known Compaq _SB_.OKEC problem and makes both the AML
   7717  1.1.1.2.2.2  bouyer interpreter and iASL compiler compatible with other ACPI
   7718  1.1.1.2.2.2  bouyer implementations.
   7719  1.1.1.2.2.2  bouyer 
   7720  1.1.1.2.2.2  bouyer Completed a major overhaul of the internal ACPI object types for
   7721  1.1.1.2.2.2  bouyer the ACPI Namespace and the associated operand objects.  Many of
   7722  1.1.1.2.2.2  bouyer these types had become obsolete with the introduction of the two-
   7723  1.1.1.2.2.2  bouyer pass namespace load.  This cleanup simplifies the code and makes
   7724  1.1.1.2.2.2  bouyer the entire namespace load mechanism much clearer and easier to
   7725  1.1.1.2.2.2  bouyer understand.
   7726  1.1.1.2.2.2  bouyer 
   7727  1.1.1.2.2.2  bouyer Improved debug output for tracking scope opening/closing to help
   7728  1.1.1.2.2.2  bouyer diagnose scoping issues.  The old scope name as well as the new
   7729  1.1.1.2.2.2  bouyer scope name are displayed.  Also improved error messages for
   7730  1.1.1.2.2.2  bouyer problems with ASL Mutex objects and error messages for GPE
   7731  1.1.1.2.2.2  bouyer problems.
   7732  1.1.1.2.2.2  bouyer 
   7733  1.1.1.2.2.2  bouyer Cleaned up the namespace dump code, removed obsolete code.
   7734  1.1.1.2.2.2  bouyer 
   7735  1.1.1.2.2.2  bouyer All string output (for all namespace/object dumps) now uses the
   7736  1.1.1.2.2.2  bouyer common ACPI string output procedure which handles escapes properly
   7737  1.1.1.2.2.2  bouyer and does not emit non-printable characters.
   7738  1.1.1.2.2.2  bouyer 
   7739  1.1.1.2.2.2  bouyer Fixed some issues with constants in the 64-bit version of the
   7740  1.1.1.2.2.2  bouyer local C library (utclib.c)
   7741  1.1.1.2.2.2  bouyer 
   7742  1.1.1.2.2.2  bouyer 
   7743  1.1.1.2.2.2  bouyer 2) Linux
   7744  1.1.1.2.2.2  bouyer 
   7745  1.1.1.2.2.2  bouyer EC Driver:  No longer attempts to acquire the Global Lock at
   7746  1.1.1.2.2.2  bouyer interrupt level.
   7747  1.1.1.2.2.2  bouyer 
   7748  1.1.1.2.2.2  bouyer 
   7749  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7750  1.1.1.2.2.2  bouyer 
   7751  1.1.1.2.2.2  bouyer Implemented ACPI 2.0B grammar change that disallows all Type 1 and
   7752  1.1.1.2.2.2  bouyer 2 opcodes outside of a control method.  This means that the
   7753  1.1.1.2.2.2  bouyer "executable" operators (versus the "namespace" operators) cannot
   7754  1.1.1.2.2.2  bouyer be used at the table level; they can only be used within a control
   7755  1.1.1.2.2.2  bouyer method.
   7756  1.1.1.2.2.2  bouyer 
   7757  1.1.1.2.2.2  bouyer Implemented the restriction on the Scope() operator where the
   7758  1.1.1.2.2.2  bouyer target must already exist in the namespace at the time the
   7759  1.1.1.2.2.2  bouyer operator is encountered (during ASL compilation). In other words,
   7760  1.1.1.2.2.2  bouyer forward references are not allowed and Scope() cannot create a new
   7761  1.1.1.2.2.2  bouyer object.  This makes the iASL compiler compatible with other ACPI
   7762  1.1.1.2.2.2  bouyer implementations and makes the Scope() implementation adhere to the
   7763  1.1.1.2.2.2  bouyer ACPI specification.
   7764  1.1.1.2.2.2  bouyer 
   7765  1.1.1.2.2.2  bouyer Fixed a problem where namepath optimization for the Alias operator
   7766  1.1.1.2.2.2  bouyer was optimizing the wrong path (of the two namepaths.)  This caused
   7767  1.1.1.2.2.2  bouyer a "Missing alias link" error message.
   7768  1.1.1.2.2.2  bouyer 
   7769  1.1.1.2.2.2  bouyer Fixed a problem where an "unknown reserved name" warning could be
   7770  1.1.1.2.2.2  bouyer incorrectly generated for names like "_SB" when the trailing
   7771  1.1.1.2.2.2  bouyer underscore is not used in the original ASL.
   7772  1.1.1.2.2.2  bouyer 
   7773  1.1.1.2.2.2  bouyer Fixed a problem where the reserved name check did not handle
   7774  1.1.1.2.2.2  bouyer NamePaths with multiple NameSegs correctly.  The first nameseg of
   7775  1.1.1.2.2.2  bouyer the NamePath was examined instead of the last NameSeg.
   7776  1.1.1.2.2.2  bouyer 
   7777  1.1.1.2.2.2  bouyer 
   7778  1.1.1.2.2.2  bouyer ----------------------------------------
   7779  1.1.1.2.2.2  bouyer 
   7780  1.1.1.2.2.2  bouyer 02 October 2002.  Summary of changes for this release.
   7781  1.1.1.2.2.2  bouyer 
   7782  1.1.1.2.2.2  bouyer 
   7783  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem version 20021002:
   7784  1.1.1.2.2.2  bouyer 
   7785  1.1.1.2.2.2  bouyer Fixed a problem where a store/copy of a string to an existing
   7786  1.1.1.2.2.2  bouyer string did not always set the string length properly in the String
   7787  1.1.1.2.2.2  bouyer object.
   7788  1.1.1.2.2.2  bouyer 
   7789  1.1.1.2.2.2  bouyer Fixed a reported problem with the ToString operator where the
   7790  1.1.1.2.2.2  bouyer behavior was identical to the ToHexString operator instead of just
   7791  1.1.1.2.2.2  bouyer simply converting a raw buffer to a string data type.
   7792  1.1.1.2.2.2  bouyer 
   7793  1.1.1.2.2.2  bouyer Fixed a problem where CopyObject and the other "explicit"
   7794  1.1.1.2.2.2  bouyer conversion operators were not updating the internal namespace node
   7795  1.1.1.2.2.2  bouyer type as part of the store operation.
   7796  1.1.1.2.2.2  bouyer 
   7797  1.1.1.2.2.2  bouyer Fixed a memory leak during implicit source operand conversion
   7798  1.1.1.2.2.2  bouyer where the original object was not deleted if it was converted to a
   7799  1.1.1.2.2.2  bouyer new object of a different type.
   7800  1.1.1.2.2.2  bouyer 
   7801  1.1.1.2.2.2  bouyer Enhanced error messages for all problems associated with namespace
   7802  1.1.1.2.2.2  bouyer lookups.  Common procedure generates and prints the lookup name as
   7803  1.1.1.2.2.2  bouyer well as the formatted status.
   7804  1.1.1.2.2.2  bouyer 
   7805  1.1.1.2.2.2  bouyer Completed implementation of a new design for the Alias support
   7806  1.1.1.2.2.2  bouyer within the namespace.  The existing design did not handle the case
   7807  1.1.1.2.2.2  bouyer where a new object was assigned to one of the two names due to the
   7808  1.1.1.2.2.2  bouyer use of an explicit conversion operator, resulting in the two names
   7809  1.1.1.2.2.2  bouyer pointing to two different objects.  The new design simply points
   7810  1.1.1.2.2.2  bouyer the Alias name to the original name node - not to the object.
   7811  1.1.1.2.2.2  bouyer This results in a level of indirection that must be handled in the
   7812  1.1.1.2.2.2  bouyer name resolution mechanism.
   7813  1.1.1.2.2.2  bouyer 
   7814  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   7815  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   7816  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   7817  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   7818  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   7819  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   7820  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   7821  1.1.1.2.2.2  bouyer options used during generation.
   7822  1.1.1.2.2.2  bouyer 
   7823  1.1.1.2.2.2  bouyer   Previous Release
   7824  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
   7825  1.1.1.2.2.2  bouyer     Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
   7826  1.1.1.2.2.2  bouyer   Current Release:
   7827  1.1.1.2.2.2  bouyer     Non-Debug Version:  70.7K Code,   8.6K Data,   79.3K Total
   7828  1.1.1.2.2.2  bouyer     Debug Version:     151.7K Code,  62.4K Data,  214.1K Total
   7829  1.1.1.2.2.2  bouyer 
   7830  1.1.1.2.2.2  bouyer 
   7831  1.1.1.2.2.2  bouyer 2) Linux
   7832  1.1.1.2.2.2  bouyer 
   7833  1.1.1.2.2.2  bouyer Initialize thermal driver's timer before it is used. (Knut
   7834  1.1.1.2.2.2  bouyer Neumann)
   7835  1.1.1.2.2.2  bouyer 
   7836  1.1.1.2.2.2  bouyer Allow handling negative celsius values. (Kochi Takayoshi)
   7837  1.1.1.2.2.2  bouyer 
   7838  1.1.1.2.2.2  bouyer Fix thermal management and make trip points. R/W (Pavel Machek)
   7839  1.1.1.2.2.2  bouyer 
   7840  1.1.1.2.2.2  bouyer Fix /proc/acpi/sleep. (P. Christeas)
   7841  1.1.1.2.2.2  bouyer 
   7842  1.1.1.2.2.2  bouyer IA64 fixes. (David Mosberger)
   7843  1.1.1.2.2.2  bouyer 
   7844  1.1.1.2.2.2  bouyer Fix reversed logic in blacklist code. (Sergio Monteiro Basto)
   7845  1.1.1.2.2.2  bouyer 
   7846  1.1.1.2.2.2  bouyer Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT. (Dominik
   7847  1.1.1.2.2.2  bouyer Brodowski)
   7848  1.1.1.2.2.2  bouyer 
   7849  1.1.1.2.2.2  bouyer 
   7850  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   7851  1.1.1.2.2.2  bouyer 
   7852  1.1.1.2.2.2  bouyer Clarified some warning/error messages.
   7853  1.1.1.2.2.2  bouyer 
   7854  1.1.1.2.2.2  bouyer 
   7855  1.1.1.2.2.2  bouyer ----------------------------------------
   7856  1.1.1.2.2.2  bouyer 18 September 2002.  Summary of changes for this release.
   7857  1.1.1.2.2.2  bouyer 
   7858  1.1.1.2.2.2  bouyer 
   7859  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem version 20020918:
   7860  1.1.1.2.2.2  bouyer 
   7861  1.1.1.2.2.2  bouyer Fixed a reported problem with reference chaining (via the Index()
   7862  1.1.1.2.2.2  bouyer and RefOf() operators) in the ObjectType() and SizeOf() operators.
   7863  1.1.1.2.2.2  bouyer The definition of these operators includes the dereferencing of
   7864  1.1.1.2.2.2  bouyer all chained references to return information on the base object.
   7865  1.1.1.2.2.2  bouyer 
   7866  1.1.1.2.2.2  bouyer Fixed a problem with stores to indexed package elements - the
   7867  1.1.1.2.2.2  bouyer existing code would not complete the store if an "implicit
   7868  1.1.1.2.2.2  bouyer conversion" was not performed.  In other words, if the existing
   7869  1.1.1.2.2.2  bouyer object (package element) was to be replaced completely, the code
   7870  1.1.1.2.2.2  bouyer didn't handle this case.
   7871  1.1.1.2.2.2  bouyer 
   7872  1.1.1.2.2.2  bouyer Relaxed typechecking on the ASL "Scope" operator to allow the
   7873  1.1.1.2.2.2  bouyer target name to refer to an object of type Integer, String, or
   7874  1.1.1.2.2.2  bouyer Buffer, in addition to the scoping object types (Device,
   7875  1.1.1.2.2.2  bouyer predefined Scopes, Processor, PowerResource, and ThermalZone.)
   7876  1.1.1.2.2.2  bouyer This allows existing AML code that has workarounds for a bug in
   7877  1.1.1.2.2.2  bouyer Windows to function properly.  A warning is issued, however.  This
   7878  1.1.1.2.2.2  bouyer affects both the AML interpreter and the iASL compiler. Below is
   7879  1.1.1.2.2.2  bouyer an example of this type of ASL code:
   7880  1.1.1.2.2.2  bouyer 
   7881  1.1.1.2.2.2  bouyer       Name(DEB,0x00)
   7882  1.1.1.2.2.2  bouyer       Scope(DEB)
   7883  1.1.1.2.2.2  bouyer       {
   7884  1.1.1.2.2.2  bouyer 
   7885  1.1.1.2.2.2  bouyer Fixed some reported problems with 64-bit integer support in the
   7886  1.1.1.2.2.2  bouyer local implementation of C library functions (clib.c)
   7887  1.1.1.2.2.2  bouyer 
   7888  1.1.1.2.2.2  bouyer 
   7889  1.1.1.2.2.2  bouyer 2) Linux
   7890  1.1.1.2.2.2  bouyer 
   7891  1.1.1.2.2.2  bouyer Use ACPI fix map region instead of IOAPIC region, since it is
   7892  1.1.1.2.2.2  bouyer undefined in non-SMP.
   7893  1.1.1.2.2.2  bouyer 
   7894  1.1.1.2.2.2  bouyer Ensure that the SCI has the proper polarity and trigger, even on
   7895  1.1.1.2.2.2  bouyer systems that do not have an interrupt override entry in the MADT.
   7896  1.1.1.2.2.2  bouyer 
   7897  1.1.1.2.2.2  bouyer 2.5 big driver reorganization (Pat Mochel)
   7898  1.1.1.2.2.2  bouyer 
   7899  1.1.1.2.2.2  bouyer Use early table mapping code from acpitable.c (Andi Kleen)
   7900  1.1.1.2.2.2  bouyer 
   7901  1.1.1.2.2.2  bouyer New blacklist entries (Andi Kleen)
   7902  1.1.1.2.2.2  bouyer 
   7903  1.1.1.2.2.2  bouyer Blacklist improvements. Split blacklist code out into a separate
   7904  1.1.1.2.2.2  bouyer file. Move checking the blacklist to very early. Previously, we
   7905  1.1.1.2.2.2  bouyer would use ACPI tables, and then halfway through init, check the
   7906  1.1.1.2.2.2  bouyer blacklist -- too late. Now, it's early enough to completely fall-
   7907  1.1.1.2.2.2  bouyer back to non-ACPI.
   7908  1.1.1.2.2.2  bouyer 
   7909  1.1.1.2.2.2  bouyer 
   7910  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler version 20020918:
   7911  1.1.1.2.2.2  bouyer 
   7912  1.1.1.2.2.2  bouyer Fixed a problem where the typechecking code didn't know that an
   7913  1.1.1.2.2.2  bouyer alias could point to a method.  In other words, aliases were not
   7914  1.1.1.2.2.2  bouyer being dereferenced during typechecking.
   7915  1.1.1.2.2.2  bouyer 
   7916  1.1.1.2.2.2  bouyer 
   7917  1.1.1.2.2.2  bouyer ----------------------------------------
   7918  1.1.1.2.2.2  bouyer 29 August 2002.  Summary of changes for this release.
   7919  1.1.1.2.2.2  bouyer 
   7920  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020829:
   7921  1.1.1.2.2.2  bouyer 
   7922  1.1.1.2.2.2  bouyer If the target of a Scope() operator already exists, it must be an
   7923  1.1.1.2.2.2  bouyer object type that actually opens a scope -- such as a Device,
   7924  1.1.1.2.2.2  bouyer Method, Scope, etc.  This is a fatal runtime error.  Similar error
   7925  1.1.1.2.2.2  bouyer check has been added to the iASL compiler also.
   7926  1.1.1.2.2.2  bouyer 
   7927  1.1.1.2.2.2  bouyer Tightened up the namespace load to disallow multiple names in the
   7928  1.1.1.2.2.2  bouyer same scope.  This previously was allowed if both objects were of
   7929  1.1.1.2.2.2  bouyer the same type.  (i.e., a lookup was the same as entering a new
   7930  1.1.1.2.2.2  bouyer name).
   7931  1.1.1.2.2.2  bouyer 
   7932  1.1.1.2.2.2  bouyer 
   7933  1.1.1.2.2.2  bouyer 2) Linux
   7934  1.1.1.2.2.2  bouyer 
   7935  1.1.1.2.2.2  bouyer Ensure that the ACPI interrupt has the proper trigger and
   7936  1.1.1.2.2.2  bouyer polarity.
   7937  1.1.1.2.2.2  bouyer 
   7938  1.1.1.2.2.2  bouyer local_irq_disable is extraneous. (Matthew Wilcox)
   7939  1.1.1.2.2.2  bouyer 
   7940  1.1.1.2.2.2  bouyer Make "acpi=off" actually do what it says, and not use the ACPI
   7941  1.1.1.2.2.2  bouyer interpreter *or* the tables.
   7942  1.1.1.2.2.2  bouyer 
   7943  1.1.1.2.2.2  bouyer Added arch-neutral support for parsing SLIT and SRAT tables (Kochi
   7944  1.1.1.2.2.2  bouyer Takayoshi)
   7945  1.1.1.2.2.2  bouyer 
   7946  1.1.1.2.2.2  bouyer 
   7947  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler  Version 20020829:
   7948  1.1.1.2.2.2  bouyer 
   7949  1.1.1.2.2.2  bouyer Implemented namepath optimization for name declarations.  For
   7950  1.1.1.2.2.2  bouyer example, a declaration like "Method (\_SB_.ABCD)" would get
   7951  1.1.1.2.2.2  bouyer optimized to "Method (ABCD)" if the declaration is within the
   7952  1.1.1.2.2.2  bouyer \_SB_ scope.  This optimization is in addition to the named
   7953  1.1.1.2.2.2  bouyer reference path optimization first released in the previous
   7954  1.1.1.2.2.2  bouyer version. This would seem to complete all possible optimizations
   7955  1.1.1.2.2.2  bouyer for namepaths within the ASL/AML.
   7956  1.1.1.2.2.2  bouyer 
   7957  1.1.1.2.2.2  bouyer If the target of a Scope() operator already exists, it must be an
   7958  1.1.1.2.2.2  bouyer object type that actually opens a scope -- such as a Device,
   7959  1.1.1.2.2.2  bouyer Method, Scope, etc.
   7960  1.1.1.2.2.2  bouyer 
   7961  1.1.1.2.2.2  bouyer Implemented a check and warning for unreachable code in the same
   7962  1.1.1.2.2.2  bouyer block below a Return() statement.
   7963  1.1.1.2.2.2  bouyer 
   7964  1.1.1.2.2.2  bouyer Fixed a problem where the listing file was not generated if the
   7965  1.1.1.2.2.2  bouyer compiler aborted if the maximum error count was exceeded (200).
   7966  1.1.1.2.2.2  bouyer 
   7967  1.1.1.2.2.2  bouyer Fixed a problem where the typechecking of method return values was
   7968  1.1.1.2.2.2  bouyer broken.  This includes the check for a return value when the
   7969  1.1.1.2.2.2  bouyer method is invoked as a TermArg (a return value is expected.)
   7970  1.1.1.2.2.2  bouyer 
   7971  1.1.1.2.2.2  bouyer Fixed a reported problem where EOF conditions during a quoted
   7972  1.1.1.2.2.2  bouyer string or comment caused a fault.
   7973  1.1.1.2.2.2  bouyer 
   7974  1.1.1.2.2.2  bouyer 
   7975  1.1.1.2.2.2  bouyer ----------------------------------------
   7976  1.1.1.2.2.2  bouyer 15 August 2002.  Summary of changes for this release.
   7977  1.1.1.2.2.2  bouyer 
   7978  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020815:
   7979  1.1.1.2.2.2  bouyer 
   7980  1.1.1.2.2.2  bouyer Fixed a reported problem where a Store to a method argument that
   7981  1.1.1.2.2.2  bouyer contains a reference did not perform the indirect store correctly.
   7982  1.1.1.2.2.2  bouyer This problem was created during the conversion to the new
   7983  1.1.1.2.2.2  bouyer reference object model - the indirect store to a method argument
   7984  1.1.1.2.2.2  bouyer code was not updated to reflect the new model.
   7985  1.1.1.2.2.2  bouyer 
   7986  1.1.1.2.2.2  bouyer Reworked the ACPI mode change code to better conform to ACPI 2.0,
   7987  1.1.1.2.2.2  bouyer handle corner cases, and improve code legibility (Kochi Takayoshi)
   7988  1.1.1.2.2.2  bouyer 
   7989  1.1.1.2.2.2  bouyer Fixed a problem with the pathname parsing for the carat (^)
   7990  1.1.1.2.2.2  bouyer prefix.  The heavy use of the carat operator by the new namepath
   7991  1.1.1.2.2.2  bouyer optimization in the iASL compiler uncovered a problem with the AML
   7992  1.1.1.2.2.2  bouyer interpreter handling of this prefix.  In the case where one or
   7993  1.1.1.2.2.2  bouyer more carats precede a single nameseg, the nameseg was treated as
   7994  1.1.1.2.2.2  bouyer standalone and the search rule (to root) was inadvertently
   7995  1.1.1.2.2.2  bouyer applied.  This could cause both the iASL compiler and the
   7996  1.1.1.2.2.2  bouyer interpreter to find the wrong object or to miss the error that
   7997  1.1.1.2.2.2  bouyer should occur if the object does not exist at that exact pathname.
   7998  1.1.1.2.2.2  bouyer 
   7999  1.1.1.2.2.2  bouyer Found and fixed the problem where the HP Pavilion DSDT would not
   8000  1.1.1.2.2.2  bouyer load.  This was a relatively minor tweak to the table loading code
   8001  1.1.1.2.2.2  bouyer (a problem caused by the unexpected encounter with a method
   8002  1.1.1.2.2.2  bouyer invocation not within a control method), but it does not solve the
   8003  1.1.1.2.2.2  bouyer overall issue of the execution of AML code at the table level.
   8004  1.1.1.2.2.2  bouyer This investigation is still ongoing.
   8005  1.1.1.2.2.2  bouyer 
   8006  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8007  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8008  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8009  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8010  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8011  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8012  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8013  1.1.1.2.2.2  bouyer options used during generation.
   8014  1.1.1.2.2.2  bouyer 
   8015  1.1.1.2.2.2  bouyer   Previous Release
   8016  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
   8017  1.1.1.2.2.2  bouyer     Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
   8018  1.1.1.2.2.2  bouyer   Current Release:
   8019  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.6K Code,   8.3K Data,   77.9K Total
   8020  1.1.1.2.2.2  bouyer     Debug Version:     150.0K Code,  61.7K Data,  211.7K Total
   8021  1.1.1.2.2.2  bouyer 
   8022  1.1.1.2.2.2  bouyer 
   8023  1.1.1.2.2.2  bouyer 2) Linux
   8024  1.1.1.2.2.2  bouyer 
   8025  1.1.1.2.2.2  bouyer Remove redundant slab.h include (Brad Hards)
   8026  1.1.1.2.2.2  bouyer 
   8027  1.1.1.2.2.2  bouyer Fix several bugs in thermal.c (Herbert Nachtnebel)
   8028  1.1.1.2.2.2  bouyer 
   8029  1.1.1.2.2.2  bouyer Make CONFIG_ACPI_BOOT work properly (Pavel Machek)
   8030  1.1.1.2.2.2  bouyer 
   8031  1.1.1.2.2.2  bouyer Change acpi_system_suspend to use updated irq functions (Pavel
   8032  1.1.1.2.2.2  bouyer Machek)
   8033  1.1.1.2.2.2  bouyer 
   8034  1.1.1.2.2.2  bouyer Export acpi_get_firmware_table (Matthew Wilcox)
   8035  1.1.1.2.2.2  bouyer 
   8036  1.1.1.2.2.2  bouyer Use proper root proc entry for ACPI (Kochi Takayoshi)
   8037  1.1.1.2.2.2  bouyer 
   8038  1.1.1.2.2.2  bouyer Fix early-boot table parsing (Bjorn Helgaas)
   8039  1.1.1.2.2.2  bouyer 
   8040  1.1.1.2.2.2  bouyer 
   8041  1.1.1.2.2.2  bouyer 3) iASL Compiler/Disassembler
   8042  1.1.1.2.2.2  bouyer 
   8043  1.1.1.2.2.2  bouyer Reworked the compiler options to make them more consistent and to
   8044  1.1.1.2.2.2  bouyer use two-letter options where appropriate.  We were running out of
   8045  1.1.1.2.2.2  bouyer sensible letters.   This may break some makefiles, so check the
   8046  1.1.1.2.2.2  bouyer current options list by invoking the compiler with no parameters.
   8047  1.1.1.2.2.2  bouyer 
   8048  1.1.1.2.2.2  bouyer Completed the design and implementation of the ASL namepath
   8049  1.1.1.2.2.2  bouyer optimization option for the compiler.  This option optimizes all
   8050  1.1.1.2.2.2  bouyer references to named objects to the shortest possible path.  The
   8051  1.1.1.2.2.2  bouyer first attempt tries to utilize a single nameseg (4 characters) and
   8052  1.1.1.2.2.2  bouyer the "search-to-root" algorithm used by the interpreter.  If that
   8053  1.1.1.2.2.2  bouyer cannot be used (because either the name is not in the search path
   8054  1.1.1.2.2.2  bouyer or there is a conflict with another object with the same name),
   8055  1.1.1.2.2.2  bouyer the pathname is optimized using the carat prefix (usually a
   8056  1.1.1.2.2.2  bouyer shorter string than specifying the entire path from the root.)
   8057  1.1.1.2.2.2  bouyer 
   8058  1.1.1.2.2.2  bouyer Implemented support to obtain the DSDT from the Windows registry
   8059  1.1.1.2.2.2  bouyer (when the disassembly option is specified with no input file).
   8060  1.1.1.2.2.2  bouyer Added this code as the implementation for AcpiOsTableOverride in
   8061  1.1.1.2.2.2  bouyer the Windows OSL.  Migrated the 16-bit code (used in the AcpiDump
   8062  1.1.1.2.2.2  bouyer utility) to scan memory for the DSDT to the AcpiOsTableOverride
   8063  1.1.1.2.2.2  bouyer function in the DOS OSL to make the disassembler truly OS
   8064  1.1.1.2.2.2  bouyer independent.
   8065  1.1.1.2.2.2  bouyer 
   8066  1.1.1.2.2.2  bouyer Implemented a new option to disassemble and compile in one step.
   8067  1.1.1.2.2.2  bouyer When used without an input filename, this option will grab the
   8068  1.1.1.2.2.2  bouyer DSDT from the local machine, disassemble it, and compile it in one
   8069  1.1.1.2.2.2  bouyer step.
   8070  1.1.1.2.2.2  bouyer 
   8071  1.1.1.2.2.2  bouyer Added a warning message for invalid escapes (a backslash followed
   8072  1.1.1.2.2.2  bouyer by any character other than the allowable escapes).  This catches
   8073  1.1.1.2.2.2  bouyer the quoted string error "\_SB_" (which should be "\\_SB_" ).
   8074  1.1.1.2.2.2  bouyer 
   8075  1.1.1.2.2.2  bouyer Also, there are numerous instances in the ACPI specification where
   8076  1.1.1.2.2.2  bouyer this error occurs.
   8077  1.1.1.2.2.2  bouyer 
   8078  1.1.1.2.2.2  bouyer Added a compiler option to disable all optimizations.  This is
   8079  1.1.1.2.2.2  bouyer basically the "compatibility mode" because by using this option,
   8080  1.1.1.2.2.2  bouyer the AML code will come out exactly the same as other ASL
   8081  1.1.1.2.2.2  bouyer compilers.
   8082  1.1.1.2.2.2  bouyer 
   8083  1.1.1.2.2.2  bouyer Added error messages for incorrectly ordered dependent resource
   8084  1.1.1.2.2.2  bouyer functions.  This includes: missing EndDependentFn macro at end of
   8085  1.1.1.2.2.2  bouyer dependent resource list, nested dependent function macros (both
   8086  1.1.1.2.2.2  bouyer start and end), and missing StartDependentFn macro.  These are
   8087  1.1.1.2.2.2  bouyer common errors that should be caught at compile time.
   8088  1.1.1.2.2.2  bouyer 
   8089  1.1.1.2.2.2  bouyer Implemented _OSI support for the disassembler and compiler.  _OSI
   8090  1.1.1.2.2.2  bouyer must be included in the namespace for proper disassembly (because
   8091  1.1.1.2.2.2  bouyer the disassembler must know the number of arguments.)
   8092  1.1.1.2.2.2  bouyer 
   8093  1.1.1.2.2.2  bouyer Added an "optimization" message type that is optional (off by
   8094  1.1.1.2.2.2  bouyer default).  This message is used for all optimizations - including
   8095  1.1.1.2.2.2  bouyer constant folding, integer optimization, and namepath optimization.
   8096  1.1.1.2.2.2  bouyer 
   8097  1.1.1.2.2.2  bouyer ----------------------------------------
   8098  1.1.1.2.2.2  bouyer 25 July 2002.  Summary of changes for this release.
   8099  1.1.1.2.2.2  bouyer 
   8100  1.1.1.2.2.2  bouyer 
   8101  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020725:
   8102  1.1.1.2.2.2  bouyer 
   8103  1.1.1.2.2.2  bouyer The AML Disassembler has been enhanced to produce compilable ASL
   8104  1.1.1.2.2.2  bouyer code and has been integrated into the iASL compiler (see below) as
   8105  1.1.1.2.2.2  bouyer well as the single-step disassembly for the AML debugger and the
   8106  1.1.1.2.2.2  bouyer disassembler for the AcpiDump utility.  All ACPI 2.0A opcodes,
   8107  1.1.1.2.2.2  bouyer resource templates and macros are fully supported.  The
   8108  1.1.1.2.2.2  bouyer disassembler has been tested on over 30 different AML files,
   8109  1.1.1.2.2.2  bouyer producing identical AML when the resulting disassembled ASL file
   8110  1.1.1.2.2.2  bouyer is recompiled with the same ASL compiler.
   8111  1.1.1.2.2.2  bouyer 
   8112  1.1.1.2.2.2  bouyer Modified the Resource Manager to allow zero interrupts and zero
   8113  1.1.1.2.2.2  bouyer dma channels during the GetCurrentResources call.  This was
   8114  1.1.1.2.2.2  bouyer causing problems on some platforms.
   8115  1.1.1.2.2.2  bouyer 
   8116  1.1.1.2.2.2  bouyer Added the AcpiOsRedirectOutput interface to the OSL to simplify
   8117  1.1.1.2.2.2  bouyer output redirection for the AcpiOsPrintf and AcpiOsVprintf
   8118  1.1.1.2.2.2  bouyer interfaces.
   8119  1.1.1.2.2.2  bouyer 
   8120  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8121  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8122  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8123  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8124  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8125  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8126  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8127  1.1.1.2.2.2  bouyer options used during generation.
   8128  1.1.1.2.2.2  bouyer 
   8129  1.1.1.2.2.2  bouyer   Previous Release
   8130  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
   8131  1.1.1.2.2.2  bouyer     Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
   8132  1.1.1.2.2.2  bouyer   Current Release:
   8133  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.1K Code,   8.2K Data,   77.3K Total
   8134  1.1.1.2.2.2  bouyer     Debug Version:     149.4K Code,  61.6K Data,  211.0K Total
   8135  1.1.1.2.2.2  bouyer 
   8136  1.1.1.2.2.2  bouyer 
   8137  1.1.1.2.2.2  bouyer 2) Linux
   8138  1.1.1.2.2.2  bouyer 
   8139  1.1.1.2.2.2  bouyer Fixed a panic in the EC driver (Dominik Brodowski)
   8140  1.1.1.2.2.2  bouyer 
   8141  1.1.1.2.2.2  bouyer Implemented checksum of the R/XSDT itself during Linux table scan
   8142  1.1.1.2.2.2  bouyer (Richard Schaal)
   8143  1.1.1.2.2.2  bouyer 
   8144  1.1.1.2.2.2  bouyer 
   8145  1.1.1.2.2.2  bouyer 3) iASL compiler
   8146  1.1.1.2.2.2  bouyer 
   8147  1.1.1.2.2.2  bouyer The AML disassembler is integrated into the compiler.  The "-d"
   8148  1.1.1.2.2.2  bouyer option invokes the disassembler  to completely disassemble an
   8149  1.1.1.2.2.2  bouyer input AML file, producing as output a text ASL file with the
   8150  1.1.1.2.2.2  bouyer extension ".dsl" (to avoid name collisions with existing .asl
   8151  1.1.1.2.2.2  bouyer source files.)  A future enhancement will allow the disassembler
   8152  1.1.1.2.2.2  bouyer to obtain the BIOS DSDT from the registry under Windows.
   8153  1.1.1.2.2.2  bouyer 
   8154  1.1.1.2.2.2  bouyer Fixed a problem with the VendorShort and VendorLong resource
   8155  1.1.1.2.2.2  bouyer descriptors where an invalid AML sequence was created.
   8156  1.1.1.2.2.2  bouyer 
   8157  1.1.1.2.2.2  bouyer Implemented a fix for BufferData term in the ASL parser.  It was
   8158  1.1.1.2.2.2  bouyer inadvertently defined twice, allowing invalid syntax to pass and
   8159  1.1.1.2.2.2  bouyer causing reduction conflicts.
   8160  1.1.1.2.2.2  bouyer 
   8161  1.1.1.2.2.2  bouyer Fixed a problem where the Ones opcode could get converted to a
   8162  1.1.1.2.2.2  bouyer value of zero if "Ones" was used where a byte, word or dword value
   8163  1.1.1.2.2.2  bouyer was expected.  The 64-bit value is now truncated to the correct
   8164  1.1.1.2.2.2  bouyer size with the correct value.
   8165  1.1.1.2.2.2  bouyer 
   8166  1.1.1.2.2.2  bouyer 
   8167  1.1.1.2.2.2  bouyer 
   8168  1.1.1.2.2.2  bouyer ----------------------------------------
   8169  1.1.1.2.2.2  bouyer 02 July 2002.  Summary of changes for this release.
   8170  1.1.1.2.2.2  bouyer 
   8171  1.1.1.2.2.2  bouyer 
   8172  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020702:
   8173  1.1.1.2.2.2  bouyer 
   8174  1.1.1.2.2.2  bouyer The Table Manager code has been restructured to add several new
   8175  1.1.1.2.2.2  bouyer features.  Tables that are not required by the core subsystem
   8176  1.1.1.2.2.2  bouyer (other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
   8177  1.1.1.2.2.2  bouyer validated in any way and are returned from AcpiGetFirmwareTable if
   8178  1.1.1.2.2.2  bouyer requested.  The AcpiOsTableOverride interface is now called for
   8179  1.1.1.2.2.2  bouyer each table that is loaded by the subsystem in order to allow the
   8180  1.1.1.2.2.2  bouyer host to override any table it chooses.  Previously, only the DSDT
   8181  1.1.1.2.2.2  bouyer could be overridden.  Added one new files, tbrsdt.c and
   8182  1.1.1.2.2.2  bouyer tbgetall.c.
   8183  1.1.1.2.2.2  bouyer 
   8184  1.1.1.2.2.2  bouyer Fixed a problem with the conversion of internal package objects to
   8185  1.1.1.2.2.2  bouyer external objects (when a package is returned from a control
   8186  1.1.1.2.2.2  bouyer method.)  The return buffer length was set to zero instead of the
   8187  1.1.1.2.2.2  bouyer proper length of the package object.
   8188  1.1.1.2.2.2  bouyer 
   8189  1.1.1.2.2.2  bouyer Fixed a reported problem with the use of the RefOf and DeRefOf
   8190  1.1.1.2.2.2  bouyer operators when passing reference arguments to control methods.  A
   8191  1.1.1.2.2.2  bouyer new type of Reference object is used internally for references
   8192  1.1.1.2.2.2  bouyer produced by the RefOf operator.
   8193  1.1.1.2.2.2  bouyer 
   8194  1.1.1.2.2.2  bouyer Added additional error messages in the Resource Manager to explain
   8195  1.1.1.2.2.2  bouyer AE_BAD_DATA errors when they occur during resource parsing.
   8196  1.1.1.2.2.2  bouyer 
   8197  1.1.1.2.2.2  bouyer Split the AcpiEnableSubsystem into two primitives to enable a
   8198  1.1.1.2.2.2  bouyer finer granularity initialization sequence.  These two calls should
   8199  1.1.1.2.2.2  bouyer be called in this order: AcpiEnableSubsystem (flags),
   8200  1.1.1.2.2.2  bouyer AcpiInitializeObjects (flags).  The flags parameter remains the
   8201  1.1.1.2.2.2  bouyer same.
   8202  1.1.1.2.2.2  bouyer 
   8203  1.1.1.2.2.2  bouyer 
   8204  1.1.1.2.2.2  bouyer 2) Linux
   8205  1.1.1.2.2.2  bouyer 
   8206  1.1.1.2.2.2  bouyer Updated the ACPI utilities module to understand the new style of
   8207  1.1.1.2.2.2  bouyer fully resolved package objects that are now returned from the core
   8208  1.1.1.2.2.2  bouyer subsystem.  This eliminates errors of the form:
   8209  1.1.1.2.2.2  bouyer 
   8210  1.1.1.2.2.2  bouyer     ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
   8211  1.1.1.2.2.2  bouyer     acpi_utils-0430 [145] acpi_evaluate_reference:
   8212  1.1.1.2.2.2  bouyer         Invalid element in package (not a device reference)
   8213  1.1.1.2.2.2  bouyer 
   8214  1.1.1.2.2.2  bouyer The method evaluation utility uses the new buffer allocation
   8215  1.1.1.2.2.2  bouyer scheme instead of calling AcpiEvaluate Object twice.
   8216  1.1.1.2.2.2  bouyer 
   8217  1.1.1.2.2.2  bouyer Added support for ECDT. This allows the use of the Embedded
   8218  1.1.1.2.2.2  bouyer 
   8219  1.1.1.2.2.2  bouyer Controller before the namespace has been fully initialized, which
   8220  1.1.1.2.2.2  bouyer is necessary for ACPI 2.0 support, and for some laptops to
   8221  1.1.1.2.2.2  bouyer initialize properly. (Laptops using ECDT are still rare, so only
   8222  1.1.1.2.2.2  bouyer limited testing was performed of the added functionality.)
   8223  1.1.1.2.2.2  bouyer 
   8224  1.1.1.2.2.2  bouyer Fixed memory leaks in the EC driver.
   8225  1.1.1.2.2.2  bouyer 
   8226  1.1.1.2.2.2  bouyer Eliminated a brittle code structure in acpi_bus_init().
   8227  1.1.1.2.2.2  bouyer 
   8228  1.1.1.2.2.2  bouyer Eliminated the acpi_evaluate() helper function in utils.c. It is
   8229  1.1.1.2.2.2  bouyer no longer needed since acpi_evaluate_object can optionally
   8230  1.1.1.2.2.2  bouyer allocate memory for the return object.
   8231  1.1.1.2.2.2  bouyer 
   8232  1.1.1.2.2.2  bouyer Implemented fix for keyboard hang when getting battery readings on
   8233  1.1.1.2.2.2  bouyer some systems (Stephen White)
   8234  1.1.1.2.2.2  bouyer 
   8235  1.1.1.2.2.2  bouyer PCI IRQ routing update (Dominik Brodowski)
   8236  1.1.1.2.2.2  bouyer 
   8237  1.1.1.2.2.2  bouyer Fix an ifdef to allow compilation on UP with LAPIC but no IOAPIC
   8238  1.1.1.2.2.2  bouyer support
   8239  1.1.1.2.2.2  bouyer 
   8240  1.1.1.2.2.2  bouyer ----------------------------------------
   8241  1.1.1.2.2.2  bouyer 11 June 2002.  Summary of changes for this release.
   8242  1.1.1.2.2.2  bouyer 
   8243  1.1.1.2.2.2  bouyer 
   8244  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020611:
   8245  1.1.1.2.2.2  bouyer 
   8246  1.1.1.2.2.2  bouyer Fixed a reported problem where constants such as Zero and One
   8247  1.1.1.2.2.2  bouyer appearing within _PRT packages were not handled correctly within
   8248  1.1.1.2.2.2  bouyer the resource manager code.  Originally reported against the ASL
   8249  1.1.1.2.2.2  bouyer compiler because the code generator now optimizes integers to
   8250  1.1.1.2.2.2  bouyer their minimal AML representation (i.e. AML constants if possible.)
   8251  1.1.1.2.2.2  bouyer The _PRT code now handles all AML constant opcodes correctly
   8252  1.1.1.2.2.2  bouyer (Zero, One, Ones, Revision).
   8253  1.1.1.2.2.2  bouyer 
   8254  1.1.1.2.2.2  bouyer Fixed a problem with the Concatenate operator in the AML
   8255  1.1.1.2.2.2  bouyer interpreter where a buffer result object was incorrectly marked as
   8256  1.1.1.2.2.2  bouyer not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
   8257  1.1.1.2.2.2  bouyer 
   8258  1.1.1.2.2.2  bouyer All package sub-objects are now fully resolved before they are
   8259  1.1.1.2.2.2  bouyer returned from the external ACPI interfaces.  This means that name
   8260  1.1.1.2.2.2  bouyer strings are resolved to object handles, and constant operators
   8261  1.1.1.2.2.2  bouyer (Zero, One, Ones, Revision) are resolved to Integers.
   8262  1.1.1.2.2.2  bouyer 
   8263  1.1.1.2.2.2  bouyer Implemented immediate resolution of the AML Constant opcodes
   8264  1.1.1.2.2.2  bouyer (Zero, One, Ones, Revision) to Integer objects upon detection
   8265  1.1.1.2.2.2  bouyer within the AML stream. This has simplified and reduced the
   8266  1.1.1.2.2.2  bouyer generated code size of the subsystem by eliminating about 10
   8267  1.1.1.2.2.2  bouyer switch statements for these constants (which previously were
   8268  1.1.1.2.2.2  bouyer contained in Reference objects.)  The complicating issues are that
   8269  1.1.1.2.2.2  bouyer the Zero opcode is used as a "placeholder" for unspecified
   8270  1.1.1.2.2.2  bouyer optional target operands and stores to constants are defined to be
   8271  1.1.1.2.2.2  bouyer no-ops.
   8272  1.1.1.2.2.2  bouyer 
   8273  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8274  1.1.1.2.2.2  bouyer below. These are the code and data sizes for the acpica.lib
   8275  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8276  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8277  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8278  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8279  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8280  1.1.1.2.2.2  bouyer options used during generation.
   8281  1.1.1.2.2.2  bouyer 
   8282  1.1.1.2.2.2  bouyer   Previous Release
   8283  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
   8284  1.1.1.2.2.2  bouyer     Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
   8285  1.1.1.2.2.2  bouyer   Current Release:
   8286  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.7K Code,   7.4K Data,   76.1K Total
   8287  1.1.1.2.2.2  bouyer     Debug Version:     142.9K Code,  58.7K Data,  201.6K Total
   8288  1.1.1.2.2.2  bouyer 
   8289  1.1.1.2.2.2  bouyer 
   8290  1.1.1.2.2.2  bouyer 2) Linux
   8291  1.1.1.2.2.2  bouyer 
   8292  1.1.1.2.2.2  bouyer 
   8293  1.1.1.2.2.2  bouyer Added preliminary support for obtaining _TRA data for PCI root
   8294  1.1.1.2.2.2  bouyer bridges (Bjorn Helgaas).
   8295  1.1.1.2.2.2  bouyer 
   8296  1.1.1.2.2.2  bouyer 
   8297  1.1.1.2.2.2  bouyer 3) iASL Compiler Version X2046:
   8298  1.1.1.2.2.2  bouyer 
   8299  1.1.1.2.2.2  bouyer Fixed a problem where the "_DDN" reserved name was defined to be a
   8300  1.1.1.2.2.2  bouyer control method with one argument.  There are no arguments, and
   8301  1.1.1.2.2.2  bouyer _DDN does not have to be a control method.
   8302  1.1.1.2.2.2  bouyer 
   8303  1.1.1.2.2.2  bouyer Fixed a problem with the Linux version of the compiler where the
   8304  1.1.1.2.2.2  bouyer source lines printed with error messages were the wrong lines.
   8305  1.1.1.2.2.2  bouyer This turned out to be the "LF versus CR/LF" difference between
   8306  1.1.1.2.2.2  bouyer Windows and Unix.  This appears to be the longstanding issue
   8307  1.1.1.2.2.2  bouyer concerning listing output and error messages.
   8308  1.1.1.2.2.2  bouyer 
   8309  1.1.1.2.2.2  bouyer Fixed a problem with the Linux version of compiler where opcode
   8310  1.1.1.2.2.2  bouyer names within error messages were wrong.  This was caused by a
   8311  1.1.1.2.2.2  bouyer slight difference in the output of the Flex tool on Linux versus
   8312  1.1.1.2.2.2  bouyer Windows.
   8313  1.1.1.2.2.2  bouyer 
   8314  1.1.1.2.2.2  bouyer Fixed a problem with the Linux compiler where the hex output files
   8315  1.1.1.2.2.2  bouyer contained some garbage data caused by an internal buffer overrun.
   8316  1.1.1.2.2.2  bouyer 
   8317  1.1.1.2.2.2  bouyer 
   8318  1.1.1.2.2.2  bouyer ----------------------------------------
   8319  1.1.1.2.2.2  bouyer 17 May 2002.  Summary of changes for this release.
   8320  1.1.1.2.2.2  bouyer 
   8321  1.1.1.2.2.2  bouyer 
   8322  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020517:
   8323  1.1.1.2.2.2  bouyer 
   8324  1.1.1.2.2.2  bouyer Implemented a workaround to an BIOS bug discovered on the HP
   8325  1.1.1.2.2.2  bouyer OmniBook where the FADT revision number and the table size are
   8326  1.1.1.2.2.2  bouyer inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size).  The new
   8327  1.1.1.2.2.2  bouyer behavior is to fallback to using only the ACPI 1.0 fields of the
   8328  1.1.1.2.2.2  bouyer FADT if the table is too small to be a ACPI 2.0 table as claimed
   8329  1.1.1.2.2.2  bouyer by the revision number.  Although this is a BIOS bug, this is a
   8330  1.1.1.2.2.2  bouyer case where the workaround is simple enough and with no side
   8331  1.1.1.2.2.2  bouyer effects, so it seemed prudent to add it.  A warning message is
   8332  1.1.1.2.2.2  bouyer issued, however.
   8333  1.1.1.2.2.2  bouyer 
   8334  1.1.1.2.2.2  bouyer Implemented minimum size checks for the fixed-length ACPI tables -
   8335  1.1.1.2.2.2  bouyer - the FADT and FACS, as well as consistency checks between the
   8336  1.1.1.2.2.2  bouyer revision number and the table size.
   8337  1.1.1.2.2.2  bouyer 
   8338  1.1.1.2.2.2  bouyer Fixed a reported problem in the table override support where the
   8339  1.1.1.2.2.2  bouyer new table pointer was incorrectly treated as a physical address
   8340  1.1.1.2.2.2  bouyer instead of a logical address.
   8341  1.1.1.2.2.2  bouyer 
   8342  1.1.1.2.2.2  bouyer Eliminated the use of the AE_AML_ERROR exception and replaced it
   8343  1.1.1.2.2.2  bouyer with more descriptive codes.
   8344  1.1.1.2.2.2  bouyer 
   8345  1.1.1.2.2.2  bouyer Fixed a problem where an exception would occur if an ASL Field was
   8346  1.1.1.2.2.2  bouyer defined with no named Field Units underneath it (used by some
   8347  1.1.1.2.2.2  bouyer index fields).
   8348  1.1.1.2.2.2  bouyer 
   8349  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8350  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8351  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8352  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8353  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8354  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8355  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8356  1.1.1.2.2.2  bouyer options used during generation.
   8357  1.1.1.2.2.2  bouyer 
   8358  1.1.1.2.2.2  bouyer   Previous Release
   8359  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
   8360  1.1.1.2.2.2  bouyer     Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
   8361  1.1.1.2.2.2  bouyer   Current Release:
   8362  1.1.1.2.2.2  bouyer     Non-Debug Version:  69.3K Code,   7.4K Data,   76.7K Total
   8363  1.1.1.2.2.2  bouyer     Debug Version:     143.8K Code,  58.8K Data,  202.6K Total
   8364  1.1.1.2.2.2  bouyer 
   8365  1.1.1.2.2.2  bouyer 
   8366  1.1.1.2.2.2  bouyer 
   8367  1.1.1.2.2.2  bouyer 2) Linux
   8368  1.1.1.2.2.2  bouyer 
   8369  1.1.1.2.2.2  bouyer Much work done on ACPI init (MADT and PCI IRQ routing support).
   8370  1.1.1.2.2.2  bouyer (Paul D. and Dominik Brodowski)
   8371  1.1.1.2.2.2  bouyer 
   8372  1.1.1.2.2.2  bouyer Fix PCI IRQ-related panic on boot (Sam Revitch)
   8373  1.1.1.2.2.2  bouyer 
   8374  1.1.1.2.2.2  bouyer Set BM_ARB_DIS when entering a sleep state (Ducrot Bruno)
   8375  1.1.1.2.2.2  bouyer 
   8376  1.1.1.2.2.2  bouyer Fix "MHz" typo (Dominik Brodowski)
   8377  1.1.1.2.2.2  bouyer 
   8378  1.1.1.2.2.2  bouyer Fix RTC year 2000 issue (Dominik Brodowski)
   8379  1.1.1.2.2.2  bouyer 
   8380  1.1.1.2.2.2  bouyer Preclude multiple button proc entries (Eric Brunet)
   8381  1.1.1.2.2.2  bouyer 
   8382  1.1.1.2.2.2  bouyer Moved arch-specific code out of include/platform/aclinux.h
   8383  1.1.1.2.2.2  bouyer 
   8384  1.1.1.2.2.2  bouyer 3) iASL Compiler Version X2044:
   8385  1.1.1.2.2.2  bouyer 
   8386  1.1.1.2.2.2  bouyer Implemented error checking for the string used in the EISAID macro
   8387  1.1.1.2.2.2  bouyer (Usually used in the definition of the _HID object.)  The code now
   8388  1.1.1.2.2.2  bouyer strictly enforces the PnP format - exactly 7 characters, 3
   8389  1.1.1.2.2.2  bouyer uppercase letters and 4 hex digits.
   8390  1.1.1.2.2.2  bouyer 
   8391  1.1.1.2.2.2  bouyer If a raw string is used in the definition of the _HID object
   8392  1.1.1.2.2.2  bouyer (instead of the EISAID macro), the string must contain all
   8393  1.1.1.2.2.2  bouyer alphanumeric characters (e.g., "*PNP0011" is not allowed because
   8394  1.1.1.2.2.2  bouyer of the asterisk.)
   8395  1.1.1.2.2.2  bouyer 
   8396  1.1.1.2.2.2  bouyer Implemented checking for invalid use of ACPI reserved names for
   8397  1.1.1.2.2.2  bouyer most of the name creation operators (Name, Device, Event, Mutex,
   8398  1.1.1.2.2.2  bouyer OperationRegion, PowerResource, Processor, and ThermalZone.)
   8399  1.1.1.2.2.2  bouyer Previously, this check was only performed for control methods.
   8400  1.1.1.2.2.2  bouyer 
   8401  1.1.1.2.2.2  bouyer Implemented an additional check on the Name operator to emit an
   8402  1.1.1.2.2.2  bouyer error if a reserved name that must be implemented in ASL as a
   8403  1.1.1.2.2.2  bouyer control method is used.  We know that a reserved name must be a
   8404  1.1.1.2.2.2  bouyer method if it is defined with input arguments.
   8405  1.1.1.2.2.2  bouyer 
   8406  1.1.1.2.2.2  bouyer The warning emitted when a namespace object reference is not found
   8407  1.1.1.2.2.2  bouyer during the cross reference phase has been changed into an error.
   8408  1.1.1.2.2.2  bouyer The "External" directive should be used for names defined in other
   8409  1.1.1.2.2.2  bouyer modules.
   8410  1.1.1.2.2.2  bouyer 
   8411  1.1.1.2.2.2  bouyer 
   8412  1.1.1.2.2.2  bouyer 4) Tools and Utilities
   8413  1.1.1.2.2.2  bouyer 
   8414  1.1.1.2.2.2  bouyer The 16-bit tools (adump16 and aexec16) have been regenerated and
   8415  1.1.1.2.2.2  bouyer tested.
   8416  1.1.1.2.2.2  bouyer 
   8417  1.1.1.2.2.2  bouyer Fixed a problem with the output of both acpidump and adump16 where
   8418  1.1.1.2.2.2  bouyer the indentation of closing parentheses and brackets was not
   8419  1.1.1.2.2.2  bouyer 
   8420  1.1.1.2.2.2  bouyer aligned properly with the parent block.
   8421  1.1.1.2.2.2  bouyer 
   8422  1.1.1.2.2.2  bouyer 
   8423  1.1.1.2.2.2  bouyer ----------------------------------------
   8424  1.1.1.2.2.2  bouyer 03 May 2002.  Summary of changes for this release.
   8425  1.1.1.2.2.2  bouyer 
   8426  1.1.1.2.2.2  bouyer 
   8427  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020503:
   8428  1.1.1.2.2.2  bouyer 
   8429  1.1.1.2.2.2  bouyer Added support a new OSL interface that allows the host operating
   8430  1.1.1.2.2.2  bouyer 
   8431  1.1.1.2.2.2  bouyer system software to override the DSDT found in the firmware -
   8432  1.1.1.2.2.2  bouyer AcpiOsTableOverride.  With this interface, the OSL can examine the
   8433  1.1.1.2.2.2  bouyer version of the firmware DSDT and replace it with a different one
   8434  1.1.1.2.2.2  bouyer if desired.
   8435  1.1.1.2.2.2  bouyer 
   8436  1.1.1.2.2.2  bouyer Added new external interfaces for accessing ACPI registers from
   8437  1.1.1.2.2.2  bouyer device drivers and other system software - AcpiGetRegister and
   8438  1.1.1.2.2.2  bouyer AcpiSetRegister.  This was simply an externalization of the
   8439  1.1.1.2.2.2  bouyer existing AcpiHwBitRegister interfaces.
   8440  1.1.1.2.2.2  bouyer 
   8441  1.1.1.2.2.2  bouyer Fixed a regression introduced in the previous build where the
   8442  1.1.1.2.2.2  bouyer ASL/AML CreateField operator always returned an error,
   8443  1.1.1.2.2.2  bouyer "destination must be a NS Node".
   8444  1.1.1.2.2.2  bouyer 
   8445  1.1.1.2.2.2  bouyer Extended the maximum time (before failure) to successfully enable
   8446  1.1.1.2.2.2  bouyer ACPI mode to 3 seconds.
   8447  1.1.1.2.2.2  bouyer 
   8448  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8449  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8450  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8451  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8452  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8453  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8454  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8455  1.1.1.2.2.2  bouyer options used during generation.
   8456  1.1.1.2.2.2  bouyer 
   8457  1.1.1.2.2.2  bouyer   Previous Release
   8458  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
   8459  1.1.1.2.2.2  bouyer     Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
   8460  1.1.1.2.2.2  bouyer   Current Release:
   8461  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.8K Code,   7.1K Data,   75.9K Total
   8462  1.1.1.2.2.2  bouyer     Debug Version:     142.9K Code,  58.4K Data,  201.3K Total
   8463  1.1.1.2.2.2  bouyer 
   8464  1.1.1.2.2.2  bouyer 
   8465  1.1.1.2.2.2  bouyer 2) Linux
   8466  1.1.1.2.2.2  bouyer 
   8467  1.1.1.2.2.2  bouyer Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
   8468  1.1.1.2.2.2  bouyer free. While 3 out of 4 of our in-house systems work fine, the last
   8469  1.1.1.2.2.2  bouyer one still hangs when testing the LAPIC timer.
   8470  1.1.1.2.2.2  bouyer 
   8471  1.1.1.2.2.2  bouyer Renamed many files in 2.5 kernel release to omit "acpi_" from the
   8472  1.1.1.2.2.2  bouyer name.
   8473  1.1.1.2.2.2  bouyer 
   8474  1.1.1.2.2.2  bouyer Added warning on boot for Presario 711FR.
   8475  1.1.1.2.2.2  bouyer 
   8476  1.1.1.2.2.2  bouyer Sleep improvements (Pavel Machek)
   8477  1.1.1.2.2.2  bouyer 
   8478  1.1.1.2.2.2  bouyer ACPI can now be built without CONFIG_PCI enabled.
   8479  1.1.1.2.2.2  bouyer 
   8480  1.1.1.2.2.2  bouyer IA64: Fixed memory map functions (JI Lee)
   8481  1.1.1.2.2.2  bouyer 
   8482  1.1.1.2.2.2  bouyer 
   8483  1.1.1.2.2.2  bouyer 3) iASL Compiler Version X2043:
   8484  1.1.1.2.2.2  bouyer 
   8485  1.1.1.2.2.2  bouyer Added support to allow the compiler to be integrated into the MS
   8486  1.1.1.2.2.2  bouyer VC++ development environment for one-button compilation of single
   8487  1.1.1.2.2.2  bouyer files or entire projects -- with error-to-source-line mapping.
   8488  1.1.1.2.2.2  bouyer 
   8489  1.1.1.2.2.2  bouyer Implemented support for compile-time constant folding for the
   8490  1.1.1.2.2.2  bouyer Type3, Type4, and Type5 opcodes first defined in the ACPI 2.0
   8491  1.1.1.2.2.2  bouyer specification.  This allows the ASL writer to use expressions
   8492  1.1.1.2.2.2  bouyer instead of Integer/Buffer/String constants in terms that must
   8493  1.1.1.2.2.2  bouyer evaluate to constants at compile time and will also simplify the
   8494  1.1.1.2.2.2  bouyer emitted AML in any such sub-expressions that can be folded
   8495  1.1.1.2.2.2  bouyer (evaluated at compile-time.)  This increases the size of the
   8496  1.1.1.2.2.2  bouyer compiler significantly because a portion of the ACPI CA AML
   8497  1.1.1.2.2.2  bouyer interpreter is included within the compiler in order to pre-
   8498  1.1.1.2.2.2  bouyer evaluate constant expressions.
   8499  1.1.1.2.2.2  bouyer 
   8500  1.1.1.2.2.2  bouyer 
   8501  1.1.1.2.2.2  bouyer Fixed a problem with the "Unicode" ASL macro that caused the
   8502  1.1.1.2.2.2  bouyer compiler to fault.  (This macro is used in conjunction with the
   8503  1.1.1.2.2.2  bouyer _STR reserved name.)
   8504  1.1.1.2.2.2  bouyer 
   8505  1.1.1.2.2.2  bouyer Implemented an AML opcode optimization to use the Zero, One, and
   8506  1.1.1.2.2.2  bouyer Ones opcodes where possible to further reduce the size of integer
   8507  1.1.1.2.2.2  bouyer constants and thus reduce the overall size of the generated AML
   8508  1.1.1.2.2.2  bouyer code.
   8509  1.1.1.2.2.2  bouyer 
   8510  1.1.1.2.2.2  bouyer Implemented error checking for new reserved terms for ACPI version
   8511  1.1.1.2.2.2  bouyer 2.0A.
   8512  1.1.1.2.2.2  bouyer 
   8513  1.1.1.2.2.2  bouyer Implemented the -qr option to display the current list of ACPI
   8514  1.1.1.2.2.2  bouyer reserved names known to the compiler.
   8515  1.1.1.2.2.2  bouyer 
   8516  1.1.1.2.2.2  bouyer Implemented the -qc option to display the current list of ASL
   8517  1.1.1.2.2.2  bouyer operators that are allowed within constant expressions and can
   8518  1.1.1.2.2.2  bouyer therefore be folded at compile time if the operands are constants.
   8519  1.1.1.2.2.2  bouyer 
   8520  1.1.1.2.2.2  bouyer 
   8521  1.1.1.2.2.2  bouyer 4) Documentation
   8522  1.1.1.2.2.2  bouyer 
   8523  1.1.1.2.2.2  bouyer Updated the Programmer's Reference for new interfaces, data types,
   8524  1.1.1.2.2.2  bouyer and memory allocation model options.
   8525  1.1.1.2.2.2  bouyer 
   8526  1.1.1.2.2.2  bouyer Updated the iASL Compiler User Reference to apply new format and
   8527  1.1.1.2.2.2  bouyer add information about new features and options.
   8528  1.1.1.2.2.2  bouyer 
   8529  1.1.1.2.2.2  bouyer ----------------------------------------
   8530  1.1.1.2.2.2  bouyer 19 April 2002.  Summary of changes for this release.
   8531  1.1.1.2.2.2  bouyer 
   8532  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020419:
   8533  1.1.1.2.2.2  bouyer 
   8534  1.1.1.2.2.2  bouyer The source code base for the Core Subsystem has been completely
   8535  1.1.1.2.2.2  bouyer cleaned with PC-lint (FlexLint) for both 32-bit and 64-bit
   8536  1.1.1.2.2.2  bouyer versions.  The Lint option files used are included in the
   8537  1.1.1.2.2.2  bouyer /acpi/generate/lint directory.
   8538  1.1.1.2.2.2  bouyer 
   8539  1.1.1.2.2.2  bouyer Implemented enhanced status/error checking across the entire
   8540  1.1.1.2.2.2  bouyer Hardware manager subsystem.  Any hardware errors (reported from
   8541  1.1.1.2.2.2  bouyer the OSL) are now bubbled up and will abort a running control
   8542  1.1.1.2.2.2  bouyer method.
   8543  1.1.1.2.2.2  bouyer 
   8544  1.1.1.2.2.2  bouyer 
   8545  1.1.1.2.2.2  bouyer Fixed a problem where the per-ACPI-table integer width (32 or 64)
   8546  1.1.1.2.2.2  bouyer was stored only with control method nodes, causing a fault when
   8547  1.1.1.2.2.2  bouyer non-control method code was executed during table loading.  The
   8548  1.1.1.2.2.2  bouyer solution implemented uses a global variable to indicate table
   8549  1.1.1.2.2.2  bouyer width across the entire ACPI subsystem.  Therefore, ACPI CA does
   8550  1.1.1.2.2.2  bouyer not support mixed integer widths across different ACPI tables
   8551  1.1.1.2.2.2  bouyer (DSDT, SSDT).
   8552  1.1.1.2.2.2  bouyer 
   8553  1.1.1.2.2.2  bouyer Fixed a problem where NULL extended fields (X fields) in an ACPI
   8554  1.1.1.2.2.2  bouyer 2.0 ACPI FADT caused the table load to fail.  Although the
   8555  1.1.1.2.2.2  bouyer existing ACPI specification is a bit fuzzy on this topic, the new
   8556  1.1.1.2.2.2  bouyer behavior is to fall back on a ACPI 1.0 field if the corresponding
   8557  1.1.1.2.2.2  bouyer ACPI 2.0 X field is zero (even though the table revision indicates
   8558  1.1.1.2.2.2  bouyer a full ACPI 2.0 table.)  The ACPI specification will be updated to
   8559  1.1.1.2.2.2  bouyer clarify this issue.
   8560  1.1.1.2.2.2  bouyer 
   8561  1.1.1.2.2.2  bouyer Fixed a problem with the SystemMemory operation region handler
   8562  1.1.1.2.2.2  bouyer where memory was always accessed byte-wise even if the AML-
   8563  1.1.1.2.2.2  bouyer specified access width was larger than a byte.  This caused
   8564  1.1.1.2.2.2  bouyer problems on systems with memory-mapped I/O.  Memory is now
   8565  1.1.1.2.2.2  bouyer accessed with the width specified.  On systems that do not support
   8566  1.1.1.2.2.2  bouyer non-aligned transfers, a check is made to guarantee proper address
   8567  1.1.1.2.2.2  bouyer alignment before proceeding in order to avoid an AML-caused
   8568  1.1.1.2.2.2  bouyer alignment fault within the kernel.
   8569  1.1.1.2.2.2  bouyer 
   8570  1.1.1.2.2.2  bouyer 
   8571  1.1.1.2.2.2  bouyer Fixed a problem with the ExtendedIrq resource where only one byte
   8572  1.1.1.2.2.2  bouyer of the 4-byte Irq field was extracted.
   8573  1.1.1.2.2.2  bouyer 
   8574  1.1.1.2.2.2  bouyer Fixed the AcpiExDigitsNeeded() procedure to support _UID.  This
   8575  1.1.1.2.2.2  bouyer function was out of date and required a rewrite.
   8576  1.1.1.2.2.2  bouyer 
   8577  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8578  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8579  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8580  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8581  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8582  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8583  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8584  1.1.1.2.2.2  bouyer options used during generation.
   8585  1.1.1.2.2.2  bouyer 
   8586  1.1.1.2.2.2  bouyer   Previous Release
   8587  1.1.1.2.2.2  bouyer     Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
   8588  1.1.1.2.2.2  bouyer     Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
   8589  1.1.1.2.2.2  bouyer   Current Release:
   8590  1.1.1.2.2.2  bouyer     Non-Debug Version:  68.5K Code,   7.0K Data,   75.5K Total
   8591  1.1.1.2.2.2  bouyer     Debug Version:     142.4K Code,  58.3K Data,  200.7K Total
   8592  1.1.1.2.2.2  bouyer 
   8593  1.1.1.2.2.2  bouyer 
   8594  1.1.1.2.2.2  bouyer 2) Linux
   8595  1.1.1.2.2.2  bouyer 
   8596  1.1.1.2.2.2  bouyer PCI IRQ routing fixes (Dominik Brodowski)
   8597  1.1.1.2.2.2  bouyer 
   8598  1.1.1.2.2.2  bouyer 
   8599  1.1.1.2.2.2  bouyer 3) iASL Compiler Version X2042:
   8600  1.1.1.2.2.2  bouyer 
   8601  1.1.1.2.2.2  bouyer Implemented an additional compile-time error check for a field
   8602  1.1.1.2.2.2  bouyer unit whose size + minimum access width would cause a run-time
   8603  1.1.1.2.2.2  bouyer access beyond the end-of-region.  Previously, only the field size
   8604  1.1.1.2.2.2  bouyer itself was checked.
   8605  1.1.1.2.2.2  bouyer 
   8606  1.1.1.2.2.2  bouyer The Core subsystem and iASL compiler now share a common parse
   8607  1.1.1.2.2.2  bouyer object in preparation for compile-time evaluation of the type
   8608  1.1.1.2.2.2  bouyer 3/4/5 ASL operators.
   8609  1.1.1.2.2.2  bouyer 
   8610  1.1.1.2.2.2  bouyer 
   8611  1.1.1.2.2.2  bouyer ----------------------------------------
   8612  1.1.1.2.2.2  bouyer Summary of changes for this release: 03_29_02
   8613  1.1.1.2.2.2  bouyer 
   8614  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020329:
   8615  1.1.1.2.2.2  bouyer 
   8616  1.1.1.2.2.2  bouyer Implemented support for late evaluation of TermArg operands to
   8617  1.1.1.2.2.2  bouyer Buffer and Package objects.  This allows complex expressions to be
   8618  1.1.1.2.2.2  bouyer used in the declarations of these object types.
   8619  1.1.1.2.2.2  bouyer 
   8620  1.1.1.2.2.2  bouyer Fixed an ACPI 1.0 compatibility issue when reading Fields. In ACPI
   8621  1.1.1.2.2.2  bouyer 1.0, if the field was larger than 32 bits, it was returned as a
   8622  1.1.1.2.2.2  bouyer buffer - otherwise it was returned as an integer.  In ACPI 2.0,
   8623  1.1.1.2.2.2  bouyer the field is returned as a buffer only if the field is larger than
   8624  1.1.1.2.2.2  bouyer 64 bits.  The TableRevision is now considered when making this
   8625  1.1.1.2.2.2  bouyer conversion to avoid incompatibility with existing ASL code.
   8626  1.1.1.2.2.2  bouyer 
   8627  1.1.1.2.2.2  bouyer Implemented logical addressing for AcpiOsGetRootPointer.  This
   8628  1.1.1.2.2.2  bouyer allows an RSDP with either a logical or physical address.  With
   8629  1.1.1.2.2.2  bouyer this support, the host OS can now override all ACPI tables with
   8630  1.1.1.2.2.2  bouyer one logical RSDP.  Includes implementation of  "typed" pointer
   8631  1.1.1.2.2.2  bouyer support to allow a common data type for both physical and logical
   8632  1.1.1.2.2.2  bouyer pointers internally.  This required a change to the
   8633  1.1.1.2.2.2  bouyer AcpiOsGetRootPointer interface.
   8634  1.1.1.2.2.2  bouyer 
   8635  1.1.1.2.2.2  bouyer Implemented the use of ACPI 2.0 Generic Address Structures for all
   8636  1.1.1.2.2.2  bouyer GPE, Fixed Event, and PM Timer I/O.  This allows the use of memory
   8637  1.1.1.2.2.2  bouyer mapped I/O for these ACPI features.
   8638  1.1.1.2.2.2  bouyer 
   8639  1.1.1.2.2.2  bouyer Initialization now ignores not only non-required tables (All
   8640  1.1.1.2.2.2  bouyer tables other than the FADT, FACS, DSDT, and SSDTs), but also does
   8641  1.1.1.2.2.2  bouyer not validate the table headers of unrecognized tables.
   8642  1.1.1.2.2.2  bouyer 
   8643  1.1.1.2.2.2  bouyer Fixed a problem where a notify handler could only be
   8644  1.1.1.2.2.2  bouyer installed/removed on an object of type Device.  All "notify"
   8645  1.1.1.2.2.2  bouyer 
   8646  1.1.1.2.2.2  bouyer objects are now supported -- Devices, Processor, Power, and
   8647  1.1.1.2.2.2  bouyer Thermal.
   8648  1.1.1.2.2.2  bouyer 
   8649  1.1.1.2.2.2  bouyer Removed most verbosity from the ACPI_DB_INFO debug level.  Only
   8650  1.1.1.2.2.2  bouyer critical information is returned when this debug level is enabled.
   8651  1.1.1.2.2.2  bouyer 
   8652  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8653  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8654  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8655  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8656  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8657  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8658  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8659  1.1.1.2.2.2  bouyer options used during generation.
   8660  1.1.1.2.2.2  bouyer 
   8661  1.1.1.2.2.2  bouyer   Previous Release
   8662  1.1.1.2.2.2  bouyer     Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
   8663  1.1.1.2.2.2  bouyer     Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
   8664  1.1.1.2.2.2  bouyer   Current Release:
   8665  1.1.1.2.2.2  bouyer     Non-Debug Version:  66.6K Code,   6.5K Data,   73.1K Total
   8666  1.1.1.2.2.2  bouyer     Debug Version:     139.8K Code,  57.4K Data,  197.2K Total
   8667  1.1.1.2.2.2  bouyer 
   8668  1.1.1.2.2.2  bouyer 
   8669  1.1.1.2.2.2  bouyer 2) Linux:
   8670  1.1.1.2.2.2  bouyer 
   8671  1.1.1.2.2.2  bouyer The processor driver (acpi_processor.c) now fully supports ACPI
   8672  1.1.1.2.2.2  bouyer 2.0-based processor performance control (e.g. Intel(R)
   8673  1.1.1.2.2.2  bouyer SpeedStep(TM) technology) Note that older laptops that only have
   8674  1.1.1.2.2.2  bouyer the Intel "applet" interface are not supported through this.  The
   8675  1.1.1.2.2.2  bouyer 'limit' and 'performance' interface (/proc) are fully functional.
   8676  1.1.1.2.2.2  bouyer [Note that basic policy for controlling performance state
   8677  1.1.1.2.2.2  bouyer transitions will be included in the next version of ospmd.]  The
   8678  1.1.1.2.2.2  bouyer idle handler was modified to more aggressively use C2, and PIIX4
   8679  1.1.1.2.2.2  bouyer errata handling underwent a complete overhaul (big thanks to
   8680  1.1.1.2.2.2  bouyer Dominik Brodowski).
   8681  1.1.1.2.2.2  bouyer 
   8682  1.1.1.2.2.2  bouyer Added support for ACPI-PCI device binding (acpi_pci_root.c). _ADR-
   8683  1.1.1.2.2.2  bouyer based devices in the ACPI namespace are now dynamically bound
   8684  1.1.1.2.2.2  bouyer (associated) with their PCI counterparts (e.g. PCI1->01:00.0).
   8685  1.1.1.2.2.2  bouyer This allows, among other things, ACPI to resolve bus numbers for
   8686  1.1.1.2.2.2  bouyer subordinate PCI bridges.
   8687  1.1.1.2.2.2  bouyer 
   8688  1.1.1.2.2.2  bouyer Enhanced PCI IRQ routing to get the proper bus number for _PRT
   8689  1.1.1.2.2.2  bouyer entries defined underneath PCI bridges.
   8690  1.1.1.2.2.2  bouyer 
   8691  1.1.1.2.2.2  bouyer Added IBM 600E to bad bios list due to invalid _ADR value for
   8692  1.1.1.2.2.2  bouyer PIIX4 PCI-ISA bridge, resulting in improper PCI IRQ routing.
   8693  1.1.1.2.2.2  bouyer 
   8694  1.1.1.2.2.2  bouyer In the process of adding full MADT support (e.g. IOAPIC) for IA32
   8695  1.1.1.2.2.2  bouyer (acpi.c, mpparse.c) -- stay tuned.
   8696  1.1.1.2.2.2  bouyer 
   8697  1.1.1.2.2.2  bouyer Added back visual differentiation between fixed-feature and
   8698  1.1.1.2.2.2  bouyer control-method buttons in dmesg.  Buttons are also subtyped (e.g.
   8699  1.1.1.2.2.2  bouyer button/power/PWRF) to simplify button identification.
   8700  1.1.1.2.2.2  bouyer 
   8701  1.1.1.2.2.2  bouyer We no longer use -Wno-unused when compiling debug. Please ignore
   8702  1.1.1.2.2.2  bouyer any "_THIS_MODULE defined but not used" messages.
   8703  1.1.1.2.2.2  bouyer 
   8704  1.1.1.2.2.2  bouyer Can now shut down the system using "magic sysrq" key.
   8705  1.1.1.2.2.2  bouyer 
   8706  1.1.1.2.2.2  bouyer 
   8707  1.1.1.2.2.2  bouyer 3) iASL Compiler version 2041:
   8708  1.1.1.2.2.2  bouyer 
   8709  1.1.1.2.2.2  bouyer Fixed a problem where conversion errors for hex/octal/decimal
   8710  1.1.1.2.2.2  bouyer constants were not reported.
   8711  1.1.1.2.2.2  bouyer 
   8712  1.1.1.2.2.2  bouyer Implemented a fix for the General Register template Address field.
   8713  1.1.1.2.2.2  bouyer This field was 8 bits when it should be 64.
   8714  1.1.1.2.2.2  bouyer 
   8715  1.1.1.2.2.2  bouyer Fixed a problem where errors/warnings were no longer being emitted
   8716  1.1.1.2.2.2  bouyer within the listing output file.
   8717  1.1.1.2.2.2  bouyer 
   8718  1.1.1.2.2.2  bouyer Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
   8719  1.1.1.2.2.2  bouyer exactly 4 characters, alphanumeric only.
   8720  1.1.1.2.2.2  bouyer 
   8721  1.1.1.2.2.2  bouyer 
   8722  1.1.1.2.2.2  bouyer 
   8723  1.1.1.2.2.2  bouyer 
   8724  1.1.1.2.2.2  bouyer ----------------------------------------
   8725  1.1.1.2.2.2  bouyer Summary of changes for this release: 03_08_02
   8726  1.1.1.2.2.2  bouyer 
   8727  1.1.1.2.2.2  bouyer 
   8728  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem Version 20020308:
   8729  1.1.1.2.2.2  bouyer 
   8730  1.1.1.2.2.2  bouyer Fixed a problem with AML Fields where the use of the "AccessAny"
   8731  1.1.1.2.2.2  bouyer keyword could cause an interpreter error due to attempting to read
   8732  1.1.1.2.2.2  bouyer or write beyond the end of the parent Operation Region.
   8733  1.1.1.2.2.2  bouyer 
   8734  1.1.1.2.2.2  bouyer Fixed a problem in the SystemMemory Operation Region handler where
   8735  1.1.1.2.2.2  bouyer an attempt was made to map memory beyond the end of the region.
   8736  1.1.1.2.2.2  bouyer This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
   8737  1.1.1.2.2.2  bouyer errors on some Linux systems.
   8738  1.1.1.2.2.2  bouyer 
   8739  1.1.1.2.2.2  bouyer Fixed a problem where the interpreter/namespace "search to root"
   8740  1.1.1.2.2.2  bouyer algorithm was not functioning for some object types.  Relaxed the
   8741  1.1.1.2.2.2  bouyer internal restriction on the search to allow upsearches for all
   8742  1.1.1.2.2.2  bouyer external object types as well as most internal types.
   8743  1.1.1.2.2.2  bouyer 
   8744  1.1.1.2.2.2  bouyer 
   8745  1.1.1.2.2.2  bouyer 2) Linux:
   8746  1.1.1.2.2.2  bouyer 
   8747  1.1.1.2.2.2  bouyer We now use safe_halt() macro versus individual calls to sti | hlt.
   8748  1.1.1.2.2.2  bouyer 
   8749  1.1.1.2.2.2  bouyer Writing to the processor limit interface should now work. "echo 1"
   8750  1.1.1.2.2.2  bouyer will increase the limit, 2 will decrease, and 0 will reset to the
   8751  1.1.1.2.2.2  bouyer 
   8752  1.1.1.2.2.2  bouyer default.
   8753  1.1.1.2.2.2  bouyer 
   8754  1.1.1.2.2.2  bouyer 
   8755  1.1.1.2.2.2  bouyer 3) ASL compiler:
   8756  1.1.1.2.2.2  bouyer 
   8757  1.1.1.2.2.2  bouyer Fixed segfault on Linux version.
   8758  1.1.1.2.2.2  bouyer 
   8759  1.1.1.2.2.2  bouyer 
   8760  1.1.1.2.2.2  bouyer ----------------------------------------
   8761  1.1.1.2.2.2  bouyer Summary of changes for this release: 02_25_02
   8762  1.1.1.2.2.2  bouyer 
   8763  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   8764  1.1.1.2.2.2  bouyer 
   8765  1.1.1.2.2.2  bouyer 
   8766  1.1.1.2.2.2  bouyer Fixed a problem where the GPE bit masks were not initialized
   8767  1.1.1.2.2.2  bouyer properly, causing erratic GPE behavior.
   8768  1.1.1.2.2.2  bouyer 
   8769  1.1.1.2.2.2  bouyer Implemented limited support for multiple calling conventions.  The
   8770  1.1.1.2.2.2  bouyer code can be generated with either the VPL (variable parameter
   8771  1.1.1.2.2.2  bouyer list, or "C") convention, or the FPL (fixed parameter list, or
   8772  1.1.1.2.2.2  bouyer "Pascal") convention.  The core subsystem is about 3.4% smaller
   8773  1.1.1.2.2.2  bouyer when generated with FPL.
   8774  1.1.1.2.2.2  bouyer 
   8775  1.1.1.2.2.2  bouyer 
   8776  1.1.1.2.2.2  bouyer 2) Linux
   8777  1.1.1.2.2.2  bouyer 
   8778  1.1.1.2.2.2  bouyer Re-add some /proc/acpi/event functionality that was lost during
   8779  1.1.1.2.2.2  bouyer the rewrite
   8780  1.1.1.2.2.2  bouyer 
   8781  1.1.1.2.2.2  bouyer Resolved issue with /proc events for fixed-feature buttons showing
   8782  1.1.1.2.2.2  bouyer up as the system device.
   8783  1.1.1.2.2.2  bouyer 
   8784  1.1.1.2.2.2  bouyer Fixed checks on C2/C3 latencies to be inclusive of maximum values.
   8785  1.1.1.2.2.2  bouyer 
   8786  1.1.1.2.2.2  bouyer Replaced AE_ERRORs in acpi_osl.c with more specific error codes.
   8787  1.1.1.2.2.2  bouyer 
   8788  1.1.1.2.2.2  bouyer Changed ACPI PRT option from "pci=noacpi-routing" to "pci=noacpi"
   8789  1.1.1.2.2.2  bouyer 
   8790  1.1.1.2.2.2  bouyer Fixed limit interface & usage to fix bugs with passive cooling
   8791  1.1.1.2.2.2  bouyer hysterisis.
   8792  1.1.1.2.2.2  bouyer 
   8793  1.1.1.2.2.2  bouyer Restructured PRT support.
   8794  1.1.1.2.2.2  bouyer 
   8795  1.1.1.2.2.2  bouyer 
   8796  1.1.1.2.2.2  bouyer ----------------------------------------
   8797  1.1.1.2.2.2  bouyer Summary of changes for this label: 02_14_02
   8798  1.1.1.2.2.2  bouyer 
   8799  1.1.1.2.2.2  bouyer 
   8800  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   8801  1.1.1.2.2.2  bouyer 
   8802  1.1.1.2.2.2  bouyer Implemented support in AcpiLoadTable to allow loading of FACS and
   8803  1.1.1.2.2.2  bouyer FADT tables.
   8804  1.1.1.2.2.2  bouyer 
   8805  1.1.1.2.2.2  bouyer Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
   8806  1.1.1.2.2.2  bouyer been removed.  All 64-bit platforms should be migrated to the ACPI
   8807  1.1.1.2.2.2  bouyer 2.0 tables.  The actbl71.h header has been removed from the source
   8808  1.1.1.2.2.2  bouyer tree.
   8809  1.1.1.2.2.2  bouyer 
   8810  1.1.1.2.2.2  bouyer All C macros defined within the subsystem have been prefixed with
   8811  1.1.1.2.2.2  bouyer "ACPI_" to avoid collision with other system include files.
   8812  1.1.1.2.2.2  bouyer 
   8813  1.1.1.2.2.2  bouyer Removed the return value for the two AcpiOsPrint interfaces, since
   8814  1.1.1.2.2.2  bouyer it is never used and causes lint warnings for ignoring the return
   8815  1.1.1.2.2.2  bouyer value.
   8816  1.1.1.2.2.2  bouyer 
   8817  1.1.1.2.2.2  bouyer Added error checking to all internal mutex acquire and release
   8818  1.1.1.2.2.2  bouyer calls.  Although a failure from one of these interfaces is
   8819  1.1.1.2.2.2  bouyer probably a fatal system error, these checks will cause the
   8820  1.1.1.2.2.2  bouyer immediate abort of the currently executing method or interface.
   8821  1.1.1.2.2.2  bouyer 
   8822  1.1.1.2.2.2  bouyer Fixed a problem where the AcpiSetCurrentResources interface could
   8823  1.1.1.2.2.2  bouyer fault.  This was a side effect of the deployment of the new memory
   8824  1.1.1.2.2.2  bouyer allocation model.
   8825  1.1.1.2.2.2  bouyer 
   8826  1.1.1.2.2.2  bouyer Fixed a couple of problems with the Global Lock support introduced
   8827  1.1.1.2.2.2  bouyer in the last major build.  The "common" (1.0/2.0) internal FACS was
   8828  1.1.1.2.2.2  bouyer being overwritten with the FACS signature and clobbering the
   8829  1.1.1.2.2.2  bouyer Global Lock pointer.  Also, the actual firmware FACS was being
   8830  1.1.1.2.2.2  bouyer unmapped after construction of the "common" FACS, preventing
   8831  1.1.1.2.2.2  bouyer access to the actual Global Lock field within it.  The "common"
   8832  1.1.1.2.2.2  bouyer internal FACS is no longer installed as an actual ACPI table; it
   8833  1.1.1.2.2.2  bouyer is used simply as a global.
   8834  1.1.1.2.2.2  bouyer 
   8835  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8836  1.1.1.2.2.2  bouyer below.  These are the code and data sizes for the acpica.lib
   8837  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8838  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8839  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8840  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8841  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8842  1.1.1.2.2.2  bouyer options used during generation.
   8843  1.1.1.2.2.2  bouyer 
   8844  1.1.1.2.2.2  bouyer   Previous Release (02_07_01)
   8845  1.1.1.2.2.2  bouyer     Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
   8846  1.1.1.2.2.2  bouyer     Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
   8847  1.1.1.2.2.2  bouyer   Current Release:
   8848  1.1.1.2.2.2  bouyer     Non-Debug Version:  65.4K Code,   6.2K Data,   71.6K Total
   8849  1.1.1.2.2.2  bouyer     Debug Version:     138.0K Code,  56.6K Data,  194.6K Total
   8850  1.1.1.2.2.2  bouyer 
   8851  1.1.1.2.2.2  bouyer 
   8852  1.1.1.2.2.2  bouyer 2) Linux
   8853  1.1.1.2.2.2  bouyer 
   8854  1.1.1.2.2.2  bouyer Updated Linux-specific code for core macro and OSL interface
   8855  1.1.1.2.2.2  bouyer changes described above.
   8856  1.1.1.2.2.2  bouyer 
   8857  1.1.1.2.2.2  bouyer Improved /proc/acpi/event. It now can be opened only once and has
   8858  1.1.1.2.2.2  bouyer proper poll functionality.
   8859  1.1.1.2.2.2  bouyer 
   8860  1.1.1.2.2.2  bouyer Fixed and restructured power management (acpi_bus).
   8861  1.1.1.2.2.2  bouyer 
   8862  1.1.1.2.2.2  bouyer Only create /proc "view by type" when devices of that class exist.
   8863  1.1.1.2.2.2  bouyer 
   8864  1.1.1.2.2.2  bouyer Fixed "charging/discharging" bug (and others) in acpi_battery.
   8865  1.1.1.2.2.2  bouyer 
   8866  1.1.1.2.2.2  bouyer Improved thermal zone code.
   8867  1.1.1.2.2.2  bouyer 
   8868  1.1.1.2.2.2  bouyer 
   8869  1.1.1.2.2.2  bouyer 3) ASL Compiler, version X2039:
   8870  1.1.1.2.2.2  bouyer 
   8871  1.1.1.2.2.2  bouyer 
   8872  1.1.1.2.2.2  bouyer Implemented the new compiler restriction on ASL String hex/octal
   8873  1.1.1.2.2.2  bouyer escapes to non-null, ASCII values.  An error results if an invalid
   8874  1.1.1.2.2.2  bouyer value is used.  (This will require an ACPI 2.0 specification
   8875  1.1.1.2.2.2  bouyer change.)
   8876  1.1.1.2.2.2  bouyer 
   8877  1.1.1.2.2.2  bouyer AML object labels that are output to the optional C and ASM source
   8878  1.1.1.2.2.2  bouyer are now prefixed with both the ACPI table signature and table ID
   8879  1.1.1.2.2.2  bouyer to help guarantee uniqueness within a large BIOS project.
   8880  1.1.1.2.2.2  bouyer 
   8881  1.1.1.2.2.2  bouyer 
   8882  1.1.1.2.2.2  bouyer ----------------------------------------
   8883  1.1.1.2.2.2  bouyer Summary of changes for this label: 02_01_02
   8884  1.1.1.2.2.2  bouyer 
   8885  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   8886  1.1.1.2.2.2  bouyer 
   8887  1.1.1.2.2.2  bouyer ACPI 2.0 support is complete in the entire Core Subsystem and the
   8888  1.1.1.2.2.2  bouyer ASL compiler. All new ACPI 2.0 operators are implemented and all
   8889  1.1.1.2.2.2  bouyer other changes for ACPI 2.0 support are complete.  With
   8890  1.1.1.2.2.2  bouyer simultaneous code and data optimizations throughout the subsystem,
   8891  1.1.1.2.2.2  bouyer ACPI 2.0 support has been implemented with almost no additional
   8892  1.1.1.2.2.2  bouyer cost in terms of code and data size.
   8893  1.1.1.2.2.2  bouyer 
   8894  1.1.1.2.2.2  bouyer Implemented a new mechanism for allocation of return buffers.  If
   8895  1.1.1.2.2.2  bouyer the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
   8896  1.1.1.2.2.2  bouyer be allocated on behalf of the caller.  Consolidated all return
   8897  1.1.1.2.2.2  bouyer buffer validation and allocation to a common procedure.  Return
   8898  1.1.1.2.2.2  bouyer buffers will be allocated via the primary OSL allocation interface
   8899  1.1.1.2.2.2  bouyer since it appears that a separate pool is not needed by most users.
   8900  1.1.1.2.2.2  bouyer If a separate pool is required for these buffers, the caller can
   8901  1.1.1.2.2.2  bouyer still use the original mechanism and pre-allocate the buffer(s).
   8902  1.1.1.2.2.2  bouyer 
   8903  1.1.1.2.2.2  bouyer Implemented support for string operands within the DerefOf
   8904  1.1.1.2.2.2  bouyer operator.
   8905  1.1.1.2.2.2  bouyer 
   8906  1.1.1.2.2.2  bouyer Restructured the Hardware and Event managers to be table driven,
   8907  1.1.1.2.2.2  bouyer simplifying the source code and reducing the amount of generated
   8908  1.1.1.2.2.2  bouyer code.
   8909  1.1.1.2.2.2  bouyer 
   8910  1.1.1.2.2.2  bouyer Split the common read/write low-level ACPI register bitfield
   8911  1.1.1.2.2.2  bouyer procedure into a separate read and write, simplifying the code
   8912  1.1.1.2.2.2  bouyer considerably.
   8913  1.1.1.2.2.2  bouyer 
   8914  1.1.1.2.2.2  bouyer Obsoleted the AcpiOsCallocate OSL interface.  This interface was
   8915  1.1.1.2.2.2  bouyer used only a handful of times and didn't have enough critical mass
   8916  1.1.1.2.2.2  bouyer for a separate interface.  Replaced with a common calloc procedure
   8917  1.1.1.2.2.2  bouyer in the core.
   8918  1.1.1.2.2.2  bouyer 
   8919  1.1.1.2.2.2  bouyer Fixed a reported problem with the GPE number mapping mechanism
   8920  1.1.1.2.2.2  bouyer that allows GPE1 numbers to be non-contiguous with GPE0.
   8921  1.1.1.2.2.2  bouyer Reorganized the GPE information and shrunk a large array that was
   8922  1.1.1.2.2.2  bouyer originally large enough to hold info for all possible GPEs (256)
   8923  1.1.1.2.2.2  bouyer to simply large enough to hold all GPEs up to the largest GPE
   8924  1.1.1.2.2.2  bouyer number on the machine.
   8925  1.1.1.2.2.2  bouyer 
   8926  1.1.1.2.2.2  bouyer Fixed a reported problem with resource structure alignment on 64-
   8927  1.1.1.2.2.2  bouyer bit platforms.
   8928  1.1.1.2.2.2  bouyer 
   8929  1.1.1.2.2.2  bouyer Changed the AcpiEnableEvent and AcpiDisableEvent external
   8930  1.1.1.2.2.2  bouyer interfaces to not require any flags for the common case of
   8931  1.1.1.2.2.2  bouyer enabling/disabling a GPE.
   8932  1.1.1.2.2.2  bouyer 
   8933  1.1.1.2.2.2  bouyer Implemented support to allow a "Notify" on a Processor object.
   8934  1.1.1.2.2.2  bouyer 
   8935  1.1.1.2.2.2  bouyer Most TBDs in comments within the source code have been resolved
   8936  1.1.1.2.2.2  bouyer and eliminated.
   8937  1.1.1.2.2.2  bouyer 
   8938  1.1.1.2.2.2  bouyer 
   8939  1.1.1.2.2.2  bouyer Fixed a problem in the interpreter where a standalone parent
   8940  1.1.1.2.2.2  bouyer prefix (^) was not handled correctly in the interpreter and
   8941  1.1.1.2.2.2  bouyer debugger.
   8942  1.1.1.2.2.2  bouyer 
   8943  1.1.1.2.2.2  bouyer Removed obsolete and unnecessary GPE save/restore code.
   8944  1.1.1.2.2.2  bouyer 
   8945  1.1.1.2.2.2  bouyer Implemented Field support in the ASL Load operator.  This allows a
   8946  1.1.1.2.2.2  bouyer table to be loaded from a named field, in addition to loading a
   8947  1.1.1.2.2.2  bouyer table directly from an Operation Region.
   8948  1.1.1.2.2.2  bouyer 
   8949  1.1.1.2.2.2  bouyer Implemented timeout and handle support in the external Global Lock
   8950  1.1.1.2.2.2  bouyer interfaces.
   8951  1.1.1.2.2.2  bouyer 
   8952  1.1.1.2.2.2  bouyer Fixed a problem in the AcpiDump utility where pathnames were no
   8953  1.1.1.2.2.2  bouyer longer being generated correctly during the dump of named objects.
   8954  1.1.1.2.2.2  bouyer 
   8955  1.1.1.2.2.2  bouyer Modified the AML debugger to give a full display of if/while
   8956  1.1.1.2.2.2  bouyer predicates instead of just one AML opcode at a time.  (The
   8957  1.1.1.2.2.2  bouyer predicate can have several nested ASL statements.)  The old method
   8958  1.1.1.2.2.2  bouyer was confusing during single stepping.
   8959  1.1.1.2.2.2  bouyer 
   8960  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   8961  1.1.1.2.2.2  bouyer below. These are the code and data sizes for the acpica.lib
   8962  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   8963  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   8964  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   8965  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   8966  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   8967  1.1.1.2.2.2  bouyer options used during generation.
   8968  1.1.1.2.2.2  bouyer 
   8969  1.1.1.2.2.2  bouyer   Previous Release (12_18_01)
   8970  1.1.1.2.2.2  bouyer      Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
   8971  1.1.1.2.2.2  bouyer      Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
   8972  1.1.1.2.2.2  bouyer    Current Release:
   8973  1.1.1.2.2.2  bouyer      Non-Debug Version:  65.2K Code,   6.2K Data,   71.4K Total
   8974  1.1.1.2.2.2  bouyer      Debug Version:     136.9K Code,  56.4K Data,  193.3K Total
   8975  1.1.1.2.2.2  bouyer 
   8976  1.1.1.2.2.2  bouyer 2) Linux
   8977  1.1.1.2.2.2  bouyer 
   8978  1.1.1.2.2.2  bouyer  Implemented fix for PIIX reverse throttling errata (Processor
   8979  1.1.1.2.2.2  bouyer driver)
   8980  1.1.1.2.2.2  bouyer 
   8981  1.1.1.2.2.2  bouyer Added new Limit interface (Processor and Thermal drivers)
   8982  1.1.1.2.2.2  bouyer 
   8983  1.1.1.2.2.2  bouyer New thermal policy (Thermal driver)
   8984  1.1.1.2.2.2  bouyer 
   8985  1.1.1.2.2.2  bouyer Many updates to /proc
   8986  1.1.1.2.2.2  bouyer 
   8987  1.1.1.2.2.2  bouyer Battery "low" event support (Battery driver)
   8988  1.1.1.2.2.2  bouyer 
   8989  1.1.1.2.2.2  bouyer Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers)
   8990  1.1.1.2.2.2  bouyer 
   8991  1.1.1.2.2.2  bouyer IA32 - IA64 initialization unification, no longer experimental
   8992  1.1.1.2.2.2  bouyer 
   8993  1.1.1.2.2.2  bouyer Menuconfig options redesigned
   8994  1.1.1.2.2.2  bouyer 
   8995  1.1.1.2.2.2  bouyer 3) ASL Compiler, version X2037:
   8996  1.1.1.2.2.2  bouyer 
   8997  1.1.1.2.2.2  bouyer Implemented several new output features to simplify integration of
   8998  1.1.1.2.2.2  bouyer AML code into  firmware: 1) Output the AML in C source code with
   8999  1.1.1.2.2.2  bouyer labels for each named ASL object.  The    original ASL source code
   9000  1.1.1.2.2.2  bouyer is interleaved as C comments. 2) Output the AML in ASM source code
   9001  1.1.1.2.2.2  bouyer with labels and interleaved ASL    source. 3) Output the AML in
   9002  1.1.1.2.2.2  bouyer raw hex table form, in either C or ASM.
   9003  1.1.1.2.2.2  bouyer 
   9004  1.1.1.2.2.2  bouyer Implemented support for optional string parameters to the
   9005  1.1.1.2.2.2  bouyer LoadTable operator.
   9006  1.1.1.2.2.2  bouyer 
   9007  1.1.1.2.2.2  bouyer Completed support for embedded escape sequences within string
   9008  1.1.1.2.2.2  bouyer literals.  The compiler now supports all single character escapes
   9009  1.1.1.2.2.2  bouyer as well as the Octal and Hex escapes.  Note: the insertion of a
   9010  1.1.1.2.2.2  bouyer null byte into a string literal (via the hex/octal escape) causes
   9011  1.1.1.2.2.2  bouyer the string to be immediately terminated.  A warning is issued.
   9012  1.1.1.2.2.2  bouyer 
   9013  1.1.1.2.2.2  bouyer Fixed a problem where incorrect AML was generated for the case
   9014  1.1.1.2.2.2  bouyer where an ASL namepath consists of a single parent prefix (
   9015  1.1.1.2.2.2  bouyer 
   9016  1.1.1.2.2.2  bouyer ) with no trailing name segments.
   9017  1.1.1.2.2.2  bouyer 
   9018  1.1.1.2.2.2  bouyer The compiler has been successfully generated with a 64-bit C
   9019  1.1.1.2.2.2  bouyer compiler.
   9020  1.1.1.2.2.2  bouyer 
   9021  1.1.1.2.2.2  bouyer 
   9022  1.1.1.2.2.2  bouyer 
   9023  1.1.1.2.2.2  bouyer 
   9024  1.1.1.2.2.2  bouyer ----------------------------------------
   9025  1.1.1.2.2.2  bouyer Summary of changes for this label: 12_18_01
   9026  1.1.1.2.2.2  bouyer 
   9027  1.1.1.2.2.2  bouyer 1) Linux
   9028  1.1.1.2.2.2  bouyer 
   9029  1.1.1.2.2.2  bouyer Enhanced blacklist with reason and severity fields. Any table's
   9030  1.1.1.2.2.2  bouyer signature may now be used to identify a blacklisted system.
   9031  1.1.1.2.2.2  bouyer 
   9032  1.1.1.2.2.2  bouyer Call _PIC control method to inform the firmware which interrupt
   9033  1.1.1.2.2.2  bouyer model the OS is using. Turn on any disabled link devices.
   9034  1.1.1.2.2.2  bouyer 
   9035  1.1.1.2.2.2  bouyer Cleaned up busmgr /proc error handling (Andreas Dilger)
   9036  1.1.1.2.2.2  bouyer 
   9037  1.1.1.2.2.2  bouyer  2) ACPI CA Core Subsystem:
   9038  1.1.1.2.2.2  bouyer 
   9039  1.1.1.2.2.2  bouyer Implemented ACPI 2.0 semantics for the "Break" operator (Exit from
   9040  1.1.1.2.2.2  bouyer while loop)
   9041  1.1.1.2.2.2  bouyer 
   9042  1.1.1.2.2.2  bouyer Completed implementation of the ACPI 2.0 "Continue",
   9043  1.1.1.2.2.2  bouyer "ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
   9044  1.1.1.2.2.2  bouyer operators.  All new ACPI 2.0 operators are now implemented in both
   9045  1.1.1.2.2.2  bouyer the ASL compiler and the AML interpreter.  The only remaining ACPI
   9046  1.1.1.2.2.2  bouyer 2.0 task is support for the String data type in the DerefOf
   9047  1.1.1.2.2.2  bouyer operator.  Fixed a problem with AcquireMutex where the status code
   9048  1.1.1.2.2.2  bouyer was lost if the caller had to actually wait for the mutex.
   9049  1.1.1.2.2.2  bouyer 
   9050  1.1.1.2.2.2  bouyer Increased the maximum ASL Field size from 64K bits to 4G bits.
   9051  1.1.1.2.2.2  bouyer 
   9052  1.1.1.2.2.2  bouyer Completed implementation of the external Global Lock interfaces --
   9053  1.1.1.2.2.2  bouyer AcpiAcquireGlobalLock and AcpiReleaseGlobalLock.  The Timeout and
   9054  1.1.1.2.2.2  bouyer Handler parameters were added.
   9055  1.1.1.2.2.2  bouyer 
   9056  1.1.1.2.2.2  bouyer Completed another pass at removing warnings and issues when
   9057  1.1.1.2.2.2  bouyer compiling with 64-bit compilers.  The code now compiles cleanly
   9058  1.1.1.2.2.2  bouyer with the Intel 64-bit C/C++ compiler.  Most notably, the pointer
   9059  1.1.1.2.2.2  bouyer add and subtract (diff) macros have changed considerably.
   9060  1.1.1.2.2.2  bouyer 
   9061  1.1.1.2.2.2  bouyer 
   9062  1.1.1.2.2.2  bouyer Created and deployed a new ACPI_SIZE type that is 64-bits wide on
   9063  1.1.1.2.2.2  bouyer 64-bit platforms, 32-bits on all others.  This type is used
   9064  1.1.1.2.2.2  bouyer wherever memory allocation and/or the C sizeof() operator is used,
   9065  1.1.1.2.2.2  bouyer and affects the OSL memory allocation interfaces AcpiOsAllocate
   9066  1.1.1.2.2.2  bouyer and AcpiOsCallocate.
   9067  1.1.1.2.2.2  bouyer 
   9068  1.1.1.2.2.2  bouyer Implemented sticky user breakpoints in the AML debugger.
   9069  1.1.1.2.2.2  bouyer 
   9070  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   9071  1.1.1.2.2.2  bouyer below. These are the code and data sizes for the acpica.lib
   9072  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   9073  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   9074  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   9075  1.1.1.2.2.2  bouyer has a larger code and data size. Note that these values will vary
   9076  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   9077  1.1.1.2.2.2  bouyer options used during generation.
   9078  1.1.1.2.2.2  bouyer 
   9079  1.1.1.2.2.2  bouyer   Previous Release (12_05_01)
   9080  1.1.1.2.2.2  bouyer      Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
   9081  1.1.1.2.2.2  bouyer      Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
   9082  1.1.1.2.2.2  bouyer    Current Release:
   9083  1.1.1.2.2.2  bouyer      Non-Debug Version:  66.1K Code,   5.5K Data,   71.6K Total
   9084  1.1.1.2.2.2  bouyer      Debug Version:     138.3K Code,  55.9K Data,  194.2K Total
   9085  1.1.1.2.2.2  bouyer 
   9086  1.1.1.2.2.2  bouyer  3) ASL Compiler, version X2034:
   9087  1.1.1.2.2.2  bouyer 
   9088  1.1.1.2.2.2  bouyer Now checks for (and generates an error if detected) the use of a
   9089  1.1.1.2.2.2  bouyer Break or Continue statement without an enclosing While statement.
   9090  1.1.1.2.2.2  bouyer 
   9091  1.1.1.2.2.2  bouyer 
   9092  1.1.1.2.2.2  bouyer Successfully generated the compiler with the Intel 64-bit C
   9093  1.1.1.2.2.2  bouyer compiler.
   9094  1.1.1.2.2.2  bouyer 
   9095  1.1.1.2.2.2  bouyer  ----------------------------------------
   9096  1.1.1.2.2.2  bouyer Summary of changes for this label: 12_05_01
   9097  1.1.1.2.2.2  bouyer 
   9098  1.1.1.2.2.2  bouyer  1) ACPI CA Core Subsystem:
   9099  1.1.1.2.2.2  bouyer 
   9100  1.1.1.2.2.2  bouyer The ACPI 2.0 CopyObject operator is fully implemented.  This
   9101  1.1.1.2.2.2  bouyer operator creates a new copy of an object (and is also used to
   9102  1.1.1.2.2.2  bouyer bypass the "implicit conversion" mechanism of the Store operator.)
   9103  1.1.1.2.2.2  bouyer 
   9104  1.1.1.2.2.2  bouyer The ACPI 2.0 semantics for the SizeOf operator are fully
   9105  1.1.1.2.2.2  bouyer implemented.  The change is that performing a SizeOf on a
   9106  1.1.1.2.2.2  bouyer reference object causes an automatic dereference of the object to
   9107  1.1.1.2.2.2  bouyer tha actual value before the size is evaluated. This behavior was
   9108  1.1.1.2.2.2  bouyer undefined in ACPI 1.0.
   9109  1.1.1.2.2.2  bouyer 
   9110  1.1.1.2.2.2  bouyer The ACPI 2.0 semantics for the Extended IRQ resource descriptor
   9111  1.1.1.2.2.2  bouyer have been implemented.  The interrupt polarity and mode are now
   9112  1.1.1.2.2.2  bouyer independently set.
   9113  1.1.1.2.2.2  bouyer 
   9114  1.1.1.2.2.2  bouyer Fixed a problem where ASL Constants (Zero, One, Ones, Revision)
   9115  1.1.1.2.2.2  bouyer appearing in Package objects were not properly converted to
   9116  1.1.1.2.2.2  bouyer integers when the internal Package was converted to an external
   9117  1.1.1.2.2.2  bouyer object (via the AcpiEvaluateObject interface.)
   9118  1.1.1.2.2.2  bouyer 
   9119  1.1.1.2.2.2  bouyer Fixed a problem with the namespace object deletion mechanism for
   9120  1.1.1.2.2.2  bouyer objects created by control methods.  There were two parts to this
   9121  1.1.1.2.2.2  bouyer problem: 1) Objects created during the initialization phase method
   9122  1.1.1.2.2.2  bouyer parse were not being deleted, and 2) The object owner ID mechanism
   9123  1.1.1.2.2.2  bouyer to track objects was broken.
   9124  1.1.1.2.2.2  bouyer 
   9125  1.1.1.2.2.2  bouyer Fixed a problem where the use of the ASL Scope operator within a
   9126  1.1.1.2.2.2  bouyer control method would result in an invalid opcode exception.
   9127  1.1.1.2.2.2  bouyer 
   9128  1.1.1.2.2.2  bouyer Fixed a problem introduced in the previous label where the buffer
   9129  1.1.1.2.2.2  bouyer length required for the _PRT structure was not being returned
   9130  1.1.1.2.2.2  bouyer correctly.
   9131  1.1.1.2.2.2  bouyer 
   9132  1.1.1.2.2.2  bouyer Code and Data Size: Current core subsystem library sizes are shown
   9133  1.1.1.2.2.2  bouyer below. These are the code and data sizes for the acpica.lib
   9134  1.1.1.2.2.2  bouyer produced by the Microsoft Visual C++ 6.0 compiler, and these
   9135  1.1.1.2.2.2  bouyer values do not include any ACPI driver or OSPM code.  The debug
   9136  1.1.1.2.2.2  bouyer version of the code includes the debug output trace mechanism and
   9137  1.1.1.2.2.2  bouyer has a larger code and data size.  Note that these values will vary
   9138  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   9139  1.1.1.2.2.2  bouyer options used during generation.
   9140  1.1.1.2.2.2  bouyer 
   9141  1.1.1.2.2.2  bouyer   Previous Release (11_20_01)
   9142  1.1.1.2.2.2  bouyer      Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
   9143  1.1.1.2.2.2  bouyer      Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
   9144  1.1.1.2.2.2  bouyer 
   9145  1.1.1.2.2.2  bouyer   Current Release:
   9146  1.1.1.2.2.2  bouyer      Non-Debug Version:  64.7K Code,   5.3K Data,   70.0K Total
   9147  1.1.1.2.2.2  bouyer      Debug Version:     136.2K Code,  55.6K Data,  191.8K Total
   9148  1.1.1.2.2.2  bouyer 
   9149  1.1.1.2.2.2  bouyer  2) Linux:
   9150  1.1.1.2.2.2  bouyer 
   9151  1.1.1.2.2.2  bouyer Updated all files to apply cleanly against 2.4.16.
   9152  1.1.1.2.2.2  bouyer 
   9153  1.1.1.2.2.2  bouyer Added basic PCI Interrupt Routing Table (PRT) support for IA32
   9154  1.1.1.2.2.2  bouyer (acpi_pci.c), and unified the PRT code for IA32 and IA64.  This
   9155  1.1.1.2.2.2  bouyer version supports both static and dyanmic PRT entries, but dynamic
   9156  1.1.1.2.2.2  bouyer entries are treated as if they were static (not yet
   9157  1.1.1.2.2.2  bouyer reconfigurable).  Architecture- specific code to use this data is
   9158  1.1.1.2.2.2  bouyer absent on IA32 but should be available shortly.
   9159  1.1.1.2.2.2  bouyer 
   9160  1.1.1.2.2.2  bouyer Changed the initialization sequence to start the ACPI interpreter
   9161  1.1.1.2.2.2  bouyer (acpi_init) prior to initialization of the PCI driver (pci_init)
   9162  1.1.1.2.2.2  bouyer in init/main.c.  This ordering is required to support PRT and
   9163  1.1.1.2.2.2  bouyer facilitate other (future) enhancement.  A side effect is that the
   9164  1.1.1.2.2.2  bouyer ACPI bus driver and certain device drivers can no longer be loaded
   9165  1.1.1.2.2.2  bouyer as modules.
   9166  1.1.1.2.2.2  bouyer 
   9167  1.1.1.2.2.2  bouyer Modified the 'make menuconfig' options to allow PCI Interrupt
   9168  1.1.1.2.2.2  bouyer Routing support to be included without the ACPI Bus and other
   9169  1.1.1.2.2.2  bouyer device drivers.
   9170  1.1.1.2.2.2  bouyer 
   9171  1.1.1.2.2.2  bouyer  3) ASL Compiler, version X2033:
   9172  1.1.1.2.2.2  bouyer 
   9173  1.1.1.2.2.2  bouyer Fixed some issues with the use of the new CopyObject and
   9174  1.1.1.2.2.2  bouyer DataTableRegion operators.  Both are fully functional.
   9175  1.1.1.2.2.2  bouyer 
   9176  1.1.1.2.2.2  bouyer  ----------------------------------------
   9177  1.1.1.2.2.2  bouyer Summary of changes for this label: 11_20_01
   9178  1.1.1.2.2.2  bouyer 
   9179  1.1.1.2.2.2  bouyer  20 November 2001.  Summary of changes for this release.
   9180  1.1.1.2.2.2  bouyer 
   9181  1.1.1.2.2.2  bouyer  1) ACPI CA Core Subsystem:
   9182  1.1.1.2.2.2  bouyer 
   9183  1.1.1.2.2.2  bouyer Updated Index support to match ACPI 2.0 semantics.  Storing a
   9184  1.1.1.2.2.2  bouyer Integer, String, or Buffer to an Index of a Buffer will store only
   9185  1.1.1.2.2.2  bouyer the least-significant byte of the source to the Indexed buffer
   9186  1.1.1.2.2.2  bouyer byte.  Multiple writes are not performed.
   9187  1.1.1.2.2.2  bouyer 
   9188  1.1.1.2.2.2  bouyer Fixed a problem where the access type used in an AccessAs ASL
   9189  1.1.1.2.2.2  bouyer operator was not recorded correctly into the field object.
   9190  1.1.1.2.2.2  bouyer 
   9191  1.1.1.2.2.2  bouyer Fixed a problem where ASL Event objects were created in a
   9192  1.1.1.2.2.2  bouyer signalled state. Events are now created in an unsignalled state.
   9193  1.1.1.2.2.2  bouyer 
   9194  1.1.1.2.2.2  bouyer The internal object cache is now purged after table loading and
   9195  1.1.1.2.2.2  bouyer initialization to reduce the use of dynamic kernel memory -- on
   9196  1.1.1.2.2.2  bouyer the assumption that object use is greatest during the parse phase
   9197  1.1.1.2.2.2  bouyer of the entire table (versus the run-time use of individual control
   9198  1.1.1.2.2.2  bouyer methods.)
   9199  1.1.1.2.2.2  bouyer 
   9200  1.1.1.2.2.2  bouyer ACPI 2.0 variable-length packages are now fully operational.
   9201  1.1.1.2.2.2  bouyer 
   9202  1.1.1.2.2.2  bouyer Code and Data Size: Code and Data optimizations have permitted new
   9203  1.1.1.2.2.2  bouyer feature development with an actual reduction in the library size.
   9204  1.1.1.2.2.2  bouyer Current core subsystem library sizes are shown below.  These are
   9205  1.1.1.2.2.2  bouyer the code and data sizes for the acpica.lib produced by the
   9206  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 compiler, and these values do not include
   9207  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code
   9208  1.1.1.2.2.2  bouyer includes the debug output trace mechanism and has a larger code
   9209  1.1.1.2.2.2  bouyer and data size.  Note that these values will vary depending on the
   9210  1.1.1.2.2.2  bouyer efficiency of the compiler and the compiler options used during
   9211  1.1.1.2.2.2  bouyer generation.
   9212  1.1.1.2.2.2  bouyer 
   9213  1.1.1.2.2.2  bouyer   Previous Release (11_09_01):
   9214  1.1.1.2.2.2  bouyer      Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
   9215  1.1.1.2.2.2  bouyer      Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
   9216  1.1.1.2.2.2  bouyer 
   9217  1.1.1.2.2.2  bouyer   Current Release:
   9218  1.1.1.2.2.2  bouyer      Non-Debug Version:  64.1K Code,   5.3K Data,   69.4K Total
   9219  1.1.1.2.2.2  bouyer      Debug Version:     135.1K Code,  55.4K Data,  190.5K Total
   9220  1.1.1.2.2.2  bouyer 
   9221  1.1.1.2.2.2  bouyer  2) Linux:
   9222  1.1.1.2.2.2  bouyer 
   9223  1.1.1.2.2.2  bouyer Enhanced the ACPI boot-time initialization code to allow the use
   9224  1.1.1.2.2.2  bouyer of Local APIC tables for processor enumeration on IA-32, and to
   9225  1.1.1.2.2.2  bouyer pave the way for a fully MPS-free boot (on SMP systems) in the
   9226  1.1.1.2.2.2  bouyer near future.  This functionality replaces
   9227  1.1.1.2.2.2  bouyer arch/i386/kernel/acpitables.c, which was introduced in an earlier
   9228  1.1.1.2.2.2  bouyer 2.4.15-preX release.  To enable this feature you must add
   9229  1.1.1.2.2.2  bouyer "acpi_boot=on" to the kernel command line -- see the help entry
   9230  1.1.1.2.2.2  bouyer for CONFIG_ACPI_BOOT for more information.  An IA-64 release is in
   9231  1.1.1.2.2.2  bouyer the works...
   9232  1.1.1.2.2.2  bouyer 
   9233  1.1.1.2.2.2  bouyer Restructured the configuration options to allow boot-time table
   9234  1.1.1.2.2.2  bouyer parsing support without inclusion of the ACPI Interpreter (and
   9235  1.1.1.2.2.2  bouyer other) code.
   9236  1.1.1.2.2.2  bouyer 
   9237  1.1.1.2.2.2  bouyer NOTE: This release does not include fixes for the reported events,
   9238  1.1.1.2.2.2  bouyer power-down, and thermal passive cooling issues (coming soon).
   9239  1.1.1.2.2.2  bouyer 
   9240  1.1.1.2.2.2  bouyer  3) ASL Compiler:
   9241  1.1.1.2.2.2  bouyer 
   9242  1.1.1.2.2.2  bouyer Added additional typechecking for Fields within restricted access
   9243  1.1.1.2.2.2  bouyer Operation Regions.  All fields within EC and CMOS regions must be
   9244  1.1.1.2.2.2  bouyer declared with ByteAcc. All fields withing SMBus regions must be
   9245  1.1.1.2.2.2  bouyer declared with the BufferAcc access type.
   9246  1.1.1.2.2.2  bouyer 
   9247  1.1.1.2.2.2  bouyer Fixed a problem where the listing file output of control methods
   9248  1.1.1.2.2.2  bouyer no longer interleaved the actual AML code with the ASL source
   9249  1.1.1.2.2.2  bouyer code.
   9250  1.1.1.2.2.2  bouyer 
   9251  1.1.1.2.2.2  bouyer 
   9252  1.1.1.2.2.2  bouyer 
   9253  1.1.1.2.2.2  bouyer 
   9254  1.1.1.2.2.2  bouyer ----------------------------------------
   9255  1.1.1.2.2.2  bouyer Summary of changes for this label: 11_09_01
   9256  1.1.1.2.2.2  bouyer 
   9257  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   9258  1.1.1.2.2.2  bouyer 
   9259  1.1.1.2.2.2  bouyer Implemented ACPI 2.0-defined support for writes to fields with a
   9260  1.1.1.2.2.2  bouyer Buffer, String, or Integer source operand that is smaller than the
   9261  1.1.1.2.2.2  bouyer target field. In these cases, the source operand is zero-extended
   9262  1.1.1.2.2.2  bouyer to fill the target field.
   9263  1.1.1.2.2.2  bouyer 
   9264  1.1.1.2.2.2  bouyer Fixed a problem where a Field starting bit offset (within the
   9265  1.1.1.2.2.2  bouyer parent operation region) was calculated incorrectly if the
   9266  1.1.1.2.2.2  bouyer 
   9267  1.1.1.2.2.2  bouyer alignment of the field differed from the access width.  This
   9268  1.1.1.2.2.2  bouyer affected CreateWordField, CreateDwordField, CreateQwordField, and
   9269  1.1.1.2.2.2  bouyer possibly other fields that use the "AccessAny" keyword.
   9270  1.1.1.2.2.2  bouyer 
   9271  1.1.1.2.2.2  bouyer Fixed a problem introduced in the 11_02_01 release where indirect
   9272  1.1.1.2.2.2  bouyer stores through method arguments did not operate correctly.
   9273  1.1.1.2.2.2  bouyer 
   9274  1.1.1.2.2.2  bouyer 2) Linux:
   9275  1.1.1.2.2.2  bouyer 
   9276  1.1.1.2.2.2  bouyer Implemented boot-time ACPI table parsing support
   9277  1.1.1.2.2.2  bouyer (CONFIG_ACPI_BOOT) for IA32 and IA64 UP/SMP systems.  This code
   9278  1.1.1.2.2.2  bouyer facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
   9279  1.1.1.2.2.2  bouyer legacy BIOS interfaces (e.g. MPS) for the configuration of system
   9280  1.1.1.2.2.2  bouyer processors, memory, and interrupts during setup_arch().  Note that
   9281  1.1.1.2.2.2  bouyer this patch does not include the required architecture-specific
   9282  1.1.1.2.2.2  bouyer changes required to apply this information -- subsequent patches
   9283  1.1.1.2.2.2  bouyer will be posted for both IA32 and IA64 to achieve this.
   9284  1.1.1.2.2.2  bouyer 
   9285  1.1.1.2.2.2  bouyer Added low-level sleep support for IA32 platforms, courtesy of Pat
   9286  1.1.1.2.2.2  bouyer Mochel. This allows IA32 systems to transition to/from various
   9287  1.1.1.2.2.2  bouyer sleeping states (e.g. S1, S3), although the lack of a centralized
   9288  1.1.1.2.2.2  bouyer driver model and power-manageable drivers will prevent its
   9289  1.1.1.2.2.2  bouyer (successful) use on most systems.
   9290  1.1.1.2.2.2  bouyer 
   9291  1.1.1.2.2.2  bouyer Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
   9292  1.1.1.2.2.2  bouyer submenu, unified IA32 and IA64 options, added new "Boot using ACPI
   9293  1.1.1.2.2.2  bouyer tables" option, etc.
   9294  1.1.1.2.2.2  bouyer 
   9295  1.1.1.2.2.2  bouyer Increased the default timeout for the EC driver from 1ms to 10ms
   9296  1.1.1.2.2.2  bouyer (1000 cycles of 10us) to try to address AE_TIME errors during EC
   9297  1.1.1.2.2.2  bouyer transactions.
   9298  1.1.1.2.2.2  bouyer 
   9299  1.1.1.2.2.2  bouyer  ----------------------------------------
   9300  1.1.1.2.2.2  bouyer Summary of changes for this label: 11_02_01
   9301  1.1.1.2.2.2  bouyer 
   9302  1.1.1.2.2.2  bouyer 1) ACPI CA Core Subsystem:
   9303  1.1.1.2.2.2  bouyer 
   9304  1.1.1.2.2.2  bouyer ACPI 2.0 Support: Implemented ACPI 2.0 64-bit Field access
   9305  1.1.1.2.2.2  bouyer (QWordAcc keyword). All ACPI 2.0 64-bit support is now
   9306  1.1.1.2.2.2  bouyer implemented.
   9307  1.1.1.2.2.2  bouyer 
   9308  1.1.1.2.2.2  bouyer OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
   9309  1.1.1.2.2.2  bouyer changes to support ACPI 2.0 Qword field access.  Read/Write
   9310  1.1.1.2.2.2  bouyer PciConfiguration(), Read/Write Memory(), and Read/Write Port() now
   9311  1.1.1.2.2.2  bouyer accept an ACPI_INTEGER (64 bits) as the value parameter.  Also,
   9312  1.1.1.2.2.2  bouyer the value parameter for the address space handler interface is now
   9313  1.1.1.2.2.2  bouyer an ACPI_INTEGER.  OSL implementations of these interfaces must now
   9314  1.1.1.2.2.2  bouyer handle the case where the Width parameter is 64.
   9315  1.1.1.2.2.2  bouyer 
   9316  1.1.1.2.2.2  bouyer Index Fields: Fixed a problem where unaligned bit assembly and
   9317  1.1.1.2.2.2  bouyer disassembly for IndexFields was not supported correctly.
   9318  1.1.1.2.2.2  bouyer 
   9319  1.1.1.2.2.2  bouyer Index and Bank Fields:  Nested Index and Bank Fields are now
   9320  1.1.1.2.2.2  bouyer supported. During field access, a check is performed to ensure
   9321  1.1.1.2.2.2  bouyer that the value written to an Index or Bank register is not out of
   9322  1.1.1.2.2.2  bouyer the range of the register.  The Index (or Bank) register is
   9323  1.1.1.2.2.2  bouyer written before each access to the field data. Future support will
   9324  1.1.1.2.2.2  bouyer include allowing individual IndexFields to be wider than the
   9325  1.1.1.2.2.2  bouyer DataRegister width.
   9326  1.1.1.2.2.2  bouyer 
   9327  1.1.1.2.2.2  bouyer Fields: Fixed a problem where the AML interpreter was incorrectly
   9328  1.1.1.2.2.2  bouyer attempting to write beyond the end of a Field/OpRegion.  This was
   9329  1.1.1.2.2.2  bouyer a boundary case that occurred when a DWORD field was written to a
   9330  1.1.1.2.2.2  bouyer BYTE access OpRegion, forcing multiple writes and causing the
   9331  1.1.1.2.2.2  bouyer interpreter to write one datum too many.
   9332  1.1.1.2.2.2  bouyer 
   9333  1.1.1.2.2.2  bouyer Fields: Fixed a problem with Field/OpRegion access where the
   9334  1.1.1.2.2.2  bouyer starting bit address of a field was incorrectly calculated if the
   9335  1.1.1.2.2.2  bouyer current access type was wider than a byte (WordAcc, DwordAcc, or
   9336  1.1.1.2.2.2  bouyer QwordAcc).
   9337  1.1.1.2.2.2  bouyer 
   9338  1.1.1.2.2.2  bouyer Fields: Fixed a problem where forward references to individual
   9339  1.1.1.2.2.2  bouyer FieldUnits (individual Field names within a Field definition) were
   9340  1.1.1.2.2.2  bouyer not resolved during the AML table load.
   9341  1.1.1.2.2.2  bouyer 
   9342  1.1.1.2.2.2  bouyer Fields: Fixed a problem where forward references from a Field
   9343  1.1.1.2.2.2  bouyer definition to the parent Operation Region definition were not
   9344  1.1.1.2.2.2  bouyer resolved during the AML table load.
   9345  1.1.1.2.2.2  bouyer 
   9346  1.1.1.2.2.2  bouyer Fields: Duplicate FieldUnit names within a scope are now detected
   9347  1.1.1.2.2.2  bouyer during AML table load.
   9348  1.1.1.2.2.2  bouyer 
   9349  1.1.1.2.2.2  bouyer Acpi Interfaces: Fixed a problem where the AcpiGetName() interface
   9350  1.1.1.2.2.2  bouyer returned an incorrect name for the root node.
   9351  1.1.1.2.2.2  bouyer 
   9352  1.1.1.2.2.2  bouyer Code and Data Size: Code and Data optimizations have permitted new
   9353  1.1.1.2.2.2  bouyer feature development with an actual reduction in the library size.
   9354  1.1.1.2.2.2  bouyer Current core subsystem library sizes are shown below.  These are
   9355  1.1.1.2.2.2  bouyer the code and data sizes for the acpica.lib produced by the
   9356  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 compiler, and these values do not include
   9357  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code
   9358  1.1.1.2.2.2  bouyer includes the debug output trace mechanism and has a larger code
   9359  1.1.1.2.2.2  bouyer and data size.  Note that these values will vary depending on the
   9360  1.1.1.2.2.2  bouyer efficiency of the compiler and the compiler options used during
   9361  1.1.1.2.2.2  bouyer generation.
   9362  1.1.1.2.2.2  bouyer 
   9363  1.1.1.2.2.2  bouyer   Previous Release (10_18_01):
   9364  1.1.1.2.2.2  bouyer      Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
   9365  1.1.1.2.2.2  bouyer      Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
   9366  1.1.1.2.2.2  bouyer 
   9367  1.1.1.2.2.2  bouyer   Current Release:
   9368  1.1.1.2.2.2  bouyer      Non-Debug Version:  63.7K Code,   5.2K Data,   68.9K Total
   9369  1.1.1.2.2.2  bouyer      Debug Version:     134.5K Code,  55.4K Data,  189.9K Total
   9370  1.1.1.2.2.2  bouyer 
   9371  1.1.1.2.2.2  bouyer  2) Linux:
   9372  1.1.1.2.2.2  bouyer 
   9373  1.1.1.2.2.2  bouyer Improved /proc processor output (Pavel Machek) Re-added
   9374  1.1.1.2.2.2  bouyer MODULE_LICENSE("GPL") to all modules.
   9375  1.1.1.2.2.2  bouyer 
   9376  1.1.1.2.2.2  bouyer  3) ASL Compiler version X2030:
   9377  1.1.1.2.2.2  bouyer 
   9378  1.1.1.2.2.2  bouyer Duplicate FieldUnit names within a scope are now detected and
   9379  1.1.1.2.2.2  bouyer flagged as errors.
   9380  1.1.1.2.2.2  bouyer 
   9381  1.1.1.2.2.2  bouyer  4) Documentation:
   9382  1.1.1.2.2.2  bouyer 
   9383  1.1.1.2.2.2  bouyer Programmer Reference updated to reflect OSL and address space
   9384  1.1.1.2.2.2  bouyer handler interface changes described above.
   9385  1.1.1.2.2.2  bouyer 
   9386  1.1.1.2.2.2  bouyer ----------------------------------------
   9387  1.1.1.2.2.2  bouyer Summary of changes for this label: 10_18_01
   9388  1.1.1.2.2.2  bouyer 
   9389  1.1.1.2.2.2  bouyer ACPI CA Core Subsystem:
   9390  1.1.1.2.2.2  bouyer 
   9391  1.1.1.2.2.2  bouyer Fixed a problem with the internal object reference count mechanism
   9392  1.1.1.2.2.2  bouyer that occasionally caused premature object deletion. This resolves
   9393  1.1.1.2.2.2  bouyer all of the outstanding problem reports where an object is deleted
   9394  1.1.1.2.2.2  bouyer in the middle of an interpreter evaluation.  Although this problem
   9395  1.1.1.2.2.2  bouyer only showed up in rather obscure cases, the solution to the
   9396  1.1.1.2.2.2  bouyer problem involved an adjustment of all reference counts involving
   9397  1.1.1.2.2.2  bouyer objects attached to namespace nodes.
   9398  1.1.1.2.2.2  bouyer 
   9399  1.1.1.2.2.2  bouyer Fixed a problem with Field support in the interpreter where
   9400  1.1.1.2.2.2  bouyer writing to an aligned field whose length is an exact multiple (2
   9401  1.1.1.2.2.2  bouyer or greater) of the field access granularity would cause an attempt
   9402  1.1.1.2.2.2  bouyer to write beyond the end of the field.
   9403  1.1.1.2.2.2  bouyer 
   9404  1.1.1.2.2.2  bouyer The top level AML opcode execution functions within the
   9405  1.1.1.2.2.2  bouyer interpreter have been renamed with a more meaningful and
   9406  1.1.1.2.2.2  bouyer consistent naming convention.  The modules exmonad.c and
   9407  1.1.1.2.2.2  bouyer exdyadic.c were eliminated.  New modules are exoparg1.c,
   9408  1.1.1.2.2.2  bouyer exoparg2.c, exoparg3.c, and exoparg6.c.
   9409  1.1.1.2.2.2  bouyer 
   9410  1.1.1.2.2.2  bouyer Support for the ACPI 2.0 "Mid" ASL operator has been implemented.
   9411  1.1.1.2.2.2  bouyer 
   9412  1.1.1.2.2.2  bouyer Fixed a problem where the AML debugger was causing some internal
   9413  1.1.1.2.2.2  bouyer objects to not be deleted during subsystem termination.
   9414  1.1.1.2.2.2  bouyer 
   9415  1.1.1.2.2.2  bouyer Fixed a problem with the external AcpiEvaluateObject interface
   9416  1.1.1.2.2.2  bouyer where the subsystem would fault if the named object to be
   9417  1.1.1.2.2.2  bouyer evaluated refered to a constant such as Zero, Ones, etc.
   9418  1.1.1.2.2.2  bouyer 
   9419  1.1.1.2.2.2  bouyer Fixed a problem with IndexFields and BankFields where the
   9420  1.1.1.2.2.2  bouyer subsystem would fault if the index, data, or bank registers were
   9421  1.1.1.2.2.2  bouyer not defined in the same scope as the field itself.
   9422  1.1.1.2.2.2  bouyer 
   9423  1.1.1.2.2.2  bouyer Added printf format string checking for compilers that support
   9424  1.1.1.2.2.2  bouyer this feature.  Corrected more than 50 instances of issues with
   9425  1.1.1.2.2.2  bouyer format specifiers within invocations of ACPI_DEBUG_PRINT
   9426  1.1.1.2.2.2  bouyer throughout the core subsystem code.
   9427  1.1.1.2.2.2  bouyer 
   9428  1.1.1.2.2.2  bouyer The ASL "Revision" operator now returns the ACPI support level
   9429  1.1.1.2.2.2  bouyer implemented in the core - the value "2" since the ACPI 2.0 support
   9430  1.1.1.2.2.2  bouyer is more than 50% implemented.
   9431  1.1.1.2.2.2  bouyer 
   9432  1.1.1.2.2.2  bouyer Enhanced the output of the AML debugger "dump namespace" command
   9433  1.1.1.2.2.2  bouyer to output in a more human-readable form.
   9434  1.1.1.2.2.2  bouyer 
   9435  1.1.1.2.2.2  bouyer Current core subsystem library code sizes are shown below.  These
   9436  1.1.1.2.2.2  bouyer 
   9437  1.1.1.2.2.2  bouyer are the code and data sizes for the acpica.lib produced by the
   9438  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 compiler, and these values do not include
   9439  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code
   9440  1.1.1.2.2.2  bouyer includes the full debug trace mechanism -- leading to a much
   9441  1.1.1.2.2.2  bouyer 
   9442  1.1.1.2.2.2  bouyer larger code and data size.  Note that these values will vary
   9443  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   9444  1.1.1.2.2.2  bouyer options used during generation.
   9445  1.1.1.2.2.2  bouyer 
   9446  1.1.1.2.2.2  bouyer      Previous Label (09_20_01):
   9447  1.1.1.2.2.2  bouyer      Non-Debug Version:    65K Code,     5K Data,     70K Total
   9448  1.1.1.2.2.2  bouyer      Debug Version:       138K Code,    58K Data,    196K Total
   9449  1.1.1.2.2.2  bouyer 
   9450  1.1.1.2.2.2  bouyer      This Label:
   9451  1.1.1.2.2.2  bouyer 
   9452  1.1.1.2.2.2  bouyer      Non-Debug Version:  63.9K Code,   5.1K Data,   69.0K Total
   9453  1.1.1.2.2.2  bouyer      Debug Version:     136.7K Code,  57.4K Data,  194.2K Total
   9454  1.1.1.2.2.2  bouyer 
   9455  1.1.1.2.2.2  bouyer Linux:
   9456  1.1.1.2.2.2  bouyer 
   9457  1.1.1.2.2.2  bouyer Implemented a "Bad BIOS Blacklist" to track machines that have
   9458  1.1.1.2.2.2  bouyer known ASL/AML problems.
   9459  1.1.1.2.2.2  bouyer 
   9460  1.1.1.2.2.2  bouyer Enhanced the /proc interface for the thermal zone driver and added
   9461  1.1.1.2.2.2  bouyer support for _HOT (the critical suspend trip point).  The 'info'
   9462  1.1.1.2.2.2  bouyer file now includes threshold/policy information, and allows setting
   9463  1.1.1.2.2.2  bouyer of _SCP (cooling preference) and _TZP (polling frequency) values
   9464  1.1.1.2.2.2  bouyer to the 'info' file. Examples: "echo tzp=5 > info" sets the polling
   9465  1.1.1.2.2.2  bouyer frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
   9466  1.1.1.2.2.2  bouyer preference to the passive/quiet mode (if supported by the ASL).
   9467  1.1.1.2.2.2  bouyer 
   9468  1.1.1.2.2.2  bouyer Implemented a workaround for a gcc bug that resuted in an OOPs
   9469  1.1.1.2.2.2  bouyer when loading the control method battery driver.
   9470  1.1.1.2.2.2  bouyer 
   9471  1.1.1.2.2.2  bouyer  ----------------------------------------
   9472  1.1.1.2.2.2  bouyer Summary of changes for this label: 09_20_01
   9473  1.1.1.2.2.2  bouyer 
   9474  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9475  1.1.1.2.2.2  bouyer 
   9476  1.1.1.2.2.2  bouyer The AcpiEnableEvent and AcpiDisableEvent interfaces have been
   9477  1.1.1.2.2.2  bouyer modified to allow individual GPE levels to be flagged as wake-
   9478  1.1.1.2.2.2  bouyer enabled (i.e., these GPEs are to remain enabled when the platform
   9479  1.1.1.2.2.2  bouyer sleeps.)
   9480  1.1.1.2.2.2  bouyer 
   9481  1.1.1.2.2.2  bouyer The AcpiEnterSleepState and AcpiLeaveSleepState interfaces now
   9482  1.1.1.2.2.2  bouyer support wake-enabled GPEs.  This means that upon entering the
   9483  1.1.1.2.2.2  bouyer sleep state, all GPEs that are not wake-enabled are disabled.
   9484  1.1.1.2.2.2  bouyer When leaving the sleep state, these GPEs are reenabled.
   9485  1.1.1.2.2.2  bouyer 
   9486  1.1.1.2.2.2  bouyer A local double-precision divide/modulo module has been added to
   9487  1.1.1.2.2.2  bouyer enhance portability to OS kernels where a 64-bit math library is
   9488  1.1.1.2.2.2  bouyer not available.  The new module is "utmath.c".
   9489  1.1.1.2.2.2  bouyer 
   9490  1.1.1.2.2.2  bouyer Several optimizations have been made to reduce the use of CPU
   9491  1.1.1.2.2.2  bouyer stack.  Originally over 2K, the maximum stack usage is now below
   9492  1.1.1.2.2.2  bouyer 2K at 1860  bytes (1.82k)
   9493  1.1.1.2.2.2  bouyer 
   9494  1.1.1.2.2.2  bouyer Fixed a problem with the AcpiGetFirmwareTable interface where the
   9495  1.1.1.2.2.2  bouyer root table pointer was not mapped into a logical address properly.
   9496  1.1.1.2.2.2  bouyer 
   9497  1.1.1.2.2.2  bouyer Fixed a problem where a NULL pointer was being dereferenced in the
   9498  1.1.1.2.2.2  bouyer interpreter code for the ASL Notify operator.
   9499  1.1.1.2.2.2  bouyer 
   9500  1.1.1.2.2.2  bouyer Fixed a problem where the use of the ASL Revision operator
   9501  1.1.1.2.2.2  bouyer returned an error. This operator now returns the current version
   9502  1.1.1.2.2.2  bouyer of the ACPI CA core subsystem.
   9503  1.1.1.2.2.2  bouyer 
   9504  1.1.1.2.2.2  bouyer Fixed a problem where objects passed as control method parameters
   9505  1.1.1.2.2.2  bouyer to AcpiEvaluateObject were always deleted at method termination.
   9506  1.1.1.2.2.2  bouyer However, these objects may end up being stored into the namespace
   9507  1.1.1.2.2.2  bouyer by the called method.  The object reference count mechanism was
   9508  1.1.1.2.2.2  bouyer applied to these objects instead of a force delete.
   9509  1.1.1.2.2.2  bouyer 
   9510  1.1.1.2.2.2  bouyer Fixed a problem where static strings or buffers (contained in the
   9511  1.1.1.2.2.2  bouyer AML code) that are declared as package elements within the ASL
   9512  1.1.1.2.2.2  bouyer code could cause a fault because the interpreter would attempt to
   9513  1.1.1.2.2.2  bouyer delete them.  These objects are now marked with the "static
   9514  1.1.1.2.2.2  bouyer object" flag to prevent any attempt to delete them.
   9515  1.1.1.2.2.2  bouyer 
   9516  1.1.1.2.2.2  bouyer Implemented an interpreter optimization to use operands directly
   9517  1.1.1.2.2.2  bouyer from the state object instead of extracting the operands to local
   9518  1.1.1.2.2.2  bouyer variables.  This reduces stack use and code size, and improves
   9519  1.1.1.2.2.2  bouyer performance.
   9520  1.1.1.2.2.2  bouyer 
   9521  1.1.1.2.2.2  bouyer The module exxface.c was eliminated as it was an unnecessary extra
   9522  1.1.1.2.2.2  bouyer layer of code.
   9523  1.1.1.2.2.2  bouyer 
   9524  1.1.1.2.2.2  bouyer Current core subsystem library code sizes are shown below.  These
   9525  1.1.1.2.2.2  bouyer are the code and data sizes for the acpica.lib produced by the
   9526  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 compiler, and these values do not include
   9527  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code
   9528  1.1.1.2.2.2  bouyer includes the full debug trace mechanism -- leading to a much
   9529  1.1.1.2.2.2  bouyer larger code and data size.  Note that these values will vary
   9530  1.1.1.2.2.2  bouyer depending on the efficiency of the compiler and the compiler
   9531  1.1.1.2.2.2  bouyer options used during generation.
   9532  1.1.1.2.2.2  bouyer 
   9533  1.1.1.2.2.2  bouyer   Non-Debug Version:  65K Code,   5K Data,   70K Total
   9534  1.1.1.2.2.2  bouyer (Previously 69K)   Debug Version:     138K Code,  58K Data,  196K
   9535  1.1.1.2.2.2  bouyer Total  (Previously 195K)
   9536  1.1.1.2.2.2  bouyer 
   9537  1.1.1.2.2.2  bouyer Linux:
   9538  1.1.1.2.2.2  bouyer 
   9539  1.1.1.2.2.2  bouyer Support for ACPI 2.0 64-bit integers has been added.   All ACPI
   9540  1.1.1.2.2.2  bouyer Integer objects are now 64 bits wide
   9541  1.1.1.2.2.2  bouyer 
   9542  1.1.1.2.2.2  bouyer All Acpi data types and structures are now in lower case.  Only
   9543  1.1.1.2.2.2  bouyer Acpi macros are upper case for differentiation.
   9544  1.1.1.2.2.2  bouyer 
   9545  1.1.1.2.2.2  bouyer  Documentation:
   9546  1.1.1.2.2.2  bouyer 
   9547  1.1.1.2.2.2  bouyer Changes to the external interfaces as described above.
   9548  1.1.1.2.2.2  bouyer 
   9549  1.1.1.2.2.2  bouyer  ----------------------------------------
   9550  1.1.1.2.2.2  bouyer Summary of changes for this label: 08_31_01
   9551  1.1.1.2.2.2  bouyer 
   9552  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9553  1.1.1.2.2.2  bouyer 
   9554  1.1.1.2.2.2  bouyer A bug with interpreter implementation of the ASL Divide operator
   9555  1.1.1.2.2.2  bouyer was found and fixed.  The implicit function return value (not the
   9556  1.1.1.2.2.2  bouyer explicit store operands) was returning the remainder instead of
   9557  1.1.1.2.2.2  bouyer the quotient.  This was a longstanding bug and it fixes several
   9558  1.1.1.2.2.2  bouyer known outstanding issues on various platforms.
   9559  1.1.1.2.2.2  bouyer 
   9560  1.1.1.2.2.2  bouyer The ACPI_DEBUG_PRINT and function trace entry/exit macros have
   9561  1.1.1.2.2.2  bouyer been further optimized for size.  There are 700 invocations of the
   9562  1.1.1.2.2.2  bouyer DEBUG_PRINT macro alone, so each optimization reduces the size of
   9563  1.1.1.2.2.2  bouyer the debug version of the subsystem significantly.
   9564  1.1.1.2.2.2  bouyer 
   9565  1.1.1.2.2.2  bouyer A stack trace mechanism has been implemented.  The maximum stack
   9566  1.1.1.2.2.2  bouyer usage is about 2K on 32-bit platforms.  The debugger command "stat
   9567  1.1.1.2.2.2  bouyer stack" will display the current maximum stack usage.
   9568  1.1.1.2.2.2  bouyer 
   9569  1.1.1.2.2.2  bouyer All public symbols and global variables within the subsystem are
   9570  1.1.1.2.2.2  bouyer now prefixed with the string "Acpi".  This keeps all of the
   9571  1.1.1.2.2.2  bouyer symbols grouped together in a kernel map, and avoids conflicts
   9572  1.1.1.2.2.2  bouyer with other kernel subsystems.
   9573  1.1.1.2.2.2  bouyer 
   9574  1.1.1.2.2.2  bouyer Most of the internal fixed lookup tables have been moved into the
   9575  1.1.1.2.2.2  bouyer code segment via the const operator.
   9576  1.1.1.2.2.2  bouyer 
   9577  1.1.1.2.2.2  bouyer Several enhancements have been made to the interpreter to both
   9578  1.1.1.2.2.2  bouyer reduce the code size and improve performance.
   9579  1.1.1.2.2.2  bouyer 
   9580  1.1.1.2.2.2  bouyer Current core subsystem library code sizes are shown below.  These
   9581  1.1.1.2.2.2  bouyer are the code and data sizes for the acpica.lib produced by the
   9582  1.1.1.2.2.2  bouyer Microsoft Visual C++ 6.0 compiler, and these values do not include
   9583  1.1.1.2.2.2  bouyer any ACPI driver or OSPM code.  The debug version of the code
   9584  1.1.1.2.2.2  bouyer includes the full debug trace mechanism which contains over 700
   9585  1.1.1.2.2.2  bouyer invocations of the DEBUG_PRINT macro, 500 function entry macro
   9586  1.1.1.2.2.2  bouyer invocations, and over 900 function exit macro invocations --
   9587  1.1.1.2.2.2  bouyer leading to a much larger code and data size.  Note that these
   9588  1.1.1.2.2.2  bouyer values will vary depending on the efficiency of the compiler and
   9589  1.1.1.2.2.2  bouyer the compiler options used during generation.
   9590  1.1.1.2.2.2  bouyer 
   9591  1.1.1.2.2.2  bouyer         Non-Debug Version:  64K Code,   5K Data,   69K Total
   9592  1.1.1.2.2.2  bouyer Debug Version:     137K Code,  58K Data,  195K Total
   9593  1.1.1.2.2.2  bouyer 
   9594  1.1.1.2.2.2  bouyer  Linux:
   9595  1.1.1.2.2.2  bouyer 
   9596  1.1.1.2.2.2  bouyer Implemented wbinvd() macro, pending a kernel-wide definition.
   9597  1.1.1.2.2.2  bouyer 
   9598  1.1.1.2.2.2  bouyer Fixed /proc/acpi/event to handle poll() and short reads.
   9599  1.1.1.2.2.2  bouyer 
   9600  1.1.1.2.2.2  bouyer  ASL Compiler, version X2026:
   9601  1.1.1.2.2.2  bouyer 
   9602  1.1.1.2.2.2  bouyer Fixed a problem introduced in the previous label where the AML
   9603  1.1.1.2.2.2  bouyer 
   9604  1.1.1.2.2.2  bouyer code emitted for package objects produced packages with zero
   9605  1.1.1.2.2.2  bouyer length.
   9606  1.1.1.2.2.2  bouyer 
   9607  1.1.1.2.2.2  bouyer  ----------------------------------------
   9608  1.1.1.2.2.2  bouyer Summary of changes for this label: 08_16_01
   9609  1.1.1.2.2.2  bouyer 
   9610  1.1.1.2.2.2  bouyer ACPI CA Core Subsystem:
   9611  1.1.1.2.2.2  bouyer 
   9612  1.1.1.2.2.2  bouyer The following ACPI 2.0 ASL operators have been implemented in the
   9613  1.1.1.2.2.2  bouyer AML interpreter (These are already supported by the Intel ASL
   9614  1.1.1.2.2.2  bouyer compiler):  ToDecimalString, ToHexString, ToString, ToInteger, and
   9615  1.1.1.2.2.2  bouyer ToBuffer.  Support for 64-bit AML constants is implemented in the
   9616  1.1.1.2.2.2  bouyer AML parser, debugger, and disassembler.
   9617  1.1.1.2.2.2  bouyer 
   9618  1.1.1.2.2.2  bouyer The internal memory tracking mechanism (leak detection code) has
   9619  1.1.1.2.2.2  bouyer been upgraded to reduce the memory overhead (a separate tracking
   9620  1.1.1.2.2.2  bouyer block is no longer allocated for each memory allocation), and now
   9621  1.1.1.2.2.2  bouyer supports all of the internal object caches.
   9622  1.1.1.2.2.2  bouyer 
   9623  1.1.1.2.2.2  bouyer The data structures and code for the internal object caches have
   9624  1.1.1.2.2.2  bouyer been coelesced and optimized so that there is a single cache and
   9625  1.1.1.2.2.2  bouyer memory list data structure and a single group of functions that
   9626  1.1.1.2.2.2  bouyer implement generic cache management.  This has reduced the code
   9627  1.1.1.2.2.2  bouyer size in both the debug and release versions of the subsystem.
   9628  1.1.1.2.2.2  bouyer 
   9629  1.1.1.2.2.2  bouyer The DEBUG_PRINT macro(s) have been optimized for size and replaced
   9630  1.1.1.2.2.2  bouyer by ACPI_DEBUG_PRINT.  The syntax for this macro is slightly
   9631  1.1.1.2.2.2  bouyer different, because it generates a single call to an internal
   9632  1.1.1.2.2.2  bouyer function.  This results in a savings of about 90 bytes per
   9633  1.1.1.2.2.2  bouyer invocation, resulting in an overall code and data savings of about
   9634  1.1.1.2.2.2  bouyer 16% in the debug version of the subsystem.
   9635  1.1.1.2.2.2  bouyer 
   9636  1.1.1.2.2.2  bouyer  Linux:
   9637  1.1.1.2.2.2  bouyer 
   9638  1.1.1.2.2.2  bouyer Fixed C3 disk corruption problems and re-enabled C3 on supporting
   9639  1.1.1.2.2.2  bouyer machines.
   9640  1.1.1.2.2.2  bouyer 
   9641  1.1.1.2.2.2  bouyer Integrated low-level sleep code by Patrick Mochel.
   9642  1.1.1.2.2.2  bouyer 
   9643  1.1.1.2.2.2  bouyer Further tweaked source code Linuxization.
   9644  1.1.1.2.2.2  bouyer 
   9645  1.1.1.2.2.2  bouyer Other minor fixes.
   9646  1.1.1.2.2.2  bouyer 
   9647  1.1.1.2.2.2  bouyer  ASL Compiler:
   9648  1.1.1.2.2.2  bouyer 
   9649  1.1.1.2.2.2  bouyer Support for ACPI 2.0 variable length packages is fixed/completed.
   9650  1.1.1.2.2.2  bouyer 
   9651  1.1.1.2.2.2  bouyer Fixed a problem where the optional length parameter for the ACPI
   9652  1.1.1.2.2.2  bouyer 2.0 ToString operator.
   9653  1.1.1.2.2.2  bouyer 
   9654  1.1.1.2.2.2  bouyer Fixed multiple extraneous error messages when a syntax error is
   9655  1.1.1.2.2.2  bouyer detected within the declaration line of a control method.
   9656  1.1.1.2.2.2  bouyer 
   9657  1.1.1.2.2.2  bouyer  ----------------------------------------
   9658  1.1.1.2.2.2  bouyer Summary of changes for this label: 07_17_01
   9659  1.1.1.2.2.2  bouyer 
   9660  1.1.1.2.2.2  bouyer ACPI CA Core Subsystem:
   9661  1.1.1.2.2.2  bouyer 
   9662  1.1.1.2.2.2  bouyer Added a new interface named AcpiGetFirmwareTable to obtain any
   9663  1.1.1.2.2.2  bouyer ACPI table via the ACPI signature.  The interface can be called at
   9664  1.1.1.2.2.2  bouyer any time during kernel initialization, even before the kernel
   9665  1.1.1.2.2.2  bouyer virtual memory manager is initialized and paging is enabled.  This
   9666  1.1.1.2.2.2  bouyer allows kernel subsystems to obtain ACPI tables very early, even
   9667  1.1.1.2.2.2  bouyer before the ACPI CA subsystem is initialized.
   9668  1.1.1.2.2.2  bouyer 
   9669  1.1.1.2.2.2  bouyer Fixed a problem where Fields defined with the AnyAcc attribute
   9670  1.1.1.2.2.2  bouyer could be resolved to the incorrect address under the following
   9671  1.1.1.2.2.2  bouyer conditions: 1) the field width is larger than 8 bits and 2) the
   9672  1.1.1.2.2.2  bouyer parent operation region is not defined on a DWORD boundary.
   9673  1.1.1.2.2.2  bouyer 
   9674  1.1.1.2.2.2  bouyer Fixed a problem where the interpreter is not being locked during
   9675  1.1.1.2.2.2  bouyer namespace initialization (during execution of the _INI control
   9676  1.1.1.2.2.2  bouyer methods), causing an error when an attempt is made to release it
   9677  1.1.1.2.2.2  bouyer later.
   9678  1.1.1.2.2.2  bouyer 
   9679  1.1.1.2.2.2  bouyer ACPI 2.0 support in the AML Interpreter has begun and will be
   9680  1.1.1.2.2.2  bouyer ongoing throughout the rest of this year.  In this label, The Mod
   9681  1.1.1.2.2.2  bouyer operator is implemented.
   9682  1.1.1.2.2.2  bouyer 
   9683  1.1.1.2.2.2  bouyer Added a new data type to contain full PCI addresses named
   9684  1.1.1.2.2.2  bouyer ACPI_PCI_ID. This structure contains the PCI Segment, Bus, Device,
   9685  1.1.1.2.2.2  bouyer and Function values.
   9686  1.1.1.2.2.2  bouyer 
   9687  1.1.1.2.2.2  bouyer  Linux:
   9688  1.1.1.2.2.2  bouyer 
   9689  1.1.1.2.2.2  bouyer Enhanced the Linux version of the source code to change most
   9690  1.1.1.2.2.2  bouyer capitalized ACPI type names to lowercase. For example, all
   9691  1.1.1.2.2.2  bouyer instances of ACPI_STATUS are changed to acpi_status.  This will
   9692  1.1.1.2.2.2  bouyer result in a large diff, but the change is strictly cosmetic and
   9693  1.1.1.2.2.2  bouyer aligns the CA code closer to the Linux coding standard.
   9694  1.1.1.2.2.2  bouyer 
   9695  1.1.1.2.2.2  bouyer OSL Interfaces:
   9696  1.1.1.2.2.2  bouyer 
   9697  1.1.1.2.2.2  bouyer The interfaces to the PCI configuration space have been changed to
   9698  1.1.1.2.2.2  bouyer add the PCI Segment number and to split the single 32-bit combined
   9699  1.1.1.2.2.2  bouyer DeviceFunction field into two 16-bit fields.  This was
   9700  1.1.1.2.2.2  bouyer accomplished by moving the four values that define an address in
   9701  1.1.1.2.2.2  bouyer PCI configuration space (segment, bus, device, and function) to
   9702  1.1.1.2.2.2  bouyer the new ACPI_PCI_ID structure.
   9703  1.1.1.2.2.2  bouyer 
   9704  1.1.1.2.2.2  bouyer The changes to the PCI configuration space interfaces led to a
   9705  1.1.1.2.2.2  bouyer reexamination of the complete set of address space access
   9706  1.1.1.2.2.2  bouyer interfaces for PCI, I/O, and Memory.  The previously existing 18
   9707  1.1.1.2.2.2  bouyer interfaces have proven difficult to maintain (any small change
   9708  1.1.1.2.2.2  bouyer must be propagated across at least 6 interfaces) and do not easily
   9709  1.1.1.2.2.2  bouyer allow for future expansion to 64 bits if necessary.  Also, on some
   9710  1.1.1.2.2.2  bouyer systems, it would not be appropriate to demultiplex the access
   9711  1.1.1.2.2.2  bouyer width (8, 16, 32,or 64) before calling the OSL if the
   9712  1.1.1.2.2.2  bouyer corresponding native OS interfaces contain a similar access width
   9713  1.1.1.2.2.2  bouyer parameter.  For these reasons, the 18 address space interfaces
   9714  1.1.1.2.2.2  bouyer have been replaced by these 6 new ones:
   9715  1.1.1.2.2.2  bouyer 
   9716  1.1.1.2.2.2  bouyer AcpiOsReadPciConfiguration
   9717  1.1.1.2.2.2  bouyer AcpiOsWritePciConfiguration
   9718  1.1.1.2.2.2  bouyer AcpiOsReadMemory
   9719  1.1.1.2.2.2  bouyer AcpiOsWriteMemory
   9720  1.1.1.2.2.2  bouyer AcpiOsReadPort
   9721  1.1.1.2.2.2  bouyer AcpiOsWritePort
   9722  1.1.1.2.2.2  bouyer 
   9723  1.1.1.2.2.2  bouyer Added a new interface named AcpiOsGetRootPointer to allow the OSL
   9724  1.1.1.2.2.2  bouyer to perform the platform and/or OS-specific actions necessary to
   9725  1.1.1.2.2.2  bouyer obtain the ACPI RSDP table pointer.  On IA-32 platforms, this
   9726  1.1.1.2.2.2  bouyer interface will simply call down to the CA core to perform the low-
   9727  1.1.1.2.2.2  bouyer memory search for the table.  On IA-64, the RSDP is obtained from
   9728  1.1.1.2.2.2  bouyer EFI.  Migrating this interface to the OSL allows the CA core to
   9729  1.1.1.2.2.2  bouyer 
   9730  1.1.1.2.2.2  bouyer remain OS and platform independent.
   9731  1.1.1.2.2.2  bouyer 
   9732  1.1.1.2.2.2  bouyer Added a new interface named AcpiOsSignal to provide a generic
   9733  1.1.1.2.2.2  bouyer "function code and pointer" interface for various miscellaneous
   9734  1.1.1.2.2.2  bouyer signals and notifications that must be made to the host OS.   The
   9735  1.1.1.2.2.2  bouyer first such signals are intended to support the ASL Fatal and
   9736  1.1.1.2.2.2  bouyer Breakpoint operators.  In the latter case, the AcpiOsBreakpoint
   9737  1.1.1.2.2.2  bouyer interface has been obsoleted.
   9738  1.1.1.2.2.2  bouyer 
   9739  1.1.1.2.2.2  bouyer The definition of the AcpiFormatException interface has been
   9740  1.1.1.2.2.2  bouyer changed to simplify its use.  The caller no longer must supply a
   9741  1.1.1.2.2.2  bouyer buffer to the call; A pointer to a const string is now returned
   9742  1.1.1.2.2.2  bouyer directly.  This allows the call to be easily used in printf
   9743  1.1.1.2.2.2  bouyer statements, etc. since the caller does not have to manage a local
   9744  1.1.1.2.2.2  bouyer buffer.
   9745  1.1.1.2.2.2  bouyer 
   9746  1.1.1.2.2.2  bouyer 
   9747  1.1.1.2.2.2  bouyer  ASL Compiler, Version X2025:
   9748  1.1.1.2.2.2  bouyer 
   9749  1.1.1.2.2.2  bouyer The ACPI 2.0 Switch/Case/Default operators have been implemented
   9750  1.1.1.2.2.2  bouyer and are fully functional.  They will work with all ACPI 1.0
   9751  1.1.1.2.2.2  bouyer interpreters, since the operators are simply translated to If/Else
   9752  1.1.1.2.2.2  bouyer pairs.
   9753  1.1.1.2.2.2  bouyer 
   9754  1.1.1.2.2.2  bouyer The ACPI 2.0 ElseIf operator is implemented and will also work
   9755  1.1.1.2.2.2  bouyer with 1.0 interpreters, for the same reason.
   9756  1.1.1.2.2.2  bouyer 
   9757  1.1.1.2.2.2  bouyer Implemented support for ACPI 2.0 variable-length packages.  These
   9758  1.1.1.2.2.2  bouyer packages have a separate opcode, and their size is determined by
   9759  1.1.1.2.2.2  bouyer the interpreter at run-time.
   9760  1.1.1.2.2.2  bouyer 
   9761  1.1.1.2.2.2  bouyer Documentation The ACPI CA Programmer Reference has been updated to
   9762  1.1.1.2.2.2  bouyer reflect the new interfaces and changes to existing interfaces.
   9763  1.1.1.2.2.2  bouyer 
   9764  1.1.1.2.2.2  bouyer  ------------------------------------------
   9765  1.1.1.2.2.2  bouyer Summary of changes for this label: 06_15_01
   9766  1.1.1.2.2.2  bouyer 
   9767  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9768  1.1.1.2.2.2  bouyer 
   9769  1.1.1.2.2.2  bouyer Fixed a problem where a DWORD-accessed field within a Buffer
   9770  1.1.1.2.2.2  bouyer object would get its byte address inadvertently rounded down to
   9771  1.1.1.2.2.2  bouyer the nearest DWORD.  Buffers are always Byte-accessible.
   9772  1.1.1.2.2.2  bouyer 
   9773  1.1.1.2.2.2  bouyer  ASL Compiler, version X2024:
   9774  1.1.1.2.2.2  bouyer 
   9775  1.1.1.2.2.2  bouyer Fixed a problem where the Switch() operator would either fault or
   9776  1.1.1.2.2.2  bouyer hang the compiler.  Note however, that the AML code for this ACPI
   9777  1.1.1.2.2.2  bouyer 2.0 operator is not yet implemented.
   9778  1.1.1.2.2.2  bouyer 
   9779  1.1.1.2.2.2  bouyer Compiler uses the new AcpiOsGetTimer interface to obtain compile
   9780  1.1.1.2.2.2  bouyer timings.
   9781  1.1.1.2.2.2  bouyer 
   9782  1.1.1.2.2.2  bouyer Implementation of the CreateField operator automatically converts
   9783  1.1.1.2.2.2  bouyer a reference to a named field within a resource descriptor from a
   9784  1.1.1.2.2.2  bouyer byte offset to a bit offset if required.
   9785  1.1.1.2.2.2  bouyer 
   9786  1.1.1.2.2.2  bouyer Added some missing named fields from the resource descriptor
   9787  1.1.1.2.2.2  bouyer support. These are the names that are automatically created by the
   9788  1.1.1.2.2.2  bouyer compiler to reference fields within a descriptor.  They are only
   9789  1.1.1.2.2.2  bouyer valid at compile time and are not passed through to the AML
   9790  1.1.1.2.2.2  bouyer interpreter.
   9791  1.1.1.2.2.2  bouyer 
   9792  1.1.1.2.2.2  bouyer Resource descriptor named fields are now typed as Integers and
   9793  1.1.1.2.2.2  bouyer subject to compile-time typechecking when used in expressions.
   9794  1.1.1.2.2.2  bouyer 
   9795  1.1.1.2.2.2  bouyer  ------------------------------------------
   9796  1.1.1.2.2.2  bouyer Summary of changes for this label: 05_18_01
   9797  1.1.1.2.2.2  bouyer 
   9798  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9799  1.1.1.2.2.2  bouyer 
   9800  1.1.1.2.2.2  bouyer Fixed a couple of problems in the Field support code where bits
   9801  1.1.1.2.2.2  bouyer from adjacent fields could be returned along with the proper field
   9802  1.1.1.2.2.2  bouyer bits. Restructured the field support code to improve performance,
   9803  1.1.1.2.2.2  bouyer readability and maintainability.
   9804  1.1.1.2.2.2  bouyer 
   9805  1.1.1.2.2.2  bouyer New DEBUG_PRINTP macro automatically inserts the procedure name
   9806  1.1.1.2.2.2  bouyer into the output, saving hundreds of copies of procedure name
   9807  1.1.1.2.2.2  bouyer strings within the source, shrinking the memory footprint of the
   9808  1.1.1.2.2.2  bouyer debug version of the core subsystem.
   9809  1.1.1.2.2.2  bouyer 
   9810  1.1.1.2.2.2  bouyer  Source Code Structure:
   9811  1.1.1.2.2.2  bouyer 
   9812  1.1.1.2.2.2  bouyer The source code directory tree was restructured to reflect the
   9813  1.1.1.2.2.2  bouyer current organization of the component architecture.  Some files
   9814  1.1.1.2.2.2  bouyer and directories have been moved and/or renamed.
   9815  1.1.1.2.2.2  bouyer 
   9816  1.1.1.2.2.2  bouyer  Linux:
   9817  1.1.1.2.2.2  bouyer 
   9818  1.1.1.2.2.2  bouyer Fixed leaking kacpidpc processes.
   9819  1.1.1.2.2.2  bouyer 
   9820  1.1.1.2.2.2  bouyer Fixed queueing event data even when /proc/acpi/event is not
   9821  1.1.1.2.2.2  bouyer opened.
   9822  1.1.1.2.2.2  bouyer 
   9823  1.1.1.2.2.2  bouyer  ASL Compiler, version X2020:
   9824  1.1.1.2.2.2  bouyer 
   9825  1.1.1.2.2.2  bouyer Memory allocation performance enhancement - over 24X compile time
   9826  1.1.1.2.2.2  bouyer improvement on large ASL files.  Parse nodes and namestring
   9827  1.1.1.2.2.2  bouyer buffers are now allocated from a large internal compiler buffer.
   9828  1.1.1.2.2.2  bouyer 
   9829  1.1.1.2.2.2  bouyer The temporary .SRC file is deleted unless the "-s" option is
   9830  1.1.1.2.2.2  bouyer specified
   9831  1.1.1.2.2.2  bouyer 
   9832  1.1.1.2.2.2  bouyer The "-d" debug output option now sends all output to the .DBG file
   9833  1.1.1.2.2.2  bouyer instead of the console.
   9834  1.1.1.2.2.2  bouyer 
   9835  1.1.1.2.2.2  bouyer "External" second parameter is now optional
   9836  1.1.1.2.2.2  bouyer 
   9837  1.1.1.2.2.2  bouyer "ElseIf" syntax now properly allows the predicate
   9838  1.1.1.2.2.2  bouyer 
   9839  1.1.1.2.2.2  bouyer Last operand to "Load" now recognized as a Target operand
   9840  1.1.1.2.2.2  bouyer 
   9841  1.1.1.2.2.2  bouyer Debug object can now be used anywhere as a normal object.
   9842  1.1.1.2.2.2  bouyer 
   9843  1.1.1.2.2.2  bouyer ResourceTemplate now returns an object of type BUFFER
   9844  1.1.1.2.2.2  bouyer 
   9845  1.1.1.2.2.2  bouyer EISAID now returns an object of type INTEGER
   9846  1.1.1.2.2.2  bouyer 
   9847  1.1.1.2.2.2  bouyer "Index" now works with a STRING operand
   9848  1.1.1.2.2.2  bouyer 
   9849  1.1.1.2.2.2  bouyer "LoadTable" now accepts optional parameters
   9850  1.1.1.2.2.2  bouyer 
   9851  1.1.1.2.2.2  bouyer "ToString" length parameter is now optional
   9852  1.1.1.2.2.2  bouyer 
   9853  1.1.1.2.2.2  bouyer "Interrupt (ResourceType," parse error fixed.
   9854  1.1.1.2.2.2  bouyer 
   9855  1.1.1.2.2.2  bouyer "Register" with a user-defined region space parse error fixed
   9856  1.1.1.2.2.2  bouyer 
   9857  1.1.1.2.2.2  bouyer Escaped backslash at the end of a string ("\\") scan/parse error
   9858  1.1.1.2.2.2  bouyer fixed
   9859  1.1.1.2.2.2  bouyer 
   9860  1.1.1.2.2.2  bouyer "Revision" is now an object of type INTEGER.
   9861  1.1.1.2.2.2  bouyer 
   9862  1.1.1.2.2.2  bouyer 
   9863  1.1.1.2.2.2  bouyer 
   9864  1.1.1.2.2.2  bouyer ------------------------------------------
   9865  1.1.1.2.2.2  bouyer Summary of changes for this label: 05_02_01
   9866  1.1.1.2.2.2  bouyer 
   9867  1.1.1.2.2.2  bouyer Linux:
   9868  1.1.1.2.2.2  bouyer 
   9869  1.1.1.2.2.2  bouyer /proc/acpi/event now blocks properly.
   9870  1.1.1.2.2.2  bouyer 
   9871  1.1.1.2.2.2  bouyer Removed /proc/sys/acpi. You can still dump your DSDT from
   9872  1.1.1.2.2.2  bouyer /proc/acpi/dsdt.
   9873  1.1.1.2.2.2  bouyer 
   9874  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9875  1.1.1.2.2.2  bouyer 
   9876  1.1.1.2.2.2  bouyer Fixed a problem introduced in the previous label where some of the
   9877  1.1.1.2.2.2  bouyer "small" resource descriptor types were not recognized.
   9878  1.1.1.2.2.2  bouyer 
   9879  1.1.1.2.2.2  bouyer Improved error messages for the case where an ASL Field is outside
   9880  1.1.1.2.2.2  bouyer the range of the parent operation region.
   9881  1.1.1.2.2.2  bouyer 
   9882  1.1.1.2.2.2  bouyer  ASL Compiler, version X2018:
   9883  1.1.1.2.2.2  bouyer 
   9884  1.1.1.2.2.2  bouyer 
   9885  1.1.1.2.2.2  bouyer Added error detection for ASL Fields that extend beyond the length
   9886  1.1.1.2.2.2  bouyer of the parent operation region (only if the length of the region
   9887  1.1.1.2.2.2  bouyer is known at compile time.)  This includes fields that have a
   9888  1.1.1.2.2.2  bouyer minimum access width that is smaller than the parent region, and
   9889  1.1.1.2.2.2  bouyer individual field units that are partially or entirely beyond the
   9890  1.1.1.2.2.2  bouyer extent of the parent.
   9891  1.1.1.2.2.2  bouyer 
   9892  1.1.1.2.2.2  bouyer 
   9893  1.1.1.2.2.2  bouyer 
   9894  1.1.1.2.2.2  bouyer ------------------------------------------
   9895  1.1.1.2.2.2  bouyer Summary of changes for this label: 04_27_01
   9896  1.1.1.2.2.2  bouyer 
   9897  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9898  1.1.1.2.2.2  bouyer 
   9899  1.1.1.2.2.2  bouyer Fixed a problem where the namespace mutex could be released at the
   9900  1.1.1.2.2.2  bouyer wrong time during execution of AcpiRemoveAddressSpaceHandler.
   9901  1.1.1.2.2.2  bouyer 
   9902  1.1.1.2.2.2  bouyer Added optional thread ID output for debug traces, to simplify
   9903  1.1.1.2.2.2  bouyer debugging of multiple threads.  Added context switch notification
   9904  1.1.1.2.2.2  bouyer when the debug code realizes that a different thread is now
   9905  1.1.1.2.2.2  bouyer executing ACPI code.
   9906  1.1.1.2.2.2  bouyer 
   9907  1.1.1.2.2.2  bouyer Some additional external data types have been prefixed with the
   9908  1.1.1.2.2.2  bouyer string "ACPI_" for consistency.  This may effect existing code.
   9909  1.1.1.2.2.2  bouyer The data types affected are the external callback typedefs - e.g.,
   9910  1.1.1.2.2.2  bouyer 
   9911  1.1.1.2.2.2  bouyer WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
   9912  1.1.1.2.2.2  bouyer 
   9913  1.1.1.2.2.2  bouyer  Linux:
   9914  1.1.1.2.2.2  bouyer 
   9915  1.1.1.2.2.2  bouyer Fixed an issue with the OSL semaphore implementation where a
   9916  1.1.1.2.2.2  bouyer thread was waking up with an error from receiving a SIGCHLD
   9917  1.1.1.2.2.2  bouyer signal.
   9918  1.1.1.2.2.2  bouyer 
   9919  1.1.1.2.2.2  bouyer Linux version of ACPI CA now uses the system C library for string
   9920  1.1.1.2.2.2  bouyer manipulation routines instead of a local implementation.
   9921  1.1.1.2.2.2  bouyer 
   9922  1.1.1.2.2.2  bouyer Cleaned up comments and removed TBDs.
   9923  1.1.1.2.2.2  bouyer 
   9924  1.1.1.2.2.2  bouyer  ASL Compiler, version X2017:
   9925  1.1.1.2.2.2  bouyer 
   9926  1.1.1.2.2.2  bouyer Enhanced error detection and reporting for all file I/O
   9927  1.1.1.2.2.2  bouyer operations.
   9928  1.1.1.2.2.2  bouyer 
   9929  1.1.1.2.2.2  bouyer  Documentation:
   9930  1.1.1.2.2.2  bouyer 
   9931  1.1.1.2.2.2  bouyer Programmer Reference updated to version 1.06.
   9932  1.1.1.2.2.2  bouyer 
   9933  1.1.1.2.2.2  bouyer 
   9934  1.1.1.2.2.2  bouyer 
   9935  1.1.1.2.2.2  bouyer ------------------------------------------
   9936  1.1.1.2.2.2  bouyer Summary of changes for this label: 04_13_01
   9937  1.1.1.2.2.2  bouyer 
   9938  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9939  1.1.1.2.2.2  bouyer 
   9940  1.1.1.2.2.2  bouyer Restructured support for BufferFields and RegionFields.
   9941  1.1.1.2.2.2  bouyer BankFields support is now fully operational.  All known 32-bit
   9942  1.1.1.2.2.2  bouyer limitations on field sizes have been removed.  Both BufferFields
   9943  1.1.1.2.2.2  bouyer and (Operation) RegionFields are now supported by the same field
   9944  1.1.1.2.2.2  bouyer management code.
   9945  1.1.1.2.2.2  bouyer 
   9946  1.1.1.2.2.2  bouyer Resource support now supports QWORD address and IO resources. The
   9947  1.1.1.2.2.2  bouyer 16/32/64 bit address structures and the Extended IRQ structure
   9948  1.1.1.2.2.2  bouyer have been changed to properly handle Source Resource strings.
   9949  1.1.1.2.2.2  bouyer 
   9950  1.1.1.2.2.2  bouyer A ThreadId of -1 is now used to indicate a "mutex not acquired"
   9951  1.1.1.2.2.2  bouyer condition internally and must never be returned by AcpiOsThreadId.
   9952  1.1.1.2.2.2  bouyer This reserved value was changed from 0 since Unix systems allow a
   9953  1.1.1.2.2.2  bouyer thread ID of 0.
   9954  1.1.1.2.2.2  bouyer 
   9955  1.1.1.2.2.2  bouyer Linux:
   9956  1.1.1.2.2.2  bouyer 
   9957  1.1.1.2.2.2  bouyer Driver code reorganized to enhance portability
   9958  1.1.1.2.2.2  bouyer 
   9959  1.1.1.2.2.2  bouyer Added a kernel configuration option to control ACPI_DEBUG
   9960  1.1.1.2.2.2  bouyer 
   9961  1.1.1.2.2.2  bouyer Fixed the EC driver to honor _GLK.
   9962  1.1.1.2.2.2  bouyer 
   9963  1.1.1.2.2.2  bouyer ASL Compiler, version X2016:
   9964  1.1.1.2.2.2  bouyer 
   9965  1.1.1.2.2.2  bouyer Fixed support for the "FixedHw" keyword.  Previously, the FixedHw
   9966  1.1.1.2.2.2  bouyer address space was set to 0, not 0x7f as it should be.
   9967  1.1.1.2.2.2  bouyer 
   9968  1.1.1.2.2.2  bouyer  ------------------------------------------
   9969  1.1.1.2.2.2  bouyer Summary of changes for this label: 03_13_01
   9970  1.1.1.2.2.2  bouyer 
   9971  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   9972  1.1.1.2.2.2  bouyer 
   9973  1.1.1.2.2.2  bouyer During ACPI initialization, the _SB_._INI method is now run if
   9974  1.1.1.2.2.2  bouyer present.
   9975  1.1.1.2.2.2  bouyer 
   9976  1.1.1.2.2.2  bouyer Notify handler fix - notifies are deferred until the parent method
   9977  1.1.1.2.2.2  bouyer completes execution.  This fixes the "mutex already acquired"
   9978  1.1.1.2.2.2  bouyer issue seen occasionally.
   9979  1.1.1.2.2.2  bouyer 
   9980  1.1.1.2.2.2  bouyer Part of the "implicit conversion" rules in ACPI 2.0 have been
   9981  1.1.1.2.2.2  bouyer found to cause compatibility problems with existing ASL/AML.  The
   9982  1.1.1.2.2.2  bouyer convert "result-to-target-type" implementation has been removed
   9983  1.1.1.2.2.2  bouyer for stores to method Args and Locals.  Source operand conversion
   9984  1.1.1.2.2.2  bouyer is still fully implemented.  Possible changes to ACPI 2.0
   9985  1.1.1.2.2.2  bouyer specification pending.
   9986  1.1.1.2.2.2  bouyer 
   9987  1.1.1.2.2.2  bouyer Fix to AcpiRsCalculatePciRoutingTableLength to return correct
   9988  1.1.1.2.2.2  bouyer length.
   9989  1.1.1.2.2.2  bouyer 
   9990  1.1.1.2.2.2  bouyer Fix for compiler warnings for 64-bit compiles.
   9991  1.1.1.2.2.2  bouyer 
   9992  1.1.1.2.2.2  bouyer  Linux:
   9993  1.1.1.2.2.2  bouyer 
   9994  1.1.1.2.2.2  bouyer /proc output aligned for easier parsing.
   9995  1.1.1.2.2.2  bouyer 
   9996  1.1.1.2.2.2  bouyer Release-version compile problem fixed.
   9997  1.1.1.2.2.2  bouyer 
   9998  1.1.1.2.2.2  bouyer New kernel configuration options documented in Configure.help.
   9999  1.1.1.2.2.2  bouyer 
   10000  1.1.1.2.2.2  bouyer IBM 600E - Fixed Sleep button may generate "Invalid <NULL>
   10001  1.1.1.2.2.2  bouyer context" message.
   10002  1.1.1.2.2.2  bouyer 
   10003  1.1.1.2.2.2  bouyer  OSPM:
   10004  1.1.1.2.2.2  bouyer 
   10005  1.1.1.2.2.2  bouyer Power resource driver integrated with bus manager.
   10006  1.1.1.2.2.2  bouyer 
   10007  1.1.1.2.2.2  bouyer Fixed kernel fault during active cooling for thermal zones.
   10008  1.1.1.2.2.2  bouyer 
   10009  1.1.1.2.2.2  bouyer Source Code:
   10010  1.1.1.2.2.2  bouyer 
   10011  1.1.1.2.2.2  bouyer The source code tree has been restructured.
   10012  1.1.1.2.2.2  bouyer 
   10013  1.1.1.2.2.2  bouyer 
   10014  1.1.1.2.2.2  bouyer 
   10015  1.1.1.2.2.2  bouyer ------------------------------------------
   10016  1.1.1.2.2.2  bouyer Summary of changes for this label: 03_02_01
   10017  1.1.1.2.2.2  bouyer 
   10018  1.1.1.2.2.2  bouyer  Linux OS Services Layer (OSL):
   10019  1.1.1.2.2.2  bouyer 
   10020  1.1.1.2.2.2  bouyer Major revision of all Linux-specific code.
   10021  1.1.1.2.2.2  bouyer 
   10022  1.1.1.2.2.2  bouyer Modularized all ACPI-specific drivers.
   10023  1.1.1.2.2.2  bouyer 
   10024  1.1.1.2.2.2  bouyer Added new thermal zone and power resource drivers.
   10025  1.1.1.2.2.2  bouyer 
   10026  1.1.1.2.2.2  bouyer Revamped /proc interface (new functionality is under /proc/acpi).
   10027  1.1.1.2.2.2  bouyer 
   10028  1.1.1.2.2.2  bouyer New kernel configuration options.
   10029  1.1.1.2.2.2  bouyer 
   10030  1.1.1.2.2.2  bouyer  Linux known issues:
   10031  1.1.1.2.2.2  bouyer 
   10032  1.1.1.2.2.2  bouyer New kernel configuration options not documented in Configure.help
   10033  1.1.1.2.2.2  bouyer yet.
   10034  1.1.1.2.2.2  bouyer 
   10035  1.1.1.2.2.2  bouyer 
   10036  1.1.1.2.2.2  bouyer Module dependencies not currently implemented. If used, they
   10037  1.1.1.2.2.2  bouyer should be loaded in this order: busmgr, power, ec, system,
   10038  1.1.1.2.2.2  bouyer processor, battery, ac_adapter, button, thermal.
   10039  1.1.1.2.2.2  bouyer 
   10040  1.1.1.2.2.2  bouyer Modules will not load if CONFIG_MODVERSION is set.
   10041  1.1.1.2.2.2  bouyer 
   10042  1.1.1.2.2.2  bouyer IBM 600E - entering S5 may reboot instead of shutting down.
   10043  1.1.1.2.2.2  bouyer 
   10044  1.1.1.2.2.2  bouyer IBM 600E - Sleep button may generate "Invalid <NULL> context"
   10045  1.1.1.2.2.2  bouyer message.
   10046  1.1.1.2.2.2  bouyer 
   10047  1.1.1.2.2.2  bouyer Some systems may fail with "execution mutex already acquired"
   10048  1.1.1.2.2.2  bouyer message.
   10049  1.1.1.2.2.2  bouyer 
   10050  1.1.1.2.2.2  bouyer  ACPI CA Core Subsystem:
   10051  1.1.1.2.2.2  bouyer 
   10052  1.1.1.2.2.2  bouyer Added a new OSL Interface, AcpiOsGetThreadId.  This was required
   10053  1.1.1.2.2.2  bouyer for the  deadlock detection code. Defined to return a non-zero, 32-
   10054  1.1.1.2.2.2  bouyer bit thread ID for the currently executing thread.  May be a non-
   10055  1.1.1.2.2.2  bouyer zero constant integer on single-thread systems.
   10056  1.1.1.2.2.2  bouyer 
   10057  1.1.1.2.2.2  bouyer Implemented deadlock detection for internal subsystem mutexes.  We
   10058  1.1.1.2.2.2  bouyer may add conditional compilation for this code (debug only) later.
   10059  1.1.1.2.2.2  bouyer 
   10060  1.1.1.2.2.2  bouyer ASL/AML Mutex object semantics are now fully supported.  This
   10061  1.1.1.2.2.2  bouyer includes multiple acquires/releases by owner and support for the
   10062  1.1.1.2.2.2  bouyer 
   10063  1.1.1.2.2.2  bouyer Mutex SyncLevel parameter.
   10064  1.1.1.2.2.2  bouyer 
   10065  1.1.1.2.2.2  bouyer A new "Force Release" mechanism automatically frees all ASL
   10066  1.1.1.2.2.2  bouyer Mutexes that have been acquired but not released when a thread
   10067  1.1.1.2.2.2  bouyer exits the interpreter.  This forces conformance to the ACPI spec
   10068  1.1.1.2.2.2  bouyer ("All mutexes must be released when an invocation exits") and
   10069  1.1.1.2.2.2  bouyer prevents deadlocked ASL threads.  This mechanism can be expanded
   10070  1.1.1.2.2.2  bouyer (later) to monitor other resource acquisitions if OEM ASL code
   10071  1.1.1.2.2.2  bouyer continues to misbehave (which it will).
   10072  1.1.1.2.2.2  bouyer 
   10073  1.1.1.2.2.2  bouyer Several new ACPI exception codes have been added for the Mutex
   10074  1.1.1.2.2.2  bouyer support.
   10075  1.1.1.2.2.2  bouyer 
   10076  1.1.1.2.2.2  bouyer Recursive method calls are now allowed and supported (the ACPI
   10077  1.1.1.2.2.2  bouyer spec does in fact allow recursive method calls.)  The number of
   10078  1.1.1.2.2.2  bouyer recursive calls is subject to the restrictions imposed by the
   10079  1.1.1.2.2.2  bouyer SERIALIZED method keyword and SyncLevel (ACPI 2.0) method
   10080  1.1.1.2.2.2  bouyer parameter.
   10081  1.1.1.2.2.2  bouyer 
   10082  1.1.1.2.2.2  bouyer Implemented support for the SyncLevel parameter for control
   10083  1.1.1.2.2.2  bouyer methods (ACPI 2.0 feature)
   10084  1.1.1.2.2.2  bouyer 
   10085  1.1.1.2.2.2  bouyer Fixed a deadlock problem when multiple threads attempted to use
   10086  1.1.1.2.2.2  bouyer the interpreter.
   10087  1.1.1.2.2.2  bouyer 
   10088  1.1.1.2.2.2  bouyer Fixed a problem where the string length of a String package
   10089  1.1.1.2.2.2  bouyer element was not always set in a package returned from
   10090  1.1.1.2.2.2  bouyer AcpiEvaluateObject.
   10091  1.1.1.2.2.2  bouyer 
   10092  1.1.1.2.2.2  bouyer Fixed a problem where the length of a String package element was
   10093  1.1.1.2.2.2  bouyer not always included in the length of the overall package returned
   10094  1.1.1.2.2.2  bouyer from AcpiEvaluateObject.
   10095  1.1.1.2.2.2  bouyer 
   10096  1.1.1.2.2.2  bouyer Added external interfaces (Acpi*) to the ACPI debug memory
   10097  1.1.1.2.2.2  bouyer manager.  This manager keeps a list of all outstanding
   10098  1.1.1.2.2.2  bouyer allocations, and can therefore detect memory leaks and attempts to
   10099  1.1.1.2.2.2  bouyer free memory blocks more than once. Useful for code such as the
   10100  1.1.1.2.2.2  bouyer power manager, etc.  May not be appropriate for device drivers.
   10101  1.1.1.2.2.2  bouyer Performance with the debug code enabled is slow.
   10102  1.1.1.2.2.2  bouyer 
   10103  1.1.1.2.2.2  bouyer The ACPI Global Lock is now an optional hardware element.
   10104  1.1.1.2.2.2  bouyer 
   10105  1.1.1.2.2.2  bouyer  ASL Compiler Version X2015:
   10106  1.1.1.2.2.2  bouyer 
   10107  1.1.1.2.2.2  bouyer Integrated changes to allow the compiler to be generated on
   10108  1.1.1.2.2.2  bouyer multiple platforms.
   10109  1.1.1.2.2.2  bouyer 
   10110  1.1.1.2.2.2  bouyer Linux makefile added to generate the compiler on Linux
   10111  1.1.1.2.2.2  bouyer 
   10112  1.1.1.2.2.2  bouyer  Source Code:
   10113  1.1.1.2.2.2  bouyer 
   10114  1.1.1.2.2.2  bouyer All platform-specific headers have been moved to their own
   10115  1.1.1.2.2.2  bouyer subdirectory, Include/Platform.
   10116  1.1.1.2.2.2  bouyer 
   10117  1.1.1.2.2.2  bouyer New source file added, Interpreter/ammutex.c
   10118  1.1.1.2.2.2  bouyer 
   10119  1.1.1.2.2.2  bouyer New header file, Include/acstruct.h
   10120  1.1.1.2.2.2  bouyer 
   10121  1.1.1.2.2.2  bouyer  Documentation:
   10122  1.1.1.2.2.2  bouyer 
   10123  1.1.1.2.2.2  bouyer The programmer reference has been updated for the following new
   10124  1.1.1.2.2.2  bouyer interfaces: AcpiOsGetThreadId AcpiAllocate AcpiCallocate AcpiFree
   10125  1.1.1.2.2.2  bouyer 
   10126  1.1.1.2.2.2  bouyer  ------------------------------------------
   10127  1.1.1.2.2.2  bouyer Summary of changes for this label: 02_08_01
   10128  1.1.1.2.2.2  bouyer 
   10129  1.1.1.2.2.2  bouyer Core ACPI CA Subsystem: Fixed a problem where an error was
   10130  1.1.1.2.2.2  bouyer incorrectly returned if the return resource buffer was larger than
   10131  1.1.1.2.2.2  bouyer the actual data (in the resource interfaces).
   10132  1.1.1.2.2.2  bouyer 
   10133  1.1.1.2.2.2  bouyer References to named objects within packages are resolved to the
   10134  1.1.1.2.2.2  bouyer 
   10135  1.1.1.2.2.2  bouyer full pathname string before packages are returned directly (via
   10136  1.1.1.2.2.2  bouyer the AcpiEvaluateObject interface) or indirectly via the resource
   10137  1.1.1.2.2.2  bouyer interfaces.
   10138  1.1.1.2.2.2  bouyer 
   10139  1.1.1.2.2.2  bouyer Linux OS Services Layer (OSL):
   10140  1.1.1.2.2.2  bouyer 
   10141  1.1.1.2.2.2  bouyer Improved /proc battery interface.
   10142  1.1.1.2.2.2  bouyer 
   10143  1.1.1.2.2.2  bouyer 
   10144  1.1.1.2.2.2  bouyer Added C-state debugging output and other miscellaneous fixes.
   10145  1.1.1.2.2.2  bouyer 
   10146  1.1.1.2.2.2  bouyer ASL Compiler Version X2014:
   10147  1.1.1.2.2.2  bouyer 
   10148  1.1.1.2.2.2  bouyer All defined method arguments can now be used as local variables,
   10149  1.1.1.2.2.2  bouyer including the ones that are not actually passed in as parameters.
   10150  1.1.1.2.2.2  bouyer The compiler tracks initialization of the arguments and issues an
   10151  1.1.1.2.2.2  bouyer exception if they are used without prior assignment (just like
   10152  1.1.1.2.2.2  bouyer locals).
   10153  1.1.1.2.2.2  bouyer 
   10154  1.1.1.2.2.2  bouyer The -o option now specifies a filename prefix that is used for all
   10155  1.1.1.2.2.2  bouyer output files, including the AML output file.  Otherwise, the
   10156  1.1.1.2.2.2  bouyer default behavior is as follows:  1) the AML goes to the file
   10157  1.1.1.2.2.2  bouyer specified in the DSDT.  2) all other output files use the input
   10158  1.1.1.2.2.2  bouyer source filename as the base.
   10159  1.1.1.2.2.2  bouyer 
   10160  1.1.1.2.2.2  bouyer  ------------------------------------------
   10161  1.1.1.2.2.2  bouyer Summary of changes for this label: 01_25_01
   10162  1.1.1.2.2.2  bouyer 
   10163  1.1.1.2.2.2  bouyer Core ACPI CA Subsystem: Restructured the implementation of object
   10164  1.1.1.2.2.2  bouyer store support within the  interpreter.  This includes support for
   10165  1.1.1.2.2.2  bouyer the Store operator as well  as any ASL operators that include a
   10166  1.1.1.2.2.2  bouyer target operand.
   10167  1.1.1.2.2.2  bouyer 
   10168  1.1.1.2.2.2  bouyer Partially implemented support for Implicit Result-to-Target
   10169  1.1.1.2.2.2  bouyer conversion. This is when a result object is converted on the fly
   10170  1.1.1.2.2.2  bouyer to the type of  an existing target object.  Completion of this
   10171  1.1.1.2.2.2  bouyer support is pending  further analysis of the ACPI specification
   10172  1.1.1.2.2.2  bouyer concerning this matter.
   10173  1.1.1.2.2.2  bouyer 
   10174  1.1.1.2.2.2  bouyer CPU-specific code has been removed from the subsystem (hardware
   10175  1.1.1.2.2.2  bouyer directory).
   10176  1.1.1.2.2.2  bouyer 
   10177  1.1.1.2.2.2  bouyer New Power Management Timer functions added
   10178  1.1.1.2.2.2  bouyer 
   10179  1.1.1.2.2.2  bouyer Linux OS Services Layer (OSL): Moved system state transition code
   10180  1.1.1.2.2.2  bouyer to the core, fixed it, and modified  Linux OSL accordingly.
   10181  1.1.1.2.2.2  bouyer 
   10182  1.1.1.2.2.2  bouyer Fixed C2 and C3 latency calculations.
   10183  1.1.1.2.2.2  bouyer 
   10184  1.1.1.2.2.2  bouyer 
   10185  1.1.1.2.2.2  bouyer We no longer use the compilation date for the version message on
   10186  1.1.1.2.2.2  bouyer initialization, but retrieve the version from AcpiGetSystemInfo().
   10187  1.1.1.2.2.2  bouyer 
   10188  1.1.1.2.2.2  bouyer Incorporated for fix Sony VAIO machines.
   10189  1.1.1.2.2.2  bouyer 
   10190  1.1.1.2.2.2  bouyer Documentation:  The Programmer Reference has been updated and
   10191  1.1.1.2.2.2  bouyer reformatted.
   10192  1.1.1.2.2.2  bouyer 
   10193  1.1.1.2.2.2  bouyer 
   10194  1.1.1.2.2.2  bouyer ASL Compiler:  Version X2013: Fixed a problem where the line
   10195  1.1.1.2.2.2  bouyer numbering and error reporting could get out  of sync in the
   10196  1.1.1.2.2.2  bouyer presence of multiple include files.
   10197  1.1.1.2.2.2  bouyer 
   10198  1.1.1.2.2.2  bouyer  ------------------------------------------
   10199  1.1.1.2.2.2  bouyer Summary of changes for this label: 01_15_01
   10200  1.1.1.2.2.2  bouyer 
   10201  1.1.1.2.2.2  bouyer Core ACPI CA Subsystem:
   10202  1.1.1.2.2.2  bouyer 
   10203  1.1.1.2.2.2  bouyer Implemented support for type conversions in the execution of the
   10204  1.1.1.2.2.2  bouyer ASL  Concatenate operator (The second operand is converted to
   10205  1.1.1.2.2.2  bouyer match the type  of the first operand before concatenation.)
   10206  1.1.1.2.2.2  bouyer 
   10207  1.1.1.2.2.2  bouyer Support for implicit source operand conversion is partially
   10208  1.1.1.2.2.2  bouyer implemented.   The ASL source operand types Integer, Buffer, and
   10209  1.1.1.2.2.2  bouyer String are freely  interchangeable for most ASL operators and are
   10210  1.1.1.2.2.2  bouyer converted by the interpreter  on the fly as required.  Implicit
   10211  1.1.1.2.2.2  bouyer Target operand conversion (where the  result is converted to the
   10212  1.1.1.2.2.2  bouyer target type before storing) is not yet implemented.
   10213  1.1.1.2.2.2  bouyer 
   10214  1.1.1.2.2.2  bouyer Support for 32-bit and 64-bit BCD integers is implemented.
   10215  1.1.1.2.2.2  bouyer 
   10216  1.1.1.2.2.2  bouyer Problem fixed where a field read on an aligned field could cause a
   10217  1.1.1.2.2.2  bouyer read  past the end of the field.
   10218  1.1.1.2.2.2  bouyer 
   10219  1.1.1.2.2.2  bouyer New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
   10220  1.1.1.2.2.2  bouyer does not return a value, but the caller expects one.  (The ASL
   10221  1.1.1.2.2.2  bouyer compiler flags this as a warning.)
   10222  1.1.1.2.2.2  bouyer 
   10223  1.1.1.2.2.2  bouyer ASL Compiler:
   10224  1.1.1.2.2.2  bouyer 
   10225  1.1.1.2.2.2  bouyer Version X2011:
   10226  1.1.1.2.2.2  bouyer 1. Static typechecking of all operands is implemented. This
   10227  1.1.1.2.2.2  bouyer prevents the use of invalid objects (such as using a Package where
   10228  1.1.1.2.2.2  bouyer an Integer is required) at compile time instead of at interpreter
   10229  1.1.1.2.2.2  bouyer run-time.
   10230  1.1.1.2.2.2  bouyer 2. The ASL source line is printed with ALL errors and warnings.
   10231  1.1.1.2.2.2  bouyer 3. Bug fix for source EOF without final linefeed.
   10232  1.1.1.2.2.2  bouyer 4. Debug option is split into a parse trace and a namespace trace.
   10233  1.1.1.2.2.2  bouyer 5. Namespace output option (-n) includes initial values for
   10234  1.1.1.2.2.2  bouyer integers and strings.
   10235  1.1.1.2.2.2  bouyer 6. Parse-only option added for quick syntax checking.
   10236  1.1.1.2.2.2  bouyer 7. Compiler checks for duplicate ACPI name declarations
   10237  1.1.1.2.2.2  bouyer 
   10238  1.1.1.2.2.2  bouyer Version X2012:
   10239  1.1.1.2.2.2  bouyer 1. Relaxed typechecking to allow interchangeability between
   10240  1.1.1.2.2.2  bouyer strings, integers, and buffers.  These types are now converted by
   10241  1.1.1.2.2.2  bouyer the interpreter at runtime.
   10242  1.1.1.2.2.2  bouyer 2. Compiler reports time taken by each internal subsystem in the
   10243  1.1.1.2.2.2  bouyer debug         output file.
   10244  1.1.1.2.2.2  bouyer 
   10245  1.1.1.2.2.2  bouyer 
   10246  1.1.1.2.2.2  bouyer  ------------------------------------------
   10247  1.1.1.2.2.2  bouyer Summary of changes for this label: 12_14_00
   10248  1.1.1.2.2.2  bouyer 
   10249  1.1.1.2.2.2  bouyer ASL Compiler:
   10250  1.1.1.2.2.2  bouyer 
   10251  1.1.1.2.2.2  bouyer This is the first official release of the compiler. Since the
   10252  1.1.1.2.2.2  bouyer compiler requires elements of the Core Subsystem, this label
   10253  1.1.1.2.2.2  bouyer synchronizes everything.
   10254  1.1.1.2.2.2  bouyer 
   10255  1.1.1.2.2.2  bouyer ------------------------------------------
   10256  1.1.1.2.2.2  bouyer Summary of changes for this label: 12_08_00
   10257  1.1.1.2.2.2  bouyer 
   10258  1.1.1.2.2.2  bouyer 
   10259  1.1.1.2.2.2  bouyer Fixed a problem where named references within the ASL definition
   10260  1.1.1.2.2.2  bouyer of both OperationRegions and CreateXXXFields did not work
   10261  1.1.1.2.2.2  bouyer properly.  The symptom was an AE_AML_OPERAND_TYPE during
   10262  1.1.1.2.2.2  bouyer initialization of the region/field. This is similar (but not
   10263  1.1.1.2.2.2  bouyer related internally) to the problem that was fixed in the last
   10264  1.1.1.2.2.2  bouyer label.
   10265  1.1.1.2.2.2  bouyer 
   10266  1.1.1.2.2.2  bouyer Implemented both 32-bit and 64-bit support for the BCD ASL
   10267  1.1.1.2.2.2  bouyer functions ToBCD and FromBCD.
   10268  1.1.1.2.2.2  bouyer 
   10269  1.1.1.2.2.2  bouyer Updated all legal headers to include "2000" in the copyright
   10270  1.1.1.2.2.2  bouyer years.
   10271  1.1.1.2.2.2  bouyer 
   10272  1.1.1.2.2.2  bouyer  ------------------------------------------
   10273  1.1.1.2.2.2  bouyer Summary of changes for this label: 12_01_00
   10274  1.1.1.2.2.2  bouyer 
   10275  1.1.1.2.2.2  bouyer Fixed a problem where method invocations within the ASL definition
   10276  1.1.1.2.2.2  bouyer of both OperationRegions and CreateXXXFields did not work
   10277  1.1.1.2.2.2  bouyer properly.  The symptom was an AE_AML_OPERAND_TYPE during
   10278  1.1.1.2.2.2  bouyer initialization of the region/field:
   10279  1.1.1.2.2.2  bouyer 
   10280  1.1.1.2.2.2  bouyer   nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
   10281  1.1.1.2.2.2  bouyer [DEBG]   ammonad-0284: Exec_monadic2_r/Not: bad operand(s)
   10282  1.1.1.2.2.2  bouyer (0x3005)
   10283  1.1.1.2.2.2  bouyer 
   10284  1.1.1.2.2.2  bouyer Fixed a problem where operators with more than one nested
   10285  1.1.1.2.2.2  bouyer subexpression would fail.  The symptoms were varied, by mostly
   10286  1.1.1.2.2.2  bouyer AE_AML_OPERAND_TYPE errors.  This was actually a rather serious
   10287  1.1.1.2.2.2  bouyer problem that has gone unnoticed until now.
   10288  1.1.1.2.2.2  bouyer 
   10289  1.1.1.2.2.2  bouyer   Subtract (Add (1,2), Multiply (3,4))
   10290  1.1.1.2.2.2  bouyer 
   10291  1.1.1.2.2.2  bouyer Fixed a problem where AcpiGetHandle didn't quite get fixed in the
   10292  1.1.1.2.2.2  bouyer previous build (The prefix part of a relative path was handled
   10293  1.1.1.2.2.2  bouyer incorrectly).
   10294  1.1.1.2.2.2  bouyer 
   10295  1.1.1.2.2.2  bouyer Fixed a problem where Operation Region initialization failed if
   10296  1.1.1.2.2.2  bouyer the operation region name was a "namepath" instead of a simple
   10297  1.1.1.2.2.2  bouyer "nameseg". Symptom was an AE_NO_OPERAND error.
   10298  1.1.1.2.2.2  bouyer 
   10299  1.1.1.2.2.2  bouyer Fixed a problem where an assignment to a local variable via the
   10300  1.1.1.2.2.2  bouyer indirect RefOf mechanism only worked for the first such
   10301  1.1.1.2.2.2  bouyer assignment.  Subsequent assignments were ignored.
   10302  1.1.1.2.2.2  bouyer 
   10303  1.1.1.2.2.2  bouyer  ------------------------------------------
   10304  1.1.1.2.2.2  bouyer Summary of changes for this label: 11_15_00
   10305  1.1.1.2.2.2  bouyer 
   10306  1.1.1.2.2.2  bouyer ACPI 2.0 table support with backwards support for ACPI 1.0 and the
   10307  1.1.1.2.2.2  bouyer 0.71 extensions.  Note: although we can read ACPI 2.0 BIOS tables,
   10308  1.1.1.2.2.2  bouyer the AML  interpreter does NOT have support for the new 2.0 ASL
   10309  1.1.1.2.2.2  bouyer grammar terms at this time.
   10310  1.1.1.2.2.2  bouyer 
   10311  1.1.1.2.2.2  bouyer All ACPI hardware access is via the GAS structures in the ACPI 2.0
   10312  1.1.1.2.2.2  bouyer FADT.
   10313  1.1.1.2.2.2  bouyer 
   10314  1.1.1.2.2.2  bouyer All physical memory addresses across all platforms are now 64 bits
   10315  1.1.1.2.2.2  bouyer wide. Logical address width remains dependent on the platform
   10316  1.1.1.2.2.2  bouyer (i.e., "void *").
   10317  1.1.1.2.2.2  bouyer 
   10318  1.1.1.2.2.2  bouyer AcpiOsMapMemory interface changed to a 64-bit physical address.
   10319  1.1.1.2.2.2  bouyer 
   10320  1.1.1.2.2.2  bouyer The AML interpreter integer size is now 64 bits, as per the ACPI
   10321  1.1.1.2.2.2  bouyer 2.0 specification.
   10322  1.1.1.2.2.2  bouyer 
   10323  1.1.1.2.2.2  bouyer For backwards compatibility with ACPI 1.0, ACPI tables with a
   10324  1.1.1.2.2.2  bouyer revision number less than 2 use 32-bit integers only.
   10325  1.1.1.2.2.2  bouyer 
   10326  1.1.1.2.2.2  bouyer Fixed a problem where the evaluation of OpRegion operands did not
   10327  1.1.1.2.2.2  bouyer always resolve them to numbers properly.
   10328  1.1.1.2.2.2  bouyer 
   10329  1.1.1.2.2.2  bouyer ------------------------------------------
   10330  1.1.1.2.2.2  bouyer Summary of changes for this label: 10_20_00
   10331  1.1.1.2.2.2  bouyer 
   10332  1.1.1.2.2.2  bouyer Fix for CBN_._STA issue.  This fix will allow correct access to
   10333  1.1.1.2.2.2  bouyer CBN_ OpRegions when the _STA returns 0x8.
   10334  1.1.1.2.2.2  bouyer 
   10335  1.1.1.2.2.2  bouyer Support to convert ACPI constants (Ones, Zeros, One) to actual
   10336  1.1.1.2.2.2  bouyer values before a package object is returned
   10337  1.1.1.2.2.2  bouyer 
   10338  1.1.1.2.2.2  bouyer Fix for method call as predicate to if/while construct causing
   10339  1.1.1.2.2.2  bouyer incorrect if/while behavior
   10340  1.1.1.2.2.2  bouyer 
   10341  1.1.1.2.2.2  bouyer Fix for Else block package lengths sometimes calculated wrong (if
   10342  1.1.1.2.2.2  bouyer block > 63 bytes)
   10343  1.1.1.2.2.2  bouyer 
   10344  1.1.1.2.2.2  bouyer Fix for Processor object length field, was always zero
   10345  1.1.1.2.2.2  bouyer 
   10346  1.1.1.2.2.2  bouyer Table load abort if FACP sanity check fails
   10347  1.1.1.2.2.2  bouyer 
   10348  1.1.1.2.2.2  bouyer Fix for problem with Scope(name) if name already exists
   10349  1.1.1.2.2.2  bouyer 
   10350  1.1.1.2.2.2  bouyer Warning emitted if a named object referenced cannot be found
   10351  1.1.1.2.2.2  bouyer (resolved) during method execution.
   10352  1.1.1.2.2.2  bouyer 
   10353  1.1.1.2.2.2  bouyer 
   10354  1.1.1.2.2.2  bouyer 
   10355  1.1.1.2.2.2  bouyer 
   10356  1.1.1.2.2.2  bouyer 
   10357  1.1.1.2.2.2  bouyer ------------------------------------------
   10358  1.1.1.2.2.2  bouyer Summary of changes for this label: 9_29_00
   10359  1.1.1.2.2.2  bouyer 
   10360  1.1.1.2.2.2  bouyer New table initialization interfaces: AcpiInitializeSubsystem no
   10361  1.1.1.2.2.2  bouyer longer has any parameters AcpiFindRootPointer - Find the RSDP (if
   10362  1.1.1.2.2.2  bouyer necessary) AcpiLoadTables (RSDP) - load all tables found at RSDP-
   10363  1.1.1.2.2.2  bouyer >RSDT Obsolete Interfaces AcpiLoadFirmwareTables - replaced by
   10364  1.1.1.2.2.2  bouyer AcpiLoadTables
   10365  1.1.1.2.2.2  bouyer 
   10366  1.1.1.2.2.2  bouyer Note: These interface changes require changes to all existing OSDs
   10367  1.1.1.2.2.2  bouyer 
   10368  1.1.1.2.2.2  bouyer The PCI_Config default address space handler is always installed
   10369  1.1.1.2.2.2  bouyer at the root namespace object.
   10370  1.1.1.2.2.2  bouyer 
   10371  1.1.1.2.2.2  bouyer -------------------------------------------
   10372  1.1.1.2.2.2  bouyer Summary of changes for this label: 09_15_00
   10373  1.1.1.2.2.2  bouyer 
   10374  1.1.1.2.2.2  bouyer The new initialization architecture is implemented.  New
   10375  1.1.1.2.2.2  bouyer interfaces are: AcpiInitializeSubsystem (replaces AcpiInitialize)
   10376  1.1.1.2.2.2  bouyer AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
   10377  1.1.1.2.2.2  bouyer 
   10378  1.1.1.2.2.2  bouyer (Namespace is automatically loaded when a table is loaded)
   10379  1.1.1.2.2.2  bouyer 
   10380  1.1.1.2.2.2  bouyer The ACPI_OPERAND_OBJECT has been optimized to shrink its size from
   10381  1.1.1.2.2.2  bouyer 52 bytes to 32 bytes.  There is usually one of these for every
   10382  1.1.1.2.2.2  bouyer namespace object, so the memory savings is significant.
   10383  1.1.1.2.2.2  bouyer 
   10384  1.1.1.2.2.2  bouyer Implemented just-in-time evaluation of the CreateField operators.
   10385  1.1.1.2.2.2  bouyer 
   10386  1.1.1.2.2.2  bouyer Bug fixes for IA-64 support have been integrated.
   10387  1.1.1.2.2.2  bouyer 
   10388  1.1.1.2.2.2  bouyer Additional code review comments have been implemented
   10389  1.1.1.2.2.2  bouyer 
   10390  1.1.1.2.2.2  bouyer The so-called "third pass parse" has been replaced by a final walk
   10391  1.1.1.2.2.2  bouyer through the namespace to initialize all operation regions (address
   10392  1.1.1.2.2.2  bouyer spaces) and fields that have not yet been initialized during the
   10393  1.1.1.2.2.2  bouyer execution of the various _INI and REG methods.
   10394  1.1.1.2.2.2  bouyer 
   10395  1.1.1.2.2.2  bouyer New file - namespace/nsinit.c
   10396  1.1.1.2.2.2  bouyer 
   10397  1.1.1.2.2.2  bouyer -------------------------------------------
   10398  1.1.1.2.2.2  bouyer Summary of changes for this label: 09_01_00
   10399  1.1.1.2.2.2  bouyer 
   10400  1.1.1.2.2.2  bouyer Namespace manager data structures have been reworked to change the
   10401  1.1.1.2.2.2  bouyer primary  object from a table to a single object.  This has
   10402  1.1.1.2.2.2  bouyer resulted in dynamic memory  savings of 3X within the namespace and
   10403  1.1.1.2.2.2  bouyer 2X overall in the ACPI CA subsystem.
   10404  1.1.1.2.2.2  bouyer 
   10405  1.1.1.2.2.2  bouyer Fixed problem where the call to AcpiEvFindPciRootBuses was
   10406  1.1.1.2.2.2  bouyer inadvertently left  commented out.
   10407  1.1.1.2.2.2  bouyer 
   10408  1.1.1.2.2.2  bouyer Reduced the warning count when generating the source with the GCC
   10409  1.1.1.2.2.2  bouyer compiler.
   10410  1.1.1.2.2.2  bouyer 
   10411  1.1.1.2.2.2  bouyer Revision numbers added to each module header showing the
   10412  1.1.1.2.2.2  bouyer SourceSafe version of the file.  Please refer to this version
   10413  1.1.1.2.2.2  bouyer number when giving us feedback or comments on individual modules.
   10414  1.1.1.2.2.2  bouyer 
   10415  1.1.1.2.2.2  bouyer The main object types within the subsystem have been renamed to
   10416  1.1.1.2.2.2  bouyer clarify their  purpose:
   10417  1.1.1.2.2.2  bouyer 
   10418  1.1.1.2.2.2  bouyer ACPI_INTERNAL_OBJECT -> ACPI_OPERAND_OBJECT
   10419  1.1.1.2.2.2  bouyer ACPI_GENERIC_OP -> ACPI_PARSE_OBJECT
   10420  1.1.1.2.2.2  bouyer ACPI_NAME_TABLE_ENTRY -> ACPI_NAMESPACE_NODE
   10421  1.1.1.2.2.2  bouyer 
   10422  1.1.1.2.2.2  bouyer NOTE: no changes to the initialization sequence are included in
   10423  1.1.1.2.2.2  bouyer this label.
   10424  1.1.1.2.2.2  bouyer 
   10425  1.1.1.2.2.2  bouyer -------------------------------------------
   10426  1.1.1.2.2.2  bouyer Summary of changes for this label: 08_23_00
   10427  1.1.1.2.2.2  bouyer 
   10428  1.1.1.2.2.2  bouyer Fixed problem where TerminateControlMethod was being called
   10429  1.1.1.2.2.2  bouyer multiple times per  method
   10430  1.1.1.2.2.2  bouyer 
   10431  1.1.1.2.2.2  bouyer Fixed debugger problem where single stepping caused a semaphore to
   10432  1.1.1.2.2.2  bouyer be  oversignalled
   10433  1.1.1.2.2.2  bouyer 
   10434  1.1.1.2.2.2  bouyer Improved performance through additional parse object caching -
   10435  1.1.1.2.2.2  bouyer added  ACPI_EXTENDED_OP type
   10436  1.1.1.2.2.2  bouyer 
   10437  1.1.1.2.2.2  bouyer -------------------------------------------
   10438  1.1.1.2.2.2  bouyer Summary of changes for this label: 08_10_00
   10439  1.1.1.2.2.2  bouyer 
   10440  1.1.1.2.2.2  bouyer Parser/Interpreter integration:  Eliminated the creation of
   10441  1.1.1.2.2.2  bouyer complete parse trees  for ACPI tables and control methods.
   10442  1.1.1.2.2.2  bouyer Instead, parse subtrees are created and  then deleted as soon as
   10443  1.1.1.2.2.2  bouyer they are processed (Either entered into the namespace or  executed
   10444  1.1.1.2.2.2  bouyer by the interpreter).  This reduces the use of dynamic kernel
   10445  1.1.1.2.2.2  bouyer memory  significantly. (about 10X)
   10446  1.1.1.2.2.2  bouyer 
   10447  1.1.1.2.2.2  bouyer Exception codes broken into classes and renumbered.  Be sure to
   10448  1.1.1.2.2.2  bouyer recompile all  code that includes acexcep.h.  Hopefully we won't
   10449  1.1.1.2.2.2  bouyer have to renumber the codes  again now that they are split into
   10450  1.1.1.2.2.2  bouyer classes (environment, programmer, AML code,  ACPI table, and
   10451  1.1.1.2.2.2  bouyer internal).
   10452  1.1.1.2.2.2  bouyer 
   10453  1.1.1.2.2.2  bouyer Fixed some additional alignment issues in the Resource Manager
   10454  1.1.1.2.2.2  bouyer subcomponent
   10455  1.1.1.2.2.2  bouyer 
   10456  1.1.1.2.2.2  bouyer Implemented semaphore tracking in the AcpiExec utility, and fixed
   10457  1.1.1.2.2.2  bouyer several places  where mutexes/semaphores were being unlocked
   10458  1.1.1.2.2.2  bouyer without a corresponding lock  operation.  There are no known
   10459  1.1.1.2.2.2  bouyer semaphore or mutex "leaks" at this time.
   10460  1.1.1.2.2.2  bouyer 
   10461  1.1.1.2.2.2  bouyer Fixed the case where an ASL Return operator is used to return an
   10462  1.1.1.2.2.2  bouyer unnamed  package.
   10463  1.1.1.2.2.2  bouyer 
   10464  1.1.1.2.2.2  bouyer -------------------------------------------
   10465  1.1.1.2.2.2  bouyer Summary of changes for this label: 07_28_00
   10466  1.1.1.2.2.2  bouyer 
   10467  1.1.1.2.2.2  bouyer Fixed a problem with the way addresses were calculated in
   10468  1.1.1.2.2.2  bouyer AcpiAmlReadFieldData()  and AcpiAmlWriteFieldData(). This problem
   10469  1.1.1.2.2.2  bouyer manifested itself when a Field was  created with WordAccess or
   10470  1.1.1.2.2.2  bouyer DwordAccess, but the field unit defined within the  Field was less
   10471  1.1.1.2.2.2  bouyer 
   10472  1.1.1.2.2.2  bouyer than a Word or Dword.
   10473  1.1.1.2.2.2  bouyer 
   10474  1.1.1.2.2.2  bouyer Fixed a problem in AmlDumpOperands() module's loop to pull
   10475  1.1.1.2.2.2  bouyer operands off of the  operand stack to display information. The
   10476  1.1.1.2.2.2  bouyer problem manifested itself as a TLB  error on 64-bit systems when
   10477  1.1.1.2.2.2  bouyer accessing an operand stack with two or more  operands.
   10478  1.1.1.2.2.2  bouyer 
   10479  1.1.1.2.2.2  bouyer Fixed a problem with the PCI configuration space handlers where
   10480  1.1.1.2.2.2  bouyer context was  getting confused between accesses. This required a
   10481  1.1.1.2.2.2  bouyer change to the generic address  space handler and address space
   10482  1.1.1.2.2.2  bouyer setup definitions. Handlers now get both a  global handler context
   10483  1.1.1.2.2.2  bouyer (this is the one passed in by the user when executing
   10484  1.1.1.2.2.2  bouyer AcpiInstallAddressSpaceHandler() and a specific region context
   10485  1.1.1.2.2.2  bouyer that is unique to  each region (For example, the _ADR, _SEG and
   10486  1.1.1.2.2.2  bouyer _BBN values associated with a  specific region). The generic
   10487  1.1.1.2.2.2  bouyer function definitions have changed to the  following:
   10488  1.1.1.2.2.2  bouyer 
   10489  1.1.1.2.2.2  bouyer typedef ACPI_STATUS (*ADDRESS_SPACE_HANDLER) ( UINT32 Function,
   10490  1.1.1.2.2.2  bouyer UINT32 Address, UINT32 BitWidth, UINT32 *Value, void
   10491  1.1.1.2.2.2  bouyer *HandlerContext, // This used to be void *Context void
   10492  1.1.1.2.2.2  bouyer *RegionContext); // This is an additional parameter
   10493  1.1.1.2.2.2  bouyer 
   10494  1.1.1.2.2.2  bouyer typedef ACPI_STATUS (*ADDRESS_SPACE_SETUP) ( ACPI_HANDLE
   10495  1.1.1.2.2.2  bouyer RegionHandle, UINT32 Function, void *HandlerContext,  void
   10496  1.1.1.2.2.2  bouyer **RegionContext); // This used to be **ReturnContext
   10497  1.1.1.2.2.2  bouyer 
   10498  1.1.1.2.2.2  bouyer -------------------------------------------
   10499  1.1.1.2.2.2  bouyer Summary of changes for this label: 07_21_00
   10500  1.1.1.2.2.2  bouyer 
   10501  1.1.1.2.2.2  bouyer Major file consolidation and rename.  All files within the
   10502  1.1.1.2.2.2  bouyer interpreter have been  renamed as well as most header files.  This
   10503  1.1.1.2.2.2  bouyer was done to prevent collisions with  existing files in the host
   10504  1.1.1.2.2.2  bouyer OSs -- filenames such as "config.h" and "global.h"  seem to be
   10505  1.1.1.2.2.2  bouyer quite common.  The VC project files have been updated.  All
   10506  1.1.1.2.2.2  bouyer makefiles  will require modification.
   10507  1.1.1.2.2.2  bouyer 
   10508  1.1.1.2.2.2  bouyer The parser/interpreter integration continues in Phase 5 with the
   10509  1.1.1.2.2.2  bouyer implementation  of a complete 2-pass parse (the AML is parsed
   10510  1.1.1.2.2.2  bouyer twice) for each table;  This  avoids the construction of a huge
   10511  1.1.1.2.2.2  bouyer parse tree and therefore reduces the amount of  dynamic memory
   10512  1.1.1.2.2.2  bouyer required by the subsystem.  Greater use of the parse object cache
   10513  1.1.1.2.2.2  bouyer means that performance is unaffected.
   10514  1.1.1.2.2.2  bouyer 
   10515  1.1.1.2.2.2  bouyer Many comments from the two code reviews have been rolled in.
   10516  1.1.1.2.2.2  bouyer 
   10517  1.1.1.2.2.2  bouyer The 64-bit alignment support is complete.
   10518  1.1.1.2.2.2  bouyer 
   10519  1.1.1.2.2.2  bouyer -------------------------------------------
   10520  1.1.1.2.2.2  bouyer Summary of changes for this label: 06_30_00
   10521  1.1.1.2.2.2  bouyer 
   10522  1.1.1.2.2.2  bouyer With a nod and a tip of the hat to the technology of yesteryear,
   10523  1.1.1.2.2.2  bouyer we've added  support in the source code for 80 column output
   10524  1.1.1.2.2.2  bouyer devices.  The code is now mostly  constrained to 80 columns or
   10525  1.1.1.2.2.2  bouyer less to support environments and editors that 1)  cannot display
   10526  1.1.1.2.2.2  bouyer or print more than 80 characters on a single line, and 2) cannot
   10527  1.1.1.2.2.2  bouyer disable line wrapping.
   10528  1.1.1.2.2.2  bouyer 
   10529  1.1.1.2.2.2  bouyer A major restructuring of the namespace data structure has been
   10530  1.1.1.2.2.2  bouyer completed.  The  result is 1) cleaner and more
   10531  1.1.1.2.2.2  bouyer understandable/maintainable code, and 2) a  significant reduction
   10532  1.1.1.2.2.2  bouyer in the dynamic memory requirement for each named ACPI  object
   10533  1.1.1.2.2.2  bouyer (almost half).
   10534  1.1.1.2.2.2  bouyer 
   10535  1.1.1.2.2.2  bouyer -------------------------------------------
   10536  1.1.1.2.2.2  bouyer Summary of changes for this label: 06_23_00
   10537  1.1.1.2.2.2  bouyer 
   10538  1.1.1.2.2.2  bouyer Linux support has been added.  In order to obtain approval to get
   10539  1.1.1.2.2.2  bouyer the ACPI CA  subsystem into the Linux kernel, we've had to make
   10540  1.1.1.2.2.2  bouyer quite a few changes to the  base subsystem that will affect all
   10541  1.1.1.2.2.2  bouyer users (all the changes are generic and OS- independent).  The
   10542  1.1.1.2.2.2  bouyer effects of these global changes have been somewhat far  reaching.
   10543  1.1.1.2.2.2  bouyer Files have been merged and/or renamed and interfaces have been
   10544  1.1.1.2.2.2  bouyer renamed.   The major changes are described below.
   10545  1.1.1.2.2.2  bouyer 
   10546  1.1.1.2.2.2  bouyer Osd* interfaces renamed to AcpiOs* to eliminate namespace
   10547  1.1.1.2.2.2  bouyer pollution/confusion  within our target kernels.  All OSD
   10548  1.1.1.2.2.2  bouyer interfaces must be modified to match the new  naming convention.
   10549  1.1.1.2.2.2  bouyer 
   10550  1.1.1.2.2.2  bouyer Files merged across the subsystem.  A number of the smaller source
   10551  1.1.1.2.2.2  bouyer and header  files have been merged to reduce the file count and
   10552  1.1.1.2.2.2  bouyer increase the density of the  existing files.  There are too many
   10553  1.1.1.2.2.2  bouyer to list here.  In general, makefiles that  call out individual
   10554  1.1.1.2.2.2  bouyer files will require rebuilding.
   10555  1.1.1.2.2.2  bouyer 
   10556  1.1.1.2.2.2  bouyer Interpreter files renamed.  All interpreter files now have the
   10557  1.1.1.2.2.2  bouyer prefix am*  instead of ie* and is*.
   10558  1.1.1.2.2.2  bouyer 
   10559  1.1.1.2.2.2  bouyer Header files renamed:  The acapi.h file is now acpixf.h.  The
   10560  1.1.1.2.2.2  bouyer acpiosd.h file is  now acpiosxf.h.  We are removing references to
   10561  1.1.1.2.2.2  bouyer the acronym "API" since it is  somewhat windowsy. The new name is
   10562  1.1.1.2.2.2  bouyer "external interface" or xface or xf in the  filenames.j
   10563  1.1.1.2.2.2  bouyer 
   10564  1.1.1.2.2.2  bouyer 
   10565  1.1.1.2.2.2  bouyer All manifest constants have been forced to upper case (some were
   10566  1.1.1.2.2.2  bouyer mixed case.)   Also, the string "ACPI_" has been prepended to many
   10567  1.1.1.2.2.2  bouyer (not all) of the constants,  typedefs, and structs.
   10568  1.1.1.2.2.2  bouyer 
   10569  1.1.1.2.2.2  bouyer The globals "DebugLevel" and "DebugLayer" have been renamed
   10570  1.1.1.2.2.2  bouyer "AcpiDbgLevel" and  "AcpiDbgLayer" respectively.
   10571  1.1.1.2.2.2  bouyer 
   10572  1.1.1.2.2.2  bouyer All other globals within the subsystem are now prefixed with
   10573  1.1.1.2.2.2  bouyer "AcpiGbl_" Internal procedures within the subsystem are now
   10574  1.1.1.2.2.2  bouyer prefixed with "Acpi" (with only  a few exceptions).  The original
   10575  1.1.1.2.2.2  bouyer two-letter abbreviation for the subcomponent  remains after "Acpi"
   10576  1.1.1.2.2.2  bouyer - for example, CmCallocate became AcpiCmCallocate.
   10577  1.1.1.2.2.2  bouyer 
   10578  1.1.1.2.2.2  bouyer Added a source code translation/conversion utility.  Used to
   10579  1.1.1.2.2.2  bouyer generate the Linux  source code, it can be modified to generate
   10580  1.1.1.2.2.2  bouyer other types of source as well. Can  also be used to cleanup
   10581  1.1.1.2.2.2  bouyer existing source by removing extraneous spaces and blank  lines.
   10582  1.1.1.2.2.2  bouyer Found in tools/acpisrc/*
   10583  1.1.1.2.2.2  bouyer 
   10584  1.1.1.2.2.2  bouyer OsdUnMapMemory was renamed to OsdUnmapMemory and then
   10585  1.1.1.2.2.2  bouyer AcpiOsUnmapMemory.  (UnMap  became Unmap).
   10586  1.1.1.2.2.2  bouyer 
   10587  1.1.1.2.2.2  bouyer A "MaxUnits" parameter has been added to AcpiOsCreateSemaphore.
   10588  1.1.1.2.2.2  bouyer When set to  one, this indicates that the caller wants to use the
   10589  1.1.1.2.2.2  bouyer 
   10590  1.1.1.2.2.2  bouyer semaphore as a mutex, not a  counting semaphore.  ACPI CA uses
   10591  1.1.1.2.2.2  bouyer both types.  However, implementers of this  call may want to use
   10592  1.1.1.2.2.2  bouyer different OS primitives depending on the type of semaphore
   10593  1.1.1.2.2.2  bouyer requested.  For example, some operating systems provide separate
   10594  1.1.1.2.2.2  bouyer 
   10595  1.1.1.2.2.2  bouyer "mutex" and  "semaphore" interfaces - where the mutex interface is
   10596  1.1.1.2.2.2  bouyer much faster because it  doesn't have all the overhead of a full
   10597  1.1.1.2.2.2  bouyer semaphore implementation.
   10598  1.1.1.2.2.2  bouyer 
   10599  1.1.1.2.2.2  bouyer Fixed a deadlock problem where a method that accesses the PCI
   10600  1.1.1.2.2.2  bouyer address space can  block forever if it is the first access to the
   10601  1.1.1.2.2.2  bouyer space.
   10602  1.1.1.2.2.2  bouyer 
   10603  1.1.1.2.2.2  bouyer -------------------------------------------
   10604  1.1.1.2.2.2  bouyer Summary of changes for this label: 06_02_00
   10605  1.1.1.2.2.2  bouyer 
   10606  1.1.1.2.2.2  bouyer Support for environments that cannot handle unaligned data
   10607  1.1.1.2.2.2  bouyer accesses (e.g.  firmware and OS environments devoid of alignment
   10608  1.1.1.2.2.2  bouyer handler technology namely  SAL/EFI and the IA-64 Linux kernel) has
   10609  1.1.1.2.2.2  bouyer been added (via configurable macros) in  these three areas: -
   10610  1.1.1.2.2.2  bouyer Transfer of data from the raw AML byte stream is done via byte
   10611  1.1.1.2.2.2  bouyer moves instead of    word/dword/qword moves. - External objects are
   10612  1.1.1.2.2.2  bouyer aligned within the user buffer, including package   elements (sub-
   10613  1.1.1.2.2.2  bouyer objects). - Conversion of name strings to UINT32 Acpi Names is now
   10614  1.1.1.2.2.2  bouyer done byte-wise.
   10615  1.1.1.2.2.2  bouyer 
   10616  1.1.1.2.2.2  bouyer The Store operator was modified to mimic Microsoft's
   10617  1.1.1.2.2.2  bouyer implementation when storing  to a Buffer Field.
   10618  1.1.1.2.2.2  bouyer 
   10619  1.1.1.2.2.2  bouyer Added a check of the BM_STS bit before entering C3.
   10620  1.1.1.2.2.2  bouyer 
   10621  1.1.1.2.2.2  bouyer The methods subdirectory has been obsoleted and removed.  A new
   10622  1.1.1.2.2.2  bouyer file, cmeval.c  subsumes the functionality.
   10623  1.1.1.2.2.2  bouyer 
   10624  1.1.1.2.2.2  bouyer A 16-bit (DOS) version of AcpiExec has been developed.  The
   10625  1.1.1.2.2.2  bouyer makefile is under  the acpiexec directory.
   10626