Removed several callbacks that served no purpose. TrWalkParseTree
has the capability to invoke callbacks during descent or ascent
of a depth-first search. ACPICA BZ 901.
Detects a conflict where there are two GPE methods of the form
_Lxy and _Exy in the same scope. ACPICA bugzilla 848.
(For example, _L1D and _E1D in the same scope.)
Most handlers should be installed before call to AcpiEnableSubsystem.
However, Event handlers and region handlers should be installed
after AcpiInitializeObjects. Override handlers for the "default"
regions should be installed early, however.
ACPICA BZ 848.
The memory/io/pci/dataTable regions must always be available. For
any user installed handlers for these spaces, defer execution of
_REG methods until AcpiEnableSubsystem. This prevents any
chicken/egg problems and ensures that no methods are executed
until all of these regions are ready and available.
Many predefined names are defined such that they do not return
a value. If implemented as a method, issue a warning if such
a name returns a value. ACPICA BZ 855.
The _AcpiModuleName was left undefined in these cases, but it
is actually needed as a parameter to some interfaces. Define
_AcpiModuleName as a null string in these cases.
Acpica BZ 888.
Display op region, fixed event, and misc global handlers.
installation status and for op regions, whether default or
user-installed handler will be used.
The revision number in the FADT has been found to be completely
unreliable and cannot be trusted. Only the table length can be
used to infer the actual version.
This change updates the ACPICA core and the disassembler so that
both no longer even look at the FADT version and instead depend
upon the FADT length.
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.