28 July 2017. Summary of changes for version 20170728:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Fixed a regression seen with small resource descriptors that could cause an inadvertent
AML interpreter: Implemented a new feature that allows forward references from individual
named references within package objects that are contained within blocks of
"module-level code". This provides compatibility with other ACPI implementations
and supports existing firmware that depends on this feature. Example:
Name (ABCD, 1)
If (ABCD) /* An If() at module-level */
Name (PKG1, Package()
INT1 /* Forward reference to object INT1 */
Name (INT1, 0x1234)
AML Interpreter: Fixed a problem with the Alias() operator where aliases to some ASL
objects were not handled properly. Objects affected are: Mutex, Event, and
AML Debugger: Enhanced to properly handle AML Alias objects. These objects have one level
of indirection which was not fully supported by the debugger.
Table Manager: Added support to detect and ignore duplicate SSDTs within the XSDT/RSDT.
This error in the XSDT has been seen in the field.
EFI and EDK2 support:
Enabled /WX flag for MSVC builds
Added support for AcpiOsStall, AcpiOsSleep, and AcpiOsGetTimer
Added local support for 64-bit multiply and shift operations
Added support to compile acpidump.efi on Windows
Added OSL function stubs for interfaces not used under EFI
Added additional support for the _DMA predefined name. _DMA returns a buffer containing a
resource template. This change add support within the resource manager
(AcpiWalkResourceBuffer) to walk and parse this list of resource descriptors. Lorenzo
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a problem where the internal input line buffer(s) could overflow if there are
very long lines in the input ASL source code file. Implemented buffer management that
automatically increases the size of the buffers as necessary.
iASL: Added an option (-vx) to "expect" particular remarks, warnings and errors.
If the specified exception is not raised during compilation, the compiler emits an error.
This is intended to support the ASL test suite, but may be useful in other contexts.
iASL: Implemented a new predefined macro, __METHOD__, which returns a string containing
the name of the current control method that is being compiled.
iASL: Implemented debugger and table compiler support for the SDEI ACPI table (Software
Delegated Exception Interface). James Morse <james.morse(a)arm.com>
Unix/Linux makefiles: Added an option to disable compile optimizations. The disable occurs
when the NOOPT flag is set to TRUE. theracermaster(a)gmail.com
Acpidump: Added support for multiple DSDT and FACS tables. This can occur when there are
different tables for 32-bit versus 64-bit.
Enhanced error reporting for the ASL test suite (ASLTS) by removing unnecessary/verbose
text, and emit the actual line number where an error has occurred. These changes are
intended to improve the usefulness of the test suite.