Replaces instances of strncpy(...,4) for ACPI_NAMEs.
ACPI_MOVE_NAME optimizes these to a single 32-bit copy on machines
that support misaligned transfers.
Fixes some problems introduced by late changes to the table as it
was added to the ACPI 5.0 specification.
Both the table compiler and the disassembler and the main header
support for the table.
For disassembler, dump the 48 bytes surrounding the invalid opcode.
Fix incorrect table offset reported for invalid opcodes.
Report original 32-bit value for bad ACPI_NAMEs.
Add some intelligence to the code that maintains the global list
of allocated memory. The list is now ordered by allocated memory
address, significantly improving performance.
When running AcpiExec on the ASLTS test suite, speed improvements
of 3X to 5X are seen, depending on the platform and/or the
environment.
Remove several tests that cause errors because the tests are invalid
or the basis of the tests are invalid. Fix several error reporting
issues. Guan Chao.
1) Ensure that all functions that use the various TRACE macros also
use the appropriate ACPICA return macros.
2) Ensure that all normal return statements surround the return
expression (value) with parens.
Guan Chao, Tang Feng, Zheng Lv, Bob Moore.
ACPICA Bugzilla 972.
Fixes a possible fault during the disassembly of resource descriptors
when a second parse is required because of the invocation of external
control methods within the table. With assistance from adq@lidskialf.net.
ACPICA BZ 976.
This change fixes an issue with method declarations where the SyncLevel
term is a ByteConstExpr, but if a Type3 opcode was used, it would not
be evaluated properly.
This is an interim fix for this single case, specifically to allow the
ASLTS test to run properly.
However, it does not address the general case where parse tree transforms
are applied before the constant folding is performed. In this case, the
SyncLevel is merged with the NumArgs and SerializedFlag to generate a
raw data byte before the constant folding is performed. After this
parse tree transform, no constant folding can be performed on the
Method() parameters.
Two solutions:
1) The general case could possibly be solved by performing parse tree
transforms only after the constant folding has been completed
2) Continue to special-case each of these issues in the various
ASL operators that have similar issues.
An error can occur if the parse node that contains the namepath to be optimized
does not have a parent node that is a named object. This change fixes the
problem.
Problem detected by ASLTS test suite.
Via realloc(), automatically increase the internal line buffer sizes
as necessary to support very long source code lines.
The current version of the preprocessor requires a buffer long enough
to contain full source code lines. This change increases the line
buffer(s) if the input lines go beyond the current buffer size.
This eliminates errors that occurred when a source code line was
longer than the buffer.