"Moore, Robert" wrote: > I think you are missing something: > > 1) BIOS vendor writes ASL > 2) BIOS vendor compiles ASL to AML byte-code > 3) BIOS vendor puts AML into BIOS > 4) OS gets AML from the BIOS > 5) OS interprets AML > > The error you are experiencing is in (5). There is no return statement in > the original ASL, so there is no return opcode in the AML. The AML > interpreter has nothing to "return" and things fall apart. > > However, the error was written in (1) and should have been caught by the ASL > compiler in (2). However, there are other ASL compilers out there that do > not perform such error-checking. This is how these kinds of problems creep > into the BIOS AML code.
As a consumer of 1-3, I have zero opportunity to fix the problem before item #4. Since use of a trademark or other legal baseball bat (8-)) won't get the code in the BIOS fixed, the only way to make things work in the short term is to either intervene in step #4 or in step #5. In the long term, it'd probably be a good idea to release the source code for the ASL-to-AML compiler under a strict license, and displace all the ASL compilers that fail to do error checking, so problems like this can't arise in the first place. I guess I would like to know if the AML can be recognized as defective by the interpreter, and modify it at step #4 before interning it for interpretation; Windows has to have *some* way of dealing with this, short of supplying replacement AML for every PC ever manufacturered, right? -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message