17 May 2013. Summary of changes for version 20130517:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Fixed a regression introduced in version 20130328 for _INI methods. This change fixes a
problem introduced in 20130328 where _INI methods are no longer executed properly because
of a memory block that was not initialized correctly. ACPICA BZ 1016. Tomasz Nowicki
Fixed a possible problem with the new extended sleep registers in the ACPI 5.0 FADT. Do
not use these registers (even if populated) unless the HW-reduced bit is set in the FADT
(as per the ACPI specification). ACPICA BZ 1020. Lv Zheng.
Implemented return value repair code for _CST predefined objects: Sort the list and
detect/remove invalid entries. ACPICA BZ 890. Lv Zheng.
Implemented a debug-only option to disable loading of SSDTs from the RSDT/XSDT during
ACPICA initialization. This can be useful for debugging ACPI problems on some machines.
Set AcpiGbl_DisableSsdtTableLoad in acglobal.h - ACPICA BZ 1005. Lv Zheng.
Fixed some issues in the ACPICA initialization and termination code: Tomasz Nowicki
1) Clear events initialized flag upon event component termination. ACPICA BZ 1013.
2) Fixed a possible memory leak in GPE init error path. ACPICA BZ 1018.
3) Delete global lock pending lock during termination. ACPICA BZ 1012.
4) Clear debug buffer global on termination to prevent possible multiple delete. ACPICA BZ
Standardized all switch() blocks across the entire source base. After many years,
different formatting for switch() had crept in. This change makes the formatting of every
switch block identical. ACPICA BZ 997. Chao Guan.
Split some files to enhance ACPICA modularity and configurability:
1) Split buffer dump routines into utilities/utbuffer.c
2) Split internal error message routines into utilities/uterror.c
3) Split table print utilities into tables/tbprint.c
4) Split iASL command-line option processing into asloptions.c
1) Support for all new files above.
2) Abort make on errors from any subcomponent. Chao Guan.
3) Add build support for Apple Mac OS X. Liang Qi.
Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced
by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of the code includes
the debug output trace mechanism and has a much larger code and data size.
Non-Debug Version: 96.0K Code, 27.0K Data, 123.0K Total
Debug Version: 184.1K Code, 76.8K Data, 260.9K Total
Non-Debug Version: 95.6K Code, 26.8K Data, 122.4K Total
Debug Version: 183.5K Code, 76.6K Data, 260.1K Total
2) iASL Compiler/Disassembler and Tools:
New utility: Implemented an easily portable version of the acpidump utility to extract
ACPI tables from the system (or a file) in an ASCII hex dump format. The top-level code
implements the various command line options, file I/O, and table dump routines. To port to
a new host, only three functions need to be implemented to get tables -- since this
functionality is OS-dependent. See the tools/acpidump/apmain.c module and the ACPICA
reference for porting instructions. ACPICA BZ 859. Notes:
1) The Windows version obtains the ACPI tables from the Registry.
2) The Linux version is under development.
3) Other hosts - If an OS-dependent module is submitted, it will be distributed with
iASL: Fixed a regression for -D preprocessor option (define symbol). A
restructuring/change to the initialization sequence caused this option to no longer work
iASL: Implemented a mechanism to disable specific warnings and remarks. Adds a new command
line option, "-vw <messageid> as well as "#pragma disable
<messageid>". ACPICA BZ 989. Chao Guan, Bob Moore.
iASL: Fix for too-strict package object validation. The package object validation for
return values from the predefined names is a bit too strict, it does not allow names
references within the package (which will be resolved at runtime.) These types of
references cannot be validated at compile time. This change ignores named references
within package objects for names that return or define static packages.
Debugger: Fixed the 80-character command line limitation for the History command. Now
allows lines of arbitrary length. ACPICA BZ 1000. Chao Guan.
iASL: Added control method and package support for the -so option (generates AML offset
table for BIOS support.)
iASL: issue a remark if a non-serialized method creates named objects. If a thread blocks
within the method for any reason, and another thread enters the method, the method will
fail because an attempt will be made to create the same (named) object twice. In this
case, issue a remark that the method should be marked serialized. NOTE: may become a
warning later. ACPICA BZ 909.