Moore, Robert wrote:
The mutex and event opcodes come to mind, the AML can wait forever on these (Acquire, Wait). However, the interpreter is released when these opcodes block, quite unlike a spinning while loop.
As far as infinite spin loops, I think While() is the only case. There is no GoTo AML operator, so loops cannot be artificially created.
So, I think the loop counter idea is ok. Of course, picking a maximum number might be a bit difficult. 64K loop iterations takes 4-5 seconds on my machine here (in Ring 3). That is a lot of loops for AML code, it might be ok.
Besides, we can say "nobody would ever need more than 64K loop iterations", and get ourselves in the computer hall of fame. :-)
Well, AML is not intended as general purpose OS/language, so we might be
safe saying such things. :)
I would be extremely glad if Phoenix did not have enough
resources/features to implement EC driver in AML in
first place :)
Regards,
Alex.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html