summaryrefslogtreecommitdiff
path: root/include/acpi/amlcode.h
AgeCommit message (Collapse)Author
2005-01-20[ACPI] ACPICA 20050114 from Bob MooreLen Brown
Added 2005 copyright to all ACPICA files. Fixed an issue with the String-to-Buffer conversion code where the string null terminator was not included in the buffer after conversion, but there is existing ASL that assumes the string null terminator is included. This is the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was introduced in the previous version when the code was updated to correctly set the converted buffer size as per the ACPI specification. The ACPI spec is ambiguous and will be updated to specify that the null terminator must be included in the converted buffer. This also affects the ToBuffer() ASL operator. Fixed a problem with the Mid() ASL/AML operator where it did not work correctly on Buffer objects. Newly created sub-buffers were not being marked as initialized. Fixed a problem in acpi_tb_find_table where incorrect string compares were performed on the oem_id and oem_table_d table header fields. These fields are not null terminated, so strncmp is now used instead of strcmp. Implemented a restriction on the Store() ASL/AML operator to align the behavior with the ACPI specification. Previously, any object could be used as the source operand. Now, the only objects that may be used are Integers, Buffers, Strings, Packages, Object References, and DDB Handles. As acpi_gbl_enable_interpreter_slack is FALSE by default, "acpi=strict" is needed to enable this check. Enhanced the optional "implicit return" support to allow an implicit return value from methods that are invoked externally via the AcpiEvaluateObject interface. This enables implicit returns from the _STA and _INI methods, for example. Changed the Revision() ASL/AML operator to return the current version of the AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned the supported ACPI version (This is the function of the _REV method). Updated the _REV predefined method to return the currently supported version of ACPI, now 3.
2004-12-06[ACPI] ACPICA 20041203 from Bob Moore and Alexey StarikovskiyLen Brown
The low-level field insertion/extraction code (exfldio) has been completely rewritten to eliminate unnecessary complexity, bugs, and boundary conditions. Fixed a problem in the ToInteger, ToBuffer, ToHexString, and ToDecimalString operators where the input operand could be inadvertently deleted if no conversion was necessary (e.g., if the input to ToInteger was an Integer object.) Fixed a problem with the ToDecimalString and ToHexString where an incorrect exception code was returned if the resulting string would be > 200 chars. AE_STRING_LIMIT is now returned. Fixed a problem with the Concatenate operator where AE_OK was always returned, even if the operation failed. Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128 semaphores to be allocated. Signed-off-by: Len Brown <len.brown@intel.com>
2004-10-22[ACPI] ACPICA 20040924 from Bob MooreLen Brown
Signed-off-by: Len Brown <len.brown@intel.com> Added a new OSL interface, acpi_os_get_timer. This interface implements a 64-bit monotonic timer in 100 nanosecond units. Implemented support for the ACPI 3.0 Timer operator. This 64-bit timer utilizes the timer provided by the acpi_os_get_timer interface.
2004-10-22[ACPI] ACPICA 20040827 update from Bob MooreLen Brown
Signed-off-by: Len Brown <len.brown@intel.com> Implemented support for implicit object conversion in the non-numeric logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and LNotEqual.) Any combination of Integers/Strings/Buffers may now be used; the second operand is implicitly converted on the fly to match the type of the first operand. For example: LEqual (Source1, Source2) Source1 and Source2 must each evaluate to an integer, a string, or a buffer. The data type of Source1 dictates the required type of Source2. Source2 is implicitly converted if necessary to match the type of Source1. Updated and corrected the behavior of the string conversion support. The rules concerning conversion of buffers to strings (according to the ACPI specification) are as follows: ToDecimalString - explicit byte-wise conversion of buffer to string of decimal values (0-255) separated by commas. ToHexString - explicit byte-wise conversion of buffer to string of hex values (0-FF) separated by commas. ToString - explicit byte-wise conversion of buffer to string. Byte-by-byte copy with no transform except NULL terminated. Any other implicit buffer-to-string conversion byte-wise conversion of buffer to string of hex values (0-FF) separated by spaces. Fixed a problem in acpi_ns_get_pathname_length where the returned length was one byte too short in the case of a node in the root scope. This could cause a fault during debug output.
2004-03-12[ACPI] ACPICA 20040311 from Bob MooreLen Brown
Fixed a problem where errors occurring during the parse phase of control method execution did not abort cleanly. For example, objects created and installed in the namespace were not deleted. This caused all subsequent invocations of the method to return the AE_ALREADY_EXISTS exception. Implemented a mechanism to force a control method to "Serialized" execution if the method attempts to create namespace objects. (The root of the AE_ALREADY_EXISTS problem.) Implemented support for the predefined _OSI "internal" control method. Initial supported strings are "Linux", "Windows 2000", "Windows 2001", and "Windows 2001.1", and can be easily upgraded for new strings as necessary. This feature allows Linux to execute the fully tested, "Windows" code path through the ASL code Global Lock Support: Now allows multiple acquires and releases with any internal thread. Removed concept of "owning thread" for this special mutex. Fixed two functions that were inappropriately declaring large objects on the CPU stack: ps_parse_loop() and ns_evaluate_relative(). Reduces the stack usage during method execution considerably. Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT. Fixed a problem where acpi_ev_gpe_detect() would fault if there were no GPEs defined on the machine. Implemented two runtime options: One to force all control method execution to "Serialized" to mimic Windows behavior, another to disable _OSI support if it causes problems on a given machine.
2004-01-17[ACPI] ACPICA 20040116 from Bob MooreLen Brown
The purpose of this release is primarily to update the copyright years in each module, thus causing a huge number of diffs. There are a few small functional changes, however. Improved error messages when there is a problem finding one or more of the required base ACPI tables Reintroduced the definition of APIC_HEADER in actbl.h Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h) Removed extraneous reference to NewObj in dsmthdat.c
2003-02-17ACPI: Change license from GPL to dual GPL and BSD-styleAndy Grover
2003-02-17ACPI: Misc interpreter improvementsAndy Grover
2003-01-17ACPI: Move drivers/acpi/include directory to include/acpiAndy Grover