11476 Commits

Author SHA1 Message Date
Robert Moore
2541323ee4 ACPICA reference: Add new resource manager interface.
Add AcpiWalkResourceBuffer (acpi_walk_resource_buffer).
2012-12-20 09:32:19 -08:00
Robert Moore
b74e4bb5fa Update build.txt readme for master ACPICA generation.
Fixes some pathnames, etc.
2012-12-20 08:19:04 -08:00
Robert Moore
3f81290f72 Fix comment in acenv.h - no functional change.
Adds a period at the end of one of the multi-sentence comments.
2012-12-20 08:12:29 -08:00
Robert Moore
9eb35c2518 ASLTS: Remove an invalid error condition.
Remove another issue with the m006 method.
Chao Guan.
2012-12-14 09:30:58 -08:00
Robert Moore
1a7373c3b6 Makefiles/projectfiles: Update for new files.
Five new iASL files added.
2012-12-14 09:24:30 -08:00
Robert Moore
3bf598ae38 iASL source restructuring: split large files into 5 new files.
Five new files.
2012-12-14 09:22:49 -08:00
Robert Moore
b62a5a491d Windows project files: Update for new files.
Eight new files.
2012-12-12 14:31:39 -08:00
Robert Moore
37f8669676 Unix makefiles: Update for new files.
Eight new files.
2012-12-12 14:31:08 -08:00
Robert Moore
fd9ffc4d65 Source restructuring: split large files into 8 new files.
Created logical splits for eight new files. Improves modularity
and configurability.
2012-12-12 14:29:33 -08:00
Robert Moore
39414c0f79 iASL: Add remark if Timer() used in a 32-bit table.
Timer() returns a 64-bit value; emit a remark if this operator is
used within a 32-bit table (DSDT version < 2).
2012-12-12 10:07:37 -08:00
Robert Moore
bfc6a107b3 ASLTS: Remove a couple of incorrect tests.
Two tests found to be based on incorrect assumptions about ACPI and
ACPICA behavior. Chao Guan.
2012-12-12 08:47:37 -08:00
Robert Moore
d7d9d66bf6 Interpreter: Fix Store() when implicit conversion is not possible
For the cases such as a store of a string to an existing package
object, implement the store as a CopyObject(). This is a small
departure from the ACPI specification which states that the
control method should be aborted in this case. However, ASLTS
suite depends on this behavior.
2012-12-07 14:13:01 -08:00
Robert Moore
aa3b6824ac Tests: Fix problem with Increment/Decrement ASL tests.
These operators do not change the type of the target object, due
to implicit conversion rules. Chao Guan.
2012-12-07 10:10:03 -08:00
Robert Moore
e529dbfebc Resources: Split interrupt share/wake bits into two fields.
These two bits are merged at the external interface level for the
IRQ, Interrupt, and GpioInt resource descriptors. However, these
bits are logically independent and there is no need to keep them
merged internally. Therefore, this change splits the bits into
"sharable" and "wake capable" fields within the resource manager.
This simplifies drive code that needs to examine these bits.
Aaron Lu, Bob Moore.
2012-12-07 09:51:18 -08:00
Robert Moore
709f8bd702 iASL: Cleanup table compiler debut output code.
Use common function for dumping the field list, eliminate redundant
output, cleanup output list headers, only enable list output for
the debug case.
2012-12-06 14:25:50 -08:00
Robert Moore
f263d59e67 Resources: Support for ACPI 5.0 wake bit in ExtendedInterrupt descriptor.
Add support to both get and set the extended share flags for the
Interrupt() resource descriptor. Reported by Aaron Lu.
2012-12-06 14:23:54 -08:00
Robert Moore
aa6eaaef3e Interpreter: Add warning if 64-bit constant appears in 32-bit table.
Some ASL compilers allow 64-bit constants within a 32-bit table
(DSDT version == 1). When encountered, emit a warning that the
constant will be truncated to 32 bits. This is potentially a
serious problem in the ACPI table(s).
2012-12-06 13:29:04 -08:00
Robert Moore
d0cdffd3e5 Update ACPICA initialization messages.
Clarify messages, indent if appropriate. Change a couple appropriate
messages to ACPI_INFO so they will appear even if debug output
is disabled.
2012-12-06 13:26:40 -08:00
Robert Moore
c042f90cd6 Namespace: Eliminate dot...dot output during initialization.
This feature no longer serves any good purpose and also confuses
any error messages during ACPICA initialization.
2012-12-06 12:54:35 -08:00
Robert Moore
16285eccd0 Resource manager: Add support for ACPI 5.0 wake bit in IRQ descriptor.
Add support to both get and set the extended share flags
for the IRQ() resource descriptor. Reported by Aaron Lu.
2012-12-06 08:40:24 -08:00
Robert Moore
8f5c1e3b43 Fix possible memory leak in dispatcher error path.
On error, delete mutex object created during method mutex creation.
Reported by tim.gardner@canonical.com.
2012-12-06 08:30:08 -08:00
Robert Moore
7a3d05b458 iASL: Additional debug output for table compiler.
When debug is enabled, output full subtable information including
an indented subtable tree. Useful for developing support for new
tables.
2012-12-05 14:44:07 -08:00
Robert Moore
df214178a4 Update for non-configured ACPI_IS_DEBUG_ENABLED macro.
Also add acoutput.h to the nsdump.c file.
2012-12-05 13:39:07 -08:00
Robert Moore
1f67b264b4 iASL: Finish support for the TPM2 table.
Add disassembler, table compiler, and template support.
2012-12-05 13:18:08 -08:00
Robert Moore
0ab6c47de3 iASL: Finish support for CSRT table.
Add intel-specific shared info subtable.
Add data table compiler and template support.
2012-12-05 12:46:40 -08:00
Robert Moore
71323a48e4 AcpiHelp: Fix a few small typos.
Fix some small issues within the ASL operator display.
2012-12-04 14:33:52 -08:00
Robert Moore
79906133e5 Merge all debug output macros into a single file, acoutput.h
Moved the debug trace macros from acmacros.h into acoutput.h
where they belong.
2012-11-30 14:44:14 -08:00
Robert Moore
0796525038 Deploy new ACPI_IS_DEBUG_ENABLED macro in debug output code.
Simplifies check for debug output enables.
2012-11-30 14:09:36 -08:00
Robert Moore
b2d2a52765 Update ACPI_IS_DEBUG_ENABLED macro.
Add extra parens to allow use of !ACPI_IS_DEBUG_ENABLED.
2012-11-30 13:51:47 -08:00
Robert Moore
070dd75ffb Eliminate superfluous return_UINT8 and return_UINT32 macros.
These macros were implemented the same as return_VALUE and thus
they were not needed.
2012-11-30 11:39:46 -08:00
Robert Moore
877d86c183 FUNCTION_TRACE macros: Check if debug is enabled up-front.
In the functions that implement the macros, check if debug is enabled
up-front before the call to the lower debug print function. This
provides a small performance improvement.
2012-11-30 10:22:27 -08:00
Robert Moore
b8cf8cd223 DEBUG_PRINT macros: Update to improve performance.
Move check for "debug enable" to before the actual call to the debug
print routine. Improves time of ASLTS by about 15%.
Also, remove "safe" exit macros since no complex expressions are
ever used in the return statements.
2012-11-30 10:19:57 -08:00
Robert Moore
016e87a5a6 ASLTS: Fix several issues with mutex tests.
Global acquire/release tests are note valid, removed.
2012-11-29 14:01:58 -08:00
Robert Moore
babc57a592 Resource Manager: Add a pointer cast for a namespace node.
Add a missing cast for a namespace node pointer passed in from
an external interface. Reported Rafael Wysocki.
2012-11-28 13:42:55 -08:00
Robert Moore
b80f74f4d7 Add header file support for the ACPI 5.0 TPM2 ACPI table.
Reserved in ACPI 5.0 specification, but defined in a November 2011
Microsoft document.
2012-11-28 12:49:46 -08:00
Robert Moore
187747bca3 ASLTS: update package name for the bug demo test (bdemo).
Change name from bug-demo to bdemo because this matches the source
directory structure. Chao Guan.
2012-11-27 08:50:27 -08:00
Robert Moore
c8f37c971d Add time macros for various timer/time manipulation.
Constants for time manipulation, including constants for the 100 nanosecond
timers. Chao Guan, Bob Moore, Lv Zheng.
2012-11-26 13:40:11 -08:00
Robert Moore
e121b46018 Fix some typos in comments. No functional change.
Lv Zheng.
2012-11-26 10:09:44 -08:00
Robert Moore
53f8c132e4 ASLTS: Update for ObjectType syntax change.
A method invocation is no longer legal as an argument to ObjectType.
This is because the interpreter cannot determine the difference between
a simple ObjectType on a method versus a method invocation that is
intended to return an object to be typed.

This is pending as a change to the ACPI specification.
2012-11-26 09:41:27 -08:00
Robert Moore
59b9a857b8 Update ** pointers in some of the various walk functions.
Cleans up the pointers and eliminates some divergences from Linux.
Does not effect any external interfaces. Lv Zheng.
2012-11-21 12:03:27 -08:00
Robert Moore
4fbff1f055 ASLTS: Update generation/execution scripts.
Improve ease-of-use and clean up extraneous summary output.
2012-11-21 11:14:41 -08:00
Robert Moore
f252e085cb iASL: Disallow method call as argument to ObjectType ASL operator.
This change tracks an errata to the ACPI 5.0 document. The AML grammar
will not allow the interpreter to differentiate between a method and a
method invocation when these are used as an argument to the ObjectType
operator.

The ACPI specification change is to disallow a method invocation
(UserTerm) for the ObjectType operator.
2012-11-21 08:29:11 -08:00
Robert Moore
0d63ea609d Unix user-space OSL: Fix problem with WaitSemaphore.
This fixes a problem with WaitSemaphore where the timeout always
expires immediately if the semaphore is not available.

The default code uses sem_timedwait to support semaphore timeouts. However, the
full implementation is incorrect. sem_timedwait uses an absolute time value,
not a relative time value. Therefore, clock_gettime must be called first in
order to get the current time. The timeout value must be added to the current
time in order to get the absolute time -- which then becomes the latest we are
willing to wait for the semaphore.

Currently, the incorrect implementation will always timeout immediately. This
is not a huge problem, since this OSL is only used for the user-space ACPICA
utilities, but the ASLTS test suite does depend on the correct behavior for
approximately 20 tests.

ACPICA BZ 990.
2012-11-21 08:25:55 -08:00
Robert Moore
8f69e2b6f8 ASLTS: Remove a test case for ObjectType operator.
Removed a test that invokes a control method for an ObjectType argument.
This does not work properly (method is not invoked), and the ability
to use this construct is being removed from the grammar for ObjectType.
(Requires a change to the ACPI specification.) Chao Guan.
2012-11-16 09:01:17 -08:00
Robert Moore
c93543b857 ASLTS: Remove test that tests a nearly impossible condition.
For LoadTable tests, remove the the test that uses Load() to load a
table, then unloads the table, then uses LoadTable to load the same
table. This would be highly improbable in the real world.
Chao Guan.
2012-11-16 08:53:53 -08:00
Robert Moore
c2d6c80dfa ASLTS: Update for changed exception codes for LoadTable operator.
Changed AE_BAD_PARAMETER to AE_AML_STRING_LIMIT in acpica.
Chao Guan.
2012-11-16 08:49:25 -08:00
Robert Moore
9d5b05ed66 Lint changes, no functional change.
Some changes from lint.
2012-11-16 08:25:01 -08:00
Robert Moore
93f9f86221 Add root node optimization to internal get namespace node function.
Detect a request for the root node (a lone backslash) up front before
invoking a full namespace lookup.
2012-11-15 12:59:12 -08:00
Robert Moore
29e066e019 Eliminate some small unnecessary pathname functions.
Removed several small pathname functions to increase efficiency.
Essentially, they replace a function call with a single compare.
2012-11-15 12:55:12 -08:00
Robert Moore
ba435d1085 Change exception code for LoadTable operator.
For the case where one of the input strings is too long, change
the returned exception code from AE_BAD_PARAMETER to
AE_AML_STRING_LIMIT.
2012-11-15 12:29:56 -08:00