1) Check for I/O error after every fopen/fread/fwrite
2) Ensure proper order of size/count params for fread/fwrite
3) Use test of Actual != Requested after all fwrite, most fread
4) Standardize I/O error messages
Improve reliability and maintainability of the code.
Bob Moore, Lv Zheng.
Improve the implementation of the macros.
Change the SETx macros to the style of (destination, source).
Also add ACPI_CASTx companion macros.
Lv Zheng.
During generation of external statements, prevent similar pathnames
that are actually duplicates, such as these:
External (\ABCD)
External (ABCD)
Remove all leading '\' characters from pathnames during the external
statement generation so that duplicates will be detected and tossed.
Improves readability and maintainability of the code.
Fixes a problem with the UART serial bus descriptor for the
number of data bits flags (was incorrectly 2 bits, should be 3).
This command was downreved and did not properly disassemble control
methods with any reasonable complexity. This fix brings the
command up to the same level as the rest of the disassembler.
Adds one new file, dmdeferred.c, which is existing code that is
now common with the main disassembler and the debugger disassembl
command.
Fixes a problem where an incorrect pathname could be generated
for an external declaration if the original reference to the object
includes leading carats.
Tracing is no longer needed for many of the low-level function.
Removing the trace mechanism from these functions improves
performance a small amount, also simplifies the debug trace
output.
Newer versions of Bison emit this prototype, so move the prototype
out of the iASL header to where it is actually used in order
to avoid a duplicate declaration.
This change greatly increases the performance of package objects
within the interpreter. It changes the processing of reference
counts for packages by optimizing for the most common case where
the package subobjects are either integers, strings, or buffers.
Increases the performance of the ASLTS test suite by 1.5X.
Chao Guan. ACPICA BZ 943.
Backport changes made in Linux aclinux.h to ACPICA to reduce divergence
of the ACPICA base code from Linux.
Following commits are involved:
1. Rafael J. Wysocki <rjw@sisk.pl>
ACPI: Fix lockdep false positives in acpi_power_off()
https://bugzilla.kernel.org/show_bug.cgi?id=38152
This will decrease 29 lines of 20120913 divergence.diff.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Len Brown <len.brown@intel.com>
Backport changes made in Linux aclinux.h back to ACPICA to reduce divergence
of the ACPICA base code from Linux.
Following commits are involved:
1. Lin Ming <ming.m.lin@intel.com>
ACPICA: Make acpi_thread_id no longer configurable, always u64
2. Thomas Gleixner <tglx@linutronix.de>
acpi: fix bogus preemption logic
https://bugzilla.kernel.org/show_bug.cgi?id=16210
3. Arun Sharma <asharma@fb.com>
atomic: use <linux/atomic.h>
This will decrease 71 lines of 20120913 divergence.diff.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Cc: Lin Ming <ming.m.lin@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Arun Sharma <asharma@fb.com>
Also changed ACPI_DEVICE_ID_LIST to ACPI_PNP_DEVICE_ID_LIST. These
changes prevent name collisions on hosts that reserve the *_DEVICE_ID
(or *DeviceId) names for their various drivers. Affects the
AcpiGetObjectInfo external interface, and other internal interfaces
as well.
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.