10203 Commits

Author SHA1 Message Date
Robert Moore
61565d738f iASL: named objects within loop, part two.
Restricted the error case to allow the use of the Scope, Buffer, and
Package operators within a loop since these operators do not actually
create new objects.
2008-07-29 09:14:18 -07:00
Robert Moore
0537265339 Additional error checking for pathname utilities.
Add error check after all calls to AcpiNsGetPathnameLength.
Add status return from AcpiNsBuildExternalPath and check after all calls.
Add parameter validation to AcpiUtInitializeBuffer.

Reported by and initial patch by Ingo Molnar.
2008-07-25 12:49:40 -07:00
Robert Moore
71b17eedd3 Add function to dereference returned reference objects.
Examines the return object from a call to AcpiEvaluateObject. Any
Index or RefOf references are automatically dereferenced in an attempt
to return something useful (these reference types cannot be converted
into an external ACPI_OBJECT.) Lin Ming, Bob Moore. Linux BZ 11105
2008-07-25 12:07:23 -07:00
Robert Moore
7c8469599f Tests: update file permissions.
C and H files that had incorrect permissions.
2008-07-24 13:09:40 -07:00
Robert Moore
5d63569294 x2APIC support: changes for MADT and SRAT ACPI tables.
Support for the x2APIC. There are 2 new subtables for the MADT and one new
subtable for the SRAT. Includes disassembler and AcpiSrc support. Data from
the Intel 64 Architecture x2APIC Specification, June 2008.
2008-07-24 12:57:13 -07:00
Robert Moore
cb2d41704e AcpiXtract: Handle EOF while extracting data.
Correctly handle the case where the EOF happens immediately after
the last table in the input file. Print completion message. Previously,
no message was displayed in this case.
2008-07-24 10:21:33 -07:00
Robert Moore
61a66a6a92 iASL: Support absolute pathnames for include files.
Add support for absolute pathnames within the Include operator.
previously, only relative pathnames were supported.
2008-07-23 10:42:31 -07:00
Robert Moore
70bf57ce49 Improve object conversion error messages.
Better error messages during object conversion from internal to the
external ACPI_OBJECT. Used for external calls to AcpiEvaluateObject.
2008-07-22 12:38:36 -07:00
Robert Moore
5a0e8ab933 Add function to decode reference obj types to strings.
Created for improved error messages.
2008-07-22 10:53:01 -07:00
Robert Moore
806efe4747 iASL: error if named object created in while loop.
Emit an error if any named object is created within a While loop.
If allowed, this code will generate a run-time error on the second
iteration of the loop when an attempt is made to create the same
named object twice. ACPICA bugzilla 730.
2008-07-22 10:03:48 -07:00
Robert Moore
dfde65430c Fix possible deadlock in GPE dispatch.
Remove call to AcpiHwDisableAllGpes in AcpiEvGpeDispatch. This call will
attempt to acquire the GPE lock but can deadlock since the GPE lock is
already held at dispatch time. This code was introduced in version
20060831 as a response to Linux BZ 6881 and has since been removed from
Linux.
2008-07-22 09:55:44 -07:00
Robert Moore
cf81b17458 iASL: relax error for using reserved "_T_x" identifiers.
These names can appear in a disassembled ASL file if they were emitted
by the original compiler. Instead of issuing an error or warning and
forcing the user to manually change these names, issue a remark instead.
2008-07-10 14:46:31 -07:00
Robert Moore
bf3df5302d Return status from global init function.
Return status from AcpiUtGlobalInitialize. This is used by both
the kernel subsystem and the utilities such as iASL compiler.
The function could possibly fail when the caches are initialized.
Yang Yi.
2008-07-09 13:38:52 -07:00
Robert Moore
5cae8e0a88 iASL: Fix broken -g option (get Windows ACPI tables).
Fixes the -g option (get ACPI tables on Windows). This was
apparently broken in version 20070919.
2008-07-08 13:27:23 -07:00
Robert Moore
409a98bb7f iASL: lint changes only, no functional changes.
Some lint changes only.
2008-07-08 11:10:07 -07:00
Robert Moore
4a7af8590a Debugger: fix possible hang when evaluating non-methods.
Fixes a problem introduced in 20080701. If the object being evaluated
(via execute command) is not a method, the debugger can hang while
trying to get non-existent parameters.
2008-07-03 10:02:56 -07:00
Robert Moore
edecb3ec2f iASL: Prevent error message if CondRefOf target does not exist.
Fixes cases where an error message is emitted if the target
does not exist. BZ 516
2008-07-02 10:12:46 -07:00
Robert Moore
36a06ba0af iASL: Enforce minimum 1 interrupt in interrupt macro.
ACPI spec requires one interrupt minimum. BZ 423
2008-07-01 16:07:51 -07:00
Robert Moore
d2b15accf3 iASL: Handle missing ResourceSource arg, present SourceIndex.
Handle the case for the Interrupt resource descriptor where
the ResourceSource argument is omitted but ResourceSourceIndex
is present. Leave room for the Index. BZ 426
2008-07-01 16:06:20 -07:00
Robert Moore
5589bb45bc Update version to 20080701.
Update version to 20080701.
2008-07-01 09:35:32 -07:00
Robert Moore
c3a0695fde Update logfile for version 20080701.
Update CHANGES.txt.
2008-07-01 09:33:52 -07:00
Robert Moore
fd4d4b1041 Update Windows binaries for version 20080701.
Update the changed binaries.
2008-07-01 09:32:25 -07:00
Robert Moore
5c55a3aed7 Update linux patchgen scripts for git.
Update for use with CVS to use for git.
2008-07-01 09:05:25 -07:00
Robert Moore
1975da87dd Fix table compare code, length then data.
Split the ACPI table compare. First check that the lengths match
exactly. Then compare the data.
2008-06-27 15:10:31 -07:00
Robert Moore
b87b30db63 Fix wrong resource descriptor length for 64-bit build.
The "minimal" descriptors such as EndTag are calculated as 12 bytes
long, but the actual length in the internal descriptor is 16 because
of the round-up to 8 on 64-bit build. BZ 728
2008-06-26 15:42:22 -07:00
Robert Moore
345f0f1b8e Return method arg count from AcpiGetObjectInfo.
Also update the debugger so that the correct number of arguments
is passed to the method. Prevents a warning message from the
debugger.
2008-06-26 15:40:24 -07:00
Robert Moore
4d0bf69261 Fix possible memory leak in Unload() operator.
The DdbHandle returned by Load() does not have its reference
count decremented during unload, leading to a memory leak. Lin Ming.
BZ 72
2008-06-26 14:49:41 -07:00
Robert Moore
154b8a07ef Allow same ACPI table to be loaded/unloaded more than once.
Without this change, a table cannot be loaded again once it has been
loaded/unloaded one time. The current mechanism does not unregister
a table upon an unload. During a load, if the same table is found, this
no longer returns an exception. BZ 722
2008-06-26 14:33:44 -07:00
Robert Moore
99bf0793b2 Fix order of names in global mutex table (debug only).
Fix the ordering of the ASCII names in the table to match the actual
mutex IDs. Used by AcpiUtGetMutexName, a function used for debug only.
Vegard Nossum. BZ 726
2008-06-26 13:21:25 -07:00
Robert Moore
62bf380387 iASL: Added two missing ACPI reserved names.
Added _MTP and _ASZ, both resource descriptor names.
2008-06-19 12:43:23 -07:00
Robert Moore
8a960c4df8 Fix memory leak when deleting thermal/processor objects.
Fixes a possible memory leak when thermal and processor objects
are deleted. Any associated notify handlers (and objects) were
not being deleted. Fiodor Suietov. BZ 506
2008-06-18 13:16:33 -07:00
Robert Moore
795dbca188 Update FreeBSD-specific header.
Changes received from FreeBSD team.
2008-06-17 15:37:41 -07:00
Robert Moore
9d9acfac3c Implement careful GPE disable, only change one enable bit.
We now perform a read-change-write of the enable register instead of
simply writing out the cached enable mask. This will prevent inadvertent
enabling of GPEs if a rogue GPE is received during initialization
(before GPE handlers are installed.)
2008-06-17 15:13:13 -07:00
Robert Moore
a9ec7a4958 Add check for invalid handle in AcpiGetObjectInfo.
Return AE_BAD_PARAMETER if input handle is invalid. BZ 474
2008-06-17 14:53:35 -07:00
Robert Moore
240cecc47f iASL: Detect invalid ASCII characters in input (windows version)
Removed -CF flag from the flex compile, enables correct detection of
non-ASCII characters in the input. BZ 441.
2008-06-17 14:51:00 -07:00
Robert Moore
fe9c406016 iASL: Eliminate warning when result of LoadTable not used.
Eliminate the "result of operation not used" warning when the DDB handle
returned from LoadTable is not used. The warning is not needed.
BZ 590
2008-06-17 14:47:04 -07:00
Robert Moore
a55e093601 Fix warning for 64-bit build.
Fixes warning from exconfig.c on 64-bit build.
2008-06-13 13:54:15 -07:00
Robert Moore
913669b792 AcpiExec: Add support for dynamic table load/unload.
Now calls _CFG method to pass address of table to the AML. Added option
to disable opregion simulation to allow creation of opregion with real
address that was passed to _CFG. All of this allows testing of the Load
and Unload operators from AcpiExec.
2008-06-13 13:46:31 -07:00
Robert Moore
f481e6e303 Debugger: update tables command for unloaded tables.
Handle unloaded tables and use the standard table header output
routine.
2008-06-13 13:40:35 -07:00
Robert Moore
9ea403208e Copy dynamically loaded tables to local buffer.
Previously, dynamically loaded tables were simply mapped, but on some
machines this memory is corrupted after suspend. Now copy the table to a
local buffer. For OpRegion case, added checksum verify. Use the table length
from the table header, not the region length. For Buffer case, use the
table length also. Dennis Noordsij, Bob Moore. BZ 10734
2008-06-11 15:23:20 -07:00
Robert Moore
123624b1af Cleanup macro definition file.
Removed unused macros. Ensure that multiple parameters always have a space
after a comma. Cleanup some comments.
2008-06-10 14:24:15 -07:00
Robert Moore
1326f571ce Update version to 20080609.
Update version to 20080609.
2008-06-09 15:26:14 -07:00
Robert Moore
271b10b87e Update logfile for version 20080609.
Update CHANGES.txt
2008-06-09 15:25:07 -07:00
Robert Moore
0fae605867 Update binaries for version 20080609.
New versions of the windows binaries.
2008-06-09 15:13:55 -07:00
Robert Moore
91c58ec2d7 Disassembler: single-step support for _CID packages.
Add support to allow single stepping of _CID with support for
EisaId checking.
2008-06-04 14:25:08 -07:00
Robert Moore
e9f18d7c17 Disassembler: support for EisaId within _CID objects.
Add support to disassemble encoded EisaIDs within _CID objects.
Includes support for multiple _CIDs within packages.
2008-06-04 14:09:16 -07:00
Robert Moore
6a375bb871 Fix possible memory leak in EvPciConfigRegionSetup.
Error path did not delete the PCI_ID structure.
2008-05-28 14:41:29 -07:00
Robert Moore
60c301a625 Simplify ACPI hardware interfaces.
Remove locking parameter from internal HwRegisterRead and HwRegisterWrite
functions. Add new AcpiGetRegisterUnlocked function.
2008-05-28 09:39:57 -07:00
Robert Moore
01954432e5 Fix mutex debug code for wrong loop termination value.
Loop was terminating one iteration early, missing one of the debugger
handshake mutexes. Linn Crosetto.
2008-05-27 15:30:07 -07:00
Robert Moore
9cad41144b Update linux patch generation files.
Additional automation and other changes.
2008-05-21 15:33:06 -07:00