875 Commits

Author SHA1 Message Date
Robert Moore
b7def3a7cb iASL: Fix for line-terminator transparency.
Ensure that iASL works correctly with both LF and CR/LF terminated files,
on both unix-like and windows platforms.
2009-04-21 14:49:51 -07:00
Robert Moore
4feeacbe2a Remove use of a couple non-ANSI C library functions.
Removed calls to isascii and stricmp/strcasecmp for iASL and acpisrc.
2009-04-16 13:38:00 -07:00
Robert Moore
47481d6ad7 Add missing switch/defaults and prototypes.
Mostly empty default statements to pass lint/strict compiler warnings.
2009-04-15 12:57:02 -07:00
Robert Moore
78c5f575d4 Add missing function prototypes.
Mostly local prototypes that were missing.
2009-04-15 09:56:33 -07:00
Robert Moore
0a7105bb76 iASL: Fix warning under gnu Bison 2.3
Small change to one rule.
2009-04-15 07:28:10 -07:00
Robert Moore
4012f44bbb iASL: Fix several warnings for 64-bit build.
Added some typecasts for printf-style statements where size_t (ACPI_SIZE)
increases to 64-bits.
2009-04-14 08:08:57 -07:00
Robert Moore
0a69fa967a Fix printf format warnings for 64-bit build.
Fix warnings caused by size_t and ACPI_SIZE changing to 64 bits.
2009-04-09 14:56:10 -07:00
Robert Moore
0dc5d93331 iASL: Add option to display summary only.
Added -va option to disable all errors and warnings, and display
the summary info only. Useful for large batch compiles.
2009-03-24 14:20:59 -07:00
Robert Moore
491a1e7ae0 New: I/O port protection.
Protect certain I/O ports from reads/writes. Provides MS
compatibility. New module, hwvalid.c
2009-03-13 08:08:55 -07:00
Robert Moore
5025573120 Remove ACPI_GET_OBJECT_TYPE macro.
Remove all instances of this obsolete macro, since it is now a simple
reference to ->common.type. There were about 150 invocations of the
macro across 41 files.
2009-02-05 10:17:44 -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
Jürg Billeter
81d0f24355 iASL: Fix build error under bison-2.4
Adds the missing type specifiers to fix build with bison 2.4.1
ACPICA BZ 744, Jürg Billeter
2008-12-22 11:28:45 +08:00
Robert Moore
e747da4ccd iASL: Remove 'named object in loop' error.
Previously did not allow the creation of named objects within a while
loop. However, it is not possible to analyze the loop to determine if
a named object would actually be created twice. Also, compiling
disassembled code with switch statements would raise this error even
though the compiler-emitted while(one) loop only executed once (there
is a break statement at the bottom of the loop. Chalk this one up to
'a nice try'.
2008-11-12 12:40:17 -08:00
Robert Moore
3c27b8f4e0 iASL: Fix to allow aliases within ASL namepaths.
Fixes a problem where the use of an alias within a namepath would
result in a not found error or cause the compiler to fault.
Also now allows forward references from the Alias operator itself.
ACPICA BZ 738.
2008-10-24 13:33:44 -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
fd290b3c3c Cleanup for internal Reference Object.
Fix some sloppiness in the Reference object. No longer use AML opcodes to
differentiate the types, introduce new reference Class. Cleanup the debug
output code.
2008-08-27 10:11:30 -07:00
Robert Moore
8432c08fc1 iASL: Allow multiple arg counts for _SCP method.
ACPI 1.0 defined _SCP to have one argument. In ACPI 3.0, this was
extended to three arguments. iASL now allows either 1 or 3.
2008-08-21 20:18:03 -07:00
Robert Moore
61565d738f iASL: named objects within loop, part two.
Restricted the error case to allow the use of the Scope, Buffer, and
Package operators within a loop since these operators do not actually
create new objects.
2008-07-29 09:14:18 -07:00
Robert Moore
61a66a6a92 iASL: Support absolute pathnames for include files.
Add support for absolute pathnames within the Include operator.
previously, only relative pathnames were supported.
2008-07-23 10:42:31 -07:00
Robert Moore
806efe4747 iASL: error if named object created in while loop.
Emit an error if any named object is created within a While loop.
If allowed, this code will generate a run-time error on the second
iteration of the loop when an attempt is made to create the same
named object twice. ACPICA bugzilla 730.
2008-07-22 10:03:48 -07:00
Robert Moore
cf81b17458 iASL: relax error for using reserved "_T_x" identifiers.
These names can appear in a disassembled ASL file if they were emitted
by the original compiler. Instead of issuing an error or warning and
forcing the user to manually change these names, issue a remark instead.
2008-07-10 14:46:31 -07:00
Robert Moore
5cae8e0a88 iASL: Fix broken -g option (get Windows ACPI tables).
Fixes the -g option (get ACPI tables on Windows). This was
apparently broken in version 20070919.
2008-07-08 13:27:23 -07:00
Robert Moore
409a98bb7f iASL: lint changes only, no functional changes.
Some lint changes only.
2008-07-08 11:10:07 -07:00
Robert Moore
edecb3ec2f iASL: Prevent error message if CondRefOf target does not exist.
Fixes cases where an error message is emitted if the target
does not exist. BZ 516
2008-07-02 10:12:46 -07:00
Robert Moore
36a06ba0af iASL: Enforce minimum 1 interrupt in interrupt macro.
ACPI spec requires one interrupt minimum. BZ 423
2008-07-01 16:07:51 -07:00
Robert Moore
d2b15accf3 iASL: Handle missing ResourceSource arg, present SourceIndex.
Handle the case for the Interrupt resource descriptor where
the ResourceSource argument is omitted but ResourceSourceIndex
is present. Leave room for the Index. BZ 426
2008-07-01 16:06:20 -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
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
87292344c7 Automated cleanup; no functional changes. 2008-05-21 12:17:51 -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
a9c2b329d8 Fix for AE_ALREADY_EXISTS when using Switch operator.
Fixed a problem with the use of the Switch operator where execution by multiple concurrent threads could cause an AE_ALREADY_EXISTS. This is caused by the fact that there is no actual Switch opcode, it must be simulated with temp variables and if/else pairs. The solution chosen was to mark any method that uses Switch to be Serialized, thus preventing multiple thread entries. BZ 469.
2008-02-26 19:55:23 +00:00
rmoore1
e65b207b45 Add va_end statements as appropriate.
Added missing va_end statements that should correspond with each va_start statement.
2008-01-24 23:36:02 +00:00
rmoore1
f710c3b2e4 Fixes for Unload and DDBHandles.
Implemented support for the use of DDBHandles as an Indexed Reference, as per the ACPI spec. (Lin Ming) BZ 486. Implemented support for UserTerm (Method invocation) for the Unload operator as per the ACPI spec. (Lin Ming) BZ 580
2008-01-23 22:19:31 +00:00
rmoore1
52e3d1c0d3 Fix for LoadTable operator.
Implemented support for full TermArgs (adding Argx, Localx and method invocation) for the ParameterData parameter to the LoadTable operator. (Lin Ming) BZ 583,587
2008-01-23 22:07:34 +00:00
rmoore1
562b50607f Fix for multiple Externals with same name.
Fixed a problem where two External declarations with the same name did not cause an error (Lin Ming) BZ 509
2008-01-23 21:57:15 +00:00
rmoore1
fd57e67dfa Fixed incorrect parse error.
Fixed an unexpected parse error when using the optional "parameter types" list in a control method declaration. (Lin Ming) BZ 397
2008-01-18 17:48:43 +00:00
rmoore1
71363415fe Added additional info to the namespace output file.
Implemented additional debugging information in the namespace listing file created during compilation. In addition to the namespace hierarchy, the full pathname to each namespace object is displayed.
2008-01-11 21:58:24 +00:00
rmoore1
b5a5d1f8f7 Update signon.
Update to add 2008 to copyright.
2008-01-09 22:40:23 +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
48c46cb45a Update for interface change.
change due to notify handler interface change.
2007-10-19 19:27:22 +00:00
rmoore1
23942e7a98 Add error case for non-existent input file.
Recent wildcard support misses the case where a lone file does not exist.
2007-10-13 00:44:16 +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
c9b7d5e548 Fixed several warnings for generation on Cygwin 2007-04-04 20:56:40 +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
84dd704f20 Update reserved method check for _ERR, now has 3 arguments. 2006-12-15 23:13:53 +00:00