Version 20120913

1) ACPICA Kernel-resident Subsystem:

ACPI 5.0: Added two new notify types for the Hardware Error Notification Structure within the Hardware Error Source Table (HEST) table -- CMCI(5) and MCE(6).

Table Manager: Merged/removed duplicate code in the root table resize functions. One function is external, the other is internal. Lv Zheng, ACPICA BZ 846.

Makefiles: Completely removed the obsolete "Linux" makefiles under acpica/generate/linux. These makefiles are obsolete and have been replaced by the generic unix makefiles under acpica/generate/unix.

Makefiles: Ensure that binary files always copied properly. Minor rule change to ensure that the final binary output files are always copied up to the appropriate binary directory (bin32 or bin64.)

Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code includes the debug output trace mechanism and has a much larger code and data size.

Previous Release:
Non-Debug Version: 93.8K Code, 25.3K Data, 119.1K Total
Debug Version: 175.7K Code, 74.8K Data, 250.5K Total
Current Release:
Non-Debug Version: 93.7K Code, 25.3K Data, 119.0K Total
Debug Version: 175.0K Code, 74.4K Data, 249.4K Total

2) iASL Compiler/Disassembler and Tools:

Disassembler: Fixed a possible fault during the disassembly of resource descriptors when a second parse is required because of the invocation of external control methods within the table. With assistance from ACPICA BZ 976.

iASL: Fixed a namepath optimization problem. An error can occur if the parse node that contains the namepath to be optimized does not have a parent node that is a named object. This change fixes the problem.

iASL: Fixed a regression where the AML file is not deleted on errors. The AML output file should be deleted if there are any errors during the compiler. The only exception is if the -f (force output) option is used. ACPICA BZ 974.

iASL: Added a feature to automatically increase internal line buffer sizes. Via realloc(), automatically increase the internal line buffer sizes as necessary to support very long source code lines. The current version of the preprocessor requires a buffer long enough to contain full source code lines. This change increases the line buffer(s) if the input lines go beyond the current buffer size. This eliminates errors that occurred when a source code line was longer than the buffer.

iASL: Fixed a problem with constant folding in method declarations. The SyncLevel term is a ByteConstExpr, and incorrect code would be generated if a Type3 opcode was used.

Debugger: Improved command help support. For incorrect argument count, display full help for the command. For help command itself, allow an argument to specify a command.

Test Suites: Several bug fixes for the ASLTS suite reduces the number of errors during execution of the suite. Guan Chao.

13 September, 2012