11 July 2012. Summary of changes for version 20120711:
This release is available at https://www.acpica.org/downloads
The ACPI 5.0 specification
is available at www.acpi.info
1) ACPICA Kernel-resident Subsystem:
Fixed a possible fault in the return package object repair code. Fixes a problem that can
occur when a lone package object is wrapped with an outer package object in order to force
conformance to the ACPI specification. Can affect these predefined names: _ALR, _MLS,
_PSS, _TRT, _TSS, _PRT, _HPX, _DLM, _CSD, _PSD, _TSD.
Removed code to disable/enable bus master arbitration (ARB_DIS bit in the PM2_CNT
register) in the ACPICA sleep/wake interfaces. Management of the ARB_DIS bit must be
implemented in the host-dependent C3 processor power state support. Note, ARB_DIS is
obsolete and only applies to older chipsets, both Intel and other vendors. (for Intel:
ICH4-M and earlier)
This change removes the code to disable/enable bus master arbitration during
suspend/resume. Use of the ARB_DIS bit in the optional PM2_CNT register causes resume
problems on some machines. The change has been in use for over seven years within Linux.
Implemented two new external interfaces to support host-directed dynamic ACPI table load
and unload. They are intended to simplify the host implementation of hot-plug support:
AcpiLoadTable: Load an SSDT from a buffer into the namespace.
AcpiUnloadParentTable: Unload an SSDT via a named object owned by the table.
See the ACPICA reference for additional details. Adds one new file,
Implemented and deployed two new interfaces for errors and warnings that are known to be
caused by BIOS/firmware issues:
AcpiBiosError: Prints "ACPI Firmware Error" message.
AcpiBiosWarning: Prints "ACPI Firmware Warning" message.
Deployed these new interfaces in the ACPICA Table Manager code for ACPI table and FADT
errors. Additional deployment to be completed as appropriate in the future. The associated
conditional macros are ACPI_BIOS_ERROR and ACPI_BIOS_WARNING. See the ACPICA reference for
additional details. ACPICA BZ 843.
Implicit notify support: ensure that no memory allocation occurs within a critical region.
This fix moves a memory allocation outside of the time that a spinlock is held. Fixes
issues on systems that do not allow this behavior. Jung-uk Kim.
Split exception code utilities and tables into a new file, utilities/utexcep.c
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: 93.1K Code, 25.1K Data, 118.2K Total
Debug Version: 172.9K Code, 73.6K Data, 246.5K Total
Non-Debug Version: 93.5K Code, 25.3K Data, 118.8K Total
Debug Version: 173.7K Code, 74.0K Data, 247.7K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Fixed a parser problem for hosts where EOF is defined as -1 instead of 0. Jung-uk
Debugger: Enhanced the "tables" command to emit additional information about the
current set of ACPI tables, including the owner ID and flags decode.
Debugger: Reimplemented the "unload" command to use the new
AcpiUnloadParentTable external interface. This command was disable previously due to need
for an unload interface.
AcpiHelp: Added a new option to decode ACPICA exception codes. The -e option will decode
16-bit hex status codes (ACPI_STATUS) to name strings.