From owner-freebsd-acpi@FreeBSD.ORG Tue Jan 3 15:20:22 2006 Return-Path: X-Original-To: freebsd-acpi@freebsd.org Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7D7E16A41F for ; Tue, 3 Jan 2006 15:20:22 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id 918A743D79 for ; Tue, 3 Jan 2006 15:20:20 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1Etnwo-0006bY-00; Tue, 03 Jan 2006 16:19:38 +0100 Date: Tue, 3 Jan 2006 16:19:38 +0100 To: Nate Lawson Message-ID: <20060103151938.GD13887@poupinou.org> References: <20051222020349.GA16607@poupinou.org> <43AC2E52.8000304@root.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43AC2E52.8000304@root.org> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-acpi@FreeBSD.org, Gnu_Raiz Subject: Re: Z00Q Problem Tyan MB! X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jan 2006 15:20:23 -0000 On Fri, Dec 23, 2005 at 09:05:22AM -0800, Nate Lawson wrote: > You can work around this problem with info from PR kern/89879 > > http://people.freebsd.org/~ariff/acer_ferrari/ > > A future acpica import may address this problem. The aml is accessing a > field before it's defined. The newest acpica adds support for lazy > evaluation (even though this is out of spec). No, it won't. There are the following devices: Device (SIO) { ... ... Method (STA, 1, NotSerialized) { ... ... } Device (COM1) { ... Method (_STA, 0, NotSerialized) { Store (Z00Q, Local0) And (Local0, 0x01, Local0) If (LEqual (Local0, 0x01)) { Return (0x00) } Else { Return (STA(0x02)) } } Device (COM2) { ... Method (_STA, 0, NotSerialized) { /* same _STA, but * And (Local0, 0x02, Local0) */ ... } Device (LPT) { ... Method (_STA, ...) { /* same _STA, but different bits checked */ } } Since all of those _STA methods call SIO.STA() (and since this method is used to touch a part of a SuperIO chip (io port 0x2E, etc) in order to initialize some devices), it's very likely that the 3 devices will not function even if acpica does lazy evaluations for non-existing object. If I were the acpi maintainer of the intel acpica, package, I would add a flag turned off per default. For the OP. I would suggest trying to add a Z00Q manually. --- rcall-TyanMP2460.asl 2006/01/03 14:47:05 1.1 +++ rcall-TyanMP2460.asl 2006/01/03 15:10:58 @@ -1256,6 +1256,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, Device (SIO) { Name (_HID, EisaId ("PNP0A05")) + Name (Z00Q, 1) // bit 1: COM1, bit 2: COM2, bit 3: LPT OperationRegion (Z00M, SystemIO, 0x80, 0x01) Field (Z00M, ByteAcc, NoLock, Preserve) { @@ -2394,6 +2395,8 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, } Notify (\_SB.PWRB, 0x02) + + Return(Package(2){0,0}) } } and to change the value for Z00Q according to your needs (if you need both serial ports, then it should be 3, etc). Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care.