11476 Commits

Author SHA1 Message Date
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.
R03_20_12
2012-03-20 09:14:22 -07:00
Robert Moore
5827fcddf5 Logfile: Changes for version 20120320.
Version 20120320.
2012-03-20 09:13:51 -07:00
Robert Moore
1c83be18cf Windows binaries: Update to version 20120320.
Version 20120320.
2012-03-20 09:13:13 -07:00
Robert Moore
bdfb751cb5 Tests/aapits: Update for sleep interface change.
A new parameter was added to two sleep interfaces.
2012-03-20 08:31:13 -07:00
Robert Moore
bc1f940657 Tests/aslts: Update for changed exception code.
Changed AE_BAD_PARAMETER to AE_BAD_PATHNAME for the case when
an input string to AcpiEvaluateObject, etc. cannot be parsed.
2012-03-20 07:49:11 -07:00
Robert Moore
ad5a4062ca Documentation: Update ACPICA reference for sleep/wake changes.
Add new flags parameter to the sleep/wake interfaces.
2012-03-16 14:24: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
c078edaa1c iASL: Update makefiles/project_files for the preprocessor.
New files added for the iASL preprocessor.
2012-03-15 13:48:53 -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
61a750a959 Update iASL Windows project file for new bison/flex versions.
Change paths to point to the new location for these tools.
2012-02-17 13:03:28 -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.
R02_15_12
2012-02-15 09:22:54 -08:00
Robert Moore
9d73b9b6e6 Logfile: Changes for version 20120215.
Version 20120215.
2012-02-15 09:22:14 -08:00
Robert Moore
9b872d600f Windows binaries: Update to version 20120215.
Version 20120215.
2012-02-15 09:21:27 -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
4a31754f8e Tests: Update ASLTS for ACPI 5 update to the _REV object.
_REV now returns 5 for ACPI 5.0.
2012-02-13 12:27:00 -08:00
Robert Moore
f6a864f8b7 Documents: Update ACPICA reference for new public interfaces.
Added AcpiOsPhysicalTableOverride and AcpiLeaveSleepStatePrep.
Also, documentation for the ACPI_REDUCED_HARDWARE option.
2012-02-10 14:29:39 -08:00
Robert Moore
04c1905e62 Tests: Update apitest for OsPhysicalTableOverride.
Add a placeholder for the new OSL interface.
2012-02-10 13:11:49 -08:00
Robert Moore
51e8b940b3 Update Windows project files.
New file, hwesleep.c
2012-02-10 13:10:44 -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
Robert Moore
b524692bc1 Distill multiple sleep method functions to a single function.
Adds AcpiHwExecuteSleepMethod to handle the various sleep
methods such as _GTS, _BFS, _WAK, and _SST. Removes the specialized
functions previously used for each of these methods.
2012-02-10 09:26:59 -08:00
Robert Moore
31b81721aa Move invocations of _GTS and _BFS during sleep/wake.
The execution of ACPI global control methods _GTS and _BFS is
currently tied to the preparation to enter a sleep state and to the
leaving of the sleep state, respectively.  However, these functions
are called before disabling the nonboot CPUs and after enabling
them, respectively (in fact, on ACPI 1.0x systems the first of them
ought to be called before suspending devices), while according to the
ACPI specification, _GTS is to be executed right prior to entering
the system sleep state and _BFS is to be executed right after the
platform firmware has returned control to the OS on wake up.

Move the execution of _GTS and _BFS to the right places.
Adds a new external function, AcpiEnterSleepStatePrep.
Rafael Wysocki.
2012-02-10 09:01:13 -08:00
Robert Moore
d418fc8ca9 For resume, always clear the WAK_STS bit.
Some BIOS code assumes that WAK_STS will be cleared on resume
and use it to determine whether the system is rebooting or
resuming. During resume, clear WAK_STS for compatibility.
Matthew Garrett.
2012-02-10 08:07:16 -08:00
Robert Moore
09471e5c88 For resume, enable all runtime GPEs before calling _WAK.
It seems it is required to enable GPEs before _WAK.  For example, the
X60 triggers a LID related GPE instead of doing a Notify in _WAK.
With this change, the GPE reaches the host kernel and the Notify
for LID status change happens as a result. Thomas Renninger.
2012-02-10 07:49:36 -08:00
Robert Moore
cca073748b Add AcpiOsPhysicalTableOverride interface.
This interface allows the host to override a table via a physical
address, instead of the logical address required by
AcpiOsTableOverride. This simplifies the host implementation.
Initial implementation by Thomas Renninger. ACPICA implementation
creates a single function for table overrides that attempts
both a logical and a physical override.
2012-02-09 12:29:19 -08:00
Robert Moore
f7502f84f2 AcpiExec: Update for dynamic table load testing.
Only signatures SSDT and OEMx are allowed for dynamic table
load, update AcpiExec.
2012-02-09 12:14:02 -08:00
Robert Moore
84f9d1a7c1 iASL: Fix some spelling and formatting issues within comments.
Standardize formatting in the serial resource descriptor
module.
2012-02-08 13:15:45 -08:00
Robert Moore
6f0236b88e Disassembler: Fix for serial resource descriptors, producer/consumer.
For the ACPI 5.0 serial descriptors (I2C,SPI,UART), the disassembler
was looking at the wrong bit for the producer/consumer field.
Reported by Stephen Ziemba.
2012-02-08 10:27:36 -08:00
Robert Moore
5539cc3644 AcpiHelp: Add display of ACPI/PNP device IDs.
New -i option displays the IDs that are defined in the ACPI spec.
2012-02-03 13:06:18 -08:00
Robert Moore
5765628fd3 ACPI 5.0: Update debug output for new notify values.
Add new notify values, add support for "hardware specific" notifies.
2012-02-03 08:34:00 -08:00