From owner-freebsd-current@FreeBSD.ORG Fri Mar 26 13:52:29 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 032BD16A4CE for ; Fri, 26 Mar 2004 13:52:29 -0800 (PST) Received: from hermes.jf.intel.com (fmr05.intel.com [134.134.136.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 53B0E43D48 for ; Fri, 26 Mar 2004 13:52:28 -0800 (PST) (envelope-from robert.moore@intel.com) Received: from talaria.jf.intel.com (talaria.jf.intel.com [10.7.209.7]) 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]) 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]) 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 Date: Fri, 26 Mar 2004 13:52:21 -0800 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" To: "Moore, Robert" , "Nate Lawson" X-OriginalArrivalTime: 26 Mar 2004 21:52:22.0141 (UTC) FILETIME=[9E07F2D0:01C4137C] X-Scanned-By: MIMEDefang 2.31 (www . roaringpenguin . com / mimedefang) X-Mailman-Approved-At: Sat, 27 Mar 2004 05:02:24 -0800 cc: acpi-jp@jp.FreeBSD.org cc: current@freebsd.org Subject: RE: [acpi-jp 3117] RE: ACPI-CA 20040311 imported X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Mar 2004 21:52:29 -0000 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