10444 Commits

Author SHA1 Message Date
Robert Moore
c852ab572f iASL/Disassembler: Enhance bad input file error message.
Emit additional error message if the file is 100% ASCII instead
of the required binary file.
2012-04-27 09:56:16 -07:00
Robert Moore
b82d430957 Disassembler: Add support for Operation Region externals.
Adds missing support for operation regions defined in another table,
but referenced via a Field or BankField operator. Generate the
correct External statement.
2012-04-26 12:50:52 -07:00
Robert Moore
18cf9f9498 iASL/DTC/Preprocessor: Gracefully handle early EOF.
Handle an EOF at the end of a valid line by inserting a newline
and then returning the EOF during the next call to GetNextLine.
Prevents the line from being ignored due to EOF condition.
2012-04-23 15:07:46 -07:00
Robert Moore
e802f64c73 Update to version 20120420.
Version 20120420.
2012-04-20 13:13:44 -07:00
Robert Moore
51377948d9 iASL: Expand allowable byte constants for addres space IDs.
Expanded range from 0x80-0xFF to 0x0A-0xFF.
2012-04-20 09:30:46 -07:00
Robert Moore
1779fe9ec9 iASL/DTC/Preprocessor: Add support to skip escape sequences in strings.
In shared code for DTC/Preprocessor, just skip over any escape
sequences found within double-quoted string literals.
DTC may later implement full support for escape sequences.
2012-04-20 09:28:41 -07:00
Robert Moore
c760d1f111 AcpiExec: Update to test multiple notify handler support.
Installs/removes multiple notify handlers. Also update grammar.asl
to test multiple handlers.
2012-04-20 09:19:48 -07:00
Robert Moore
7adabc5479 Add support for multiple notify handlers.
This change adds support to allow multiple notify handlers on
Device, ThermalZone, and Processor objects. Also re-worked and
restructured the entire notify support code for handler installation,
handler removal, notify event queuing, and notify dispatch to handler.
Lin Ming, Bob Moore, Rafael Wysocki.
2012-04-20 09:00:41 -07:00
Robert Moore
85e2b6f015 Fix object size problem with allocation tracker object dump.
Code that posts additional info about various object during the
dump of outstanding allocations had incorrect object sizes.
This fix corrects the three incorrect cases.
2012-04-13 14:16:56 -07:00
Robert Moore
05833ed9d8 iASL: Print all error/warning messages to stderr by default.
Most were sent to stdout.
2012-04-04 14:13:15 -07:00
Robert Moore
d832de2ef2 Lint fixes for AcpiWrite, no functional changes.
AcpiWrite was widened to 64-bit data, this change eliminates
some lint warnings.
2012-04-03 11:56:15 -07:00
Robert Moore
0adca1bedd iASL: Split out C support functions from main lex file.
Split out C functions from aslcompiler.l to aslsupport.l for
improved readability and maintainablity.
2012-04-02 14:49:38 -07:00
Robert Moore
4817fab2d8 iASL: Remove extraneous error message if no parse tree created.
If early errors happen during the parsing stage, a parse tree
may not be created. An "internal" error was emitted. Add a check
for actual errors so that the internal error is only emitted
if no other errors were generated during the parse.
2012-03-30 10:14:26 -07:00
Robert Moore
e18caf1881 iASL: Add option to treat warnings as errors.
Adds the -we option to return non-zero status on any warnings,
as well as errors. ACPICA BZ 948.
2012-03-30 09:53:15 -07:00
Robert Moore
ebd7f0820d iASL: Cleanup/standardize main lex file.
Standardize function names, general cleanup.
2012-03-29 13:47:04 -07:00
Robert Moore
e97fd500e5 iASL: Cleanup #line handling code.
Miscellaneous cleanup; Remove debug output code.
2012-03-29 13:11:15 -07:00
Robert Moore
1522d69221 iASL: De-tabify main parser file for consistency.
ACPICA source does not use tabs, since they are not consistent
across systems.
2012-03-28 14:53:12 -07:00
Robert Moore
73a001b948 iASL: Remove #line and #include from main parser. 2012-03-28 14:42:41 -07:00
Robert Moore
35f1292815 iASL: Implement #line directive in compiler lexer.
Move main compiler support for #line from the parser to the lexer.
This simplifies the implementation, and allows #line to appear
within any ASL statement (the entire line where #line appears
is simply removed from the input after the new line number is set.)
2012-03-28 14:18:42 -07:00
Robert Moore
b95bbfbb76 Dynamic repair: fix for package repair regression.
Fixes a regression introduced in commit
c995fed15ab41f6feae1299876271ea330f5c1c5
"Support to add Package wrappers">
2012-03-28 14:15:24 -07:00
Robert Moore
53807af2a9 Object dump routines: Use common function for string output.
For ACPI string objects, always use the common string dump function,
AcpiUtPrintString. This function surrounds the string with quotes
and handles allowed escape sequences.
2012-03-28 08:17:45 -07:00
Robert Moore
5734623671 iASL: Abort on currently unsupported macro definitions.
Macros are not yet implemented, just abort the compiler if one
is detected, since it will cause serious cascading syntax errors.
2012-03-23 14:06:44 -07:00
Robert Moore
e48bee4081 iASL: Fix use of StartDependent descriptor with resource tags.
Fixes a problem where resource tags that refer to descriptors within
the scope of a StartDependent or StartDependendentNoPri descriptor
had an incorrect offset. The length of the StartDependent descriptor
must be taken into account when calculating the tag offset.
Reported by Petr Vandrovec. ACPICA BZ 949.
2012-03-23 13:49:46 -07:00
Robert Moore
3243ed7087 iASL: Add pass-thru #line support for correct line numbers.
Preprocessor now adds #line directives so that the compiler will
emit error messages with the proper line number in the original
source file.
2012-03-23 13:05:05 -07:00
Robert Moore
651031314f AML Parser: Fix two possible memory leaks in error path.
Fixes a couple of memory leaks in the error recovery path.
Jesper Juhl, Lin Ming.
2012-03-22 14:36:32 -07:00
Robert Moore
0c5aa752d8 iASL: Add option to disable preprocessor.
The -Pn will disable/bypass the preprocessor completely.
2012-03-21 12:16:55 -07:00
Robert Moore
ea679c0f8b Update to version 20120320.
Version 20120320.
2012-03-20 09:14:22 -07:00
Robert Moore
83fff44870 Sleep/Wake interfaces: optionally execute _GTS and _BFS.
Enhanced the sleep/wake interfaces to optionally execute the _GTS
method (Going To Sleep), and the _BFS method (Back From Sleep).
Windows apparently does not execute these methods, and therefore
these methods are often untested. It has been seen on some systems
where the execution of these methods causes errors and also prevents
the machine from entering S5. It is therefore suggested that host
operating systems do not execute these methods by default. In the
future, perhaps these methods can be optionally executed based on
the age of the system and/or what is the newest version of Windows
that the BIOS asks for via _OSI.
2012-03-16 13:34:53 -07:00
Robert Moore
c995fed15a Object repair code: Support to add Package wrappers.
Repair a common problem with objects that are defined to
return a variable-length Package of sub-objects. If there is
only one sub-object, some BIOS code mistakenly simply declares
the single object instead of a Package with one sub-object.
This function attempts to repair this error by wrapping a
Package object around the original object, creating the
correct and expected Package with one sub-object.
2012-03-16 09:37:52 -07:00
Robert Moore
a219c8e17f iASL: Remove unused variable.
Remove unused variable in DoCompile.
2012-03-15 14:01:16 -07:00
Robert Moore
7fd09d9935 iASL: Add preprocessor infrastructure and initial implementation.
Adds a standard c-like preprocessor to iASL. Most standard directives
are supported. #define() macros not supported yet.
2012-03-15 13:45:55 -07:00
Robert Moore
028796dce7 Disassembler: Emit .DSL file size in summary.
Emit summary in the same format as the iASL compiler, including
the disassembled file size.
2012-03-15 13:17:13 -07:00
Robert Moore
76200cd189 iASL/TableCompiler: Fix problem with equals operator in expressions.
Implementation used a single equals instead of a double equals.
2012-03-07 09:53:58 -08:00
Robert Moore
6c698527a0 iASL: Clean up option processing in aslmain.
Also port the code to use the new getopt (new option for
the getopt string).
2012-03-02 15:51:46 -08:00
Robert Moore
fdd3d32d73 Add additional optstring option for getopt.
Add an additional option character that specifies that the
option has a required single-character suboption (|). This
simplifies the command line processing for the various tools.
2012-03-02 15:48:05 -08:00
Robert Moore
e3e7f0e03a Fix mapping issue related to a physical table override.
Enable the deferred mapping mechanism for tables loaded via the
physical override OSL interface. This allows for early mapping
before the virtual memory manager is available. Thomas Renninger,
Bob Moore.
2012-02-23 14:31:04 -08:00
Robert Moore
f6e78d027d Fix for local FADT table length set too early.
The local FADT table length cannot be set to the common length
until the original length has been examined. There is code that
checks the table length and sets various fields appropriately.
This can affect older machines with early FADT versions. For
example, this can cause inadvertant writes to the CST_CNT
register. Julian Anastasov.
2012-02-23 14:24:27 -08:00
Robert Moore
7b3955c651 iASL: Update flex/bison files for new versions of the tools.
Update to newer versions of flex and bison.
2012-02-17 13:02:42 -08:00
Robert Moore
60e28ff16f Debugger: Add missing object info to namespace dump.
Many namespace node types must have an attached object. For these node
types, print a message about a missing object during a namespace
dump.
2012-02-16 14:46:58 -08:00
Robert Moore
904bdc31c3 Change exception code for invalid pathname in EvaluateObject.
Change the returned exception code from AE_BAD_PARAMETER to the more
appropriate AE_BAD_PATHNAME, when the input pathname to
evaluate object is invalid.
2012-02-16 14:44:50 -08:00
Robert Moore
fbf40bbd3c Clarify METHOD_NAME* defines for full-pathname cases.
Changed the METHOD_NAME* defines that define a full pathname to the
method to METHOD_PATHNAME* in order to make it clear that it is not a simple
4-character ACPI name. Used for the various sleep/wake methods.
2012-02-16 08:39:00 -08:00
Robert Moore
cefd94b547 Update to version 20120215.
Version 20120215.
2012-02-15 09:22:54 -08:00
Robert Moore
746344cb1e AcpiSrc: Update for new structs and function typedefs.
New items added for sleep/wake support.
2012-02-15 08:54:49 -08:00
Robert Moore
9fc79b5d22 Lint changes.
Changes for 32/64-bit lint.
2012-02-15 08:40:45 -08:00
Robert Moore
7d72faea3e Update ACPI_HW_DEPENDENT* macro invocations.
Backslash is not needed for the actual invocations. Cleanup.
2012-02-15 08:14:08 -08:00
Robert Moore
125b462a87 Debugger: update prototype for AcpiDbSleep function.
No longer needs to be removed for ACPI_REDUCED_HARDWARE case.
2012-02-15 07:59:26 -08:00
Robert Moore
9a3f444a3f Additional changes for new AcpiOsPhysicalTableOverride function.
Code cleanup; fix unmap bug for partially-mapped tables.
2012-02-15 07:51:58 -08:00
Robert Moore
c99436593b Add table-driven dispatch for sleep/wake functions.
Simplifies the code, especially the compile-time
ACPI_REDUCED_HARDWARE option.
2012-02-10 13:09:25 -08:00
Robert Moore
be0b823e0e Debugger: Update for new sleep interface.
Add call to AcpiLeaveSleepStatePrep.
2012-02-10 12:10:38 -08:00
Robert Moore
aa4b5c6cfa Split sleep/wake functions into two files.
The functions for the original/legacy sleep/wake registers are
in hwsleep.c, and the functions for the new extended FADT V5
sleep registers are in hwesleep.c
2012-02-10 09:51:30 -08:00