Commit Graph

10593 Commits

Author SHA1 Message Date
Robert Moore
ecff2c8ed5 Update/clarify some parameter names associated with ACPI_HANDLE.
Simple rename of some parameters to standardize them.
2010-04-23 10:00:16 -07:00
Robert Moore
6d8374fa06 Tests: Add new file with examples of extended iASL error checking.
Shows advanced error checking ability of iASL. Compiles with no errors
with ASL.
2010-04-23 09:22:19 -07:00
Robert Moore
bc9ed0f853 Tests: Update grammar.asl for iASL changes - resource descriptors.
Fix errors caused by new error checking in iASL.
2010-04-23 09:16:04 -07:00
Robert Moore
e211c4a5ac iASL: Allow alignment=0 for IO/Memory32 descriptors.
Means the same as alignment=1 in the field.
Also, fix check for _MAX on _GRA boundary.
2010-04-23 09:13:08 -07:00
Robert Moore
99b080dcde iASL: Implement rules for MIF/MAF flags, address descriptors.
This change implements the rules for LEN/MIF/MAF/MIN/MAX/GRA that come
from the ACPI specification (Table 6-40). Also added a special
case for IO descriptor where MIN/MAX are both start addresses, not
a start and end address. ACPICA BZ 840.
2010-04-22 15:08:47 -07:00
Robert Moore
8e3a28a487 iASL: Split large aslrestype1.c and aslrestype2.c files.
New files are aslrestype1i.c, aslrestype2d.c, aslrestype2e.c,
aslrestype2q.c, and aslrestype2w.c
2010-04-22 09:36:27 -07:00
Robert Moore
0530d6d5cc iASL: Add Min/Max/Len/Gran validation for resource descriptors.
This change implements validation for the address fields that are
common to all address-type resource descriptors. These checks
are implemented: Checks for valid min/max, length within the
min/max window, valid granularity and min/max a multiple of
granularity. ACPICA BZ 840.
2010-04-22 07:55:53 -07:00
Robert Moore
68af6e5482 iASL: Add error for more predefined names that must be methods.
If no return value is expected from this predefined name, then
it follows that it must be implemented as a control method
(with zero args, because the args > 0 case was handled above)
Examples are: _DIS, _INI, _IRC, _OFF, _ON, _PSx
2010-04-20 09:51:00 -07:00
Robert Moore
03d18d0470 Rename AcpiExSystemDoSuspend->AcpiExSystemDoSleep.
Suspend has other meanings in ACPI context, name was misleading.
2010-04-19 13:32:17 -07:00
Robert Moore
681f8f4e6b Prevent possible allocation overrun during object copy.
Original code did not handle the case where the object to be
copied was a namespace node.
2010-04-09 12:47:44 -07:00
Robert Moore
c2e293f281 Update allocation dump routine.
Prevent possible access beyond end-of-allocation.
Fully validate descriptor (size and type) before output.
Lin Ming, Bob Moore.
2010-04-09 12:35:00 -07:00
Robert Moore
3e2a9ea0fc Update windows project files.
New files added for GPE file split.
2010-04-09 09:04:36 -07:00
Robert Moore
b0a99f238c Split large file, evgpeblk.c.
Create two new files, evgpeinit.c and evgpeutil.c. Updated unix and
linux makefiles.
2010-04-09 09:01:59 -07:00
Robert Moore
85fa1f3470 acpiexec: add source ASL for ACPI tables used within.
2 tests added.
2010-04-08 15:29:16 -07:00
Robert Moore
d764104bff Add GPE support for dynamically loaded ACPI tables.
For all GPEs, including FADT-based and GPE Block Devices, execute
any _PRW methods in the new table, and process any _Lxx/_Exx GPE
methods in the new table. Any runtime GPE that is referred to by
an _Lxx/_Exx method in the new table is immediately enabled.
ACPICA BZ 833. Lin Ming, Bob Moore.
2010-04-08 14:59:22 -07:00
Robert Moore
8cf3f0b4b9 iASL: Add -ts hex output option (emit ASL code).
New option to emit the hex AML code in an ASL buffer.
ACPICA BZ 853.
2010-04-08 13:44:37 -07:00
Robert Moore
f633a5f198 iASL: Add typechecking for _Wxx predefined names.
_Wxx is a GPE method type, similar to the _Lxx/Exx methods.
Adds support for all _Wxx names, which were not previously
recognized as valid predefined names.
2010-04-07 12:58:16 -07:00
Robert Moore
66a0da38e3 iASL: Add error if _Lxx/_Exx/_Qxx/_Wxx names are not methods.
These predefined names must be defined as control methods. They
cannot be defined as any other object type. ACPICA BZ 850.
2010-04-07 12:48:53 -07:00
Robert Moore
b7afb93b2d iASL: Update signon for ACPI 4.0a
Add "a" to output string.
2010-04-07 08:39:25 -07:00
Robert Moore
6afc9c9921 iASL: Update -ta/-tc hex output options.
Add ascii dump for partial last lines.
For C, omit comma after last byte.
Add total AML size in comment.
Update to improve general appearance and usefullness.
2010-04-05 14:55:41 -07:00
Robert Moore
66525d7384 Clarify/rename some root table descriptor fields.
Original fields were not very descriptive and led to maintenance problems.
New fields should help to understand the existing code.
2010-04-05 10:19:39 -07:00
Robert Moore
752d13e806 Additional fix for root table size regression.
Set the size of the new root table correctly. Not the current size, but
the number of current tables + the default increment.
2010-04-02 12:53:37 -07:00
Robert Moore
67a1ef8c98 Additional change for table load regression
add .signature
2010-04-01 14:26:23 -07:00
Robert Moore
e4c530f4e7 Fix for table load regression.
Fixes a problem introduced in 20100331 where the table manager could
fault or return an AE_NO_ACPI_TABLES exception.
2010-04-01 14:05:20 -07:00
Robert Moore
4580a813dd Integrate FreeBSD changes for acfreebsd.h
Changes from Jung-uk Kim [jkim@FreeBSD.org]
2010-03-31 13:19:24 -07:00
Robert Moore
4f19d3be5a Update version to 20100331.
Version 20100331.
2010-03-31 09:23:49 -07:00
Robert Moore
3a6f790649 Logfile: changes for version 20100331.
Version 20100331.
2010-03-31 09:22:09 -07:00
Robert Moore
28c6b69a26 Windows binaries: Update for version 20100331.
Version 20100331.
2010-03-31 09:21:10 -07:00
Robert Moore
dc2a536be0 Fix AcpiReallocateRootTable to set new root table size correctly.
New additional table count was not added into the table size
(count of total available slots.)
2010-03-31 08:15:59 -07:00
Robert Moore
8c28b93eee Update part 2: DSDT copy/detection.
Now handles the case where the root table can be reallocated, which
would invalidate the original pointer.
2010-03-31 07:51:40 -07:00
Robert Moore
2a8d54c70f Documentation: Update ACPICA reference for GPE changes.
Also added copy DSDT option.
2010-03-30 08:12:36 -07:00
Robert Moore
96a1c010a3 iASL: Update -g option (get local tables) for Windows 7.
Changed requested permissions for registry access.
Updated error messages to format/display windows exception code.
2010-03-30 08:09:10 -07:00
Robert Moore
ba050b9437 Tests: update file permissions for ASLTS scripts.
Execute permissions added.
2010-03-26 16:06:57 -07:00
Robert Moore
45f0b38a92 Major update for GPE support code for shared GPEs.
Adds a reference count mechanism to simplify support of shared GPEs that
require multiple device drivers. Several external interfaces have changed.
One external interface has been removed.

Changed:
AcpiEnableGpe
AcpiDisableGpe
AcpiClearGpe
AcpiGetGpeStatus

Removed:
AcpiSetGpeType

New:
AcpiSetGpe

See the ACPICA Programmer Reference for details.
Matthew Garrett
Bob Moore
Rafael Wysocki
2010-03-26 15:54:55 -07:00
Robert Moore
1e7497f794 Update DSDT copy/detection.
Move initialization of DSDT pointer. Emit address of DSDT in
the dump of both table headers (good/bad DSDT).
2010-03-26 15:52:04 -07:00
Robert Moore
674f1c5b79 Set DSDT copy option to FALSE by default.
Do not copy DSDT unless option is specifically set.
2010-03-25 13:02:46 -07:00
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
607198b2a8 Logfile: changes for version 20100304.
Version 20100304.
2010-03-04 09:35:43 -08:00
Robert Moore
d76d196385 Windows binaries: Update for version 20100304.
Version 20100304.
2010-03-04 09:33:43 -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