ACPICA version 20100428 released

Moore, Robert robert.moore at intel.com
Wed Apr 28 20:17:31 UTC 2010


28 April 2010. Summary of changes for version 20100428:

This release is available at www.acpica.org/downloads
Note: The ACPI 4.0a specification was released on April 5, 2010 and is available at www.acpi.info. This is primarily an errata release.


1) ACPI CA Core Subsystem:

Implemented GPE support for dynamically loaded ACPI tables. For all GPEs, including FADT-based and GPE Block Devices, execute any _PRW methods in the new table, and process any _Lxx/_Exx GPE methods in the new table. Any runtime GPE that is referenced by an _Lxx/_Exx method in the new table is immediately enabled. Provides compatibility with other ACPI implementations. Two new files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore.

Fixed a regression introduced in version 20100331 within the table manager where initial table loading could fail. This was introduced in the fix for AcpiReallocateRootTable. Also, renamed some of fields in the table manager data structures to clarify their meaning and use.

Fixed a possible allocation overrun during internal object copy in AcpiUtCopySimpleObject. The original code did not correctly handle the case where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.

Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a possible access beyond end-of-allocation. Also, now fully validate descriptor (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847

Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 6.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:  87.9K Code, 18.6K Data, 106.5K Total
    Debug Version:     163.5K Code, 51.3K Data, 214.8K Total
  Current Release:
    Non-Debug Version:  88.4K Code, 18.8K Data, 107.2K Total
    Debug Version:     164.2K Code, 51.5K Data, 215.7K Total

2) iASL Compiler/Disassembler and Tools:

iASL: Implemented Min/Max/Len/Gran validation for address resource descriptors. This change implements validation for the address fields that are common to all address-type resource descriptors. These checks are implemented: Checks for valid Min/Max, length within the Min/Max window, valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c and aslrestype2.c files into five new files. ACPICA BZ 840.

iASL: Added support for the _Wxx predefined names. This support was missing and these names were not recognized by the compiler as valid predefined names. ACPICA BZ 851.

iASL: Added an error for all predefined names that are defined to return no value and thus must be implemented as Control Methods. These include all of the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.

iASL: Implemented the -ts option to emit hex AML data in ASL format, as an ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be dynamically loaded via the Load() operator. Also cleaned up output for the -ta and -tc options. ACPICA BZ 853.

Tests: Added a new file with examples of extended iASL error checking. Demonstrates the advanced error checking ability of the iASL compiler. Available at tests/misc/badcode.asl.



More information about the freebsd-acpi mailing list