Commit Graph

9582 Commits

Author SHA1 Message Date
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
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
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
48de5ac6ea Fix for access to deleted object <regression>.
Fixes problem introduced in 20080123, with fix for Unload operator.
Parse tree object can be already deleted; must use the opcode within
the WalkState.
2008-05-21 14:48:56 -07:00
Robert Moore
b98eacb45a Fix for hang on GPE method invocation.
Fixes problem introduced in 20080514 where the new method argument count
validation mechanism will enter an infinite loop when a GPE method is
dispatched. Problem fixed be removing the obsolete code that passes GPE
block information to the notify handler via the control method parameter
pointer.
2008-05-21 14:10:42 -07:00
Robert Moore
f7d3c56e3b Cleanup of _PRT parsing code.
Removed extraneous else clauses, other general cleanup.
2008-05-21 12:31:16 -07:00
Robert Moore
87292344c7 Automated cleanup; no functional changes. 2008-05-21 12:17:51 -07:00
Robert Moore
ca1f300fd1 Fix to make _SST method optional.
Fixes a problem introduced in 20080514 where the status of execution of
_SST is incorrectly returned to the caller. _SST is optional, and if it
is AE_NOT_FOUND, the exception should be ignored. BZ 716
2008-05-21 11:49:03 -07:00
Robert Moore
2918f67328 Cleanup debug operand dump mechanism.
Eliminated unnecessary operands; eliminated use of negative index in loop.
Operands now displayed in correct order, not backwards.
2008-05-21 11:39:06 -07:00
Robert Moore
9fa368ff7b Fix for invalid large array index on 64-bit systems.
This problem was introduced in 20080514 as a result of the elimination
of the ACPI_NATIVE_UINT type. Code uses a negative array index, which
should be eliminated.
2008-05-21 11:02:31 -07:00
Robert Moore
d6b7ac2fe2 Update disassembler for DMAR table changes.
Now supports the 2007 intel Virtualization Technology for
Directed I/O specification.
2008-05-20 13:28:37 -07:00
Robert Moore
b622e9f4d8 Update DMAR and SRAT table definitions.
Synchronized tables with current specifications.
2008-05-16 10:04:17 -07:00
Robert Moore
2a6f5e2ab0 Workaround for reversed _PRT entries from BIOS.
Some BIOSs erroneously reverse the _PRT SourceName and the SourceIndex.
Detect and repair this problem. MS ACPI also allows and repairs this
problem, thus ACPICA must also.
2008-05-16 08:50:47 -07:00
Robert Moore
d55d5dc9a7 Update version to 20080514 2008-05-14 10:40:18 -07:00
Robert Moore
a33265bc7c Fix for Load operator, load table at the namespace root.
This reverts a change introduced in version 20071019. The table is now loaded
at the namespace root even though this goes against the ACPI specification.
This provides compatibility with other ACPI implementations.
2008-05-13 13:07:13 -07:00
Robert Moore
fc7c3e91d8 Add ACPI table revision ID validation to disassembler.
0 is always invalid. For DSDTs, the ID controls the interpreter integer
width. 1 means 32-bit and this is unusual. 2 or greater is 64-bit.
2008-05-12 13:36:23 -07:00
Robert Moore
cd9d57f9c1 Ignore ACPI table signature for Load() operator.
Only "SSDT" is acceptable to the ACPI spec, but tables are seen with
OEMx and null sigs. Therefore, signature validation is worthless.
Apparently MS ACPI accepts such signatures, ACPICA must be compatible.
BZ 10454.
2008-05-12 12:52:46 -07:00
Robert Moore
6668ae970d Move execution of _GTS to just before setting sleep enable bit.
Execution moved from AcpiEnterSleepStatePrep to AcpiEnterSleepState.
_GTS is now executed immediately before the SLP_EN bit is set, as per the
ACPI specification. Luming Yu, BZ 1653
2008-05-09 14:39:12 -07:00
Robert Moore
8c47917fd2 Add const qualifier for appropriate string constants.
Mostly MODULE_NAME and printf format strings.
2008-05-09 13:08:54 -07:00
Robert Moore
24c2b16cce Several lint changes, no functional changes.
remove pointer cast warnings and fix for a debug printf.
2008-05-09 10:23:28 -07:00
Robert Moore
7b41e016ec Removed unused include files from source files.
From lint.
2008-05-08 14:09:05 -07:00
Robert Moore
b48a2476b4 Fix to disable unknown GPEs (2nd version).
Always disable the GPE, even if we think that that it is already
disabled. It is possible that the AML or some other code has enabled
the GPE unbeknownst to the ACPICA code.
2008-05-08 13:37:37 -07:00
Robert Moore
10e9550130 Eliminate ACPI_NATIVE_UINT type.
No longer needed; replaced mostly with UINT32, but also ACPI_SIZE where a
type that changes 32/64 bit on 32/64-bit platforms is required.
2008-05-08 13:22:20 -07:00
Robert Moore
188230e360 Fix to allow zero-length ASL field declarations.
Allows null field list in Field(), BankField(), and IndexField().
BZ 10606.
2008-05-07 14:48:30 -07:00
Robert Moore
4807153ae8 Fix name conflict with resource tables.
Lint pointed this out, rename the local resource table.
2008-05-07 14:40:41 -07:00
Robert Moore
deac354959 Move GPE enable until after _REG/_STA/_INI methods are run.
This ensures that all operation regions and devices throughout the
namespace have been initialized before GPEs are enabled.
Alexey Starikovskiy, BZ 9916
2008-05-07 14:35:59 -07:00
Robert Moore
990816baed Fix possible negative array index in AcpiUtValidateException.
Added NULL fields to the exception string arrays to eliminate the -1
subtraction on the SubStatus field.
2008-05-07 14:21:14 -07:00
Robert Moore
bf8ca28f3f Eliminate warnings for Windows generation.
Fix for AcpiBin utility.
2008-05-07 14:08:25 -07:00
Robert Moore
e3125b9932 Eliminate warning on ACPI_NATIVE_UINT/printf combination.
Changed to UINT32.
2008-05-07 14:04:17 -07:00
Robert Moore
bb48f23503 Add argument count checking to control method invocation via AcpiEvaluateObject.
Error if too few arguments, warning if too many. This applies only to external
programmatic control method execution, not method-to-method calls within the
AML.
2008-05-07 13:50:13 -07:00
Robert Moore
d64f9dd414 Update tracking macros to reduce code/data size.
Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings
instead of pointers to static strings. Jan Beulich and Bob Moore.
2008-05-07 13:20:58 -07:00
Robert Moore
b0ca5c6cf0 Updates for Debug object output (part2).
Implemented several improvements for the output of the ASL "Debug" object to
clarify and keep all data for a given object on one output line.
2008-05-06 15:12:37 -07:00
Robert Moore
4ec7c2d418 Fix for some local named nodes not marked temporary and to disallow duplicates.
Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, Dword,
Qword), Field, BankField, and IndexField operators when invoked from inside an
executing control method. In this case, these operators created namespace nodes
that were incorrectly left marked as permanent nodes instead of temporary
nodes. This could cause a problem if there is race condition between an exiting
control method and a running namespace walk. (Reported by Linn Crosetto). Fixed
a problem where the CreateField and CreateXXXField operators would incorrectly
allow duplicate names (the name of the field) with no exception generated.
2008-05-06 15:06:44 -07:00
Robert Moore
c0a8fa9ae4 Fix for extraneous debug message for packages.
Fixed a problem where an extraneous debug message was produced for package
objects (when debugging enabled). The message "Package List length larger
than NumElements count" is now produced in the correct case, and is also an
error message rather than a debug message. Added a debug message for the
opposite case, where NumElements is larger than the Package List, and the
package has been padded out with NULL elements.
2008-05-06 15:00:00 -07:00
Lin Ming
3a7f6dfeed Deleted: source/components/interpreter 2008-05-06 15:19:23 +08:00