Open reedwind opened 11 years ago
Commented by: Valery Podrezov valery.a.podrezov@intel.com Commented at: 2006-05-30 18:58:12
The current implementation of iASL compiler expects the value passed as TimeoutValue parameter of Acquire operator to be a constant, the local variables (LocalX) and other non-constant integer objects are not available (iASL reports Error).
This doesn't contradict with the "17.5.1 Acquire (Acquire a Mutex) (ACPI 3.0)" specification.
But, is that what actually was conceived?
INTERNAL BUG NUMBER:
1
Commented by: Valery Podrezov valery.a.podrezov@intel.com Commented at: 2006-05-30 18:58:44
Created an attachment (id=481) ASL code to reproduce the bug
Commented by: Bob Moore robert.moore@intel.com Commented at: 2006-05-31 05:26:14
Yes, in the current grammar the Timeout is a constant:
Acquire ( SyncObject, // SuperName => Mutex TimeoutValue // WordConstExpr ) => Boolean // True means timed-out
I don't know why it is different than Wait():
WaitTerm := Wait ( SyncObject, // SuperName => Event TimeoutValue // TermArg => Integer ) => Boolean // True means timed-out
It may be possible to change this, however.
Commented by: Bob Moore robert.moore@intel.com Commented at: 2008-06-17 13:37:10
This is just an inconsistent part of the ASL/AML grammar, there is nothing we can do about it. It cannot be changed at this point.
Reported by: Valery Podrezov valery.a.podrezov@intel.com Reported at: 2006-05-30 18:58:12
Product: ACPICA Component: iASL Compiler Platform: All OS: Linux Priority: P5 Severity: normal