9919 Commits

Author SHA1 Message Date
Robert Moore
c6ad540dbe Add subsystem option to force copy of DSDT to local memory.
Optionally copy the entire DSDT to local memory (instead of simply
mapping it.) There are some BIOSs that corrupt or replace the original
DSDT, creating the need for this option. Default is FALSE, do not copy
the DSDT.
2010-03-24 15:30:14 -07:00
Robert Moore
3ff5a497b6 Add detection of corrupted/replaced DSDT.
This change adds support to detect a DSDT that has been corrupted
and/or replaced from outside the OS (by firmware). This is typically
catastrophic for the system, but has been seen on some machines.
Lin Ming, Bob Moore.
2010-03-24 14:43:33 -07:00
Robert Moore
b503f0621a Add write support for DataTable operation regions.
The original implementation only supported reading from a DataTable
region. However, some machines have been seen that actually write to
the ACPI table contained in such a region. This change adds support
for writing to a DataTable region.
2010-03-24 10:13:46 -07:00
Robert Moore
63c14929ca iASL: Add typechecking for Return() values for predefined names.
Implements some typechecking for values returned by any ACPI
predefiend control methods. Only the direct return of static (unnamed)
values are checked. For example, Return(1). ACPICA BZ 786.
2010-03-24 08:40:58 -07:00
Robert Moore
f74385b957 Untabify acfreebsd.h
Had mixed tabs/spaces.
2010-03-18 14:49:39 -07:00
Robert Moore
0f0cf23019 Fix for AcpiReallocateRootTable for incorrect root table copy.
When copying the root table to the new allocation, the length used
was incorrect. The new size was used instead of the current table size,
meaning too much data was copied. Alexey Starikovskiy.
2010-03-18 14:02:30 -07:00
Robert Moore
84b1edd1ee Disassembler: fix possible fault when generating External() statements.
Introduced in commit ae7d6fd(Disassembler: Properly handle externals
with parent-prefix (carat). Fixes a string length allocation calculation.
Lin Ming.
2010-03-17 14:29:46 -07:00
Robert Moore
12f1f95afc Update comments/headers, no functional change.
Also split some long lines.
2010-03-12 12:23:20 -08:00
Robert Moore
1690062af9 iASL: Fix predefined name object regression.
Fixes a problem introduced in version 20100304. An error is incorrectly
generated if a predefined name is declared as a static named object with
a value defined using the keywords "Zero", "One", or "Ones". Lin Ming.
2010-03-12 10:28:45 -08:00
Robert Moore
9dff111362 Automated cleanup.
Some extra spaces removed.
2010-03-12 08:21:14 -08:00
Robert Moore
23ced2606d Update version to 20100304.
Version 20100304.
2010-03-04 09:38:05 -08:00
Robert Moore
ba3c4a434a Fix for possible fault in AcpiExReleaseMutex.
Fixed a problem with the AML Mutex handling function AcpiExReleaseMutex
where the function could fault under the very rare condition when the
interpreter has blocked, the interpreter lock is released, the
interpreter is then reentered via the same thread, and attempts to
acquire a mutex that was previously acquired. FreeBSD report 140979. Lin Ming.
2010-03-04 08:42:11 -08:00
Robert Moore
0012dfcd02 Add local cache interfaces for testing purposes only.
Optional code for windows interface only.
2010-03-03 10:05:14 -08:00
Robert Moore
a7671a5532 Fix use of 'register' keyword in MCHI table definition.
This causes problems on some C compilers (not all).
2010-03-03 09:13:28 -08:00
Robert Moore
23367dc568 Standardize integer output for ACPICA warnings/errors.
Always use 0x prefix for hex output, use %u for integer output (all
integers are unsigned.)

Affects ACPI_INFO, ACPI_ERROR, ACPI_WARNING, and ACPI_EXCEPTION.
ACPICA BZ 835.
2010-03-02 15:09:46 -08:00
Robert Moore
eeb88574ee iASL: Add predefined name checking for static names.
Adds typechecking for static (non-control-method) predefined names.
Migrates compiler to use the common predefined name table (acpredef.h).
Adds a single new file, aslpredef.c. ACPICA BZ 832.
2010-03-02 13:43:56 -08:00
Robert Moore
ab686ff50c Add support for MCHI table.
Disassembler and header file support for MCHI -
Managment Controller Host Interface table.
2010-03-02 10:53:43 -08:00
Robert Moore
e51c2639b6 Enhance configuration for output of AML Debug Object.
This change will enable debug object output via a global variable,
AcpiGbl_EnableAmlDebugObject. This will help with remote machine
debugging. Also, moved all debug object support code to a new file,
executer/exdebug.c. Entire debug object module can now be configured
out of the ACPICA build if desired. Lin Ming, Bob Moore.
2010-02-26 13:48:18 -08:00
Robert Moore
376714afc3 Update version to 20100121.
Version 20100121.
2010-01-21 10:01:14 -08:00
Robert Moore
9061775a81 Remove unused UINT32_STRUCT type.
This type is not used in ACPICA and thus removed.
2010-01-19 14:28:21 -08:00
Robert Moore
594479d5c6 Disassembler: Remove obsolete "Integer64" field in parse object.
This field is no longer needed. The "Integer" field is 64 bit and
is sufficient.
2010-01-19 14:17:17 -08:00
Robert Moore
bce1fbe326 Remove obsolete ACPI_INTEGER (acpi_integer) type.
This type was introduced as the code was migrated from ACPI 1.0 (with 32-bit
AML integers) to ACPI 2.0 (with 64-bit integers). It is now obsolete and
this change removes it from the ACPICA code base, replaced by UINT64.
The original typedef has been retained for now for compatibility with
existing device driver code.
2010-01-19 13:39:26 -08:00
Robert Moore
2cd7f64bf8 Predefined name repair: fix NULL package elements.
For the predefined methods that return fixed-length packages (or subpackages),
attempt repair for a NULL element. Create an Integer of value 0, a NULL
String, or a zero-length buffer as appropriate. ACPICA BZ 818.
Lin Ming, Bob Moore.
2010-01-15 12:50:21 -08:00
Robert Moore
e2cf79783b AcpiGetDevices: Eliminate unnecessary _STA calls.
In the case where a specific _HID is requested, do not run _STA until a _HID
match is found. This eliminates potentially dozens of _STA calls during
a search for a particular device/HID.

Fixes ACPICA BZ 828. Lin Ming.
2010-01-08 13:05:56 -08:00
Robert Moore
c7dd20b0d7 Update all ACPICA copyrights and signons to 2010.
Add 2010 copyright to all module headers and signons, including the Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, and all utilities.
2010-01-08 08:49:11 -08:00
Robert Moore
cdfcc7cfce Update for new gcc-4 warning options.
Added several new options for the gcc-4 generation, and updated the source
accordingly. This includes some code restructuring to eliminate unreachable
code, elimination of some gotos, elimination of unused return values, and
some additional casting.
2010-01-08 08:14:05 -08:00
Robert Moore
b5e61bc8ab Remove several redundant declarations.
Allows use of -Wredundant-decls flag for gcc-4
2009-12-15 14:08:52 -08:00
Robert Moore
5eeed04c3a Update version to 20091214.
Version 20091214.
2009-12-14 12:52:55 -08:00
Robert Moore
8b73fb9ff4 Debugger: Cleanup output of returned buffer objects.
This change aligns the data dump for buffer objects.
2009-12-11 13:35:19 -08:00
Robert Moore
93324dd734 Move check for valid Thread ID structure.
This change moves the check for a valid Thread ID structure up a few lines
to insure that the check is made before the structure is actually used.
Dan Carpenter.
2009-12-10 14:52:07 -08:00
Robert Moore
cf2bc7db05 Predefined name repair: automatically remove null package elements.
This change will automatically remove embedded and trailing NULL package
elements from returned package objects that are defined to containe a
variable number of sub-packages. The driver is then presented with
a package with no null elements to deal with. ACPICA BZ 819.
2009-12-10 14:35:48 -08:00
Robert Moore
a3dcd06fa0 Module-level code: enable _REG execution in same scope.
This change enables the execution of _REG methods that appear in the
same scope as the module-level code, in resonse to an operation region
declaration within the module-level code.
2009-12-10 12:48:24 -08:00
Robert Moore
f0c2fd9c36 Conditionally perform complex per-predefined-name repairs.
Only attempt the "complex" repairs (package sorting, buffer expansion)
if the previous "generic" validation and repair was successful.
2009-12-09 14:44:38 -08:00
Robert Moore
d34e4dc230 Update function headers and comments, no functional change.
Update comments for repair of _FDE and _GTM methods.
2009-12-08 14:15:57 -08:00
Robert Moore
82abf467aa Remove messages if predefined repair(s) are successful.
Repair mechanism was considered too wordy. Now, messages are only
unconditionally emitted if the return object cannot be repaired.
Existing messages for successful repairs were converted to
ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
2009-12-08 14:08:56 -08:00
Robert Moore
51dabc8bed Move Package-to-Buffer repair code into common ToBuffer function.
Move code specific to _FDE and _GTM into the generic repair code.
2009-12-04 15:16:53 -08:00
Robert Moore
b7f16e21e7 Fix mutex errors when running _REG methods.
Fixes a problem where mutex errors can occur when running a _REG method
that is in the same scope as a method-defined operation region or an
operation region under a module-level IF block. This is rare, so the
problem has not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
2009-12-04 09:22:56 -08:00
Robert Moore
268aa6915f Update function headers; no functional change.
Fixed a few errors with the headers in utcopy.c
2009-12-04 08:30:14 -08:00
Robert Moore
d29acc2c26 Add more conversions to predefined name repair module.
This change enhances the automatic repairs/conversions for predefined
name return values to make Integers, Strings, and Buffers fully
interchangeable. Also, a Buffer can be converted to a Package of
Integers if necessary. The nsrepair.c module was completely restructured.
Lin Ming, Bob Moore.
2009-12-03 14:20:31 -08:00
Robert Moore
6f5d3dce4f acpiexec: Add -f option to specify default region fill value.
This option specifies the value used to initialize buffers used to
simulate operation regions. Default is zero. Useful for debugging
problems that depend on a specific initial value for a region or
field.
2009-12-03 09:07:48 -08:00
Robert Moore
9b0c2d0fa5 iASL: Fix for dangling .src intermediate files.
This fixes a regression introduced in version 20091112. A .src
intermediate file is always created during compilation and should
be deleted at compiler exit.
2009-12-01 14:16:32 -08:00
Robert Moore
e5f4b2f88d Update internal namespace node/handle interfaces.
This change deletes the unnecessary NsConvertEntryToHandle interface
and renames the NsMapHandleToNode interface to NsValidateHandle.
ACPICA BZ 798.
2009-11-25 09:23:21 -08:00
Robert Moore
453386a16b Automated cleanup - no functional change.
acpisrc -c cleanup.
2009-11-20 09:16:42 -08:00
Robert Moore
048fba8f81 Add repair for bad _FDE/_GTM buffers.
The expected return value for both names is a Buffer of 5 DWORDS.
This repair fixes two possible problems (both seen in the field):
A package of integers is returned, or a buffer of BYTEs is
returned.
2009-11-20 09:10:33 -08:00
Robert Moore
a6fe819faf Fix two additional Scope override error messages.
These messages were using the internal path for the message
instead of using the node name.
2009-11-18 13:50:34 -08:00
Robert Moore
ca84b670c6 Fix two Scope type error messages.
Both messages incorrectly used the internal Path string instead
of the node name.
2009-11-18 13:43:52 -08:00
Robert Moore
9b6e9d4341 Fix possible memory leak for module-level code execution.
An object can be leaked for each block of executed module-level
code if the interpreter slack mode is enabled. The change
deletes any implicitly returned object in this case.
2009-11-18 13:25:42 -08:00
Robert Moore
e8195de87c Update version to 20091112.
Version 20091112.
2009-11-12 09:47:13 -08:00
Robert Moore
35d93031cf iASL: Fix for fault after "max errors exceeded".
Cleanup and exit properly after the maximum number of errors
have been exceeded.
2009-11-06 13:36:41 -08:00
Robert Moore
0f4a91c1bd Add additional module-level code support.
This change will execute module-level code that is not at the root of
the namespace (under a Device object, etc.). ACPICA BZ 762. Lin Ming.
2009-11-06 13:34:17 -08:00