10225 Commits

Author SHA1 Message Date
Robert Moore
705cbfffe2 Update acfreebsd.h header.
Add define for ACPI_THREAD_ID.
2008-11-07 13:49:22 -08:00
Robert Moore
9f920c6306 Scripts: update build.sh for new file.
Add source/tools/examples directory.
2008-11-07 13:47:12 -08:00
Robert Moore
fb210c4daa Update version to 20081031.
Update version to 20081031.
ACPI_CA_VERSION has been moved to acpixf.h so that it is publically
available.
2008-10-31 08:02:10 -07:00
Robert Moore
ab4b2e1768 Logfile: changes for version 20081031.
updated changes.txt.
2008-10-31 08:01:11 -07:00
Robert Moore
2c374de91d Windows binaries: update for version 20081031.
Update binaries.
2008-10-31 07:59:00 -07:00
Robert Moore
5bc05cb1b3 Enhance implicit return mechanism.
For Windows compatibility, return an implicit integer of value
zero for methods that have no executable code. A default implicit
value of zero is provided for methods.

Such methods are seen in the field as stubs (presumably), and can
cause drivers to fail if they expect a return value. Lin Ming.
2008-10-30 10:26:41 -07:00
Robert Moore
299f92c264 iASL: Fix compile warning.
Update for external method changes, ACPICA BZ 740 Lin Ming.
2008-10-30 10:17:42 -07:00
Robert Moore
815c680951 Consolidate method arg count validation code.
Merge the code that validates control method argument counts into
the predefined validation module. Eliminates possible multiple
warnings for incorrect counts.
2008-10-30 09:55:05 -07:00
Robert Moore
a0cc21b568 Header restructuring, part two.
Made some globals "public" for ease-of-use, and to preserve
legacy code that uses them.
2008-10-29 14:01:32 -07:00
Robert Moore
12be0af9ef Allow _WAK method to return an Integer.
This can happen if the _WAK method returns nothing (as per ACPI 1.0)
but does return an integer if the implicit return mechanism is enabled.
This is the only method that has this problem, since it is also
defined to return a package of two integers (ACPI 1.0b+). In all
other cases, if a method returns an object when one was not expected,
no warning is issued.
2008-10-29 13:36:59 -07:00
Robert Moore
68f8e613f1 iASL: Additional changes for external methods.
Fixes issues with the methods that are permanently defined
in the namespace (such as _OSI, etc.) ACPICA BZ 740 Lin Ming.
2008-10-29 13:34:15 -07:00
Robert Moore
c2794d1983 Add Buffer->String conversion for predefined methods.
For predefined methods (such as _BIF), add automatic conversion for
objects that are required to be a String, but a Buffer was found
instead. This can happen when reading string battery data from
an operation region, because it used to be difficult to convert
the data from buffer to string from within the ASL. Linux BZ 11822.
2008-10-29 13:26:15 -07:00
Robert Moore
3f686d7e38 Allow multiple backslash prefix in namepaths.
In a fully qualified namepath, allow multiple backslash prefixes.
This can happen because of the use of a double-backslash in
strings (since backslash is the escape character) causing confusion.
ACPICA BZ 739 Lin Ming.
2008-10-29 10:20:06 -07:00
Robert Moore
7723fbcee1 New: ACPICA example code.
Includes code for ACPICA initialization, handler installation,
calling a control method.
2008-10-28 14:41:48 -07:00
Robert Moore
56b2001556 Move some additional symbols to public headers.
Moved some commonly-used defines and global variables from the
private headers to the public headers. Split the resource descriptor
structs out of actypes.h to a new file, acrestyp.h
2008-10-24 14:18:37 -07:00
Robert Moore
3c27b8f4e0 iASL: Fix to allow aliases within ASL namepaths.
Fixes a problem where the use of an alias within a namepath would
result in a not found error or cause the compiler to fault.
Also now allows forward references from the Alias operator itself.
ACPICA BZ 738.
2008-10-24 13:33:44 -07:00
Robert Moore
2f705a1b06 iASL: Improved disassembly of external method calls
Added the -e option to allow the inclusion of additional ACPI tables
to help with the disassembly of method invocations and the generation
of external declarations during the disassembly. Certain external
method invocations cannot be disassembled properly without the actual
declaration of the method. Use the -e option to include the table
where the external method(s) are actually declared. Most useful for
disassembling SSDTs that make method calls back to the master DSDT.
Lin Ming.

Example: To disassemble an SSDT with calls to DSDT:

    iasl -d -e dsdt.aml ssdt1.aml
2008-10-23 15:04:38 -07:00
Robert Moore
010cfd7683 Remove references to obsolete ACPI_DUMP_APP.
This define is no longer used.
2008-10-23 10:35:34 -07:00
Robert Moore
28da268b28 Add support to externally execute _OSI method.
The current implemenation of _OSI within ACPICA only allows other
control methods to execute _OSI. This change allows the host OS
to execute _OSI via the AcpiEvaluateObject interface. _OSI is a
special method -- it does not exist in the AML code, it is
implemented within ACPICA.
2008-10-23 10:28:17 -07:00
Robert Moore
f5e2380443 Update Windows project files.
New file, accommon.h, and added the new Examples project.
updated .gitignore
2008-10-22 14:48:28 -07:00
Robert Moore
085ae7362c Restructure includes into public/private.
acpi.h now includes only the "public" acpica headers. All other
acpica headers are "private" and should not be included by acpica
users. One new file, accommon.h is used to include the commonly
used private headers for acpica code generation. Future plans are
to move all private headers to a new subdirectory.
2008-10-22 14:31:40 -07:00
Robert Moore
5d21155b98 Reformat comments, no functional changes.
Reformat comments to use fewer lines.
2008-10-17 10:00:52 -07:00
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