9987 Commits

Author SHA1 Message Date
Robert Moore
04b4bfd74a acpisrc: update for data table compiler.
new structs.
2010-06-11 10:01:29 -07:00
Robert Moore
cc318d4921 iASL-DTC: Set length field in extended RSDP.
Completes update for RSDP compilation. Set the Length field
in an extended RSDP.
2010-06-09 12:21:32 -07:00
Robert Moore
f23b9c7d49 Revert "Enable multi-byte EC transfers."
This change was found to break IndexField and possibly BankField
operations.
2010-06-09 11:40:54 -07:00
Robert Moore
9178def100 Disassembler: Add new strings for EINJ, ERST, HEST tables.
Add description strings for EINJ/ERST actions and instructions.
Also flag decoding for EINJ/ERST/HEST.
2010-06-08 15:10:01 -07:00
Robert Moore
648799e494 Disassembler: Add checksum validation for RSDP.
Verify both RSDP checksums during disassembly.
Also, fix checksum generation during RSDP compile.
2010-06-08 12:45:36 -07:00
Robert Moore
654c1f0ad2 Add support for OS X in the Unix OSL.
OS X needs to use named semaphores. Conditional on __APPLE__
2010-06-08 12:22:20 -07:00
Robert Moore
3491ce88bb iASL: Update templates for ASF!, HEST, MADT, SRAT.
Add additional subtables so that there is one example of each
possible subtable.
2010-06-07 14:16:06 -07:00
Robert Moore
9ca20f7b59 Disassembler: Cleanup output file header.
A couple minor changes.
2010-06-04 14:06:17 -07:00
Robert Moore
64edfcfe01 iASL: Add templates for FACS, RSDP, DSDT, SSDT.
These tables are a bit different from the rest of the tables.
DSDT/SSDT are AML tables, not data tables. FACS/RSDP do not use
the standard ACPI table header.
2010-06-04 13:41:40 -07:00
Robert Moore
cebf60d620 iASL: Ensure that temporary files (.src) are deleted.
Use the temp filename instead of temp handle for existence check.
Also, clear both the filename and handle during re-init during
multiple file compiles.
2010-06-04 13:38:57 -07:00
Robert Moore
d9634daeee iASL: Additional template generator integration.
Also fixes a few issues with SBST, HEST, and ECDT templates.
2010-06-03 13:38:49 -07:00
Robert Moore
c65f66e528 iASL: Add addtional ACPI table templates.
For IVRS, SBST, UEFI, WAET, WDRT.
2010-06-02 14:59:37 -07:00
Robert Moore
45b2e97735 iASL: Fix several issues with Data Table Compiler.
Eliminate duplicate field names in the same table.
Do not unnecessarily pad strings with blanks.
Fix a problem when compile Flag fields.
2010-06-02 14:00:22 -07:00
Robert Moore
1ad056a79f iASL: Add support to generate ACPI Data Table Template files.
These files can be used as the starting point for an actual ACPI
table, to be compiled via the iASL Data Table Compiler.
2010-06-02 13:45:39 -07:00
Robert Moore
b738e9a74c Add support for WDDT - Watchdog Descriptor Table.
Disassembler and header file support.
2010-06-02 12:29:13 -07:00
Robert Moore
a41ee01736 iASL: Update handling of temp files for DTC.
The Data Table Compiler does not use the .SRC temp files.
Update code flow so this file is not created or used.
2010-06-02 09:41:59 -07:00
Robert Moore
f07ee8aa56 Update version to 20100528.
Version 20100528.
2010-05-28 14:16:03 -07:00
Robert Moore
41fdcaead2 Add signatures for undefined tables: ATKG, GSCI, IEIT.
These ACPI tables have been seen in the field, but the actual
table definitions are unkown at this time.
2010-05-27 10:32:55 -07:00
Robert Moore
45979a335e Automated cleanup - no functional change.
Remove tabs and extra spaces.
2010-05-26 13:32:13 -07:00
Robert Moore
df3d422671 Enable multi-byte EC transfers.
Previously, the maximum data size passed to the EC operation region
handler was a single byte. Since there are often larger datums that
need to be transfered, and the EC would like to lock these as a single
transaction, this change enables transfers larger than a single byte.
This may require changes to the host-OS Embedded Controller driver
to enable 16/32/64 bit tranfers in addition to 8-bit transfers.
Alexey Starikovskiy, Lin Ming
2010-05-26 13:01:18 -07:00
Robert Moore
14aafc8b1b Update flags for operand object.
Remove obsolete AOPOBJ_SINGLE_DATUM. Add AOPOBJ_INVALID for use if
the host OS rejects the address of an operation region (currently
only used by Linux.)
2010-05-26 11:25:44 -07:00
Robert Moore
de716aac23 Performance enhancement for namespace search and access.
This change enhances the performance of namespace searches and walks
by adding a backpointer to the parent in each namespace node. On large
namespaces, this change can improve overall ACPI performance by up to 9X.
Adding a pointer to each namespace node increases the overall size of
the internal namespace by about 5%, since each namespace entry usually
consists of both a namespace node and an ACPI operand object.
Alexey Starikovskiy.
2010-05-25 12:38:08 -07:00
Robert Moore
ac028ba3a8 iASL: Prevent extraneous error message.
In the case where there are errors and the AML file therefore
does not exist.
2010-05-25 08:21:51 -07:00
Robert Moore
b5dc1a48a1 iASL: Fix some issues with data table compiler integration.
Fixes a fault when using wildcards, Fixes linux generation makefile,
adds support for multi-line buffers in the SLIT table.
2010-05-24 10:18:16 -07:00
Robert Moore
d6027aa4c5 iASL: Support for Data Table Compiler.
Modifications to existing compiler that are
required for the data table compiler.
2010-05-21 14:19:32 -07:00
Robert Moore
48ed9d4f7a iASL: New files for Data Table Compiler.
These are the the files that implement the data table compiler.
2010-05-21 14:18:07 -07:00
Robert Moore
045d5cf5c8 Truncate I/O addresses to 16 bits for Windows compatibility.
This feature is optional and is enabled if the BIOS requests any Windows
OSI strings. It can also be enabled by the host OS. Matthew Garrett,
Bob Moore.
2010-05-20 13:57:02 -07:00
Robert Moore
027c7ffd9a Expand device initialization counters to 32 bits.
Expand the various device initialization counters from 16-bit to 32-bit.
Allows for very large namespaces.
2010-05-20 12:29:29 -07:00
Robert Moore
1af8b94914 iASL/Tools: Replace all %d format specifiers with %u (unsigned).
With only a few exceptions, ACPICA does not use signed integers.
Therefore, %d is incorrect.
2010-05-20 12:12:23 -07:00
Robert Moore
3929a1f9a2 Core: Replace all %d format specifiers with %u (unsigned).
With only a few exceptions, ACPICA does not use signed integers.
Therefore, %d is incorrect.
2010-05-20 10:22:16 -07:00
Robert Moore
89f72c1af3 Optimization: Reduce the number of namespace walks.
On control method exit, only walk the namespace if the method is known
to have created namespace objects outside of its local scope.
Bob Moore, Alexey Starikovskiy.
2010-05-20 08:58:10 -07:00
Robert Moore
d90488f435 acpiexec: add option to disable memory tracking mechanism.
-dt option will disable the tracking mechanism, which improves performance
considerably. Also restructured the options into -d (disable) and -e (enable) options.
2010-05-19 13:53:55 -07:00
Robert Moore
b2bad68e4c Limit maximum time for Sleep() operator.
To prevent accidental deep sleeps, limit the maximum time that Sleep()
will sleep. Configurable, default maximum is two seconds.
ACPICA bugzilla 854.
2010-05-19 09:00:58 -07:00
Robert Moore
ba571ef4a6 Expand initialization counters to 32 bits.
Expand the various initialization counters from 16-bit to 32-bit.
Allows for very large namespaces. Alexey Starikovskiy, Bob Moore.
2010-05-18 15:10:09 -07:00
Robert Moore
450158957f iASL/Core: Add support for _WDG/_WED MS methods.
These objects are defined by "Windows Instrumentation", and are not
part of the ACPI spec. Adds compiler support and runtime typechecking
support in the ACPICA core. ACPICA BZ 860.
2010-05-18 12:07:27 -07:00
Robert Moore
07e62f2dbf Fix namestring associated with AE_NO_HANDLER exception.
Was incorrectly AE_WAKE_ONLY_GPE.
2010-04-30 12:33:10 -07:00
Robert Moore
27794f1bd0 Add comment: _BCL cannot be sorted on the fly.
Because of package index values used for _BQC and _BCM.
2010-04-30 12:19:10 -07:00
Robert Moore
2ec18d1ecf Update version to 20100428.
Version 20100428.
2010-04-28 12:24:04 -07:00
Robert Moore
540b6bfb95 iASL: Add -cr option to disable resource descriptor checks.
Useful for ASLTS. Disable errors from resource descriptors.
ASLTS checks for correct byte-by-byte descriptor construction, thus
errors are unavoidable.
2010-04-28 10:16:26 -07:00
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
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
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