We have to look at each of these on a case-by-case basis.

It turns out that it is purely an accident that the code works on windows;
by some fluke of their AML interpreter, the value gets returned.  Because of
architectural differences, the CA interpreter deletes everything that isn't
needed before the method returns -- and therefore any "implied" return
object is long gone by the time the method exits.

Toshiba knows about this problem and has agreed to fix it in it's various


-----Original Message-----
From: Terry Lambert [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, August 27, 2002 3:40 PM
To: Moore, Robert
[EMAIL PROTECTED]; Grover, Andrew
Subject: Re: [acpi-jp 1735] Re: Call for testers: acpica-unix-20020815

"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
> compiler in (2).   However, there are other ASL compilers out there that
> not perform such error-checking.  This is how these kinds of problems
> 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

Reply via email to