Rev 1498 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1498 | Rev 2216 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ---------------------------------------- |
1 | ---------------------------------------- |
- | 2 | 23 June 2011. Summary of changes for version 20110623: |
|
- | 3 | ||
- | 4 | 1) ACPI CA Core Subsystem: |
|
- | 5 | ||
- | 6 | Updated the predefined name repair mechanism to not attempt repair of a _TSS |
|
- | 7 | return object if a _PSS object is present. We can only sort the _TSS return |
|
- | 8 | package if there is no _PSS within the same scope. This is because if _PSS is |
|
- | 9 | present, the ACPI specification dictates that the _TSS Power Dissipation field |
|
- | 10 | is to be ignored, and therefore some BIOSs leave garbage values in the _TSS |
|
- | 11 | Power field(s). In this case, it is best to just return the _TSS package as- |
|
- | 12 | is. Reported by, and fixed with assistance from Fenghua Yu. |
|
- | 13 | ||
- | 14 | Added an option to globally disable the control method return value validation |
|
- | 15 | and repair. This runtime option can be used to disable return value repair if |
|
- | 16 | this is causing a problem on a particular machine. Also added an option to |
|
- | 17 | AcpiExec (-dr) to set this disable flag. |
|
- | 18 | ||
- | 19 | All makefiles and project files: Major changes to improve generation of ACPICA |
|
- | 20 | tools. ACPICA BZ 912: |
|
- | 21 | Reduce default optimization levels to improve compatibility |
|
- | 22 | For Linux, add strict-aliasing=0 for gcc 4 |
|
- | 23 | Cleanup and simplify use of command line defines |
|
- | 24 | Cleanup multithread library support |
|
- | 25 | Improve usage messages |
|
- | 26 | ||
- | 27 | Linux-specific header: update handling of THREAD_ID and pthread. For the 32- |
|
- | 28 | bit case, improve casting to eliminate possible warnings, especially with the |
|
- | 29 | acpica tools. |
|
- | 30 | ||
- | 31 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 32 | acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug |
|
- | 33 | version of the code includes the debug output trace mechanism and has a much |
|
- | 34 | larger code and data size. |
|
- | 35 | ||
- | 36 | Previous Release (VC 9.0): |
|
- | 37 | Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total |
|
- | 38 | Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
|
- | 39 | Current Release (VC 9.0): |
|
- | 40 | Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total |
|
- | 41 | Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
|
- | 42 | ||
- | 43 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 44 | ||
- | 45 | With this release, a new utility named "acpihelp" has been added to the ACPICA |
|
- | 46 | package. This utility summarizes the ACPI specification chapters for the ASL |
|
- | 47 | and AML languages. It generates under Linux/Unix as well as Windows, and |
|
- | 48 | provides the following functionality: |
|
- | 49 | Find/display ASL operator(s) -- with description and syntax. |
|
- | 50 | Find/display ASL keyword(s) -- with exact spelling and descriptions. |
|
- | 51 | Find/display ACPI predefined name(s) -- with description, number |
|
- | 52 | of arguments, and the return value data type. |
|
- | 53 | Find/display AML opcode name(s) -- with opcode, arguments, and grammar. |
|
- | 54 | Decode/display AML opcode -- with opcode name, arguments, and grammar. |
|
- | 55 | ||
- | 56 | Service Layers: Make multi-thread support configurable. Conditionally compile |
|
- | 57 | the multi-thread support so that threading libraries will not be linked if not |
|
- | 58 | necessary. The only tool that requires multi-thread support is AcpiExec. |
|
- | 59 | ||
- | 60 | iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions of |
|
- | 61 | Bison appear to want the interface to yyerror to be a const char * (or at |
|
- | 62 | least this is a problem when generating iASL on some systems.) ACPICA BZ 923 |
|
- | 63 | Pierre Lejeune. |
|
- | 64 | ||
- | 65 | Tools: Fix for systems where O_BINARY is not defined. Only used for Windows |
|
- | 66 | versions of the tools. |
|
- | 67 | ||
- | 68 | ---------------------------------------- |
|
2 | 28 May 2010. Summary of changes for version 20100528: |
69 | 27 May 2011. Summary of changes for version 20110527: |
- | 70 | ||
- | 71 | 1) ACPI CA Core Subsystem: |
|
- | 72 | ||
- | 73 | ASL Load() operator: Reinstate most restrictions on the incoming ACPI table |
|
- | 74 | signature. Now, only allow SSDT, OEMx, and a null signature. History: |
|
- | 75 | 1) Originally, we checked the table signature for "SSDT" or "PSDT". |
|
- | 76 | (PSDT is now obsolete.) |
|
- | 77 | 2) We added support for OEMx tables, signature "OEM" plus a fourth |
|
- | 78 | "don't care" character. |
|
- | 79 | 3) Valid tables were encountered with a null signature, so we just |
|
- | 80 | gave up on validating the signature, (05/2008). |
|
- | 81 | 4) We encountered non-AML tables such as the MADT, which caused |
|
- | 82 | interpreter errors and kernel faults. So now, we once again allow |
|
- | 83 | only SSDT, OEMx, and now, also a null signature. (05/2011). |
|
- | 84 | ||
- | 85 | Added the missing _TDL predefined name to the global name list in order to |
|
- | 86 | enable validation. Affects both the core ACPICA code and the iASL compiler. |
|
- | 87 | ||
- | 88 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 89 | acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug |
|
- | 90 | version of the code includes the debug output trace mechanism and has a much |
|
- | 91 | larger code and data size. |
|
- | 92 | ||
- | 93 | Previous Release (VC 9.0): |
|
- | 94 | Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total |
|
- | 95 | Debug Version: 164.5K Code, 68.0K Data, 232.5K Total |
|
- | 96 | Current Release (VC 9.0): |
|
- | 97 | Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total |
|
- | 98 | Debug Version: 165.6K Code, 68.4K Data, 234.0K Total |
|
- | 99 | ||
- | 100 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 101 | ||
- | 102 | Debugger/AcpiExec: Implemented support for "complex" method arguments on the |
|
- | 103 | debugger command line. This adds support beyond simple integers -- including |
|
- | 104 | Strings, Buffers, and Packages. Includes support for nested packages. |
|
- | 105 | Increased the default command line buffer size to accommodate these arguments. |
|
- | 106 | See the ACPICA reference for details and syntax. ACPICA BZ 917. |
|
- | 107 | ||
- | 108 | Debugger/AcpiExec: Implemented support for "default" method arguments for the |
|
- | 109 | Execute/Debug command. Now, the debugger will always invoke a control method |
|
- | 110 | with the required number of arguments -- even if the command line specifies |
|
- | 111 | none or insufficient arguments. It uses default integer values for any missing |
|
- | 112 | arguments. Also fixes a bug where only six method arguments maximum were |
|
- | 113 | supported instead of the required seven. |
|
- | 114 | ||
- | 115 | Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and |
|
- | 116 | also return status in order to prevent buffer overruns. See the ACPICA |
|
- | 117 | reference for details and syntax. ACPICA BZ 921 |
|
- | 118 | ||
- | 119 | iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and |
|
- | 120 | makefiles to simplify support for the two different but similar parser |
|
- | 121 | generators, bison and yacc. |
|
- | 122 | ||
- | 123 | Updated the generic unix makefile for gcc 4. The default gcc version is now |
|
- | 124 | expected to be 4 or greater, since options specific to gcc 4 are used. |
|
- | 125 | ||
- | 126 | ---------------------------------------- |
|
- | 127 | 13 April 2011. Summary of changes for version 20110413: |
|
- | 128 | ||
- | 129 | 1) ACPI CA Core Subsystem: |
|
- | 130 | ||
- | 131 | Implemented support to execute a so-called "orphan" _REG method under the EC |
|
- | 132 | device. This change will force the execution of a _REG method underneath the |
|
- | 133 | EC |
|
- | 134 | device even if there is no corresponding operation region of type |
|
- | 135 | EmbeddedControl. Fixes a problem seen on some machines and apparently is |
|
- | 136 | compatible with Windows behavior. ACPICA BZ 875. |
|
- | 137 | ||
- | 138 | Added more predefined methods that are eligible for automatic NULL package |
|
- | 139 | element removal. This change adds another group of predefined names to the |
|
- | 140 | list |
|
- | 141 | of names that can be repaired by having NULL package elements dynamically |
|
- | 142 | removed. This group are those methods that return a single variable-length |
|
- | 143 | package containing simple data types such as integers, buffers, strings. This |
|
- | 144 | includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, |
|
- | 145 | _Sx, |
|
- | 146 | and _TZD. ACPICA BZ 914. |
|
- | 147 | ||
- | 148 | Split and segregated all internal global lock functions to a new file, |
|
- | 149 | evglock.c. |
|
- | 150 | ||
- | 151 | Updated internal address SpaceID for DataTable regions. Moved this internal |
|
- | 152 | space |
|
- | 153 | id in preparation for ACPI 5.0 changes that will include some new space IDs. |
|
- | 154 | This |
|
- | 155 | change should not affect user/host code. |
|
- | 156 | ||
- | 157 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 158 | acpica.lib |
|
- | 159 | produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of |
|
- | 160 | the code includes the debug output trace mechanism and has a much larger code |
|
- | 161 | and |
|
- | 162 | data size. |
|
- | 163 | ||
- | 164 | Previous Release (VC 9.0): |
|
- | 165 | Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total |
|
- | 166 | Debug Version: 164.2K Code, 67.9K Data, 232.1K Total |
|
- | 167 | Current Release (VC 9.0): |
|
- | 168 | Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total |
|
- | 169 | Debug Version: 164.5K Code, 68.0K Data, 232.5K Total |
|
- | 170 | ||
- | 171 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 172 | ||
- | 173 | iASL/DTC: Major update for new grammar features. Allow generic data types in |
|
- | 174 | custom ACPI tables. Field names are now optional. Any line can be split to |
|
- | 175 | multiple lines using the continuation char (\). Large buffers now use line- |
|
- | 176 | continuation character(s) and no colon on the continuation lines. See the |
|
- | 177 | grammar |
|
- | 178 | update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore. |
|
- | 179 | ||
- | 180 | iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements. |
|
- | 181 | Since the parser stuffs a "zero" as the return value for these statements (due |
|
- | 182 | to |
|
- | 183 | the underlying AML grammar), they were seen as "return with value" by the iASL |
|
- | 184 | semantic checking. They are now seen correctly as "null" return statements. |
|
- | 185 | ||
- | 186 | iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a |
|
- | 187 | check for each _REG to ensure that there is in fact a corresponding operation |
|
- | 188 | region declaration in the same scope. If not, the _REG method is not very |
|
- | 189 | useful |
|
- | 190 | since it probably won't be executed. ACPICA BZ 915. |
|
- | 191 | ||
- | 192 | iASL/DTC: Finish support for expression evaluation. Added a new expression |
|
- | 193 | parser |
|
- | 194 | that implements c-style operator precedence and parenthesization. ACPICA |
|
- | 195 | bugzilla |
|
- | 196 | 908. |
|
- | 197 | ||
- | 198 | Disassembler/DTC: Remove support for () and <> style comments in data tables. |
|
- | 199 | Now |
|
- | 200 | that DTC has full expression support, we don't want to have comment strings |
|
- | 201 | that |
|
- | 202 | start with a parentheses or a less-than symbol. Now, only the standard /* and |
|
- | 203 | // |
|
- | 204 | comments are supported, as well as the bracket [] comments. |
|
- | 205 | ||
- | 206 | AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have |
|
- | 207 | "unusual" |
|
- | 208 | headers in the acpidump file. Update the header validation to support these |
|
- | 209 | tables. Problem introduced in previous AcpiXtract version in the change to |
|
- | 210 | support "wrong checksum" error messages emitted by acpidump utility. |
|
- | 211 | ||
- | 212 | iASL: Add a * option to generate all template files (as a synonym for ALL) as |
|
- | 213 | in |
|
- | 214 | "iasl -T *" or "iasl -T ALL". |
|
- | 215 | ||
- | 216 | iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely |
|
- | 217 | abort the compiler on "fatal" errors, simply should abort the current compile. |
|
- | 218 | This allows multiple compiles with a single (possibly wildcard) compiler |
|
- | 219 | invocation. |
|
- | 220 | ||
- | 221 | ---------------------------------------- |
|
- | 222 | 16 March 2011. Summary of changes for version 20110316: |
|
- | 223 | ||
- | 224 | 1) ACPI CA Core Subsystem: |
|
- | 225 | ||
- | 226 | Fixed a problem caused by a _PRW method appearing at the namespace root scope |
|
- | 227 | during the setup of wake GPEs. A fault could occur if a _PRW directly under |
|
- | 228 | the |
|
- | 229 | root object was passed to the AcpiSetupGpeForWake interface. Lin Ming. |
|
- | 230 | ||
- | 231 | Implemented support for "spurious" Global Lock interrupts. On some systems, a |
|
- | 232 | global lock interrupt can occur without the pending flag being set. Upon a GL |
|
- | 233 | interrupt, we now ensure that a thread is actually waiting for the lock before |
|
- | 234 | signaling GL availability. Rafael Wysocki, Bob Moore. |
|
- | 235 | ||
- | 236 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 237 | acpica.lib |
|
- | 238 | produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of |
|
- | 239 | the code includes the debug output trace mechanism and has a much larger code |
|
- | 240 | and |
|
- | 241 | data size. |
|
- | 242 | ||
- | 243 | Previous Release (VC 9.0): |
|
- | 244 | Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
|
- | 245 | Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
- | 246 | Current Release (VC 9.0): |
|
- | 247 | Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total |
|
- | 248 | Debug Version: 164.2K Code, 67.9K Data, 232.1K Total |
|
- | 249 | ||
- | 250 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 251 | ||
- | 252 | Implemented full support for the "SLIC" ACPI table. Includes support in the |
|
- | 253 | header files, disassembler, table compiler, and template generator. Bob Moore, |
|
- | 254 | Lin Ming. |
|
- | 255 | ||
- | 256 | AcpiXtract: Correctly handle embedded comments and messages from AcpiDump. |
|
- | 257 | Apparently some or all versions of acpidump will occasionally emit a comment |
|
- | 258 | like |
|
- | 259 | "Wrong checksum", etc., into the dump file. This was causing problems for |
|
- | 260 | AcpiXtract. ACPICA BZ 905. |
|
- | 261 | ||
- | 262 | iASL: Fix the Linux makefile by removing an inadvertent double file inclusion. |
|
- | 263 | ACPICA BZ 913. |
|
- | 264 | ||
- | 265 | AcpiExec: Update installation of operation region handlers. Install one |
|
- | 266 | handler |
|
- | 267 | for a user-defined address space. This is used by the ASL test suite (ASLTS). |
|
- | 268 | ||
- | 269 | ---------------------------------------- |
|
- | 270 | 11 February 2011. Summary of changes for version 20110211: |
|
- | 271 | ||
- | 272 | 1) ACPI CA Core Subsystem: |
|
- | 273 | ||
- | 274 | Added a mechanism to defer _REG methods for some early-installed handlers. |
|
- | 275 | Most user handlers should be installed before call to AcpiEnableSubsystem. |
|
- | 276 | However, Event handlers and region handlers should be installed after |
|
- | 277 | AcpiInitializeObjects. Override handlers for the "default" regions should be |
|
- | 278 | installed early, however. This change executes all _REG methods for the |
|
- | 279 | default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any |
|
- | 280 | chicken/egg issues between them. ACPICA BZ 848. |
|
- | 281 | ||
- | 282 | Implemented an optimization for GPE detection. This optimization will simply |
|
- | 283 | ignore GPE registers that contain no enabled GPEs -- there is no need to |
|
- | 284 | read the register since this information is available internally. This |
|
- | 285 | becomes more important on machines with a large GPE space. ACPICA bugzilla |
|
- | 286 | 884. Lin Ming. Suggestion from Joe Liu. |
|
- | 287 | ||
- | 288 | Removed all use of the highly unreliable FADT revision field. The revision |
|
- | 289 | number in the FADT has been found to be completely unreliable and cannot be |
|
- | 290 | trusted. Only the actual table length can be used to infer the version. This |
|
- | 291 | change updates the ACPICA core and the disassembler so that both no longer |
|
- | 292 | even look at the FADT version and instead depend solely upon the FADT |
|
- | 293 | length. |
|
- | 294 | ||
- | 295 | Fix an unresolved name issue for the no-debug and no-error-message source |
|
- | 296 | generation cases. The _AcpiModuleName was left undefined in these cases, but |
|
- | 297 | it is actually needed as a parameter to some interfaces. Define |
|
- | 298 | _AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888. |
|
- | 299 | ||
- | 300 | Split several large files (makefiles and project files updated) |
|
- | 301 | utglobal.c -> utdecode.c |
|
- | 302 | dbcomds.c -> dbmethod.c dbnames.c |
|
- | 303 | dsopcode.c -> dsargs.c dscontrol.c |
|
- | 304 | dsload.c -> dsload2.c |
|
- | 305 | aslanalyze.c -> aslbtypes.c aslwalks.c |
|
- | 306 | ||
- | 307 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 308 | acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The |
|
- | 309 | debug version of the code includes the debug output trace mechanism and has |
|
- | 310 | a much larger code and data size. |
|
- | 311 | ||
- | 312 | Previous Release (VC 9.0): |
|
- | 313 | Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
|
- | 314 | Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
- | 315 | Current Release (VC 9.0): |
|
- | 316 | Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
|
- | 317 | Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
- | 318 | ||
- | 319 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 320 | ||
- | 321 | iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. |
|
- | 322 | These are useful C-style macros with the standard definitions. ACPICA |
|
- | 323 | bugzilla 898. |
|
- | 324 | ||
- | 325 | iASL/DTC: Added support for integer expressions and labels. Support for full |
|
- | 326 | expressions for all integer fields in all ACPI tables. Support for labels in |
|
- | 327 | "generic" portions of tables such as UEFI. See the iASL reference manual. |
|
- | 328 | ||
- | 329 | Debugger: Added a command to display the status of global handlers. The |
|
- | 330 | "handlers" command will display op region, fixed event, and miscellaneous |
|
- | 331 | global handlers. installation status -- and for op regions, whether default |
|
- | 332 | or user-installed handler will be used. |
|
- | 333 | ||
- | 334 | iASL: Warn if reserved method incorrectly returns a value. Many predefined |
|
- | 335 | names are defined such that they do not return a value. If implemented as a |
|
- | 336 | method, issue a warning if such a name explicitly returns a value. ACPICA |
|
- | 337 | Bugzilla 855. |
|
- | 338 | ||
- | 339 | iASL: Added detection of GPE method name conflicts. Detects a conflict where |
|
- | 340 | there are two GPE methods of the form _Lxy and _Exy in the same scope. (For |
|
- | 341 | example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848. |
|
- | 342 | ||
- | 343 | iASL/DTC: Fixed a couple input scanner issues with comments and line |
|
- | 344 | numbers. Comment remover could get confused and miss a comment ending. Fixed |
|
- | 345 | a problem with line counter maintenance. |
|
- | 346 | ||
- | 347 | iASL/DTC: Reduced the severity of some errors from fatal to error. There is |
|
- | 348 | no need to abort on simple errors within a field definition. |
|
- | 349 | ||
- | 350 | Debugger: Simplified the output of the help command. All help output now in |
|
- | 351 | a single screen, instead of help subcommands. ACPICA Bugzilla 897. |
|
- | 352 | ||
- | 353 | ---------------------------------------- |
|
- | 354 | 12 January 2011. Summary of changes for version 20110112: |
|
- | 355 | ||
- | 356 | 1) ACPI CA Core Subsystem: |
|
- | 357 | ||
- | 358 | Fixed a race condition between method execution and namespace walks that can |
|
- | 359 | possibly cause a fault. The problem was apparently introduced in version |
|
- | 360 | 20100528 as a result of a performance optimization that reduces the number of |
|
- | 361 | namespace walks upon method exit by using the delete_namespace_subtree |
|
- | 362 | function instead of the delete_namespace_by_owner function used previously. |
|
- | 363 | Bug is a missing namespace lock in the delete_namespace_subtree function. |
|
- | 364 | dana.myers@oracle.com |
|
- | 365 | ||
- | 366 | Fixed several issues and a possible fault with the automatic "serialized" |
|
- | 367 | method support. History: This support changes a method to "serialized" on the |
|
- | 368 | fly if the method generates an AE_ALREADY_EXISTS error, indicating the |
|
- | 369 | possibility that it cannot handle reentrancy. This fix repairs a couple of |
|
- | 370 | issues seen in the field, especially on machines with many cores: |
|
- | 371 | ||
- | 372 | 1) Delete method children only upon the exit of the last thread, |
|
- | 373 | so as to not delete objects out from under other running threads |
|
- | 374 | (and possibly causing a fault.) |
|
- | 375 | 2) Set the "serialized" bit for the method only upon the exit of the |
|
- | 376 | Last thread, so as to not cause deadlock when running threads |
|
- | 377 | attempt to exit. |
|
- | 378 | 3) Cleanup the use of the AML "MethodFlags" and internal method flags |
|
- | 379 | so that there is no longer any confusion between the two. |
|
- | 380 | ||
- | 381 | Lin Ming, Bob Moore. Reported by dana.myers@oracle.com. |
|
- | 382 | ||
- | 383 | Debugger: Now lock the namespace for duration of a namespace dump. Prevents |
|
- | 384 | issues if the namespace is changing dynamically underneath the debugger. |
|
- | 385 | Especially affects temporary namespace nodes, since the debugger displays |
|
- | 386 | these also. |
|
Line -... | Line 387... | ||
- | 387 | ||
- | 388 | Updated the ordering of include files. The ACPICA headers should appear |
|
- | 389 | before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set |
|
- | 390 | any necessary compiler-specific defines, etc. Affects the ACPI-related tools |
|
- | 391 | and utilities. |
|
- | 392 | ||
- | 393 | Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright |
|
- | 394 | to all module headers and signons, including the Linux header. This affects |
|
- | 395 | virtually every file in the ACPICA core subsystem, iASL compiler, and all |
|
- | 396 | utilities. |
|
- | 397 | ||
- | 398 | Added project files for MS Visual Studio 2008 (VC++ 9.0). The original |
|
- | 399 | project files for VC++ 6.0 are now obsolete. New project files can be found |
|
- | 400 | under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for |
|
- | 401 | details. |
|
- | 402 | ||
- | 403 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 404 | acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The |
|
- | 405 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 406 | much larger code and data size. |
|
- | 407 | ||
- | 408 | Previous Release (VC 6.0): |
|
- | 409 | Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total |
|
- | 410 | Debug Version: 166.6K Code, 52.1K Data, 218.7K Total |
|
- | 411 | Current Release (VC 9.0): |
|
- | 412 | Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total |
|
- | 413 | Debug Version: 163.9K Code, 67.5K Data, 231.4K Total |
|
- | 414 | ||
- | 415 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 416 | ||
- | 417 | iASL: Added generic data types to the Data Table compiler. Add "generic" data |
|
- | 418 | types such as UINT32, String, Unicode, etc., to simplify the generation of |
|
- | 419 | platform-defined tables such as UEFI. Lin Ming. |
|
- | 420 | ||
- | 421 | iASL: Added listing support for the Data Table Compiler. Adds listing support |
|
- | 422 | (-l) to display actual binary output for each line of input code. |
|
- | 423 | ||
- | 424 | ---------------------------------------- |
|
- | 425 | 09 December 2010. Summary of changes for version 20101209: |
|
- | 426 | ||
- | 427 | 1) ACPI CA Core Subsystem: |
|
- | 428 | ||
- | 429 | Completed the major overhaul of the GPE support code that was begun in July |
|
- | 430 | 2010. Major features include: removal of _PRW execution in ACPICA (host |
|
- | 431 | executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, |
|
- | 432 | changes to existing interfaces, simplification of GPE handler operation, and |
|
- | 433 | a handful of new interfaces: |
|
- | 434 | ||
- | 435 | AcpiUpdateAllGpes |
|
- | 436 | AcpiFinishGpe |
|
- | 437 | AcpiSetupGpeForWake |
|
- | 438 | AcpiSetGpeWakeMask |
|
- | 439 | One new file, evxfgpe.c to consolidate all external GPE interfaces. |
|
- | 440 | ||
- | 441 | See the ACPICA Programmer Reference for full details and programming |
|
- | 442 | information. See the new section 4.4 "General Purpose Event (GPE) Support" |
|
- | 443 | for a full overview, and section 8.7 "ACPI General Purpose Event Management" |
|
- | 444 | for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, |
|
- | 445 | Bob Moore, Rafael Wysocki. |
|
- | 446 | ||
- | 447 | Implemented a new GPE feature for Windows compatibility, the "Implicit Wake |
|
- | 448 | GPE Notify". This feature will automatically issue a Notify(2) on a device |
|
- | 449 | when a Wake GPE is received if there is no corresponding GPE method or |
|
- | 450 | handler. ACPICA BZ 870. |
|
- | 451 | ||
- | 452 | Fixed a problem with the Scope() operator during table parse and load phase. |
|
- | 453 | During load phase (table load or method execution), the scope operator should |
|
- | 454 | not enter the target into the namespace. Instead, it should open a new scope |
|
- | 455 | at the target location. Linux BZ 19462, ACPICA BZ 882. |
|
- | 456 | ||
- | 457 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 458 | acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The |
|
- | 459 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 460 | much larger code and data size. |
|
- | 461 | ||
- | 462 | Previous Release: |
|
- | 463 | Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total |
|
- | 464 | Debug Version: 166.6K Code, 52.1K Data, 218.7K Total |
|
- | 465 | Current Release: |
|
- | 466 | Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
|
- | 467 | Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
- | 468 | ||
- | 469 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 470 | ||
- | 471 | iASL: Relax the alphanumeric restriction on _CID strings. These strings are |
|
- | 472 | "bus-specific" per the ACPI specification, and therefore any characters are |
|
- | 473 | acceptable. The only checks that can be performed are for a null string and |
|
- | 474 | perhaps for a leading asterisk. ACPICA BZ 886. |
|
- | 475 | ||
- | 476 | iASL: Fixed a problem where a syntax error that caused a premature EOF |
|
- | 477 | condition on the source file emitted a very confusing error message. The |
|
- | 478 | premature EOF is now detected correctly. ACPICA BZ 891. |
|
- | 479 | ||
- | 480 | Disassembler: Decode the AccessSize within a Generic Address Structure (byte |
|
3 | 481 | access, word access, etc.) Note, this field does not allow arbitrary bit |
|
- | 482 | access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword. |
|
- | 483 | ||
- | 484 | New: AcpiNames utility - Example namespace dump utility. Shows an example of |
|
- | 485 | ACPICA configuration for a minimal namespace dump utility. Uses table and |
|
- | 486 | namespace managers, but no AML interpreter. Does not add any functionality |
|
- | 487 | over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to |
|
- | 488 | partition and configure ACPICA. ACPICA BZ 883. |
|
- | 489 | ||
- | 490 | AML Debugger: Increased the debugger buffer size for method return objects. |
|
- | 491 | Was 4K, increased to 16K. Also enhanced error messages for debugger method |
|
- | 492 | execution, including the buffer overflow case. |
|
- | 493 | ||
- | 494 | ---------------------------------------- |
|
- | 495 | 13 October 2010. Summary of changes for version 20101013: |
|
- | 496 | ||
- | 497 | 1) ACPI CA Core Subsystem: |
|
- | 498 | ||
- | 499 | Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now |
|
- | 500 | clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via |
|
- | 501 | HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880. |
|
- | 502 | ||
- | 503 | Changed the type of the predefined namespace object _TZ from ThermalZone to |
|
- | 504 | Device. This was found to be confusing to the host software that processes |
|
- | 505 | the various thermal zones, since _TZ is not really a ThermalZone. However, a |
|
- | 506 | Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui |
|
- | 507 | Zhang. |
|
- | 508 | ||
- | 509 | Added Windows Vista SP2 to the list of supported _OSI strings. The actual |
|
- | 510 | string is "Windows 2006 SP2". |
|
- | 511 | ||
- | 512 | Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair |
|
- | 513 | code automatically repairs _HID-related strings, this type of code is no |
|
- | 514 | longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878. |
|
- | 515 | ||
- | 516 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 517 | acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The |
|
- | 518 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 519 | much larger code and data size. |
|
- | 520 | ||
- | 521 | Previous Release: |
|
- | 522 | Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
|
- | 523 | Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
- | 524 | Current Release: |
|
- | 525 | Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
|
- | 526 | Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
- | 527 | ||
- | 528 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 529 | ||
- | 530 | iASL: Implemented additional compile-time validation for _HID strings. The |
|
- | 531 | non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of |
|
- | 532 | the string must be exactly seven or eight characters. For both _HID and _CID |
|
- | 533 | strings, all characters must be alphanumeric. ACPICA BZ 874. |
|
- | 534 | ||
- | 535 | iASL: Allow certain "null" resource descriptors. Some BIOS code creates |
|
- | 536 | descriptors that are mostly or all zeros, with the expectation that they will |
|
- | 537 | be filled in at runtime. iASL now allows this as long as there is a "resource |
|
- | 538 | tag" (name) associated with the descriptor, which gives the ASL a handle |
|
- | 539 | needed to modify the descriptor. ACPICA BZ 873. |
|
- | 540 | ||
- | 541 | Added single-thread support to the generic Unix application OSL. Primarily |
|
- | 542 | for iASL support, this change removes the use of semaphores in the single- |
|
- | 543 | threaded ACPICA tools/applications - increasing performance. The |
|
- | 544 | _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED |
|
- | 545 | option. ACPICA BZ 879. |
|
- | 546 | ||
- | 547 | AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support |
|
- | 548 | for 64-bit DSDT/FACS addresses in the FADT. Lin Ming. |
|
- | 549 | ||
- | 550 | iASL: Moved all compiler messages to a new file, aslmessages.h. |
|
- | 551 | ||
- | 552 | ---------------------------------------- |
|
- | 553 | 15 September 2010. Summary of changes for version 20100915: |
|
- | 554 | ||
- | 555 | 1) ACPI CA Core Subsystem: |
|
- | 556 | ||
- | 557 | Removed the AcpiOsDerivePciId OSL interface. The various host implementations |
|
- | 558 | of this function were not OS-dependent and are now obsolete and can be |
|
- | 559 | removed from all host OSLs. This function has been replaced by |
|
- | 560 | AcpiHwDerivePciId, which is now part of the ACPICA core code. |
|
- | 561 | AcpiHwDerivePciId has been implemented without recursion. Adds one new |
|
- | 562 | module, hwpci.c. ACPICA BZ 857. |
|
- | 563 | ||
- | 564 | Implemented a dynamic repair for _HID and _CID strings. The following |
|
- | 565 | problems are now repaired at runtime: 1) Remove a leading asterisk in the |
|
- | 566 | string, and 2) the entire string is uppercased. Both repairs are in |
|
- | 567 | accordance with the ACPI specification and will simplify host driver code. |
|
- | 568 | ACPICA BZ 871. |
|
- | 569 | ||
- | 570 | The ACPI_THREAD_ID type is no longer configurable, internally it is now |
|
- | 571 | always UINT64. This simplifies the ACPICA code, especially any printf output. |
|
- | 572 | UINT64 is the only common data type for all thread_id types across all |
|
- | 573 | operating systems. It is now up to the host OSL to cast the native thread_id |
|
- | 574 | type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). |
|
- | 575 | Lin Ming, Bob Moore. |
|
- | 576 | ||
- | 577 | Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" |
|
- | 578 | keyword is not standard across compilers, and this type allows inline to be |
|
- | 579 | configured on a per-compiler basis. Lin Ming. |
|
- | 580 | ||
- | 581 | Made the system global AcpiGbl_SystemAwakeAndRunning publically available. |
|
- | 582 | Added an extern for this boolean in acpixf.h. Some hosts utilize this value |
|
- | 583 | during suspend/restore operations. ACPICA BZ 869. |
|
- | 584 | ||
- | 585 | All code that implements error/warning messages with the "ACPI:" prefix has |
|
- | 586 | been moved to a new module, utxferror.c. |
|
- | 587 | ||
- | 588 | The UINT64_OVERLAY was moved to utmath.c, which is the only module where it |
|
- | 589 | is used. ACPICA BZ 829. Lin Ming, Bob Moore. |
|
- | 590 | ||
- | 591 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 592 | acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The |
|
- | 593 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 594 | much larger code and data size. |
|
- | 595 | ||
- | 596 | Previous Release: |
|
- | 597 | Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total |
|
- | 598 | Debug Version: 165.1K Code, 51.9K Data, 217.0K Total |
|
- | 599 | Current Release: |
|
- | 600 | Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total |
|
- | 601 | Debug Version: 166.3K Code, 52.1K Data, 218.4K Total |
|
- | 602 | ||
- | 603 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 604 | ||
- | 605 | iASL/Disassembler: Write ACPI errors to stderr instead of the output file. |
|
- | 606 | This keeps the output files free of random error messages that may originate |
|
- | 607 | from within the namespace/interpreter code. Used this opportunity to merge |
|
- | 608 | all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ |
|
- | 609 | 866. Lin Ming, Bob Moore. |
|
- | 610 | ||
- | 611 | Tools: update some printfs for ansi warnings on size_t. Handle width change |
|
- | 612 | of size_t on 32-bit versus 64-bit generations. Lin Ming. |
|
- | 613 | ||
- | 614 | ---------------------------------------- |
|
- | 615 | 06 August 2010. Summary of changes for version 20100806: |
|
- | 616 | ||
- | 617 | 1) ACPI CA Core Subsystem: |
|
- | 618 | ||
- | 619 | Designed and implemented a new host interface to the _OSI support code. This |
|
- | 620 | will allow the host to dynamically add or remove multiple _OSI strings, as |
|
- | 621 | well as install an optional handler that is called for each _OSI invocation. |
|
- | 622 | Also added a new AML debugger command, 'osi' to display and modify the global |
|
- | 623 | _OSI string table, and test support in the AcpiExec utility. See the ACPICA |
|
- | 624 | reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836. |
|
- | 625 | New Functions: |
|
- | 626 | AcpiInstallInterface - Add an _OSI string. |
|
- | 627 | AcpiRemoveInterface - Delete an _OSI string. |
|
- | 628 | AcpiInstallInterfaceHandler - Install optional _OSI handler. |
|
- | 629 | Obsolete Functions: |
|
- | 630 | AcpiOsValidateInterface - no longer used. |
|
- | 631 | New Files: |
|
- | 632 | source/components/utilities/utosi.c |
|
- | 633 | ||
- | 634 | Re-introduced the support to enable multi-byte transfers for Embedded |
|
- | 635 | Controller (EC) operation regions. A reported problem was found to be a bug |
|
- | 636 | in the host OS, not in the multi-byte support. Previously, the maximum data |
|
- | 637 | size passed to the EC operation region handler was a single byte. There are |
|
- | 638 | often EC Fields larger than one byte that need to be transferred, and it is |
|
- | 639 | useful for the EC driver to lock these as a single transaction. This change |
|
- | 640 | enables single transfers larger than 8 bits. This effectively changes the |
|
- | 641 | access to the EC space from ByteAcc to AnyAcc, and will probably require |
|
- | 642 | changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit |
|
- | 643 | transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming. |
|
- | 644 | ||
- | 645 | Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The |
|
- | 646 | prototype in acpiosxf.h had the output value pointer as a (void *). |
|
- | 647 | It should be a (UINT64 *). This may affect some host OSL code. |
|
- | 648 | ||
- | 649 | Fixed a couple problems with the recently modified Linux makefiles for iASL |
|
- | 650 | and AcpiExec. These new makefiles place the generated object files in the |
|
- | 651 | local directory so that there can be no collisions between the files that are |
|
- | 652 | shared between them that are compiled with different options. |
|
- | 653 | ||
- | 654 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 655 | acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The |
|
- | 656 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 657 | much larger code and data size. |
|
- | 658 | ||
- | 659 | Previous Release: |
|
- | 660 | Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
|
- | 661 | Debug Version: 164.0K Code, 51.5K Data, 215.5K Total |
|
- | 662 | Current Release: |
|
- | 663 | Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total |
|
- | 664 | Debug Version: 165.1K Code, 51.9K Data, 217.0K Total |
|
- | 665 | ||
- | 666 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 667 | ||
- | 668 | iASL/Disassembler: Added a new option (-da, "disassemble all") to load the |
|
- | 669 | namespace from and disassemble an entire group of AML files. Useful for |
|
- | 670 | loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and |
|
- | 671 | disassembling with one simple command. ACPICA BZ 865. Lin Ming. |
|
- | 672 | ||
- | 673 | iASL: Allow multiple invocations of -e option. This change allows multiple |
|
- | 674 | uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. |
|
- | 675 | Lin Ming. |
|
- | 676 | ||
- | 677 | ---------------------------------------- |
|
- | 678 | 02 July 2010. Summary of changes for version 20100702: |
|
- | 679 | ||
- | 680 | 1) ACPI CA Core Subsystem: |
|
- | 681 | ||
- | 682 | Implemented several updates to the recently added GPE reference count |
|
- | 683 | support. The model for "wake" GPEs is changing to give the host OS complete |
|
- | 684 | control of these GPEs. Eventually, the ACPICA core will not execute any _PRW |
|
- | 685 | methods, since the host already must execute them. Also, additional changes |
|
- | 686 | were made to help ensure that the reference counts are kept in proper |
|
- | 687 | synchronization with reality. Rafael J. Wysocki. |
|
- | 688 | ||
- | 689 | 1) Ensure that GPEs are not enabled twice during initialization. |
|
- | 690 | 2) Ensure that GPE enable masks stay in sync with the reference count. |
|
- | 691 | 3) Do not inadvertently enable GPEs when writing GPE registers. |
|
- | 692 | 4) Remove the internal wake reference counter and add new AcpiGpeWakeup |
|
- | 693 | interface. This interface will set or clear individual GPEs for wakeup. |
|
- | 694 | 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces |
|
- | 695 | are now used for "runtime" GPEs only. |
|
- | 696 | ||
- | 697 | Changed the behavior of the GPE install/remove handler interfaces. The GPE is |
|
- | 698 | no longer disabled during this process, as it was found to cause problems on |
|
- | 699 | some machines. Rafael J. Wysocki. |
|
- | 700 | ||
- | 701 | Reverted a change introduced in version 20100528 to enable Embedded |
|
- | 702 | Controller multi-byte transfers. This change was found to cause problems with |
|
- | 703 | Index Fields and possibly Bank Fields. It will be reintroduced when these |
|
- | 704 | problems have been resolved. |
|
- | 705 | ||
- | 706 | Fixed a problem with references to Alias objects within Package Objects. A |
|
- | 707 | reference to an Alias within the definition of a Package was not always |
|
- | 708 | resolved properly. Aliases to objects like Processors, Thermal zones, etc. |
|
- | 709 | were resolved to the actual object instead of a reference to the object as it |
|
- | 710 | should be. Package objects are only allowed to contain integer, string, |
|
- | 711 | buffer, package, and reference objects. Redhat bugzilla 608648. |
|
- | 712 | ||
- | 713 | Example Code and Data Size: These are the sizes for the OS-independent |
|
- | 714 | acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The |
|
- | 715 | debug version of the code includes the debug output trace mechanism and has a |
|
- | 716 | much larger code and data size. |
|
- | 717 | ||
- | 718 | Previous Release: |
|
- | 719 | Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
|
- | 720 | Debug Version: 164.1K Code, 51.5K Data, 215.6K Total |
|
- | 721 | Current Release: |
|
- | 722 | Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total |
|
- | 723 | Debug Version: 164.0K Code, 51.5K Data, 215.5K Total |
|
- | 724 | ||
- | 725 | 2) iASL Compiler/Disassembler and Tools: |
|
- | 726 | ||
- | 727 | iASL: Implemented a new compiler subsystem to allow definition and |
|
- | 728 | compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These |
|
- | 729 | are called "ACPI Data Tables", and the new compiler is the "Data Table |
|
- | 730 | Compiler". This compiler is intended to simplify the existing error-prone |
|
- | 731 | process of creating these tables for the BIOS, as well as allowing the |
|
- | 732 | disassembly, modification, recompilation, and override of existing ACPI data |
|
- | 733 | tables. See the iASL User Guide for detailed information. |
|
- | 734 | ||
- | 735 | iASL: Implemented a new Template Generator option in support of the new Data |
|
- | 736 | Table Compiler. This option will create examples of all known ACPI tables |
|
- | 737 | that can be used as the basis for table development. See the iASL |
|
- | 738 | documentation and the -T option. |
|
- | 739 | ||
- | 740 | Disassembler and headers: Added support for the WDDT ACPI table (Watchdog |
|
- | 741 | Descriptor Table). |
|
- | 742 | ||
- | 743 | Updated the Linux makefiles for iASL and AcpiExec to place the generated |
|
- | 744 | object files in the local directory so that there can be no collisions |
|
- | 745 | between the shared files between them that are generated with different |
|
- | 746 | options. |
|
- | 747 | ||
- | 748 | Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use |
|
- | 749 | the #define __APPLE__ to enable this support. |
|
- | 750 | ||
- | 751 | ---------------------------------------- |
|
Line 4... | Line 752... | ||
4 | This release is available at www.acpica.org/downloads |
752 | 28 May 2010. Summary of changes for version 20100528: |
5 | 753 | ||
Line 6... | Line 754... | ||
6 | Note: The ACPI 4.0a specification was released on April 5, 2010 and is |
754 | Note: The ACPI 4.0a specification was released on April 5, 2010 and is |