Previously, the maximum data size passed to the EC operation region
handler was a single byte. Since there are often larger datums that
need to be transfered, and the EC would like to lock these as a single
transaction, this change enables transfers larger than a single byte.
This may require changes to the host-OS Embedded Controller driver
to enable 16/32/64 bit tranfers in addition to 8-bit transfers.
Alexey Starikovskiy, Lin Ming
Remove obsolete AOPOBJ_SINGLE_DATUM. Add AOPOBJ_INVALID for use if
the host OS rejects the address of an operation region (currently
only used by Linux.)
This change enhances the performance of namespace searches and walks
by adding a backpointer to the parent in each namespace node. On large
namespaces, this change can improve overall ACPI performance by up to 9X.
Adding a pointer to each namespace node increases the overall size of
the internal namespace by about 5%, since each namespace entry usually
consists of both a namespace node and an ACPI operand object.
Alexey Starikovskiy.
This feature is optional and is enabled if the BIOS requests any Windows
OSI strings. It can also be enabled by the host OS. Matthew Garrett,
Bob Moore.
On control method exit, only walk the namespace if the method is known
to have created namespace objects outside of its local scope.
Bob Moore, Alexey Starikovskiy.
-dt option will disable the tracking mechanism, which improves performance
considerably. Also restructured the options into -d (disable) and -e (enable) options.
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 referred to by
an _Lxx/_Exx method in the new table is immediately enabled.
ACPICA BZ 833. Lin Ming, Bob Moore.
Adds a reference count mechanism to simplify support of shared GPEs that
require multiple device drivers. Several external interfaces have changed.
One external interface has been removed.
Changed:
AcpiEnableGpe
AcpiDisableGpe
AcpiClearGpe
AcpiGetGpeStatus
Removed:
AcpiSetGpeType
New:
AcpiSetGpe
See the ACPICA Programmer Reference for details.
Matthew Garrett
Bob Moore
Rafael Wysocki
Optionally copy the entire DSDT to local memory (instead of simply
mapping it.) There are some BIOSs that corrupt or replace the original
DSDT, creating the need for this option. Default is FALSE, do not copy
the DSDT.
This change adds support to detect a DSDT that has been corrupted
and/or replaced from outside the OS (by firmware). This is typically
catastrophic for the system, but has been seen on some machines.
Lin Ming, Bob Moore.
The original implementation only supported reading from a DataTable
region. However, some machines have been seen that actually write to
the ACPI table contained in such a region. This change adds support
for writing to a DataTable region.
When copying the root table to the new allocation, the length used
was incorrect. The new size was used instead of the current table size,
meaning too much data was copied. Alexey Starikovskiy.
Fixed a problem with the AML Mutex handling function AcpiExReleaseMutex
where the function could fault under the very rare condition when the
interpreter has blocked, the interpreter lock is released, the
interpreter is then reentered via the same thread, and attempts to
acquire a mutex that was previously acquired. FreeBSD report 140979. Lin Ming.
Always use 0x prefix for hex output, use %u for integer output (all
integers are unsigned.)
Affects ACPI_INFO, ACPI_ERROR, ACPI_WARNING, and ACPI_EXCEPTION.
ACPICA BZ 835.
This change will enable debug object output via a global variable,
AcpiGbl_EnableAmlDebugObject. This will help with remote machine
debugging. Also, moved all debug object support code to a new file,
executer/exdebug.c. Entire debug object module can now be configured
out of the ACPICA build if desired. Lin Ming, Bob Moore.
This type was introduced as the code was migrated from ACPI 1.0 (with 32-bit
AML integers) to ACPI 2.0 (with 64-bit integers). It is now obsolete and
this change removes it from the ACPICA code base, replaced by UINT64.
The original typedef has been retained for now for compatibility with
existing device driver code.
For the predefined methods that return fixed-length packages (or subpackages),
attempt repair for a NULL element. Create an Integer of value 0, a NULL
String, or a zero-length buffer as appropriate. ACPICA BZ 818.
Lin Ming, Bob Moore.
In the case where a specific _HID is requested, do not run _STA until a _HID
match is found. This eliminates potentially dozens of _STA calls during
a search for a particular device/HID.
Fixes ACPICA BZ 828. Lin Ming.
Add 2010 copyright to all module headers and signons, including the Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, and all utilities.
Added several new options for the gcc-4 generation, and updated the source
accordingly. This includes some code restructuring to eliminate unreachable
code, elimination of some gotos, elimination of unused return values, and
some additional casting.
This change moves the check for a valid Thread ID structure up a few lines
to insure that the check is made before the structure is actually used.
Dan Carpenter.
This change will automatically remove embedded and trailing NULL package
elements from returned package objects that are defined to containe a
variable number of sub-packages. The driver is then presented with
a package with no null elements to deal with. ACPICA BZ 819.
This change enables the execution of _REG methods that appear in the
same scope as the module-level code, in resonse to an operation region
declaration within the module-level code.
Repair mechanism was considered too wordy. Now, messages are only
unconditionally emitted if the return object cannot be repaired.
Existing messages for successful repairs were converted to
ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
Fixes a problem where mutex errors can occur when running a _REG method
that is in the same scope as a method-defined operation region or an
operation region under a module-level IF block. This is rare, so the
problem has not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.