This optimization will simply ignore GPE registers that contain no
enabled GPEs - there is no need to read the register.
ACPICA bugzilla 884. Lin Ming. Suggestion from Joe Liu.
History: This support changes a method to "serialized" on the fly if the
method generates an AE_ALREADY_EXISTS error, indicating the possibility
that it cannot handle reentrancy.
This fix repairs a couple of issues seen in the field, especially on
machines with many cores.
1) Delete method children only upon the exit of the last thread, so
as to not delete objects out from under running threads.
2) Set the "serialized" bit for the method only upon the exit of the
last thread, so as to not cause deadlock when running threads attempt
to exit.
3) Cleanup the use of the AML "MethodFlags" and internal method flags
so that there is no longer any confustion between the two.
Lin Ming, Bob Moore. Reported by dana.myers@oracle.com.
Limit the number of arguments sent to a control method to
the number of required arguments - to avoid a warning
message from the argument checking code.
The ACPICA headers should appear before any compiler-specific
headers (stdio.h, etc.) so that acenv.h can set any
necessary compiler-specific defines, etc.
Fixes a race condition between method execution and namespace walks
that can possibly fault. Problem was apparently introduced in version
20100528 as a result of a performance optimization that reduces the
number of namespace walks upon method exit by using the
delete_namespace_subtree function instead of the delete_namespace_by_owner
function used previously. Bug is in the delete_namespace_subtree function.
dana.myers@oracle.com
Repairs seek off end-of-file case if a syntax error causes the
parser to reach EOF.
Previously:
[*** iASL: Read error on source code temp file gr.src ***]
Now, something like this:
gr.asl(6) : Error 4096 - parse error and premature End-Of-File
ACPICA bugzilla 891.
Shows example of ACPICA configuration for a minimal namespace
dump utility. Uses table and namespace managers, but no AML
interpreter.
Does not add any functionality over AcpiExec. It is a subset
of AcpiExec. The purpose is to show how to partition and
configure ACPICA.
Contains the complete overhaul of the GPE support code including
removal of _PRW execution, improved handling of wake GPEs, new
external interfaces, and implicit notify support. ACPICA BZ 858,
870,877. Matthew Garrett, Lin Ming, Bob Moore, Rafael Wysocki.
Note: This support is committed as a single patch here because
of multiple patch backporting from Linux and the resulting
interdependency issues.
See the ACPICA reference for full documentation.
During load phase (table load or method execution), the scope operator
should not enter the target into the namespace. Instead, it should
open a new scope at the target location. Linux BZ 19462.
These strings are "bus-specific" per the ACPI specification, therefore
any characters are acceptable. The only checks that can be performed
are for a null string and perhaps for a leading asterisk.
Fix/clarify the initialization sequence for installation
of user/host address space handlers. This can only happen
after AcpiEnableSubsystem is called.