22 December 2016. Summary of changes for version 20161222:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
AML Debugger: Implemented a new mechanism to simplify and enhance debugger integration
into all environments, including kernel debuggers and user-space utilities, as well as
remote debug services. This mechanism essentially consists of new OSL interfaces to
support debugger initialization/termination, as well as wait/notify interfaces to perform
the debugger handshake with the host. Lv Zheng.
New OSL interfaces:
New OS services layer:
osgendbg.c -- Example implementation, and used for AcpiExec
Update for Generic Address Space (GAS) support: Although the AccessWidth and/or BitOffset
fields of the GAS are not often used, this change now fully supports these fields. This
affects the internal support for FADT registers, registers in other ACPI data tables, and
the AcpiRead and AcpiWrite public interfaces. Lv Zheng.
Sleep support: In order to simplify integration of ACPI sleep for the various host
operating systems, a new OSL interface has been introduced. AcpiOsEnterSleep allows the
host to perform any required operations before the final write to the sleep control
register(s) is performed by ACPICA. Lv Zheng.
New OSL interface:
AcpiOsEnterSleep(SleepState, RegisterAValue, RegisterBValue)
Called from these internal interfaces:
EFI support: Added a very small EFI/ACPICA example application. Provides a simple demo for
EFI integration, as well as assisting with resolution of issues related to customer
ACPICA/EFI integration. Lv Zheng. See:
Local C library: Implemented several new functions to enhance ACPICA portability, for
environments where these clib functions are not available (such as EFI). Lv Zheng:
Fixed a regression where occasionally a valid resource descriptor was incorrectly detected
as invalid at runtime, and a AE_AML_NO_RESOURCE_END_TAG was returned.
Fixed a problem with the recently implemented support that enables control method
invocations as Target operands to many ASL operators. Warnings of this form: "Needed
type [Reference], found [Processor]" were seen at runtime for some method
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: 141.5K Code, 58.5K Data, 200.0K Total
Debug Version: 201.7K Code, 82.7K Data, 284.4K Total
Non-Debug Version: 140.5K Code, 58.5K Data, 198.9K Total
Debug Version: 201.3K Code, 82.7K Data, 284.0K Total
2) iASL Compiler/Disassembler and Tools:
Disassembler: Enhanced output by adding the capability to detect and disassemble ASL
Switch/Case statements back to the original ASL source code instead of if/else blocks.
AcpiHelp: Split a large file into separate files based upon functionality/purpose. New