Adds missing support for operation regions defined in another table,
but referenced via a Field or BankField operator. Generate the
correct External statement.
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.
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.
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.
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.
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.
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.)
For ACPI string objects, always use the common string dump function,
AcpiUtPrintString. This function surrounds the string with quotes
and handles allowed escape sequences.
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.
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.
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.
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.
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.
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.
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.
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.
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