10203 Commits

Author SHA1 Message Date
Robert Moore
77f5bcb46f AcpiExec: Add example ACPICA initialization code.
Added two initialization examples (within a comment block) that
show how to init ACPI for early table access and for a normal
initialization. Same code will appear in the ACPICA reference
manual.
2008-10-16 15:18:36 -07:00
Robert Moore
8b97ef8273 Add global pointer for FACS table to simplify FACS access.
Use a global pointer instead of using AcpiGetTableByIndex for each
FACS access. This simplifies the code for the Global Lock and the
Firmware Waking Vector(s).
2008-10-16 15:03:46 -07:00
Robert Moore
7f7dc8c45b Emit warning if two FACS or DSDT tables found in the FADT.
Checks if there are two valid but different addresses for the FACS
and DSDT within the FADT (mismatch between the 32-bit and 64-bit
fields.)
2008-10-16 09:07:33 -07:00
Robert Moore
a00834d1f7 Fix namestring for the SystemCMOS address space.
This fixes the name of this address space, changing it from the
incorrect CMOS to the correct SystemCMOS.
2008-10-15 11:02:35 -07:00
Robert Moore
52192200fe Update debug output for IndexField I/O.
Split the "data register I/O" with more informative read and write
messages.
2008-10-14 14:37:01 -07:00
Robert Moore
dc3e72f35a Add a mechanism to escape infinite AML While() loops.
Add a loop counter to force exit from AML While loops if the count
becomes too large. This can occur in poorly written AML when the
hardware does not respond within a while loop and the loop does not
implement a timeout. The maximum loop count is configurable. A new
exception code is returned when a loop is broken, AE_AML_INFINITE_LOOP.
Bob Moore, Alexey Starikovskiy.
2008-10-09 14:37:11 -07:00
Robert Moore
d2a82ede58 Optimize execution of AML While loops.
Previously, a control state object was allocated and freed for each
execution of the loop. The optimization is to simply reuse the control
state for each iteration. This speeds up the raw loop execution time by
about 5%.
2008-10-09 10:11:53 -07:00
Robert Moore
2107ff8b75 Fix possible memory leak on error in parser.
Fixes a possible memory leak if an allocation failure happens in
the parse loop. Must terminate an executing control method. Lin Ming,
Bob Moore. ACPICA BZ 489.
2008-10-07 14:56:34 -07:00
Robert Moore
b43930c742 Update FACS waking vector interfaces.
Split AcpiSetFirmwareWakingVector into two: one for the 32-bit vector,
another for the 64-bit vector. This is required because the host OS must
setup the wake much differently for each vector (real vs. protected mode,
etc.) and the interface should not be deciding which vector to use.
Also eliminate the GetFirmwareWakingVector interface, as it served no
purpose (only the firmware reads the vector, OS only writes the vector.)
ACPICA BZ 731.
2008-10-03 13:58:08 -07:00
Robert Moore
d0eacedb10 Fix several warnings under gcc 4.0 compiler.
New compiler is pickier than older versions.
Joerg Sonnenberger. From ACPICA BZ 732.
2008-10-02 13:02:12 -07:00
Robert Moore
0ff41f9bad Update version to 20080926.
Update version to 20080926.
2008-09-26 09:23:56 -07:00
Robert Moore
ca10c01a78 Logfile: changes for version 20080926.
updated changes.txt.
2008-09-26 09:22:13 -07:00
Robert Moore
fb3f1bdda3 Windows binaries: update for version 20080926.
Updated binaries.
2008-09-26 09:20:52 -07:00
Robert Moore
ca6111179b Test suite: update for implicit return changes.
Update for recent changes to the implicit return mechanism.
Resolved predicate values can now be returned implicitly,
for MS compatibility.
2008-09-26 08:45:36 -07:00
Robert Moore
0b09da4ebd Remove obsolete version number in module headers.
Removed the "$Revision" number that appeared in each module header.
This version number was useful under SourceSafe and CVS, but has no
meaning under git. It is not only incorrect, it could also be
misleading.
2008-09-25 12:56:30 -07:00
Robert Moore
1f1bb7db67 Add support for zero-length buffer-to-string conversions.
Allow zero length strings during interpreter buffer-to-string
conversions. For example, during the ToDecimalString and ToHexString
operaters, as well as implicit conversions. Fiodor Suietov.
ACPICA BZ 585.
2008-09-24 14:12:53 -07:00
Robert Moore
b0a4040faf Update windows project files for new source files.
New source files for predefined method validation are
nspredef.c and acpredef.h
2008-09-24 13:43:14 -07:00
Robert Moore
77eb35cd57 Add a .gitignore for development purposes.
Ignore temp files, etc.
2008-09-24 13:39:54 -07:00
Robert Moore
1ff11b4819 New: Validation for predefined ACPI methods/objects.
Validates predefined ACPI objects that appear in the namespace, at the
time they are evaluated. The argument count and the type of the returned
object are validated. The purpose of this validation is to detect problems
with the BIOS-exposed predefined ACPI objects before the results are
returned to the ACPI-related drivers.
2008-09-24 13:34:08 -07:00
Robert Moore
ab557ef061 Fix for implicit return compatibility.
This change improves the implicit return mechanism to be more compatible
with the MS interpreter. Lin Ming, ACPICA BZ 349.
2008-09-23 09:32:18 -07:00
Robert Moore
6d868b1e57 Optimize buffer allocation procedure.
Eliminate duplicate code.
2008-09-11 15:00:27 -07:00
Robert Moore
f15f1cd96a Fix possible memory leak, error exit path.
Fixed two possible memory leaks in the error exit paths of
AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions
are similar in that they use a stack of state objects in order to
eliminate recursion. The stack must be fully deallocated if an error
occurs. Lin Ming. BZ 383.
2008-09-11 13:44:14 -07:00
Robert Moore
6a16af9dd2 Fix fault after mem allocation failure in AML parser.
Fixes a crash if a memory allocation fails during the Op completion
routine AcpiPsCompleteThisOp. Lin Ming. BZ 492.
2008-09-11 13:06:41 -07:00
Robert Moore
232169228a Remove unused ACPI register bit definition.
Removed the ACPI_BITREG_WAKE_ENABLE definition and entry in the global
register table. This bit does not exist and is unused. Lin Ming, Bob Moore
BZ 442.
2008-09-10 15:28:40 -07:00
Robert Moore
3e5bc07346 Update version to 20080829.
Update version to 20080829.
2008-08-29 12:06:44 -07:00
Robert Moore
3a28b5a29e Logfile: changes for version 20080829.
Logfile: changes for version 20080829.
2008-08-29 11:58:36 -07:00
Robert Moore
702c439ce3 Windows binaries: update for version 20080829.
Now includes acpixtract.exe
2008-08-29 11:44:20 -07:00
Robert Moore
e0bcd465c5 Fix possible memory leak, GetExternalPathname (nsnames.c)
Fixes a memory leak in the error exit path.
2008-08-27 15:24:59 -07:00
Robert Moore
0a913cc77d Update release build script.
Changed to reflect new location of changes.txt.
2008-08-27 13:12:30 -07:00
Robert Moore
16de114e9d Test suite: remove obsolete exception codes.
Changed to track changes in ACPICA core.
2008-08-27 10:19:39 -07:00
Robert Moore
fd290b3c3c Cleanup for internal Reference Object.
Fix some sloppiness in the Reference object. No longer use AML opcodes to
differentiate the types, introduce new reference Class. Cleanup the debug
output code.
2008-08-27 10:11:30 -07:00
Robert Moore
96ee63dfac Update comments - no functional changes.
Some formatting and spelling fixes.
2008-08-26 14:29:29 -07:00
Robert Moore
ea44a7365e Update for Reference ACPI_OPERAND_OBJECT.
1) Add new field for use by DdbHandle (Value)
2) Use ACPI_CAST_INDIRECT_PTR to eliminate strict type warnings
3) Cleanup debug output

Lin Ming, Bob Moore
2008-08-25 15:16:44 -07:00
Robert Moore
650dfb36ee Reduce error to warning for incorrect method arg count.
Previously aborted with error if too few arguments were passed to a
control method via the external ACPICA interface. Now issue a warning
instead and continue. Handles the case where the method inadvertently
declares too many arguments, but does not actually use the extra ones.
Applies mainly to the predefined methods. Lin Ming. Linux BZ 11032.
2008-08-25 14:17:04 -07:00
Robert Moore
86b0a69e1f acpisrc: Improve comment counting mechanism.
Count first and last lines of multi-line comments as whitespace, not
comment lines. Handle Linux legal header in addition to standard
acpica header.
2008-08-25 13:50:34 -07:00
Robert Moore
853c286f14 iASL/disassembler: avoid infinite loop on bad ACPI tables.
Check for zero-length subtables when disassembling ACPI tables.
Also fixes a couple of errors where a full 16-bit table type
was not extracted from the input properly.
2008-08-21 20:18:03 -07:00
Robert Moore
f2d758c956 Disallow evaluation of named object types with no value.
Return AE_TYPE for objects that have no value and therefore evaluation
is undefined: Device, Event, Mutex, Region, Thermal, and Scope.
2008-08-21 20:18:03 -07:00
Robert Moore
d9c19f3cb1 Remove obsolete exception codes.
Removed 10 exception codes (and corresponding name strings) that were
obsolete for various reasons.
2008-08-21 20:18:03 -07:00
Robert Moore
8432c08fc1 iASL: Allow multiple arg counts for _SCP method.
ACPI 1.0 defined _SCP to have one argument. In ACPI 3.0, this was
extended to three arguments. iASL now allows either 1 or 3.
2008-08-21 20:18:03 -07:00
Lin Ming
d585abd768 move CHANGES.txt
move CHANGES.txt to documents/changes.txt
2008-08-21 20:18:01 -07:00
Robert Moore
7c40bc80cb Add OS/2 header file support.
New OS-specific file, acos2.h, and modifications to acenv.h to
automatically include the new file when compiling under OS/2.
2008-08-01 14:42:09 -07:00
Robert Moore
19815d3c1e New: AcpiXtract Windows binary
Windows version of AcpiXtract
2008-08-01 14:16:29 -07:00
Robert Moore
f3f21cd83e Add namespace node to operand object union.
Add ACPI_NAMESPACE_NODE to the ACPI_OPERAND_OBJECT in order to simplify
code that accepts both of these objects. A common type field is used
to differentiate them.
2008-08-01 13:51:24 -07:00
Robert Moore
7eaa9e2544 New: ACPICA documentation
Includes the ACPICA programmer reference and the iASL compiler
reference, in both PDF and WORD format.
2008-08-01 13:32:17 -07:00
Robert Moore
e95b64e25c New: Scripts to generate ACPICA release packages.
These scripts are intented to be executed under cygwin to generate
the various package containing the ACPICA source and binaries.
2008-08-01 13:25:10 -07:00
Robert Moore
f9abfccc9d Remove obsolete debug levels (WARN and ERROR).
Removed ACPI_DB_WARN and ACPI_DB_ERROR. These debug levels were made
obsolete by the ACPI_WARNING and ACPI_ERROR/ACPI_EXCEPTION interfaces.
Also added ACPI_DB_EVENTS to correspond with the existing
ACPI_LV_EVENTS.
2008-08-01 10:19:42 -07:00
Robert Moore
6030ce56ae Update version to 20080729.
Update acconfig.h
2008-07-30 19:40:40 -07:00
Robert Moore
e79cfca9b1 Logfile: changes for version 20080729.
Update for 20080729
2008-07-29 09:56:17 -07:00
Robert Moore
9aed25c22a Windows binaries: update for version 20080729.
New binaries.
2008-07-29 09:51:58 -07:00
Robert Moore
bfcb04bacf Test suite: update tests for recent acpica changes.
These changes affected the tests:
iASL: error if named object created in while loop
iASL: minimum 1 interrupt in interrupt macro
Table Load: table is now loaded at namespace root
2008-07-29 09:30:58 -07:00