184 Commits

Author SHA1 Message Date
Robert Moore
f7e29abf60 Disassembler: decode FADT PM_Profile field.
Add support to decode this field in the FADT with ascii names
for the legal values.
2009-02-13 12:23:16 -08:00
Robert Moore
0c7950d576 iASL: Dump RSDT to file for -g option.
Now dumps the RSDT as well as the FADT and DSDT.
2009-01-20 15:13:36 -08:00
Robert Moore
416eb5461f Update all copyrights and signons to 2009.
Add 2009 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.
2009-01-08 13:17:27 -08:00
Robert Moore
bddda3d5aa Disassembler: Update handling of FADT flags.
1) Decode all Boot Architecture flags.
2) Decode all flags, regardless of the FADT version. Previously,
only those flags that were actually valid for the FADT version
were displayed. This seemed to omit some information.
2009-01-08 12:56:02 -08:00
Robert Moore
1d4bf458a8 iASL: Enhancements and fixes for -e option.
1) Clear external list generated by Scope in external tables
2) Set node owner id only if it satisfies all the following conditions
   a. Not a predefined node, _SB_ etc.
   b. Not the root node
   c. Not a node created by Scope
3) Precise object types for External statements, for example
   -    External (\_PR_.CPU0, DeviceObj)
   +    External (\_PR_.CPU0, ProcessorObj)
2008-11-20 19:31:56 -07:00
Robert Moore
3ff3d1d615 Disassembler: Support for FADT version 2 (MS extension).
Adds support for the the version 2 FADT, which is an MS extension
that was added between ACPI 1.0B and ACPI 2.0.
2008-11-12 09:55:05 -08:00
Robert Moore
560ef13921 Disassembler: Fixes for various ACPI data tables.
Eliminate extraneous "zero length subtable" messages.
Fix subtable output for ERST, MCFG, EINJ tables.
Implement all subtables for HEST.
2008-11-11 14:04:37 -08:00
Robert Moore
299f92c264 iASL: Fix compile warning.
Update for external method changes, ACPICA BZ 740 Lin Ming.
2008-10-30 10:17:42 -07:00
Robert Moore
68f8e613f1 iASL: Additional changes for external methods.
Fixes issues with the methods that are permanently defined
in the namespace (such as _OSI, etc.) ACPICA BZ 740 Lin Ming.
2008-10-29 13:34:15 -07:00
Robert Moore
2f705a1b06 iASL: Improved disassembly of external method calls
Added the -e option to allow the inclusion of additional ACPI tables
to help with the disassembly of method invocations and the generation
of external declarations during the disassembly. Certain external
method invocations cannot be disassembled properly without the actual
declaration of the method. Use the -e option to include the table
where the external method(s) are actually declared. Most useful for
disassembling SSDTs that make method calls back to the master DSDT.
Lin Ming.

Example: To disassemble an SSDT with calls to DSDT:

    iasl -d -e dsdt.aml ssdt1.aml
2008-10-23 15:04:38 -07:00
Robert Moore
085ae7362c Restructure includes into public/private.
acpi.h now includes only the "public" acpica headers. All other
acpica headers are "private" and should not be included by acpica
users. One new file, accommon.h is used to include the commonly
used private headers for acpica code generation. Future plans are
to move all private headers to a new subdirectory.
2008-10-22 14:31:40 -07:00
Robert Moore
0b09da4ebd Remove obsolete version number in module headers.
Removed the "$Revision" number that appeared in each module header.
This version number was useful under SourceSafe and CVS, but has no
meaning under git. It is not only incorrect, it could also be
misleading.
2008-09-25 12:56:30 -07:00
Robert Moore
853c286f14 iASL/disassembler: avoid infinite loop on bad ACPI tables.
Check for zero-length subtables when disassembling ACPI tables.
Also fixes a couple of errors where a full 16-bit table type
was not extracted from the input properly.
2008-08-21 20:18:03 -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
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
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
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
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
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
rmoore1
8b2e508821 Disassembler support for new ACPI tables.
Implemented full disassembler support for the following new ACPI tables: BERT, EINJ, and ERST. Partial disassembler support for the complicated HEST table. These tables support the Windows Hardware Error Architecture (WHEA).
2008-02-12 21:23:36 +00:00
rmoore1
c67cda2bca Added BankField to deferred opcode list.
Now handles BankField as a deferred opcode (BankField recently became a deferred opcode).
2008-02-01 00:02:33 +00:00
rmoore1
27acc4211a Bulletproof disassembler for bad ACPI tables.
Fixed a problem with the disassembler where invalid ACPI tables could cause faults or infinite loops.
2008-01-23 22:13:53 +00:00
rmoore1
83324fc43b Added checksum validation for disassembly of DSDTs and SSDTs.
Implemented support in the disassembler for checksum validation on incoming binary DSDTs and SSDTs. If incorrect, a message is displayed within the table header dump at the start of the disassembly.
2008-01-11 21:47:42 +00:00
rmoore1
a417391ec6 Update copyright to 2008.
Added 2008 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities.
2008-01-09 21:27:10 +00:00
rmoore1
f28ead97ac Fix for Load/LoadTable to specify load location.
Fixed a problem with the Load and LoadTable operators where the table location within the namespace was ignored. Instead, the table was always loaded into the root or current scope.
2007-10-17 21:59:24 +00:00
rmoore1
8c6966a255 Add minimal disassembly support for the SLIC table.
SLIC - Software Licensing Description Table.
2007-09-11 20:54:56 +00:00
rmoore1
361f0a73b5 Fixed a few memory leaks for iASL compiler.
Leaks have become more important now that the compiler supports multiple compiles and wildcards on the command line.
2007-08-31 19:05:18 +00:00
rmoore1
dceba6cbd1 Automated cleanup.
Cleanup via acpisrc.
2007-08-30 23:03:19 +00:00
rmoore1
9e05a90a02 Support for iASL - multiple files and wildcards.
Implemented support to allow multiple files to be compiled/disassembled in a single invocation. This includes command line wildcard support for both the Windows and Unix versions of the compiler. This feature simplifies the disassembly and compilation of multiple ACPI tables in a single directory.
2007-08-30 22:28:35 +00:00
rmoore1
6e075f8871 Update copyright to 2007.
Added 2007 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities.
2007-01-09 20:01:19 +00:00
rmoore1
4bf0f9f3aa Port to new Table Manager.
Ported the -g option (get local ACPI tables) to the new ACPICA Table Manager to restore original behavior.
2006-10-11 19:29:39 +00:00
rmoore1
23c52e04d8 Automated code cleanup 2006-09-27 20:34:16 +00:00
rmoore1
ae10911e19 Add full table name to disassembler output 2006-09-15 17:22:06 +00:00
rmoore1
0c9ed4f423 ACPICA: New common routine for creating a local FADT and verifying it. 2006-09-12 16:30:15 +00:00
rmoore1
6656fe51f5 ACPICA: FADT verification is now table driven. Disassembler now verifies an input
FADT. Added warnings for 32/64 address mismatch and unknown length for FADT.
2006-09-07 21:29:14 +00:00
rmoore1
1a8fe15599 ACPICA: Implemented support for data sub tables in the ASF! table 2006-09-07 17:25:14 +00:00
rmoore1
155a7c6c1b ACPICA: IsResourceTemplate now returns ACPI_STATUS to differentiate the failure modes. 2006-09-07 17:24:24 +00:00
rmoore1
ef5c4d7c51 ACPICA: Fix disassembler to emit full ACPI 2.0 FADT. Update/clarify some text that
describes various fields in the FADT and ASF! tables.
2006-09-06 17:31:12 +00:00
rmoore1
42f376a70a ACPICA: Fix for two small problems with the FADT disassembly 2006-09-01 18:56:49 +00:00
rmoore1
c89da1055c ACPICA: Automated code cleanup 2006-08-31 16:29:36 +00:00
rmoore1
daa47677b8 ACPICA: Update access to Flags fields for changes to table header files (removal of
bitfields.)
2006-08-24 17:51:36 +00:00
rmoore1
288f609021 ACPICA: Implement support for ACPI DMAR table (DMA Remapping Table) in header files and disassembler. 2006-08-24 17:19:49 +00:00
rmoore1
62300dae19 The Table Manager component has been completely redesigned and reimplemented. The new design is much simpler, and reduces the overall code and data size of the kernel-resident ACPICA by approximately 5%. Also, it is now possible to obtain the ACPI tables very early during kernel initialization, even before dynamic memory management is initialized. 2006-08-23 19:55:36 +00:00
rmoore1
d16f19f0c5 Initial implementation of -e disassembler flag, to include additional table for external symbol resolution - requires further testing and investigation 2006-07-07 20:05:14 +00:00
rmoore1
a9ae55a891 Moved 'X' to last choice, looks too much like a hex constant. 2006-06-19 22:02:41 +00:00
rmoore1
27caef9e09 Fix for case where there is no incoming filename (iasl -g) 2006-06-02 22:11:03 +00:00
rmoore1
774d4d2176 Prevent fault if output file could not be opened 2006-05-24 20:49:38 +00:00
rmoore1
3f8bd314ea Do not search parent(s) when installing names into namespace 2006-05-24 20:49:05 +00:00
rmoore1
6e787db082 Fix for Alias operator - special handling is not needed 2006-05-15 21:30:00 +00:00
rmoore1
636f1daa70 Automated cleanup 2006-05-12 20:50:15 +00:00