From owner-acpi-jp@jp.FreeBSD.org Sat Mar 27 06:52:38 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i2QLqcj85537;
	Sat, 27 Mar 2004 06:52:38 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from hermes.jf.intel.com (fmr05.intel.com [134.134.136.6])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i2QLqZd85532
	for <acpi-jp@jp.FreeBSD.org>; Sat, 27 Mar 2004 06:52:35 +0900 (JST)
	(envelope-from robert.moore@intel.com)
Received: from talaria.jf.intel.com (talaria.jf.intel.com [10.7.209.7])
	by hermes.jf.intel.com (8.12.9-20030918-01/8.12.9/d: major-outer.mc,v 1.15 2004/01/30 18:16:28 root Exp $) with ESMTP id i2QLudCO025506;
	Fri, 26 Mar 2004 21:56:39 GMT
Received: from orsmsxvs041.jf.intel.com (orsmsxvs041.jf.intel.com [192.168.65.54])
	by talaria.jf.intel.com (8.12.9-20030918-01/8.12.9/d: major-inner.mc,v 1.10 2004/03/01 19:21:36 root Exp $) with SMTP id i2QLjWmK009328;
	Fri, 26 Mar 2004 21:45:35 GMT
Received: from orsmsx331.amr.corp.intel.com ([192.168.65.56])
 by orsmsxvs041.jf.intel.com (SAVSMTP 3.1.2.35) with SMTP id M2004032613522217712
 ; Fri, 26 Mar 2004 13:52:22 -0800
Received: from orsmsx403.amr.corp.intel.com ([192.168.65.209]) by orsmsx331.amr.corp.intel.com with Microsoft SMTPSVC(5.0.2195.6713);
	 Fri, 26 Mar 2004 13:52:22 -0800
content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1
Message-ID: <37F890616C995246BE76B3E6B2DBE055201C6C@orsmsx403.jf.intel.com>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: [acpi-jp 3117] RE: ACPI-CA 20040311 imported
Thread-Index: AcQNgVbD3McysCgbSHetGZqZumElawAYExGwAWaj2EA=
From: "Moore, Robert" <robert.moore@intel.com>
To: "Moore, Robert" <robert.moore@intel.com>, "Nate Lawson" <nate@root.org>
Cc: <acpi-jp@jp.FreeBSD.org>, <current@freebsd.org>
X-OriginalArrivalTime: 26 Mar 2004 21:52:22.0141 (UTC) FILETIME=[9E07F2D0:01C4137C]
X-Scanned-By: MIMEDefang 2.31 (www . roaringpenguin . com / mimedefang)
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Fri, 26 Mar 2004 13:52:21 -0800
X-Sequence: acpi-jp 3151
Subject: [acpi-jp 3151] RE: ACPI-CA 20040311 imported
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: robert.moore@intel.com
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+040307

Here's an example of ASL recursion:

Method(PWUP,0,NotSerialized)
{
    If(LAnd(\_SB.PCI0.CBS0.PWRS,\_SB.PCI0.CBS1.PWRS))
    {
        If(LNot(And(_ADR /* \_SB.PCI0.CBS0._ADR */,0xFFFF)))
        {
            And(MCTL /* \_SB.PCI0.CBS0.MCTL */,0x7C,Local0)
            Or(Local0,BMCL /* \_SB.PCI0.CBS0.BMCL */,MCTL /*
\_SB.PCI0.CBS0.MCTL */)
        }
        Else
        {
            \_SB.PCI0.CBS0.PWUP()
        }
    }
}
-----Original Message-----
From: Moore, Robert=20
Sent: Thursday, March 25, 2004 9:32 AM
To: 'Nate Lawson'
Cc: acpi-jp@jp.FreeBSD.org; current@freebsd.org
Subject: RE: [acpi-jp 3117] RE: ACPI-CA 20040311 imported

I think I've seen recursion in some IBM ASL.

Also, since iASL reports a remark when it detects a recursive call,
every now and then someone complains.

Bob


-----Original Message-----
From: Nate Lawson [mailto:nate@root.org]=20
Sent: Thursday, March 18, 2004 11:11 PM
To: Moore, Robert
Cc: acpi-jp@jp.FreeBSD.org; current@freebsd.org
Subject: Re: [acpi-jp 3117] RE: ACPI-CA 20040311 imported

> -----Original Message-----
> From: owner-acpi-jp@jp.FreeBSD.org
[mailto:owner-acpi-jp@jp.FreeBSD.org]
> On Behalf Of Nate Lawson
> Sent: Thursday, March 18, 2004 10:47 AM
> To: current@freebsd.org; acpi-jp@jp.FreeBSD.org
> Subject: [acpi-jp 3116] ACPI-CA 20040311 imported
>
> See src/sys/contrib/dev/acpica/CHANGES.txt for specific changes.
>
> The main change is that we now support _OSI to announce we're
compatible
> with all the NT-derived MS systems.  Also, we now serialize all method
> execution as some ASL depends on this behavior.  The MS interpreter
> doesn't support parallel execution, hence this matches their behavior.
>
> If there are problems with these features, please try the tunables:
>
> hw.acpi.osi_method
> hw.acpi.serialize_methods
>
> You can disable each feature by setting it to 0 at the loader prompt
or
> loader.conf.

On Thu, 18 Mar 2004, Moore, Robert wrote:
> 1) If you serialize all methods by default, you will prohibit
recursive
> methods.  That's why we made this an option for Linux, and the default
> is to allow reentrant methods.
>
> 2) We are not really sure about the MS interpreter.  They claim that
> they support reentrant methods and allow multiple threads to execute.
> But we see problems with the coding of reentrant ASL methods that
imply
> that that multiple threads never execute control methods concurrently
on
> Win*

Interesting.  Do you know of any ASL that uses recursive methods?  I
haven't ever found any like that.  If you don't have a counter-example,
I'm happy to let this sit in the tree for a little while to see if it
solves problems or breaks things for people.  If we don't turn it on by
default, it won't get the testing it needs.

-Nate
