Date: Fri, 31 Oct 2008 09:39:16 -0700 From: "Moore, Robert" <robert.moore@intel.com> To: "Moore, Robert" <robert.moore@intel.com> Subject: ACPICA version 20081031 released Message-ID: <4911F71203A09E4D9981D27F9D8308580AEC1809@orsmsx503.amr.corp.intel.com>
next in thread | raw e-mail | index | archive | help
31 October 2008. Summary of changes for version 20081031: This release is available at www.acpica.org/downloads. 1) ACPI CA Core Subsystem: Restructured the ACPICA header files into public/private. acpi.h now includ= es only the "public" acpica headers. All other acpica headers are "private"= and should not be included by acpica users. One new file, accommon.h is us= ed to include the commonly used private headers for acpica code generation.= Future plans include moving all private headers to a new subdirectory. Implemented an automatic Buffer->String return value conversion for predefi= ned ACPI methods. For these methods (such as _BIF), added automatic convers= ion for return objects that are required to be a String, but a Buffer was f= ound instead. This can happen when reading string battery data from an oper= ation region, because it used to be difficult to convert the data from buff= er to string from within the ASL. Ensures that the host OS is provided with= a valid null-terminated string. Linux BZ 11822. Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVecto= r into two: one for the 32-bit vector, another for the 64-bit vector. This = is required because the host OS must setup the wake much differently for ea= ch vector (real vs. protected mode, etc.) and the interface itself should n= ot be deciding which vector to use. Also, eliminated the GetFirmwareWakingV= ector interface, as it served no purpose (only the firmware reads the vecto= r, OS only writes the vector.) ACPICA BZ 731. Implemented a mechanism to escape infinite AML While() loops. Added a loop = counter to force exit from AML While loops if the count becomes too large. = This can occur in poorly written AML when the hardware does not respond wit= hin a while loop and the loop does not implement a timeout. The maximum loo= p count is configurable. A new exception code is returned when a loop is br= oken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore. Optimized the execution of AML While loops. Previously, a control state obj= ect was allocated and freed for each execution of the loop. The optimizatio= n is to simply reuse the control state for each iteration. This speeds up t= he raw loop execution time by about 5%. Enhanced the implicit return mechanism. For Windows compatibility, return a= n implicit integer of value zero for methods that contain no executable cod= e. Such methods are seen in the field as stubs (presumably), and can cause = drivers to fail if they expect a return value. Lin Ming. Allow multiple backslashes as root prefixes in namepaths. In a fully qualif= ied namepath, allow multiple backslash prefixes. This can happen (and is se= en in the field) because of the use of a double-backslash in strings (since= backslash is the escape character) causing confusion. ACPICA BZ 739 Lin Mi= ng. Emit a warning if two different FACS or DSDT tables are discovered in the F= ADT. Checks if there are two valid but different addresses for the FACS and= DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.) Consolidated the method argument count validation code. Merged the code tha= t validates control method argument counts into the predefined validation m= odule. Eliminates possible multiple warnings for incorrect argument counts. Implemented ACPICA example code. Includes code for ACPICA initialization, h= andler installation, and calling a control method. Available at source/tool= s/examples. Added a global pointer for FACS table to simplify internal FACS access. Use= the global pointer instead of using AcpiGetTableByIndex for each FACS acce= ss. This simplifies the code for the Global Lock and the Firmware Waking Ve= ctor(s). Example Code and Data Size: These are the sizes for the OS-independent acpi= ca.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 muc= h larger code and data size. Previous Release: Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total Debug Version: 155.8K Code, 49.1K Data, 204.9K Total Current Release: Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total Debug Version: 156.4K Code, 49.4K Data, 205.8K Total 2) iASL Compiler/Disassembler and Tools: iASL: Improved disassembly of external method calls. Added the -e option to= allow the inclusion of additional ACPI tables to help with the disassembly= of method invocations and the generation of external declarations during t= he disassembly. Certain external method invocations cannot be disassembled = properly without the actual declaration of the method. Use the -e option to= include the table where the external method(s) are actually declared. Most= useful for disassembling SSDTs that make method calls back to the master D= SDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT: iasl -d= -e dsdt.aml ssdt1.aml iASL: Fix to allow references to aliases within ASL namepaths. Fixes a prob= lem where the use of an alias within a namepath would result in a not found= error or cause the compiler to fault. Also now allows forward references f= rom the Alias operator itself. ACPICA BZ 738.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4911F71203A09E4D9981D27F9D8308580AEC1809>