From owner-freebsd-acpi@FreeBSD.ORG Sun Jul 4 00:14:32 2004 Return-Path: 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 C047C16A4CE; Sun, 4 Jul 2004 00:14:32 +0000 (GMT) Received: from mail.soaustin.net (mail.soaustin.net [207.200.4.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8837B43D55; Sun, 4 Jul 2004 00:14:32 +0000 (GMT) (envelope-from linimon@lonesome.com) Received: by mail.soaustin.net (Postfix, from userid 502) id EF675148BE; Sat, 3 Jul 2004 19:14:31 -0500 (CDT) Date: Sat, 3 Jul 2004 19:14:31 -0500 (CDT) From: Mark Linimon X-X-Sender: linimon@pancho To: Kris Kennaway In-Reply-To: <20040703231027.GA74329@xor.obsecurity.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-acpi@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: ACPI-CA 20040527 import X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 00:14:32 -0000 On Sat, 3 Jul 2004, Kris Kennaway wrote: > Then either make -O2 mandatory for developers by putting it in > make.conf, or don't complain that developers aren't building with your > private special settings. Um, am I missing something, or would not putting -O2 in /etc/make.conf also suddenly start making ports with -O2 also? Has anyone ever tried this? mcl From owner-freebsd-acpi@FreeBSD.ORG Sun Jul 4 00:18:20 2004 Return-Path: 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 0FCD816A4CE; Sun, 4 Jul 2004 00:18:20 +0000 (GMT) Received: from ylpvm29.prodigy.net (ylpvm29-ext.prodigy.net [207.115.57.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4BF843D39; Sun, 4 Jul 2004 00:18:19 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (adsl-63-207-60-35.dsl.lsan03.pacbell.net [63.207.60.35])i640IECZ021184; Sat, 3 Jul 2004 20:18:14 -0400 Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id F1DF153C6B; Sat, 3 Jul 2004 17:18:16 -0700 (PDT) Date: Sat, 3 Jul 2004 17:18:16 -0700 From: Kris Kennaway To: Mark Linimon Message-ID: <20040704001816.GA91326@xor.obsecurity.org> References: <20040703231027.GA74329@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="mP3DRpeJDSE+ciuQ" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i cc: freebsd-acpi@freebsd.org cc: freebsd-current@freebsd.org cc: Kris Kennaway Subject: Re: ACPI-CA 20040527 import X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 00:18:20 -0000 --mP3DRpeJDSE+ciuQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jul 03, 2004 at 07:14:31PM -0500, Mark Linimon wrote: > On Sat, 3 Jul 2004, Kris Kennaway wrote: >=20 > > Then either make -O2 mandatory for developers by putting it in > > make.conf, or don't complain that developers aren't building with your > > private special settings. >=20 > Um, am I missing something, or would not putting -O2 in /etc/make.conf > also suddenly start making ports with -O2 also? Has anyone ever tried > this? COPTFLAGS is only used for kernel builds. Also, other platforms have -O2 enabled by default for kernel builds, but not i386. Kris --mP3DRpeJDSE+ciuQ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFA50zIWry0BWjoQKURAh3dAKD6qRH4b6Ab5F/5tkUzluqe9pj6PgCgnHOt 34d1qZislsXx+WE9+DmV5T4= =NM9t -----END PGP SIGNATURE----- --mP3DRpeJDSE+ciuQ-- From owner-freebsd-acpi@FreeBSD.ORG Sun Jul 4 19:45:35 2004 Return-Path: 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 3367D16A4CE; Sun, 4 Jul 2004 19:45:35 +0000 (GMT) Received: from moutvdomng.kundenserver.de (moutvdom.kundenserver.de [212.227.126.249]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C27543D3F; Sun, 4 Jul 2004 19:45:32 +0000 (GMT) (envelope-from liamfoy@sepulcrum.org) Received: from [212.227.126.224] (helo=mrvdomng.kundenserver.de) by moutvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BhCvb-0001V3-00; Sun, 04 Jul 2004 21:45:31 +0200 Received: from [81.153.214.95] (helo=liamfoy.ath.cx) by mrvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BhCvb-0003dQ-00; Sun, 04 Jul 2004 21:45:31 +0200 Date: Sun, 4 Jul 2004 20:43:53 +0100 From: "Liam J. Foy" To: acpi@freebsd.org, hackers@freebsd.org Message-Id: <20040704204353.26b4496b.liamfoy@sepulcrum.org> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 19:45:35 -0000 Hey guys, Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one of you guys please commit: --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 @@ -106,7 +106,7 @@ state respectively. .It Fl t Display the estimated remaining battery lifetime in seconds. If -it is unknown, 255 is displayed. +it is unknown, -1 is displayed. .It Fl Z Transition the system into standby mode. This mode uses less power than full power mode, but more than suspend mode. Some laptops support ---- Another patch I would like you guys to review is this. Currently apm -t will output 0 when it cannot find a valid rate or the full battery time(as the comment mentions). I think it should return -1 (unknown) to reflect an error, which is stated in the man page. It should not return 0 since we do not have 0 seconds left, we have an unknown value remaining. Either that or the man page it edited. I believe the following patch should be commited really. The patch is: --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 @@ -536,7 +536,7 @@ bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; } else { /* Couldn't find valid rate and full battery time */ - bat[i]->min = 0; + bat[i]->min = -1; } total_min += bat[i]->min; total_cap += bat[i]->cap; Thanks in advance - comments welcome, -- -Liam J. Foy http://liamfoy.kerneled.org "Love is like maths -- the idea is simple but can be quite complicated." From owner-freebsd-acpi@FreeBSD.ORG Sun Jul 4 20:05:23 2004 Return-Path: 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 9957F16A4CE; Sun, 4 Jul 2004 20:05:23 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4142243D1F; Sun, 4 Jul 2004 20:05:23 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.11/8.12.11) with ESMTP id i64K4RjG033949; Sun, 4 Jul 2004 14:04:27 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 04 Jul 2004 14:04:29 -0600 (MDT) Message-Id: <20040704.140429.37607877.imp@bsdimp.com> To: liamfoy@sepulcrum.org From: "M. Warner Losh" In-Reply-To: <20040704204353.26b4496b.liamfoy@sepulcrum.org> References: <20040704204353.26b4496b.liamfoy@sepulcrum.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: acpi@FreeBSD.ORG cc: hackers@FreeBSD.ORG Subject: Re: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jul 2004 20:05:23 -0000 In message: <20040704204353.26b4496b.liamfoy@sepulcrum.org> "Liam J. Foy" writes: : Hey guys, : : Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) : we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one : of you guys please commit: : : --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 : +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 : @@ -106,7 +106,7 @@ : state respectively. : .It Fl t : Display the estimated remaining battery lifetime in seconds. If : -it is unknown, 255 is displayed. : +it is unknown, -1 is displayed. : .It Fl Z : Transition the system into standby mode. This mode uses less power than : full power mode, but more than suspend mode. Some laptops support : : ---- : : Another patch I would like you guys to review is this. Currently apm -t will output : 0 when it cannot find a valid rate or the full battery time(as the comment mentions). : I think it should return -1 (unknown) to reflect an error, which is stated in the man page. : It should not return 0 since we do not have 0 seconds left, we have an unknown value : remaining. Either that or the man page it edited. I believe the following patch should : be commited really. : : The patch is: : : --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 : +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 : @@ -536,7 +536,7 @@ : bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; : } else { : /* Couldn't find valid rate and full battery time */ : - bat[i]->min = 0; : + bat[i]->min = -1; : } : total_min += bat[i]->min; : total_cap += bat[i]->cap; I don't like this patch, since we use ->min later for math... Warner From owner-freebsd-acpi@FreeBSD.ORG Mon Jul 5 08:52:02 2004 Return-Path: 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 09B2716A4CF; Mon, 5 Jul 2004 08:52:02 +0000 (GMT) Received: from smtp.des.no (flood.des.no [217.116.83.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6406D43D5E; Mon, 5 Jul 2004 08:52:01 +0000 (GMT) (envelope-from des@des.no) Received: by smtp.des.no (Pony Express, from userid 666) id D4308531C; Mon, 5 Jul 2004 10:51:59 +0200 (CEST) Received: from dwp.des.no (des.no [80.203.228.37]) by smtp.des.no (Pony Express) with ESMTP id 648AE531B; Mon, 5 Jul 2004 10:51:53 +0200 (CEST) Received: by dwp.des.no (Postfix, from userid 2602) id 37A68B860; Mon, 5 Jul 2004 10:51:53 +0200 (CEST) To: Nate Lawson References: <200407020815.i628F5sp016504@repoman.freebsd.org> <20040702100347.GA9202@laptop.6bone.nl> <20040702161947.GI779@laptop.6bone.nl> <20040702191815.GM1034@green.homeunix.org> <20040702141843.C55727@root.org> From: des@des.no (=?iso-8859-1?q?Dag-Erling_Sm=F8rgrav?=) Date: Mon, 05 Jul 2004 10:51:53 +0200 In-Reply-To: <20040702141843.C55727@root.org> (Nate Lawson's message of "Fri, 2 Jul 2004 14:19:09 -0700 (PDT)") Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on flood.des.no X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.63 cc: Brian Fundakowski Feldman cc: freebsd-acpi@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: ACPI-CA 20040527 import X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 08:52:02 -0000 Nate Lawson writes: > Either way, please start a new thread. I've committed a fix that gets rid > of the warning in ACPI. You only fixed one of the two bugs I reported. The other is on line 310 of src/sys/i386/acpica/acpi_wakeup.c. DES --=20 Dag-Erling Sm=F8rgrav - des@des.no From owner-freebsd-acpi@FreeBSD.ORG Mon Jul 5 11:01:48 2004 Return-Path: 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 6C98316A4E3 for ; Mon, 5 Jul 2004 11:01:48 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6403243D2D for ; Mon, 5 Jul 2004 11:01:48 +0000 (GMT) (envelope-from owner-bugmaster@freebsd.org) Received: from freefall.freebsd.org (peter@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i65B1mRX055479 for ; Mon, 5 Jul 2004 11:01:48 GMT (envelope-from owner-bugmaster@freebsd.org) Received: (from peter@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i65B1l3Z055473 for freebsd-acpi@freebsd.org; Mon, 5 Jul 2004 11:01:47 GMT (envelope-from owner-bugmaster@freebsd.org) Date: Mon, 5 Jul 2004 11:01:47 GMT Message-Id: <200407051101.i65B1l3Z055473@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: peter set sender to owner-bugmaster@freebsd.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Subject: Current problem reports assigned to you X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 11:01:48 -0000 Current FreeBSD problem reports Critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/09/10] kern/56659 acpi ACPI trouble on IBM ThinkPad X31 f [2004/01/31] kern/62194 acpi kern/acpi: Unable to map IRQ on device cb 2 problems total. Serious problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/07/22] i386/54756 acpi ACPI suspend/resume problem on CF-W2 lapt o [2003/08/20] kern/55822 acpi No ACPI power off with SMP kernel o [2003/12/17] i386/60317 acpi FreeBSD 5.2rc1 doesn't boot with ACPI ena 3 problems total. Non-critical problems S Submitted Tracker Resp. Description ------------------------------------------------------------------------------- o [2003/08/11] i386/55473 acpi Mouse broken on some AWARD BIOS with ACPI o [2004/03/17] misc/64365 acpi ACPI problems o [2004/05/28] kern/67309 acpi zzz reboot computer (ACPI S3) 3 problems total. From owner-freebsd-acpi@FreeBSD.ORG Mon Jul 5 13:44:48 2004 Return-Path: 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 1F6B116A4CF for ; Mon, 5 Jul 2004 13:44:48 +0000 (GMT) Received: from ns1.interbgc.com (mail.interbgc.com [217.9.224.3]) by mx1.FreeBSD.org (Postfix) with SMTP id EA7FB43D2F for ; Mon, 5 Jul 2004 13:44:46 +0000 (GMT) (envelope-from nike_d@cytexbg.com) Received: (qmail 37799 invoked from network); 5 Jul 2004 13:44:44 -0000 Received: from nike_d@cytexbg.com by keeper.interbgc.com by uid 1002 with qmail-scanner-1.14 (uvscan: v4.1.60/v4335. spamassassin: 2.63. Clear:SA:0(-4.9/8.0):. Processed in 1.000195 secs); 05 Jul 2004 13:44:44 -0000 X-Spam-Status: No, hits=-4.9 required=8.0 Received: from 213-240-206-214.1697748.ddns.cablebg.net (HELO tormentor.totalterror.net) (213.240.206.214) by mail.interbgc.com with SMTP; 5 Jul 2004 13:44:43 -0000 Received: (qmail 6652 invoked from network); 5 Jul 2004 13:42:36 -0000 Received: from unknown (HELO phobos.totalterror.net) (10.0.0.2) by tormentor.totalterror.net with SMTP; 5 Jul 2004 13:42:36 -0000 References: <20040704204353.26b4496b.liamfoy@sepulcrum.org> <20040704.140429.37607877.imp@bsdimp.com> Message-ID: X-Mailer: http://www.courier-mta.org/cone/ From: Niki Denev To: =?ISO-8859-1?B?TS4=?= Warner Losh Date: Mon, 05 Jul 2004 16:45:11 +0300 Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=_mimegpg-phobos.totalterror.net-675-1089035111-0001"; micalg=pgp-sha1; protocol="application/pgp-signature" cc: acpi@FreeBSD.ORG cc: hackers@FreeBSD.ORG Subject: Re: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 13:44:48 -0000 This is a MIME GnuPG-signed message. If you see this text, it means that your E-mail or Usenet software does not support MIME signed messages. --=_mimegpg-phobos.totalterror.net-675-1089035111-0001 Content-Type: text/plain; format=flowed; charset="US-ASCII" Content-Disposition: inline Content-Transfer-Encoding: 7bit M. Warner Losh writes: > In message: <20040704204353.26b4496b.liamfoy@sepulcrum.org> > "Liam J. Foy" writes: > : Hey guys, > : > : Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) > : we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one > : of you guys please commit: > : > : --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 > : +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 > : @@ -106,7 +106,7 @@ > : state respectively. > : .It Fl t > : Display the estimated remaining battery lifetime in seconds. If > : -it is unknown, 255 is displayed. > : +it is unknown, -1 is displayed. > : .It Fl Z > : Transition the system into standby mode. This mode uses less power than > : full power mode, but more than suspend mode. Some laptops support > : > : ---- > : > : Another patch I would like you guys to review is this. Currently apm -t will output > : 0 when it cannot find a valid rate or the full battery time(as the comment mentions). > : I think it should return -1 (unknown) to reflect an error, which is stated in the man page. > : It should not return 0 since we do not have 0 seconds left, we have an unknown value > : remaining. Either that or the man page it edited. I believe the following patch should > : be commited really. > : > : The patch is: > : > : --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 > : +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 > : @@ -536,7 +536,7 @@ > : bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; > : } else { > : /* Couldn't find valid rate and full battery time */ > : - bat[i]->min = 0; > : + bat[i]->min = -1; > : } > : total_min += bat[i]->min; > : total_cap += bat[i]->cap; > > I don't like this patch, since we use ->min later for math... > > Warner What about this ? --- sys/dev/acpica/acpi_cmbat.c.orig Mon Jul 5 15:15:28 2004 +++ sys/dev/acpica/acpi_cmbat.c Mon Jul 5 16:37:02 2004 @@ -655,7 +655,7 @@ battinfo->state = ACPI_BATT_STAT_NOT_PRESENT; } else { battinfo->cap = sc->cap; - battinfo->min = sc->min; + battinfo->min = sc->min ? sc->min : -1; battinfo->state = sc->bst.state; } -- Regards, Niki --=_mimegpg-phobos.totalterror.net-675-1089035111-0001 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQBA6VtnHNAJ/fLbfrkRAv5NAJ4jVf4HDK3FSy3NT6xedGZYntFruACaA+ly i0WD/vVjjZMqu+m3iJDUVNE= =OvnN -----END PGP SIGNATURE----- --=_mimegpg-phobos.totalterror.net-675-1089035111-0001-- From owner-freebsd-acpi@FreeBSD.ORG Mon Jul 5 15:28:17 2004 Return-Path: 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 1DEED16A4CE for ; Mon, 5 Jul 2004 15:28:17 +0000 (GMT) Received: from web41105.mail.yahoo.com (web41105.mail.yahoo.com [66.218.93.21]) by mx1.FreeBSD.org (Postfix) with SMTP id 0392443D2F for ; Mon, 5 Jul 2004 15:28:17 +0000 (GMT) (envelope-from jmkatcher@yahoo.com) Message-ID: <20040705152815.92220.qmail@web41105.mail.yahoo.com> Received: from [24.18.54.216] by web41105.mail.yahoo.com via HTTP; Mon, 05 Jul 2004 08:28:15 PDT Date: Mon, 5 Jul 2004 08:28:15 -0700 (PDT) From: Jeffrey Katcher To: freebsd-acpi@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Atheros driver doesn't work with ACPI enabled (revisited) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 15:28:17 -0000 A day or so after I wrote my original note, it started to work again. Unfortunately in the last few days, it no longer works with the same failure mode as before: ath0: hardware error One new change is that the system now panics when booting without ACPI, so I have little recourse but to roll the system back to July 1st and bypass the recent ACPI changes. (All praise to cvsup...) Anyone else seeing renewed ACPI related peripheral failures? Jeff Katcher From owner-freebsd-acpi@FreeBSD.ORG Mon Jul 5 15:48:20 2004 Return-Path: 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 04DF016A4D0; Mon, 5 Jul 2004 15:48:20 +0000 (GMT) Received: from moutvdomng.kundenserver.de (moutvdom.kundenserver.de [212.227.126.249]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7480643D1D; Mon, 5 Jul 2004 15:48:19 +0000 (GMT) (envelope-from liamfoy@sepulcrum.org) Received: from [212.227.126.224] (helo=mrvdomng.kundenserver.de) by moutvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BhVhU-0002Fd-00; Mon, 05 Jul 2004 17:48:12 +0200 Received: from [217.43.32.4] (helo=liamfoy.ath.cx) by mrvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BhVhU-0003b5-00; Mon, 05 Jul 2004 17:48:12 +0200 Date: Mon, 5 Jul 2004 16:46:32 +0100 From: "Liam J. Foy" To: Niki Denev Message-Id: <20040705164632.2228e12a.liamfoy@sepulcrum.org> In-Reply-To: References: <20040704204353.26b4496b.liamfoy@sepulcrum.org> <20040704.140429.37607877.imp@bsdimp.com> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: acpi@FreeBSD.ORG cc: hackers@FreeBSD.ORG Subject: Re: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 15:48:20 -0000 On Mon, 05 Jul 2004 16:45:11 +0300 Niki Denev wrote: > M. Warner Losh writes: > > > In message: <20040704204353.26b4496b.liamfoy@sepulcrum.org> > > "Liam J. Foy" writes: > > : Hey guys, > > : > > : Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) > > : we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one > > : of you guys please commit: > > : > > : --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 > > : +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 > > : @@ -106,7 +106,7 @@ > > : state respectively. > > : .It Fl t > > : Display the estimated remaining battery lifetime in seconds. If > > : -it is unknown, 255 is displayed. > > : +it is unknown, -1 is displayed. > > : .It Fl Z > > : Transition the system into standby mode. This mode uses less power than > > : full power mode, but more than suspend mode. Some laptops support > > : > > : ---- > > : > > : Another patch I would like you guys to review is this. Currently apm -t will output > > : 0 when it cannot find a valid rate or the full battery time(as the comment mentions). > > : I think it should return -1 (unknown) to reflect an error, which is stated in the man page. > > : It should not return 0 since we do not have 0 seconds left, we have an unknown value > > : remaining. Either that or the man page it edited. I believe the following patch should > > : be commited really. > > : > > : The patch is: > > : > > : --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 > > : +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 > > : @@ -536,7 +536,7 @@ > > : bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; > > : } else { > > : /* Couldn't find valid rate and full battery time */ > > : - bat[i]->min = 0; > > : + bat[i]->min = -1; > > : } > > : total_min += bat[i]->min; > > : total_cap += bat[i]->cap; > > > > I don't like this patch, since we use ->min later for math... > > > > Warner > > What about this ? > > --- sys/dev/acpica/acpi_cmbat.c.orig Mon Jul 5 15:15:28 2004 > +++ sys/dev/acpica/acpi_cmbat.c Mon Jul 5 16:37:02 2004 > @@ -655,7 +655,7 @@ > battinfo->state = ACPI_BATT_STAT_NOT_PRESENT; > } else { > battinfo->cap = sc->cap; > - battinfo->min = sc->min; > + battinfo->min = sc->min ? sc->min : -1; > battinfo->state = sc->bst.state; > } > Hmm, yes. Actually looking now, this patch seem alot better. It should not affect the math. I like it. Up to the others. > > > -- > Regards, > Niki > -- -Liam J. Foy http://liamfoy.kerneled.org "Love is like maths -- the idea is simple but can be quite complicated." From owner-freebsd-acpi@FreeBSD.ORG Tue Jul 6 04:44:46 2004 Return-Path: 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 C220C16A4CE; Tue, 6 Jul 2004 04:44:46 +0000 (GMT) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 65A6F43D1D; Tue, 6 Jul 2004 04:44:46 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (adsl-64-171-187-74.dsl.snfc21.pacbell.net [64.171.187.74]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id i664iira010616; Mon, 5 Jul 2004 21:44:45 -0700 Message-ID: <40EA2D5C.4090006@root.org> Date: Mon, 05 Jul 2004 21:41:00 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Don Bowman References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: "'acpi@freebsd.org'" cc: "'current@freebsd.org'" Subject: Re: acpi interrupt storm when disabling, IPI hang X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 04:44:46 -0000 Don Bowman wrote: > When i run 'acpiconf -d', i get an interrupt storm on irq9... > vmstat -i shows ~1000/s. > > Jun 15 13:41:33 cdata kernel: Interrupt storm detected on "irq9: acpi0"; > throttling interrupt source > > when i try to re-enable, i get an error: > > # acpiconf -e > acpi0: interrupt handler already installed > ACPI-0210: *** Error: Unable to install System Control Interrupt > Handler, AE_ALREADY_EXISTS > acpiconf: enable failed: Device not configured > # > > System is a Supermicro X5DPE motherboard, dual 2.8GHz Xeon, > 533MHz FSB, Intel e7501 chipset. Some systems don't support legacy mode (acpi disabled). Others support legacy mode but don't support transition back to it after acpi has been enabled. In this case, it's likely the flags aren't set right for AcpiEnableSubsystem. I'll look into it. > The system will not boot 5.x if acpi is disabled. > It will run 4.x without trouble tho. What do you mean by "will not boot"? Hangs? Panics? More info is needed. -Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Jul 6 04:47:49 2004 Return-Path: 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 BA5EF16A4CE for ; Tue, 6 Jul 2004 04:47:49 +0000 (GMT) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BF4943D49 for ; Tue, 6 Jul 2004 04:47:49 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.50] (adsl-64-171-187-74.dsl.snfc21.pacbell.net [64.171.187.74]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id i664lmra010728; Mon, 5 Jul 2004 21:47:48 -0700 Message-ID: <40EA2E14.50804@root.org> Date: Mon, 05 Jul 2004 21:44:04 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jeffrey Katcher References: <20040705152815.92220.qmail@web41105.mail.yahoo.com> In-Reply-To: <20040705152815.92220.qmail@web41105.mail.yahoo.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-acpi@FreeBSD.org Subject: Re: Atheros driver doesn't work with ACPI enabled (revisited) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 04:47:49 -0000 Jeffrey Katcher wrote: > A day or so after I wrote my original note, it started to work again. > > Unfortunately in the last few days, it no longer works with the same failure > mode as before: ath0: hardware error > > One new change is that the system now panics when booting without ACPI, so I > have little recourse but to roll the system back to July 1st and bypass the > recent ACPI changes. (All praise to cvsup...) > > Anyone else seeing renewed ACPI related peripheral failures? This is probably due to a change in ACPI interrupt routing. -Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Jul 6 08:42:11 2004 Return-Path: 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 DC11E16A4CE for ; Tue, 6 Jul 2004 08:42:11 +0000 (GMT) Received: from acampi.inet.it (acampi.inet.it [213.92.1.165]) by mx1.FreeBSD.org (Postfix) with ESMTP id A082443D2D for ; Tue, 6 Jul 2004 08:42:07 +0000 (GMT) (envelope-from andrea@acampi.inet.it) Received: by acampi.inet.it (Postfix, from userid 1000) id 966F01558A; Tue, 6 Jul 2004 10:42:05 +0200 (CEST) Date: Tue, 6 Jul 2004 10:42:05 +0200 From: Andrea Campi To: freebsd-acpi@FreeBSD.org Message-ID: <20040706084203.GB19813@webcom.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i Subject: CPU Cx states not working with recent kernel on Thinkpad X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 08:42:12 -0000 Hi all, I upgraded my Thinkpad 570E from a beginning of June kernel to new sources cvsup'd after the recent changes (ACPICA import etc) a couple of days ago. I now get this: ... cpu0: port 0x530-0x537 on acpi0 cpu0: Failed to attach throttling P_CNT ... whereas it used to work: cpu0: on acpi0 ... acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0% andrea@brian:~$ sysctl hw.acpi hw.acpi.supported_sleep_state: S1 S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S4 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 1 hw.acpi.verbose: 1 hw.acpi.reset_video: 1 hw.acpi.cpu.cx_supported: C1/0 hw.acpi.cpu.cx_lowest: C1 hw.acpi.cpu.cx_usage: 100.00% hw.acpi.thermal.min_runtime: 300 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.tz0.temperature: 3300 hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 3632 hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 3732 hw.acpi.thermal.tz0._ACx: 3422 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.acline: 1 hw.acpi.battery.life: 96 hw.acpi.battery.time: -1 hw.acpi.battery.state: 0 hw.acpi.battery.units: 2 hw.acpi.battery.info_expire: 5 The weird part is that I'm not seeing any P_CNT in the ASL; but I'm sure it's simply that I have no clue. Is this expected or would it be useful for me to try and restrict the breakage to one change? Bye, Andrea ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x0bffaa70, cksum=21 */ /* RSDT: Length=44, Revision=1, Checksum=207, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x0bfffb65, 0x0bfffbd9 } */ /* FACP: Length=116, Revision=1, Checksum=96, OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0xf4240 FACS=0xbffffc0, DSDT=0xbffaa9c INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_CNT_BLK=0x22-0x22 PM_TMR_BLK=0x1008-0x100b GPE0_BLK=0x100c-0x100f P_LVL2_LAT=10 us, P_LVL3_LAT=20 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,SLP_BUTTON,RTC_S4,DCK_CAP} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags=S4BIOS Version=0 */ /* DSDT: Length=20681, Revision=1, Checksum=250, OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x1000004 */ /* BOOT: Length=39, Revision=1, Checksum=165, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20040527 * * Disassembly of /tmp/acpidump.7qY1Ny, Tue Jul 6 10:38:11 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "IBM ", "VIPER ", 100925440) { Name (_S0, Package (0x02) { 0x05, 0x05 }) Name (_S1, Package (0x02) { 0x04, 0x04 }) Name (_S3, Package (0x02) { 0x01, 0x01 }) Name (_S4, Package (0x02) { 0x00, 0x00 }) Name (_S5, Package (0x02) { 0x00, 0x00 }) Scope (_PR) { Processor (CPU, 0x00, 0x00001010, 0x06) {} } Scope (_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { If (LEqual (\SSLV, 0x00)) { \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.BEEP (0x07, 0x00) } If (LEqual (Arg0, 0x01)) { \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.SLED (0x01, 0x01) If (LNot (LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.BEEP (0x05, 0x00) } } If (LEqual (Arg0, 0x03)) { If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.SLED (0x80, 0x01) \_SB.PCI.ISA.EC.BEEP (0x03, 0x00) } If (LEqual (Arg0, 0x04)) { If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } \_SB.PCI.ISA.EC.SLED (0x80, 0x00) \_SB.PCI.ISA.EC.BEEP (0x03, 0x00) } } } Scope (_TZ) { ThermalZone (THM0) { Name (_TC1, 0x01) Name (_TC2, 0x03) Name (_TSP, 0x012C) Method (_CRT, 0, NotSerialized) { Return (CRTL) } Method (_PSV, 0, NotSerialized) { If (\_SB.PCI.PWR.THTE) { Return (PSVL) } Else { Return (PSVH) } } Method (_AC0, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07)) { Return (AC0L) } Else { Return (AC0H) } } Method (_TMP, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x04), Local0) CreateWordField (Local0, 0x00, TMP0) Store (TMP0, Local0) Store (\_SB.PCI.ISA.EC.GTHZ (), Local1) If (LEqual (Local1, 0x00)) { If (LNot (LLess (Local0, AC0L))) { Store (AC0L, Local0) Subtract (Local0, 0x05) } } If (And (Local1, 0x01)) { If (LNot (LGreater (Local0, AC0L))) { Store (AC0H, Local0) Add (Local0, 0x05) } } If (And (Local1, 0x02)) { If (LNot (LGreater (Local0, PSVL))) { Store (PSVH, Local0) Add (Local0, 0x05) } } Return (Local0) } Method (_SCP, 1, NotSerialized) { Notify (\_TZ.THM0, 0x81) } Name (_AL0, Package (0x01) { FAN }) Name (_PSL, Package (0x01) { \_PR.CPU }) Name (CRTL, 0x0E94) Name (PSVH, 0x0E30) Name (PSVL, 0x0E30) Name (AC0H, 0x0D5E) Name (AC0L, 0x0D36) } PowerResource (FANP, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07)) { Return (0x01) } Else { Return (0x00) } } Method (_ON, 0, NotSerialized) { \_SB.PCI.ISA.EC.SFAN (0x07) } Method (_OFF, 0, NotSerialized) { \_SB.PCI.ISA.EC.SFAN (0x00) } } Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Name (_PR0, Package (0x01) { FANP }) } } Scope (_GPE) { Method (_L00, 0, NotSerialized) { Not (\_SB.PCI.PWR.TPOL, \_SB.PCI.PWR.TPOL) } Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI.USB, 0x02) } Method (_L09, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.ECQE (), Local0) While (Local0) { If (LEqual (Local0, 0x11)) { \_SB.PCI.ISA.EC._Q11 () } If (LEqual (Local0, 0x13)) { \_SB.PCI.ISA.EC._Q13 () } If (LEqual (Local0, 0x16)) { \_SB.PCI.ISA.EC._Q16 () } If (LEqual (Local0, 0x17)) { \_SB.PCI.ISA.EC._Q17 () } If (LEqual (Local0, 0x1B)) { \_SB.PCI.ISA.EC._Q1B () } If (LEqual (Local0, 0x1C)) { \_SB.PCI.ISA.EC._Q1C () } If (LEqual (Local0, 0x1D)) { \_SB.PCI.ISA.EC._Q1D () } If (LEqual (Local0, 0x1E)) { \_SB.PCI.ISA.EC._Q1E () } If (LEqual (Local0, 0x20)) { \_SB.PCI.ISA.EC._Q20 () } If (LEqual (Local0, 0x21)) { \_SB.PCI.ISA.EC._Q21 () } If (LEqual (Local0, 0x22)) { \_SB.PCI.ISA.EC._Q22 () } If (LEqual (Local0, 0x23)) { \_SB.PCI.ISA.EC._Q23 () } If (LEqual (Local0, 0x24)) { \_SB.PCI.ISA.EC._Q24 () } If (LEqual (Local0, 0x25)) { \_SB.PCI.ISA.EC._Q25 () } If (LEqual (Local0, 0x26)) { \_SB.PCI.ISA.EC._Q26 () } If (LEqual (Local0, 0x27)) { \_SB.PCI.ISA.EC._Q27 () } If (LEqual (Local0, 0x2A)) { \_SB.PCI.ISA.EC._Q2A () } If (LEqual (Local0, 0x2B)) { \_SB.PCI.ISA.EC._Q2B () } If (LEqual (Local0, 0x30)) { \_SB.PCI.ISA.EC._Q30 () } If (LEqual (Local0, 0x31)) { \_SB.PCI.ISA.EC._Q31 () } If (LEqual (Local0, 0x32)) { \_SB.PCI.ISA.EC._Q32 () } If (LEqual (Local0, 0x37)) { \_SB.PCI.ISA.EC._Q37 () } If (LEqual (Local0, 0x39)) { \_SB.PCI.ISA.EC._Q39 () } If (LEqual (Local0, 0x3E)) { \_SB.PCI.ISA.EC._Q3E () } If (LEqual (Local0, 0x40)) { \_SB.PCI.ISA.EC._Q40 () } If (LEqual (Local0, 0x50)) { \_SB.PCI.ISA.EC._Q50 () } If (LEqual (Local0, 0x51)) { \_SB.PCI.ISA.EC._Q51 () } If (LEqual (Local0, 0x52)) { \_SB.PCI.ISA.EC._Q52 () } If (LEqual (Local0, 0x53)) { \_SB.PCI.ISA.EC._Q53 () } Store (\_SB.PCI.ISA.EC.ECQE (), Local0) } } Method (_L0B, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GWES (), Local0) If (And (Local0, 0x01)) { Notify (\_SB.PCI, 0x02) \_SB.PCI.ISA.EC.GWES () } If (And (Local0, 0x02)) { Notify (\_SB.LID, 0x80) } If (And (Local0, 0x04)) { Notify (\_SB.SLPB, 0x02) } If (And (Local0, 0x08)) { Notify (\_SB.PCI.MODM, 0x02) } If (And (Local0, 0x10)) { Notify (\_SB.SLPB, 0x02) \_SB.PCI.ISA.EC._Q50 () } If (And (Local0, 0x20)) { Notify (\_SB.SLPB, 0x02) \_SB.PCI.ISA.EC._Q51 () } } } Scope (_SB) { OperationRegion (PHSD, SystemMemory, 0x0BFFFEBC, 0x00000100) Field (PHSD, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2000 } Field (PHSD, AnyAcc, NoLock, Preserve) { Offset (0x05), INF, 8 } Field (PHSD, AnyAcc, NoLock, Preserve) { Offset (0x05), INF2, 1024 } OperationRegion (PHSI, SystemIO, 0x0000FE00, 0x00000002) Field (PHSI, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex (MPHS, 0x00) Method (PSCS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (Zero, INFO) Store (0x00, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INFO, Local0) Release (MPHS) Return (Local0) } Method (PSSS, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x01, BCMD) Store (Arg0, DID) Store (Arg1, INFO) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Release (MPHS) } Method (PSPS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x00, INFO) Store (0x02, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INFO, Local0) Release (MPHS) Return (Local0) } Method (PSDI, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x03, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Release (MPHS) } Method (PSST, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (0x00, INF) Store (0x04, BCMD) Store (Arg0, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF, Local0) Release (MPHS) Return (Local0) } Method (PHS, 1, Serialized) { Acquire (MPHS, 0xFFFF) Store (Arg0, BCMD) Store (Zero, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF, Local0) Release (MPHS) Return (Local0) } Method (PHS2, 2, Serialized) { Acquire (MPHS, 0xFFFF) Store (Arg0, BCMD) Store (Arg1, INF) Store (Zero, DID) Store (Zero, SMIC) While (Not (DID)) { Sleep (0x02) } Store (Zero, BCMD) Store (Zero, DID) Store (INF2, Local0) Release (MPHS) Return (Local0) } Device (AC) { Name (_HID, "ACPI0003") Name (_STA, 0x0F) Name (_PCL, Package (0x01) { \_SB }) Method (_PSR, 0, NotSerialized) { Return (\_SB.PCI.ISA.EC.ACST ()) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (BIFB, Package (0x0D) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x01, 0x2A30, 0x00, 0x00, 0x00, 0x01, "", "", "", "" }) Name (BSTB, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Name (_PCL, Package (0x01) { \_SB }) Name (_STA, 0x0F) Method (_BIF, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x04, DCAP) CreateDWordField (Local0, 0x08, FCAP) CreateWordField (Local0, 0x10, VOLT) If (LEqual (PWUT, 0xFF)) { Store (0x00, Index (BIFB, 0x00)) Store (0xFFFFFFFF, Index (BIFB, 0x01)) Store (0xFFFFFFFF, Index (BIFB, 0x02)) Store (0x00, Index (BIFB, 0x05)) Store (0x00, Index (BIFB, 0x06)) } Else { Store (PWUT, Index (BIFB, 0x00)) Store (DCAP, Index (BIFB, 0x01)) Store (FCAP, Index (BIFB, 0x02)) Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05)) Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06)) } Store ("LION", Index (BIFB, 0x0B)) Return (BIFB) } Method (_BST, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x40)) { Or (0x01, Local0, Local0) } If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x20)) { Or (0x02, Local0, Local0) } If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x0F), 0x03))) { Or (0x04, Local0, Local0) } Store (Local0, Index (BSTB, 0x00)) Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x0C, CAPA) CreateWordField (Local0, 0x10, VOLT) CreateWordField (Local0, 0x12, CURR) And (CURR, 0xFF00, Local1) If (LNot (LLess (Local1, 0x8000))) { Subtract (0x00010000, Local1, Local1) } If (LEqual (PWUT, 0x00)) { Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0x01)) { Store (Local1, Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0xFF)) { Store (0xFFFFFFFF, Index (BSTB, 0x01)) } } } Store (CAPA, Index (BSTB, 0x02)) Store (VOLT, Index (BSTB, 0x03)) Return (BSTB) } Method (_INI, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80)) { Store (0x1F, \_SB.BAT1._STA) } } } Device (BAT2) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x02) Name (BIFB, Package (0x0D) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x01, 0x2A30, 0x00, 0x00, 0x00, 0x01, "", "", "", "" }) Name (BSTB, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Name (_PCL, Package (0x01) { \_SB }) Name (_STA, 0x0F) Method (_BIF, 0, NotSerialized) { Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x04, DCAP) CreateDWordField (Local0, 0x08, FCAP) CreateWordField (Local0, 0x10, VOLT) If (LEqual (PWUT, 0xFF)) { Store (0x00, Index (BIFB, 0x00)) Store (0xFFFFFFFF, Index (BIFB, 0x01)) Store (0xFFFFFFFF, Index (BIFB, 0x02)) Store (0x00, Index (BIFB, 0x05)) Store (0x00, Index (BIFB, 0x06)) } Else { Store (PWUT, Index (BIFB, 0x00)) Store (DCAP, Index (BIFB, 0x01)) Store (FCAP, Index (BIFB, 0x02)) Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05)) Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06)) } Store ("LION", Index (BIFB, 0x0B)) Return (BIFB) } Method (_BST, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x40)) { Or (0x01, Local0, Local0) } If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x20)) { Or (0x02, Local0, Local0) } If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x0F), 0x03))) { Or (0x04, Local0, Local0) } Store (Local0, Index (BSTB, 0x00)) Store (\_SB.PCI.ISA.EC.GH8A (), Local0) Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0) CreateByteField (Local0, 0x00, PWUT) CreateDWordField (Local0, 0x0C, CAPA) CreateWordField (Local0, 0x10, VOLT) CreateWordField (Local0, 0x12, CURR) If (LNot (LLess (CURR, 0x8000))) { Store (Subtract (0x00010000, CURR), Local1) } Else { Store (CURR, Local1) } If (LEqual (PWUT, 0x00)) { Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0x01)) { Store (Local1, Index (BSTB, 0x01)) } Else { If (LEqual (PWUT, 0xFF)) { Store (0xFFFFFFFF, Index (BSTB, 0x01)) } } } Store (CAPA, Index (BSTB, 0x02)) Store (VOLT, Index (BSTB, 0x03)) Return (BSTB) } Method (_INI, 0, NotSerialized) { If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { Store (0x1F, \_SB.BAT2._STA) } } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_LID, 0, NotSerialized) { Return (\_SB.PCI.ISA.EC.GLID ()) } } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Name (_STA, 0x0F) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } Device (PCI) { Name (_HID, EisaId ("PNP0A03")) Name (_BBN, 0x00) Name (_ADR, 0x00) OperationRegion (REGS, PCI_Config, 0x40, 0xC0) Field (REGS, DWordAcc, NoLock, Preserve) { Offset (0x19), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, DRB4, 8, DRB5, 8, DRB6, 8, DRB7, 8, , 6, HEN, 2, Offset (0x33), T_EN, 1, T_SZ, 2, Offset (0x3A), CRST, 1 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100, 0x00) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E0000, 0x000E3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E4000, 0x000E7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E8000, 0x000EBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000EC000, 0x000EFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300, 0x00) }) Method (_CRS, 0, Serialized) { Store (Zero, Local1) If (T_EN) { ShiftLeft (0x01, Add (T_SZ, 0x11), Local1) } CreateDWordField (RSRC, 0x0193, BTMN) CreateDWordField (RSRC, 0x0197, BTMX) CreateDWordField (RSRC, 0x019F, BTLN) Multiply (DRB7, 0x00800000, Local0) If (T_EN) { Subtract (Local0, Local1, Local2) Store (Local2, BTMN) Subtract (Add (Local0, 0x10000000), BTMN, BTLN) } Else { Store (Local0, BTMN) Subtract (0xFFE00000, Local0, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) } CreateDWordField (RSRC, 0x01AE, ATMN) CreateDWordField (RSRC, 0x01B2, ATMX) CreateDWordField (RSRC, 0x01BA, ATLN) If (T_EN) { Add (Add (BTMN, BTLN), Local1, ATMN) Subtract (0xFFE00000, ATMN, ATLN) Subtract (Add (ATMN, ATLN), 0x01, ATMX) } Else { Store (Zero, ATLN) } CreateBitField (RSRC, 0x0250, C0RW) CreateDWordField (RSRC, 0x4F, C0MN) CreateDWordField (RSRC, 0x53, C0MX) CreateDWordField (RSRC, 0x5B, C0LN) Store (One, C0RW) If (LEqual (And (PAM1, 0x03), 0x01)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (PAM1, 0x03))) { Store (0x4000, C0LN) } CreateBitField (RSRC, 0x0328, C4RW) CreateDWordField (RSRC, 0x6A, C4MN) CreateDWordField (RSRC, 0x6E, C4MX) CreateDWordField (RSRC, 0x76, C4LN) Store (One, C4RW) If (LEqual (And (PAM1, 0x30), 0x10)) { Store (Zero, C4RW) } Store (Zero, C4LN) If (LNot (And (PAM1, 0x30))) { Store (0x4000, C4LN) } CreateBitField (RSRC, 0x0400, C8RW) CreateDWordField (RSRC, 0x85, C8MN) CreateDWordField (RSRC, 0x89, C8MX) CreateDWordField (RSRC, 0x91, C8LN) Store (One, C8RW) If (LEqual (And (PAM2, 0x03), 0x01)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (PAM2, 0x03))) { Store (0x4000, C8LN) } CreateBitField (RSRC, 0x04D8, CCRW) CreateDWordField (RSRC, 0xA0, CCMN) CreateDWordField (RSRC, 0xA4, CCMX) CreateDWordField (RSRC, 0xAC, CCLN) Store (One, CCRW) If (LEqual (And (PAM2, 0x30), 0x10)) { Store (Zero, CCRW) } Store (Zero, CCLN) If (LNot (And (PAM2, 0x30))) { Store (0x4000, CCLN) } CreateBitField (RSRC, 0x05B0, D0RW) CreateDWordField (RSRC, 0xBB, D0MN) CreateDWordField (RSRC, 0xBF, D0MX) CreateDWordField (RSRC, 0xC7, D0LN) Store (One, D0RW) If (LEqual (And (PAM3, 0x03), 0x01)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (PAM3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (RSRC, 0x0688, D4RW) CreateDWordField (RSRC, 0xD6, D4MN) CreateDWordField (RSRC, 0xDA, D4MX) CreateDWordField (RSRC, 0xE2, D4LN) Store (One, D4RW) If (LEqual (And (PAM3, 0x30), 0x10)) { Store (Zero, D4RW) } Store (Zero, D4LN) If (LNot (And (PAM3, 0x30))) { Store (0x4000, D4LN) } CreateBitField (RSRC, 0x0760, D8RW) CreateDWordField (RSRC, 0xF1, D8MN) CreateDWordField (RSRC, 0xF5, D8MX) CreateDWordField (RSRC, 0xFD, D8LN) Store (One, D8RW) If (LEqual (And (PAM4, 0x03), 0x01)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (PAM4, 0x03))) { Store (0x4000, D8LN) } CreateBitField (RSRC, 0x0838, DCRW) CreateDWordField (RSRC, 0x010C, DCMN) CreateDWordField (RSRC, 0x0110, DCMX) CreateDWordField (RSRC, 0x0118, DCLN) Store (One, DCRW) If (LEqual (And (PAM4, 0x30), 0x10)) { Store (Zero, DCRW) } Store (Zero, DCLN) If (LNot (And (PAM4, 0x30))) { Store (0x4000, DCLN) } CreateBitField (RSRC, 0x0910, E0RW) CreateDWordField (RSRC, 0x0127, E0MN) CreateDWordField (RSRC, 0x012B, E0MX) CreateDWordField (RSRC, 0x0133, E0LN) Store (One, E0RW) If (LEqual (And (PAM5, 0x03), 0x01)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (PAM5, 0x03))) { Store (0x4000, E0LN) } CreateBitField (RSRC, 0x09E8, E4RW) CreateDWordField (RSRC, 0x0142, E4MN) CreateDWordField (RSRC, 0x0146, E4MX) CreateDWordField (RSRC, 0x014E, E4LN) Store (One, E4RW) If (LEqual (And (PAM5, 0x30), 0x10)) { Store (Zero, E4RW) } Store (Zero, E4LN) If (LNot (And (PAM5, 0x30))) { Store (0x4000, E4LN) } CreateBitField (RSRC, 0x0AC0, E8RW) CreateDWordField (RSRC, 0x015D, E8MN) CreateDWordField (RSRC, 0x0161, E8MX) CreateDWordField (RSRC, 0x0169, E8LN) Store (One, E8RW) If (LEqual (And (PAM6, 0x03), 0x01)) { Store (Zero, E8RW) } Store (Zero, E8LN) If (LNot (And (PAM6, 0x03))) { Store (0x4000, E8LN) } CreateBitField (RSRC, 0x0B98, ECRW) CreateDWordField (RSRC, 0x0178, ECMN) CreateDWordField (RSRC, 0x017C, ECMX) CreateDWordField (RSRC, 0x0184, ECLN) Store (One, ECRW) If (LEqual (And (PAM6, 0x30), 0x10)) { Store (Zero, ECRW) } Store (Zero, ECLN) If (LNot (And (PAM6, 0x30))) { Store (0x4000, ECLN) } Return (RSRC) } Name (_PRT, Package (0x08) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI.ISA.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI.ISA.LNKB, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0006FFFF, 0x03, \_SB.PCI.ISA.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI.ISA.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI.ISA.LNKD, 0x00 } }) Device (AGP) { Name (_ADR, 0x00010000) Device (VGA) { Name (_ADR, 0x00) Method (_INI, 0, NotSerialized) { Store (And (\_SB.PHS (0x87), 0x0F), \_SB.PCI.AGP.VGA.GDCS) Store (And (\_SB.PCI.AGP.VGA.GDCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (\_SB.PCI.AGP.VGA.GDCS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Method (_DOS, 1, NotSerialized) { Store (Arg0, SWIT) } Name (_DOD, Package (0x02) { 0x00010100, 0x00010110 }) Method (SRVO, 1, NotSerialized) { If (And (\_SB.PHS (0x87), 0x30)) { If (Arg0) { If (LNot (LEqual (DDGS, 0x00))) { Store (And (DDGS, 0x01), \_SB.PCI.AGP.VGA.LCD._DGS) Store (ShiftRight (And (DDGS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DGS) Notify (\_SB.PCI.AGP.VGA, 0x80) } } Else { Store (Or (ShiftLeft (\_SB.PCI.AGP.VGA.CRT._DCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS), DDGS) Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS) Notify (\_SB.PCI.AGP.VGA, 0x80) } } } Device (CRT) { Name (_ADR, 0x0100) Name (_DCS, 0x1F) Name (_DGS, 0x00) Method (_DDC, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Return (\_SB.PHS2 (0x8A, 0x00)) } If (LEqual (Arg0, 0x02)) { Concatenate (\_SB.PHS2 (0x8A, 0x00), DDC0, Local0) Return (Local0) } } Method (_DSS, 1, NotSerialized) { Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x01), ShiftLeft (And (Arg0, 0x01), 0x01), \_SB.PCI.AGP.VGA.GDGS) If (And (Arg0, 0xC0000000)) { Store (GDGS, GDCS) If (LEqual (And (Arg0, 0x40000000), 0x00)) { \_SB.PHS2 (0x8B, Or (GDCS, 0x80)) Store (And (\_SB.PHS (0x87), 0x0F), Local0) Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Else { \_SB.PHS2 (0x8B, GDCS) } } } } Device (LCD) { Name (_ADR, 0x0110) Name (_DCS, 0x1F) Name (_DGS, 0x01) Method (_DDC, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { If (And (\_SB.PHS (0x87), 0x40)) { Return (DDC1) } Else { Return (DDC2) } } If (LEqual (Arg0, 0x02)) { If (And (\_SB.PHS (0x87), 0x40)) { Concatenate (DDC1, DDC0, Local0) Return (Local0) } Else { Concatenate (DDC2, DDC0, Local0) Return (Local0) } } Return (0x00) } Method (_DSS, 1, NotSerialized) { Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x02), And (Arg0, 0x01), \_SB.PCI.AGP.VGA.GDGS) If (And (Arg0, 0xC0000000)) { Store (GDGS, GDCS) If (LEqual (And (Arg0, 0x40000000), 0x00)) { \_SB.PHS2 (0x8B, Or (GDCS, 0x80)) Store (And (\_SB.PHS (0x87), 0x0F), Local0) Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS) Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS) } Else { \_SB.PHS2 (0x8B, GDCS) } } } } Name (SWIT, 0x01) Name (GDCS, 0x02) Name (GDGS, 0x02) Name (DDGS, 0x00) Name (DDC0, Buffer (0x80) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DDC1, Buffer (0x80) { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19, 0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, 0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31, 0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33 }) Name (DDC2, Buffer (0x80) { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x24, 0x4D, 0x4B, 0x0A, 0x01, 0x01, 0x01, 0x01, 0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x20, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80, 0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x38, 0x30, 0x30, 0x78, 0x36, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1 }) } } Device (CRD0) { Name (_ADR, 0x00020000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (CRD1) { Name (_ADR, 0x00020001) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (OAK) { Name (_ADR, 0x00040000) Name (_EJD, "_SB_.PCI_.ISA_.SLCE") Name (_PRT, Package (0x03) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI.ISA.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI.ISA.LNKB, 0x00 } }) OperationRegion (PCI, PCI_Config, 0x00, 0x0100) Field (PCI, DWordAcc, NoLock, Preserve) { VID, 32 } Method (_BDN, 0, NotSerialized) { Return (0x43004D24) } Method (_UID, 0, NotSerialized) { Store (Zero, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x02), Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x01), Local0) ShiftLeft (Local0, 0x08, Local0) Or (Local0, \_SB.PCI.PWR.RE2R (0x00), Local0) Return (Local0) } Method (_DCK, 1, NotSerialized) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) If (Arg0) { Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) } Else { Store (One, \_SB.PCI.ISA.PMGA.DOKC) } \_SB.PCI.AGP.VGA.SRVO (Arg0) Return (Arg0) } Method (_EJ0, 1, NotSerialized) { Store (One, \_SB.PCI.ISA.PMGA.UDOC) While (\_SB.PCI.ISA.PMGA.DOKS) { Sleep (0x01) } Store (Zero, \_SB.PCI.ISA.PMGA.UDOC) } Method (_STA, 0, NotSerialized) { Store (0x00, Local0) If (\_SB.PCI.ISA.PMGA.DOKS) { If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20)) { Store (0x0F, Local0) } } If (Local0) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) } Else { Store (One, \_SB.PCI.ISA.PMGA.LOKE) } Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) Return (Local0) } Method (SDCK, 1, NotSerialized) { If (Arg0) { If (\_SB.PCI.ISA.PMGA.EXPS) { If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20)) { \_SB.PHS (0x86) } } } } Device (CRD0) { Name (_ADR, 0x00) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (CRD1) { Name (_ADR, 0x01) Name (_PSC, 0x00) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), CMD, 16, Offset (0x10), ADD0, 32, Offset (0x3C), INTL, 8, Offset (0x44), LADD, 32, Offset (0x80), PMRI, 1, Offset (0xA4), PWRS, 2, Offset (0xA5), , 7, PMES, 1 } Method (_INI, 0, NotSerialized) { Or (INTL, 0xFF, INTL) And (LADD, 0xFFFF0000, LADD) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWRS) Store (One, PMRI) Store (One, PMES) } Method (_PS3, 0, NotSerialized) { Store (Zero, PMRI) } } Device (LAN) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } } Device (AUD) { Name (_ADR, 0x00050000) } Device (ISA) { Name (_ADR, 0x00060000) Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer16) {4} }) } Device (PIC) { Name (_HID, EisaId ("PNP0001")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x02) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000) Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000) Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) }) } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQNoFlags () {1} }) } Device (MOUS) { Name (_HID, EisaId ("IBM3780")) Name (_CID, 0x130FD041) Method (_CRS, 0, NotSerialized) { Return (PSCS (0x16)) } Method (_SRS, 1, NotSerialized) { PSSS (0x16, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x16)) } Method (_DIS, 0, NotSerialized) { PSDI (0x16) } Method (_STA, 0, NotSerialized) { Return (PSST (0x16)) } } OperationRegion (GEN, PCI_Config, 0xB0, 0x04) Field (GEN, DWordAcc, NoLock, Preserve) { Offset (0x01), , 4, SIDE, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRA, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRA, 0x70), PIRA) } Method (_STA, 0, NotSerialized) { If (And (PIRA, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRB, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRB, 0x70), PIRB) } Method (_STA, 0, NotSerialized) { If (And (PIRB, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRC, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRC, 0x70), PIRC) } Method (_STA, 0, NotSerialized) { If (And (PIRC, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRD, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRD, 0x70), PIRD) } Method (_STA, 0, NotSerialized) { If (And (PIRD, 0x80)) { Return (0x09) } Return (0x0B) } } OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, DWordAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } Device (PMGA) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x01) OperationRegion (GAIO, SystemIO, 0x15EE, 0x02) Field (GAIO, ByteAcc, NoLock, Preserve) { PMIX, 8, PMDA, 8 } IndexField (PMIX, PMDA, ByteAcc, NoLock, Preserve) { , 6, BREN, 1, Offset (0x2D), UDOC, 1, DOKC, 1, LOKE, 1, , 1, DOKS, 1, EXPS, 1, Offset (0x2F), BAYE, 1, BAYP, 1, BAYR, 1 } Name (_STA, 0x0B) Method (SBAY, 1, NotSerialized) { If (Arg0) { Store (Zero, BAYR) Store (Zero, BAYP) Sleep (0x0A) Store (Zero, BAYE) Store (One, BAYR) } Else { Store (One, BAYE) Store (One, BAYP) } } Method (GBAY, 0, NotSerialized) { Return (Not (BAYE)) } } Device (SIO) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x02) Name (_STA, 0x0B) Name (RDE1, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} }) Name (RDE2, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Name (RDE3, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Name (_EJD, "_SB_.PCI_.OAK_") Method (_CRS, 0, NotSerialized) { Return (PSCS (0x12)) } Method (_SRS, 1, NotSerialized) { PSSS (0x12, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x12)) } Method (_DIS, 0, NotSerialized) { PSDI (0x12) } Method (_STA, 0, NotSerialized) { Return (PSST (0x12)) } Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (FIR) { Name (_HID, EisaId ("IBM0071")) Name (_CID, 0x1105D041) Method (_CRS, 0, NotSerialized) { Return (PSCS (0x13)) } Method (_SRS, 1, NotSerialized) { PSSS (0x13, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x13)) } Method (_DIS, 0, NotSerialized) { PSDI (0x13) } Method (_STA, 0, NotSerialized) { Return (PSST (0x13)) } } Device (LPT) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Name (MCD, 0x17) Name (_STA, 0x00) Name (B_PR, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {5} } EndDependentFn () }) Name (CRSB, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) If (LEqual (_STA, 0x0F)) { CreateWordField (CRSB, 0x02, IO1B) CreateWordField (CRSB, 0x04, IO2B) CreateWordField (CRSB, 0x06, IO3B) CreateWordField (CRSB, 0x09, IRQB) Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B) Store (IO1B, IO2B) If (LEqual (IO1B, 0x03BC)) { Store (0x0401, IO3B) } Store (Zero, IRQB) ShiftRight (READ (0x1B, 0xF0), 0x04, Local0) If (Local0) { ShiftLeft (0x01, Local0, IRQB) } Return (CRSB) } Else { Return (RDE1) } Release (\_SB.MPHS) } Method (B_SR, 1, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) Name (XRFI, Package (0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x02, 0x03, 0x04, 0x00, 0x00, 0x05, 0x06 }) CreateWordField (Arg0, 0x02, IO1A) CreateWordField (Arg0, 0x09, IRQB) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02)) WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08)) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04)) WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0))) } Else { WRIT (0x1B, 0x08, 0x00) } WRIT (0x00, 0xFE, 0x01) PRDC (IO1A) Store (0x0F, _STA) Release (\_SB.MPHS) } Method (B_DI, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) Store (0x0D, _STA) Release (\_SB.MPHS) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (LPTB) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x02) Name (MCD, 0x18) Name (_STA, 0x0D) Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {5} } EndDependentFn () }) Name (CRSB, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) If (LEqual (_STA, 0x0F)) { CreateWordField (CRSB, 0x02, IO1B) CreateWordField (CRSB, 0x04, IO2B) CreateWordField (CRSB, 0x06, IO3B) CreateWordField (CRSB, 0x09, IRQB) Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B) Store (IO1B, IO2B) If (LEqual (IO1B, 0x03BC)) { Store (0x0401, IO3B) } Store (Zero, IRQB) ShiftRight (READ (0x1B, 0xF0), 0x04, Local0) If (Local0) { ShiftLeft (0x01, Local0, IRQB) } Return (CRSB) } Else { Return (RDE1) } Release (\_SB.MPHS) } Method (_SRS, 1, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) Name (XRFI, Package (0x10) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x02, 0x03, 0x04, 0x00, 0x00, 0x05, 0x06 }) CreateWordField (Arg0, 0x02, IO1A) CreateWordField (Arg0, 0x09, IRQB) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02)) WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08)) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04)) WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0))) } Else { WRIT (0x1B, 0x08, 0x00) } WRIT (0x00, 0xFE, 0x01) PRDC (IO1A) Store (0x0F, _STA) Release (\_SB.MPHS) } Method (_DIS, 0, NotSerialized) { Acquire (\_SB.MPHS, 0xFFFF) WRIT (0x00, 0xFE, 0x00) PRDC (Ones) Store (0x0D, _STA) Release (\_SB.MPHS) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (ECP) { Name (_HID, EisaId ("PNP0401")) Method (_CRS, 0, NotSerialized) { If (LEqual (_STA (), 0x0F)) { Return (PSCS (0x14)) } Else { Return (RDE3) } } Method (_SRS, 1, NotSerialized) { PSSS (0x14, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x14)) } Method (_DIS, 0, NotSerialized) { PSDI (0x14) } Method (_STA, 0, NotSerialized) { Return (PSST (0x14)) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (EPP) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x03) Method (_CRS, 0, NotSerialized) { If (LEqual (_STA (), 0x0F)) { Return (PSCS (0x15)) } Else { Return (RDE1) } } Method (_SRS, 1, NotSerialized) { PSSS (0x15, Arg0) } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x15)) } Method (_DIS, 0, NotSerialized) { PSDI (0x15) } Method (_STA, 0, NotSerialized) { Return (PSST (0x15)) } Name (_EJD, "_SB_.PCI_.OAK_") } Device (FDC) { Name (_HID, EisaId ("PNP0700")) OperationRegion (FDCR, SystemIO, 0x03F0, 0x07) Field (FDCR, ByteAcc, NoLock, Preserve) { Offset (0x03), TDR, 8 } Method (_CRS, 0, NotSerialized) { Return (PSCS (0x11)) } Method (_SRS, 1, NotSerialized) { PSSS (0x11, Arg0) If (LNot (\_SB.PCI.PWR.GI13)) { If (\_SB.PCI.ISA.PMGA.GBAY ()) { And (TDR, 0xF3, TDR) } Else { Or (And (TDR, 0xF3), 0x04, TDR) } } Else { Or (And (TDR, 0xF3), 0x04, TDR) } } Method (_PRS, 0, NotSerialized) { Return (PSPS (0x11)) } Method (_DIS, 0, NotSerialized) { PSDI (0x11) } Method (_STA, 0, NotSerialized) { Return (PSST (0x11)) } } OperationRegion (SIOR, SystemIO, 0x2E, 0x02) Field (SIOR, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { R000, 8, Offset (0x02), R020, 8, Offset (0x04), R040, 8, Offset (0x42), R420, 8, R430, 8, R440, 8, R450, 8, R460, 8, R470, 8, R480, 8, R490, 8, Offset (0x4F), R4F0, 8 } Method (READ, 2, NotSerialized) { Store (Arg0, INDX) Return (And (DATA, Arg1)) } Method (WRIT, 3, NotSerialized) { Store (Arg0, INDX) Or (And (DATA, Arg1), Arg2, Local0) Store (Arg0, INDX) Store (Local0, DATA) Store (Local0, DATA) } Name (LPT1, Package (0x03) { 0x03BC, 0x0378, 0x0278 }) Method (PRDC, 1, NotSerialized) { If (LEqual (Arg0, Ones)) { Store (Zero, \_SB.PCI.PWR.LPTE) } Else { Store (SizeOf (LPT1), Local0) While (Local0) { Decrement (Local0) If (LEqual (Arg0, DerefOf (Index (LPT1, Local0)))) { Store (Local0, \_SB.PCI.PWR.LPTA) Store (One, \_SB.PCI.PWR.LPTE) Store (One, \_SB.PCI.PWR.LPTM) } } } } } Device (EC) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x03) Name (BEJP, 0x00) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Name (_GPE, 0x09) OperationRegion (ECP0, SystemIO, 0x62, 0x01) Field (ECP0, ByteAcc, NoLock, Preserve) { ECDA, 8 } OperationRegion (ECP1, SystemIO, 0x66, 0x01) Field (ECP1, ByteAcc, NoLock, Preserve) { ECST, 8 } Field (ECP1, ByteAcc, NoLock, Preserve) { ECCM, 8 } Mutex (ECMB, 0x00) Method (WIBE, 0, Serialized) { While (And (ECST, 0x02)) { Stall (0x01) } } Method (WOBF, 0, Serialized) { While (LNot (And (ECST, 0x01))) { Stall (0x01) } } Method (ECRD, 1, Serialized) { Acquire (ECMB, 0xFFFF) WIBE () Store (0xD2, ECCM) WIBE () Store (0x80, ECCM) WIBE () Store (Arg0, ECDA) WIBE () WOBF () Store (ECDA, Local0) Store (0xD3, ECCM) WIBE () Release (ECMB) Return (Local0) } Method (ECWR, 2, Serialized) { Acquire (ECMB, 0xFFFF) WIBE () Store (0xD2, ECCM) WIBE () Store (0x81, ECCM) WIBE () Store (Arg0, ECDA) WIBE () Store (Arg1, ECDA) WIBE () Store (0xD3, ECCM) WIBE () Release (ECMB) } Method (ECQE, 0, Serialized) { Acquire (ECMB, 0xFFFF) Store (0x64, Local1) While (Local1) { Decrement (Local1) And (ECST, 0x20, Local0) If (Local0) { Store (Zero, Local1) } Else { Sleep (0x01) } } If (Local0) { WIBE () Store (0xD2, ECCM) WIBE () Store (0x84, ECCM) WIBE () WOBF () Store (ECDA, Local0) Store (0xD3, ECCM) WIBE () } Release (ECMB) Return (Local0) } Method (_Q11, 0, NotSerialized) { \_SB.PHS (0x80) } Method (_Q13, 0, NotSerialized) { Notify (\_SB.SLPB, 0x80) } Method (_Q16, 0, NotSerialized) { Store ("===== FnF7 =====", Debug) If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x00)) { If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x01)) { Store (Zero, \_SB.PCI.AGP.VGA.LCD._DGS) Store (One, \_SB.PCI.AGP.VGA.CRT._DGS) } If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x02)) { Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (One, \_SB.PCI.AGP.VGA.CRT._DGS) } If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x03)) { Store (One, \_SB.PCI.AGP.VGA.LCD._DGS) Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS) } Notify (\_SB.PCI.AGP.VGA, 0x80) } If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x01)) { \_SB.PHS (0x81) } } Method (_Q17, 0, NotSerialized) { \_SB.PHS (0x82) } Method (_Q1B, 0, NotSerialized) { } Method (_Q1C, 0, NotSerialized) { \_SB.PHS (0x83) } Method (_Q1D, 0, NotSerialized) { \_SB.PHS (0x84) } Method (_Q1E, 0, NotSerialized) { \_SB.PHS (0x85) } Method (_Q20, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q21, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q22, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Method (_Q23, 0, NotSerialized) { Store (Zero, Local0) If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80)) { If (LEqual (\_SB.BAT1._STA, 0x0F)) { Store (\_SB.PCI.ISA.EC.GH8A (), Local1) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2) CreateByteField (Local2, 0x20, BST1) While (LEqual (BST1, 0x00)) { Sleep (0x0A) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2) } Store (0x1F, \_SB.BAT1._STA) Or (0x01, Local0, Local0) } } Else { If (LEqual (\_SB.BAT1._STA, 0x1F)) { Store (0x0F, \_SB.BAT1._STA) Or (0x01, Local0, Local0) } } If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { If (LEqual (\_SB.BAT2._STA, 0x0F)) { Store (\_SB.PCI.ISA.EC.GH8A (), Local1) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2) CreateByteField (Local2, 0x20, BST2) While (LEqual (BST2, 0x00)) { Sleep (0x0A) Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2) } Store (0x1F, \_SB.BAT2._STA) Or (0x02, Local0, Local0) } } Else { If (LEqual (\_SB.BAT2._STA, 0x1F)) { Store (0x0F, \_SB.BAT2._STA) Or (0x02, Local0, Local0) } } If (LEqual (Local0, 0x00)) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT2, 0x80) } Else { If (And (Local0, 0x01)) { Notify (\_SB.BAT1, 0x00) } If (And (Local0, 0x02)) { Notify (\_SB.BAT2, 0x00) } } } Method (_Q24, 0, NotSerialized) { Notify (\_SB.BAT1, 0x80) } Method (_Q25, 0, NotSerialized) { Notify (\_SB.BAT2, 0x80) } Method (_Q26, 0, NotSerialized) { Store (One, \_SB.PCI.ISA.PMGA.BREN) Notify (\_SB.AC, 0x80) } Method (_Q27, 0, NotSerialized) { Store (Zero, \_SB.PCI.ISA.PMGA.BREN) Notify (\_SB.AC, 0x80) } Method (_Q2A, 0, NotSerialized) { Notify (\_SB.LID, 0x80) } Method (_Q2B, 0, NotSerialized) { Notify (\_SB.LID, 0x80) } Method (_Q30, 0, NotSerialized) { \_SB.PHS (0x8C) } Method (_Q31, 0, NotSerialized) { \_SB.PHS (0x8D) } Method (_Q32, 0, NotSerialized) { \_SB.PHS (0x8E) } Method (_Q37, 0, NotSerialized) { If (LNot (\_SB.PCI.ISA.PMGA.DOKS)) { If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F)) { \_SB.PCI.OAK.SDCK (One) Notify (\_SB.PCI.OAK, 0x00) } } } Method (_Q39, 0, NotSerialized) { Notify (\_SB.SLPB, 0x02) } Method (_Q3E, 0, NotSerialized) { If (\_SB.PCI.CRD0.PMES) { \_SB.PCI.CRD0._PS0 () } If (\_SB.PCI.CRD1.PMES) { \_SB.PCI.CRD1._PS0 () } If (\_SB.PCI.OAK._STA ()) { If (\_SB.PCI.OAK.CRD0.PMES) { \_SB.PCI.OAK.CRD0._PS0 () } If (\_SB.PCI.OAK.CRD1.PMES) { \_SB.PCI.OAK.CRD1._PS0 () } } } Method (_Q40, 0, NotSerialized) { Notify (\_TZ.THM0, 0x80) Sleep (0x2710) Notify (\_TZ.THM0, 0x81) } Method (_Q50, 0, NotSerialized) { Notify (\_SB.PCI.OAK, 0x01) } Method (_Q51, 0, NotSerialized) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, Zero)) { \_SB.HKEY.MHKF () Notify (\_SB.PCI.ISA.SLCE, 0x01) } } Method (_Q52, 0, NotSerialized) { \_SB.PCI.ISA.SLCE.SSLC (Zero) \_SB.PCI.OAK.SDCK (One) Notify (\_SB.PCI, 0x01) } Method (_Q53, 0, NotSerialized) { Store (0x53, Debug) } Mutex (SMMB, 0x00) Method (SMRA, 2, NotSerialized) { Acquire (SMMB, 0xFFFF) Name (INVB, Buffer (0x21) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }) Store (SMBP (0x0B, Arg0, Arg1), Local0) If (Local0) { Store (INVB, Local0) } Else { Store (0x00, Local1) While (LLess (Local1, 0x21)) { PUTB (INVB, Local1, ECRD (Add (0x54, Local1))) Increment (Local1) } Store (INVB, Local0) } Release (SMMB) Return (Local0) } Method (SMBP, 3, Serialized) { Store (0x01, Local0) While (Local0) { ECWR (0x53, Arg2) ECWR (0x52, Arg1) ECWR (0x50, Arg0) While (ECRD (0x50)) { Sleep (0x02) } While (LNot (And (ECRD (0x51), 0xBF, Local1))) { Sleep (0x02) } And (Local1, 0x1F, Local1) If (LNot (LEqual (Local1, 0x11))) { Store (0x00, Local0) } } Return (Local1) } Method (PUTB, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (GETB, 2, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Return (TIDX) } Method (GH8A, 0, NotSerialized) { Store (ECRD (0x0F), Local0) Return (Local0) } Method (ACST, 0, NotSerialized) { And (ShiftRight (ECRD (0x36), 0x04), 0x01, Local0) Return (Local0) } Method (BTST, 1, NotSerialized) { Store (ECRD (Add (Arg0, 0x38)), Local0) Return (Local0) } Method (SB1I, 1, NotSerialized) { If (Arg0) { ECWR (0x3A, And (ECRD (0x3A), 0x7F)) } Else { ECWR (0x3A, Or (ECRD (0x3A), 0x80)) } } Method (BEEP, 2, NotSerialized) { Store (ECRD (0x07), Local0) ECWR (0x07, Arg1) ShiftLeft (0x01, Arg0, Local1) If (LNot (LGreater (Arg0, 0x07))) { Store (ECRD (0x04), Local2) } Else { ShiftRight (Local1, 0x08, Local1) Store (ECRD (0x05), Local2) } If (And (Local2, Local1)) { ECWR (0x06, Arg0) While (LNot (And (ECRD (0x34), 0x02))) {} While (And (ECRD (0x34), 0x02)) {} } ECWR (0x07, Local0) } Method (GFAN, 0, NotSerialized) { And (ECRD (0x2F), 0x07, Local0) Return (Local0) } Method (SFAN, 1, NotSerialized) { ECWR (0x2F, Or (And (ECRD (0x2F), 0xF8), Arg0)) } Method (SLED, 2, NotSerialized) { Store (ECRD (0x0D), Local0) And (Local0, Not (Arg0), Local0) If (And (Arg1, 0x02)) { Or (Local0, Arg0, Local0) } ECWR (0x0D, Local0) Store (ECRD (0x0C), Local0) And (Local0, Not (Arg0), Local0) If (And (Arg1, 0x01)) { Or (Local0, Arg0, Local0) } ECWR (0x0C, Local0) } Method (GLED, 1, NotSerialized) { Store (Zero, Local0) Store (ECRD (0x0C), Local1) If (And (Local1, Arg0)) { Or (Local0, 0x01, Local0) Store (ECRD (0x0D), Local1) If (And (Local1, Arg0)) { Or (Local0, 0x02, Local0) } } Return (Local0) } Method (GLID, 0, NotSerialized) { And (ShiftRight (ECRD (0x36), 0x02), 0x01, Local0) Return (Local0) } Method (GSST, 0, NotSerialized) { ShiftRight (ECRD (0x37), 0x07, Local0) Return (Local0) } Method (GDID, 0, NotSerialized) { ECWR (0x28, 0x80) While (And (ECRD (0x28), 0x80)) { Stall (0x01) } And (ECRD (0x28), 0x7F, Local0) Return (Local0) } Method (SISM, 1, NotSerialized) { If (Arg0) { Store (0x03, Local0) } Else { Store (0x00, Local0) } ECWR (0x3B, Or (And (ECRD (0x3B), 0xFC), Local0)) } Method (GWES, 0, NotSerialized) { Store (ECRD (0x4E), Local0) Return (Local0) } Method (GTHZ, 0, NotSerialized) { And (ECRD (0x20), 0x83, Local0) Return (Local0) } } Device (SLCE) { Name (_HID, EisaId ("PNP0C15")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (\_SB.PCI.ISA.EC.GSST ()) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x00)) { Return (0x0F) } } Return (0x00) } Method (_DCK, 1, NotSerialized) { If (\_SB.PCI.OAK._STA ()) { Store (Zero, \_SB.PCI.ISA.PMGA.LOKE) If (Arg0) { Store (Zero, \_SB.PCI.ISA.PMGA.DOKC) } Else { Store (One, \_SB.PCI.ISA.PMGA.DOKC) Store (One, \_SB.PCI.ISA.EC.BEJP) } } If (Arg0) { SSLC (Zero) Return (One) } Else { SSLC (One) Return (Zero) } } Method (_EJ0, 1, NotSerialized) { If (\_SB.PCI.ISA.EC.BEJP) { Store (One, \_SB.PCI.ISA.PMGA.UDOC) While (\_SB.PCI.ISA.PMGA.DOKS) { Sleep (0x01) } Store (Zero, \_SB.PCI.ISA.PMGA.UDOC) Store (Zero, \_SB.PCI.ISA.EC.BEJP) } \_SB.HKEY.MHKQ (0x4003) } Method (SSLC, 1, NotSerialized) { If (Arg0) { Store (One, \_SB.PCI.ISA.SIDE) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { \_SB.PCI.ISA.EC.SB1I (Zero) } If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F)) { Or (And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3), 0x04, \_SB.PCI.ISA.SIO.FDC.TDR) } \_SB.PCI.ISA.PMGA.SBAY (0x00) Store (One, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SISM (Zero) \_SB.PCI.ISA.EC.SLED (0x10, 0x00) } Else { \_SB.PCI.ISA.PMGA.SBAY (0x01) Store (Zero, \_SB.PCI.ISA.SIDE) If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80)) { \_SB.PCI.ISA.EC.SB1I (One) } If (LNot (\_SB.PCI.PWR.GI13)) { If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F)) { And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3, \_SB.PCI.ISA.SIO.FDC.TDR) } } \_SB.PCI.ISA.EC.SISM (One) Store (Zero, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SLED (0x10, 0x01) Sleep (0x03E8) } } Method (_INI, 0, NotSerialized) { If (\_SB.PCI.ISA.EC.GSST ()) { If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x01)) { \_SB.PCI.ISA.PMGA.SBAY (0x01) \_SB.PCI.ISA.EC.SISM (One) Store (Zero, \_SB.PCI.PWR.GO27) \_SB.PCI.ISA.EC.SLED (0x10, 0x01) } } } } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0010, 0x0010, 0x01, 0x10) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x0050, 0x0050, 0x01, 0x04) IO (Decode16, 0x0072, 0x0072, 0x01, 0x06) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0090, 0x0090, 0x01, 0x10) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x06) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x0100, 0x0100, 0x01, 0x40) IO (Decode16, 0x0140, 0x0140, 0x01, 0x10) IO (Decode16, 0x15EA, 0x15EA, 0x01, 0x06) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x10) }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x8A, PMMN) CreateWordField (RSRC, 0x8C, PMMX) And (^^^PWR.PMBA, 0xFFFFFFFE, PMMN) Store (PMMN, PMMX) CreateWordField (RSRC, 0x92, SMMN) CreateWordField (RSRC, 0x94, SMMX) And (^^^PWR.SBBA, 0xFFFFFFFE, SMMN) Store (SMMN, SMMX) Return (RSRC) } } Device (ROM) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000CFFFF, 0x00000000, 0x00010000, 0x00) }) } Method (_INI, 0, NotSerialized) { \_SB.PCI.ISA.SLCE._INI () } } Device (IDE) { Name (_ADR, 0x00060001) Name (_PSC, 0x00) OperationRegion (PCIC, PCI_Config, 0x00, 0x0100) Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), IOSE, 1, Offset (0x41), , 7, PIDE, 1, Offset (0x43), , 7, SIDE, 1 } Field (PCIC, DWordAcc, NoLock, Preserve) { Offset (0x04), R04, 32, Offset (0x20), R20, 32, Offset (0x40), R40, 32, R44, 32, R48, 32 } Name (PCMD, 0x00) Name (BMIB, 0x00) Name (IDET, 0x00) Name (SIDT, 0x00) Name (UDMA, 0x00) Name (CRSF, 0x00) Method (_INI, 0, NotSerialized) { Store (Zero, CRSF) Store (One, \_SB.PCI.IDE.SIDE) Store (Zero, \_SB.PCI.ISA.SIDE) \_SB.PHS (0x88) } Method (_PS0, 0, NotSerialized) { If (LEqual (_PSC, 0x03)) { If (LEqual (IOSE, Zero)) { Store (PCMD, R04) Store (BMIB, R20) } Store (IDET, R40) Store (SIDT, R44) Store (UDMA, R48) \_SB.PHS (0x89) } Store (Zero, CRSF) Store (Zero, _PSC) } Method (_PS3, 0, NotSerialized) { If (LAnd (LEqual (_PSC, Zero), LEqual (CRSF, Zero))) { Store (R04, PCMD) Store (R20, BMIB) Store (R40, IDET) Store (R44, SIDT) Store (R48, UDMA) Store (One, CRSF) } Store (0x03, _PSC) } Device (PRIM) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { If (PIDE) { Return (0x0F) } Else { Return (0x0D) } } Device (MAST) { Name (_ADR, 0x00) } Device (SLAV) { Name (_ADR, 0x01) } } Device (SECN) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { If (SIDE) { Return (0x0F) } Else { Return (0x0D) } } Device (MAST) { Name (_ADR, 0x00) Name (_EJD, "_SB_.PCI_.ISA_.SLCE") Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F)) { Store (\_SB.PCI.ISA.EC.GDID (), Local0) If (LNot (LEqual (Local0, 0x0F))) { Return (0x0F) } } Return (0x00) } } Device (SLAV) { Name (_ADR, 0x01) } } } Device (USB) { Name (_ADR, 0x00060002) Name (_PRW, Package (0x02) { 0x08, 0x01 }) } Device (PWR) { Name (_ADR, 0x00060003) OperationRegion (PMC, SystemIO, 0x00001000, 0x00000038) Field (PMC, DWordAcc, NoLock, Preserve) { Offset (0x10), , 4, THTE, 1, Offset (0x28), , 2, TPOL, 1, Offset (0x31), , 5, GI13, 1, Offset (0x37), , 3, GO27, 1 } OperationRegion (SMB, SystemIO, 0x00001040, 0x0000000C) Field (SMB, ByteAcc, NoLock, Preserve) { HSTS, 8, LVTS, 8, CTLR, 8, CMDR, 8, ADDR, 8, DAT0, 8, DAT1, 8 } OperationRegion (PCI, PCI_Config, 0x40, 0x60) Field (PCI, DWordAcc, NoLock, Preserve) { PMBA, 32, Offset (0x12), , 2, LPTM, 1, Offset (0x1F), , 7, LPTE, 1, Offset (0x23), , 1, LPTA, 2, Offset (0x50), SBBA, 32 } Mutex (SMMB, 0x00) Method (RE2R, 1, NotSerialized) { Acquire (SMMB, 0xFFFF) Store (Arg0, CMDR) Store (0x08, CTLR) Store (0x00, DAT0) Store (0xA3, ADDR) Store (0x48, CTLR) While (LNot (And (HSTS, 0x06, Local0))) { Stall (0x01) } Store (HSTS, HSTS) Release (SMMB) If (And (Local0, 0x04)) { Return (0xFF) } Else { Return (DAT0) } } } Device (MODM) { Name (_ADR, 0x00070000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } } Device (HKEY) { Name (_HID, EisaId ("IBM0068")) Name (_STA, 0x0F) Name (DHKC, 0x00) Name (DHKB, 0x01) Name (DHKF, 0x00) Mutex (XDHK, 0x00) Name (DHKW, 0x00) Name (DHKD, 0x00) Method (MHKC, 1, NotSerialized) { Store (Arg0, DHKC) } Method (MHKP, 0, NotSerialized) { Acquire (XDHK, 0xFFFF) Store (Zero, Local1) If (DHKW) { Store (DHKW, Local1) Store (Zero, DHKW) } Else { If (DHKD) { Store (DHKD, Local1) Store (Zero, DHKD) } } Release (XDHK) Return (Local1) } Method (MHKE, 1, NotSerialized) { Acquire (XDHK, 0xFFFF) Store (Arg0, DHKB) If (LEqual (DHKB, 0x00)) { Store (Zero, DHKW) Store (Zero, DHKD) Store (Zero, DHKF) } Release (XDHK) } Method (MHKQ, 1, NotSerialized) { Acquire (XDHK, 0xFFFF) If (DHKB) { If (DHKC) { If (LAnd (LNot (LLess (Arg0, 0x2000)), LLess (Arg0, 0x3000))) { If (DHKF) { Store (Zero, DHKF) Store (Arg0, DHKW) } } If (LAnd (LNot (LLess (Arg0, 0x4000)), LLess (Arg0, 0x5000))) { Store (Arg0, DHKD) } Notify (HKEY, 0x80) } } Release (XDHK) } Method (MHKF, 0, NotSerialized) { Acquire (XDHK, 0xFFFF) If (LEqual (DHKB, 0x00)) { If (DHKC) { Store (One, DHKF) } } Release (XDHK) } } } Name (SSLV, 0x00) Name (DOKS, 0x00) Name (SSST, 0x0F) Method (_WAK, 1, NotSerialized) { Store (0x00, \SSLV) Store (Zero, Local0) \_SB.PHS2 (0x8F, Or (Arg0, 0x80)) If (\_SB.PCI.ISA.EC.ACST ()) { Store (One, \_SB.PCI.ISA.PMGA.BREN) } Else { Store (Zero, \_SB.PCI.ISA.PMGA.BREN) } If (\_SB.PCI.ISA.EC.GSST ()) { If (LNot (\SSST)) { \_SB.PCI.ISA.SLCE.SSLC (Zero) Store (One, Local0) } } If (LNot (LEqual (\_SB.PCI.OAK._STA (), \DOKS))) { Store (One, Local0) } \_SB.PCI.OAK.SDCK (One) If (Local0) { Notify (\_SB.PCI, 0x01) } If (LEqual (Arg0, 0x04)) { Store (One, \_SB.PCI.IDE.SIDE) Store (Zero, \_SB.PCI.ISA.SIDE) Notify (\_SB.SLPB, 0x02) } If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03))) { \_SB.HKEY.MHKE (0x01) \_SB.HKEY.MHKQ (Or (ShiftLeft (Or (Arg0, 0x20), 0x08), 0x04)) } Return (Package (0x02) { 0x00, 0x00 }) } Method (_PTS, 1, NotSerialized) { Store (Arg0, \SSLV) If (LEqual (\_SB.PCI.IDE.CRSF, Zero)) { Store (\_SB.PCI.IDE.R04, \_SB.PCI.IDE.PCMD) Store (\_SB.PCI.IDE.R20, \_SB.PCI.IDE.BMIB) Store (\_SB.PCI.IDE.R40, \_SB.PCI.IDE.IDET) Store (\_SB.PCI.IDE.R44, \_SB.PCI.IDE.SIDT) Store (\_SB.PCI.IDE.R48, \_SB.PCI.IDE.UDMA) Store (One, \_SB.PCI.IDE.CRSF) } If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04)))) { Store (\_SB.PCI.OAK._STA (), \DOKS) Store (LNot (\_SB.PCI.ISA.PMGA.BAYP), \SSST) \_SB.PCI.ISA.EC.SLED (0x80, 0x03) If (LNot (LLess (Arg0, 0x03))) { \_SB.PCI.ISA.EC.SLED (0x01, 0x00) } } If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03))) { \_SB.HKEY.MHKE (0x00) } \_SB.PHS2 (0x8F, Arg0) } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Speak softly and carry a cellular phone. From owner-freebsd-acpi@FreeBSD.ORG Tue Jul 6 13:25:26 2004 Return-Path: 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 D706C16A4D2; Tue, 6 Jul 2004 13:25:25 +0000 (GMT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9921443D55; Tue, 6 Jul 2004 13:25:14 +0000 (GMT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2657.72) id <312YZ7QK>; Tue, 6 Jul 2004 09:25:13 -0400 Message-ID: From: Don Bowman To: 'Nate Lawson' , Don Bowman Date: Tue, 6 Jul 2004 09:25:11 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" cc: "'acpi@freebsd.org'" cc: "'current@freebsd.org'" cc: Alex Hoff Subject: RE: acpi interrupt storm when disabling, IPI hang X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2004 13:25:26 -0000 From: Nate Lawson [mailto:nate@root.org] > Don Bowman wrote: > > When i run 'acpiconf -d', i get an interrupt storm on irq9... > > vmstat -i shows ~1000/s. > > > > Jun 15 13:41:33 cdata kernel: Interrupt storm detected on > "irq9: acpi0"; > > throttling interrupt source > > > > when i try to re-enable, i get an error: > > > > # acpiconf -e > > acpi0: interrupt handler already installed > > ACPI-0210: *** Error: Unable to install System Control Interrupt > > Handler, AE_ALREADY_EXISTS > > acpiconf: enable failed: Device not configured > > # > > > > System is a Supermicro X5DPE motherboard, dual 2.8GHz Xeon, > > 533MHz FSB, Intel e7501 chipset. > > Some systems don't support legacy mode (acpi disabled). > Others support > legacy mode but don't support transition back to it after > acpi has been > enabled. > > In this case, it's likely the flags aren't set right for > AcpiEnableSubsystem. I'll look into it. > > > The system will not boot 5.x if acpi is disabled. > > It will run 4.x without trouble tho. > > What do you mean by "will not boot"? Hangs? Panics? More > info is needed. It hangs during allocating PnP ISA I think. I have someone who is looking into it now, a device ends up requesting -1 bytes. He will post more info this week. From owner-freebsd-acpi@FreeBSD.ORG Wed Jul 7 16:42:10 2004 Return-Path: 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 893C816A4CF for ; Wed, 7 Jul 2004 16:42:10 +0000 (GMT) Received: from ns1.interbgc.com (mail.interbgc.com [217.9.224.3]) by mx1.FreeBSD.org (Postfix) with SMTP id 8057143D53 for ; Wed, 7 Jul 2004 16:42:09 +0000 (GMT) (envelope-from nike_d@cytexbg.com) Received: (qmail 67091 invoked from network); 7 Jul 2004 16:42:08 -0000 Received: from nike_d@cytexbg.com by keeper.interbgc.com by uid 1002 with qmail-scanner-1.14 (uvscan: v4.1.60/v4335. spamassassin: 2.63. Clear:SA:0(-4.9/8.0):. Processed in 0.775171 secs); 07 Jul 2004 16:42:08 -0000 X-Spam-Status: No, hits=-4.9 required=8.0 Received: from 213-240-206-214.1697748.ddns.cablebg.net (HELO tormentor.totalterror.net) (213.240.206.214) by mail.interbgc.com with SMTP; 7 Jul 2004 16:42:07 -0000 Received: (qmail 47545 invoked from network); 7 Jul 2004 16:39:25 -0000 Received: from unknown (HELO phobos.totalterror.net) (10.0.0.2) by tormentor.totalterror.net with SMTP; 7 Jul 2004 16:39:25 -0000 References: <20040704204353.26b4496b.liamfoy@sepulcrum.org> <20040704.140429.37607877.imp@bsdimp.com> Message-ID: X-Mailer: http://www.courier-mta.org/cone/ From: Niki Denev To: acpi@freebsd.org, hackers@FreeBSD.ORG Date: Wed, 07 Jul 2004 19:42:35 +0300 Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=_mimegpg-phobos.totalterror.net-586-1089218555-0002"; micalg=pgp-sha1; protocol="application/pgp-signature" Subject: Re: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 16:42:10 -0000 This is a MIME GnuPG-signed message. If you see this text, it means that your E-mail or Usenet software does not support MIME signed messages. --=_mimegpg-phobos.totalterror.net-586-1089218555-0002 Content-Type: text/plain; format=flowed; charset="US-ASCII" Content-Disposition: inline Content-Transfer-Encoding: 7bit Niki Denev writes: > M. Warner Losh writes: > >> In message: <20040704204353.26b4496b.liamfoy@sepulcrum.org> >> "Liam J. Foy" writes: >> : Hey guys, >> : >> : Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) >> : we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one >> : of you guys please commit: >> : >> : --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 >> : +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 >> : @@ -106,7 +106,7 @@ >> : state respectively. >> : .It Fl t >> : Display the estimated remaining battery lifetime in seconds. If >> : -it is unknown, 255 is displayed. >> : +it is unknown, -1 is displayed. >> : .It Fl Z >> : Transition the system into standby mode. This mode uses less power than >> : full power mode, but more than suspend mode. Some laptops support >> : >> : ---- >> : >> : Another patch I would like you guys to review is this. Currently apm -t will output >> : 0 when it cannot find a valid rate or the full battery time(as the comment mentions). >> : I think it should return -1 (unknown) to reflect an error, which is stated in the man page. >> : It should not return 0 since we do not have 0 seconds left, we have an unknown value >> : remaining. Either that or the man page it edited. I believe the following patch should >> : be commited really. >> : >> : The patch is: >> : >> : --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 >> : +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 >> : @@ -536,7 +536,7 @@ >> : bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; >> : } else { >> : /* Couldn't find valid rate and full battery time */ >> : - bat[i]->min = 0; >> : + bat[i]->min = -1; >> : } >> : total_min += bat[i]->min; >> : total_cap += bat[i]->cap; >> >> I don't like this patch, since we use ->min later for math... >> >> Warner > > What about this ? > > --- sys/dev/acpica/acpi_cmbat.c.orig Mon Jul 5 15:15:28 2004 > +++ sys/dev/acpica/acpi_cmbat.c Mon Jul 5 16:37:02 2004 > @@ -655,7 +655,7 @@ > battinfo->state = ACPI_BATT_STAT_NOT_PRESENT; > } else { > battinfo->cap = sc->cap; > - battinfo->min = sc->min; > + battinfo->min = sc->min ? sc->min : -1; > battinfo->state = sc->bst.state; > } > > > > -- > Regards, > Niki So, is this Ok or not? :) I'm running with this for a few days... no probs... But also the only time that this is used probably is in apm(8) ? It seems to not affect the math with ->min, by maybe it is not the cleanest solution to this cosmetic problem? :) -- Cheers, Niki --=_mimegpg-phobos.totalterror.net-586-1089218555-0002 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQBA7Cf7HNAJ/fLbfrkRAsg5AKDHW+ce/8rWR51VSoIRg2egUmeh5wCcDJ7a IeY18nH/URxQv//rTmjHLG4= =ZAow -----END PGP SIGNATURE----- --=_mimegpg-phobos.totalterror.net-586-1089218555-0002-- From owner-freebsd-acpi@FreeBSD.ORG Wed Jul 7 16:58:06 2004 Return-Path: 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 3DE7E16A4FA; Wed, 7 Jul 2004 16:58:06 +0000 (GMT) Received: from moutvdomng.kundenserver.de (moutvdom.kundenserver.de [212.227.126.249]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CC3E43D2D; Wed, 7 Jul 2004 16:58:05 +0000 (GMT) (envelope-from liamfoy@sepulcrum.org) Received: from [212.227.126.224] (helo=mrvdomng.kundenserver.de) by moutvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BiFkB-0006bX-00; Wed, 07 Jul 2004 18:58:03 +0200 Received: from [217.43.131.144] (helo=liamfoy.ath.cx) by mrvdomng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BiFkB-0004rb-00; Wed, 07 Jul 2004 18:58:03 +0200 Date: Wed, 7 Jul 2004 17:56:22 +0100 From: "Liam J. Foy" To: Niki Denev Message-Id: <20040707175622.1d5c9e45.liamfoy@sepulcrum.org> In-Reply-To: References: <20040704204353.26b4496b.liamfoy@sepulcrum.org> <20040704.140429.37607877.imp@bsdimp.com> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: acpi@freebsd.org cc: hackers@FreeBSD.ORG Subject: Re: APM Patches X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 16:58:06 -0000 On Wed, 07 Jul 2004 19:42:35 +0300 Niki Denev wrote: > Niki Denev writes: > > > M. Warner Losh writes: > > > >> In message: <20040704204353.26b4496b.liamfoy@sepulcrum.org> > >> "Liam J. Foy" writes: > >> : Hey guys, > >> : > >> : Since it was decided (http://lists.freebsd.org/pipermail/freebsd-acpi/2004-June/000352.html) > >> : we are going to stick with apm -l producing -1 and not 255 which is stated in the handbook would one > >> : of you guys please commit: > >> : > >> : --- /usr/src/usr.sbin/apm/apm.8 Thu Jun 24 17:32:55 2004 > >> : +++ /liamfoy/apm.8 Thu Jun 24 17:32:27 2004 > >> : @@ -106,7 +106,7 @@ > >> : state respectively. > >> : .It Fl t > >> : Display the estimated remaining battery lifetime in seconds. If > >> : -it is unknown, 255 is displayed. > >> : +it is unknown, -1 is displayed. > >> : .It Fl Z > >> : Transition the system into standby mode. This mode uses less power than > >> : full power mode, but more than suspend mode. Some laptops support > >> : > >> : ---- > >> : > >> : Another patch I would like you guys to review is this. Currently apm -t will output > >> : 0 when it cannot find a valid rate or the full battery time(as the comment mentions). > >> : I think it should return -1 (unknown) to reflect an error, which is stated in the man page. > >> : It should not return 0 since we do not have 0 seconds left, we have an unknown value > >> : remaining. Either that or the man page it edited. I believe the following patch should > >> : be commited really. > >> : > >> : The patch is: > >> : > >> : --- /usr/src/sys/dev/acpica/acpi_cmbat.c Sun Jul 4 20:41:43 2004 > >> : +++ /home/liamfoy/acpi_cmbat.c Sun Jul 4 20:39:14 2004 > >> : @@ -536,7 +536,7 @@ > >> : bat[i]->min = (bat[i]->full_charge_time * bat[i]->cap) / 100; > >> : } else { > >> : /* Couldn't find valid rate and full battery time */ > >> : - bat[i]->min = 0; > >> : + bat[i]->min = -1; > >> : } > >> : total_min += bat[i]->min; > >> : total_cap += bat[i]->cap; > >> > >> I don't like this patch, since we use ->min later for math... > >> > >> Warner > > > > What about this ? > > > > --- sys/dev/acpica/acpi_cmbat.c.orig Mon Jul 5 15:15:28 2004 > > +++ sys/dev/acpica/acpi_cmbat.c Mon Jul 5 16:37:02 2004 > > @@ -655,7 +655,7 @@ > > battinfo->state = ACPI_BATT_STAT_NOT_PRESENT; > > } else { > > battinfo->cap = sc->cap; > > - battinfo->min = sc->min; > > + battinfo->min = sc->min ? sc->min : -1; > > battinfo->state = sc->bst.state; > > } > > > > > > > > -- > > Regards, > > Niki > > > So, is this Ok or not? :) > I'm running with this for a few days... no probs... > But also the only time that this is used probably is in apm(8) ? > It seems to not affect the math with ->min, by maybe it is not the cleanest > solution to this cosmetic problem? I personally like this patch. It does not effect the math and is much better than returning 0 which would indicate to the user he/she has not battery life left. I believe this should be changed. Depends on what the other guys think. > :) > > -- > Cheers, > Niki > > -- -Liam J. Foy http://liamfoy.kerneled.org "Love is like maths -- the idea is simple but can be quite complicated." From owner-freebsd-acpi@FreeBSD.ORG Thu Jul 8 13:21:27 2004 Return-Path: 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 D0E7716A4CE for ; Thu, 8 Jul 2004 13:21:27 +0000 (GMT) Received: from mtiwmhc13.worldnet.att.net (mtiwmhc13.worldnet.att.net [204.127.131.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 683D543D31 for ; Thu, 8 Jul 2004 13:21:24 +0000 (GMT) (envelope-from duanewinner@worldnet.att.net) Received: from [10.10.100.96] (unknown[216.113.237.20]) by worldnet.att.net (mtiwmhc13) with ESMTP id <2004070813211311300akjkge> (Authid: duanewinner); Thu, 8 Jul 2004 13:21:14 +0000 Message-ID: <40ED4A53.1000500@att.net> Date: Thu, 08 Jul 2004 09:21:23 -0400 From: Duane Winner User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7) Gecko/20040702 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-acpi@freebsd.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: "Arend P. van der Veen" Subject: newbie ACPI questions X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 13:21:27 -0000 Hi all. I'm just getting my feet wet with using basic ACPI functionality. Up until my FreeBSD release and/or hardware only supported APM, so that's all I have used until now. I have a Dell Precision 650n running RELEASE-5.2.1p9, and it seems that ACPI works as far as I can tell, but I'm not clear on how to use it correctly in all circumstances. My first problem was that I could not do a power off (halt -p or shutdown now -p) -- ACPI would tell me that it could not do it then I would have to hit the power button or a key on the keyboard to reboot. I solved this by adding "hw.acpi.disable_on_poweroff=0" to /etc/sysctl.conf. Now I can either type halt -p/shutdown now -p or just hit the power button on the Dell and FreeBSD will gracefully shutdown and power off. Now I'm trying to get my arms around suspend functionality, and I'm not so clear as to the best way of suspending. If I type 'zzz' (which appears to the equivelent of 'acpiconf -s 3'), the Dell does suspend, and the power button green LED blinks, which according the Dell manual, means the hardware thinks it is suspended. But I can't get it out of suspend. Pressing any key on the keyboard or mouse has no effect. If I press the power switch (which the Dell manual says should bring it out of suspend), then the system reboots. I have also tried 'acpiconf -s 1', which seems to work better than s3. I can bring the system out of suspend by hitting the power button. However, when in suspend, the screen does not go blank. I can still see whatever was on the console, plus some output from acpiconf: fwohci0: fwochi_pci_suspend 'acpiconf -s 1' also seems to work when I'm within X as well (using XFCE4). I can type 'acpiconf -s 1' from an xterm, and X will blank, return me to the console, and suspend. If I hit the power button (keyboard/mouse does not work), then I resume and X comes back to where it should be. I have also tried '-s 4', and that just shuts down the whole computer. I guess S1 would be fine for me suspending, but would S3 be better (if I can get it to resume correctly)? If S1 is all I can use, what can I do to blank the screen as well as suspend the system? Any feedback would be greatly appreciated. Following is info I thought would be pertainent. Thanks, Duane Winner duanewinner@att.net System: Dell Precision 650n (option in BIOS to set power mgmt to S1 or S3) FreeBSD: 5.2.1 p9 -su-2.05b# sysctl hw.acpi hw.acpi.supported_sleep_state: S1 S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S1 hw.acpi.lid_switch_state: S1 hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 5 hw.acpi.s4bios: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_poweroff: 0 hw.acpi.reset_video: 1 hw.acpi.cpu.cx_supported: C1/0 hw.acpi.cpu.cx_lowest: 0 hw.acpi.cpu.cx_history: 96654/0 From owner-freebsd-acpi@FreeBSD.ORG Thu Jul 8 19:19:33 2004 Return-Path: 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 0763416A4CE for ; Thu, 8 Jul 2004 19:19:33 +0000 (GMT) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4233E43D46 for ; Thu, 8 Jul 2004 19:19:32 +0000 (GMT) (envelope-from jkim@niksun.com) Received: from [10.70.0.244] (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.12.6p2/8.12.3) with ESMTP id i68JInRl092736 for ; Thu, 8 Jul 2004 15:18:49 -0400 (EDT) (envelope-from jkim@niksun.com) X-RAV-AntiVirus: This e-mail has been scanned for viruses. From: Jung-uk Kim Organization: Niksun, Inc. To: freebsd-acpi@freebsd.org Date: Thu, 8 Jul 2004 15:18:47 -0400 User-Agent: KMail/1.6.1 MIME-Version: 1.0 Content-Disposition: inline Content-Type: Multipart/Mixed; boundary="Boundary-00=_X4Z7AA8L3W5M4L4" Message-Id: <200407081518.47465.jkim@niksun.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Compaq R3000Z and ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 19:19:33 -0000 --Boundary-00=_X4Z7AA8L3W5M4L4 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline I have a Compaq Presario R3000Z laptop. I made it working but ACPI seems completely broken. http://www.freebsd.org/cgi/query-pr.cgi?pr=67745 http://docs.freebsd.org/cgi/mid.cgi?200407071823.41541.jkim When ACPI is enabled, keyboard controller port1 (0x60?) resource allocation fails (atkbdc_probe() from src/sys/isa/atkbdc_isa.c). I have no idea why Compaq/HP did this but the keyboard controller doesn't look standard (if there's such thing). Anyway, I need ACPI guru's opinion. Can anyone take a quick look at the attachments and give me any clue? Thanks, Jung-uk Kim --Boundary-00=_X4Z7AA8L3W5M4L4-- From owner-freebsd-acpi@FreeBSD.ORG Thu Jul 8 19:39:34 2004 Return-Path: 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 617E316A4CE for ; Thu, 8 Jul 2004 19:39:34 +0000 (GMT) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 62C8643D4C for ; Thu, 8 Jul 2004 19:39:32 +0000 (GMT) (envelope-from jkim@niksun.com) Received: from [10.70.0.244] (daemon.mj.niksun.com [10.70.0.244]) by anuket.mj.niksun.com (8.12.6p2/8.12.3) with ESMTP id i68JdVRl093281 for ; Thu, 8 Jul 2004 15:39:31 -0400 (EDT) (envelope-from jkim@niksun.com) X-RAV-AntiVirus: This e-mail has been scanned for viruses. From: Jung-uk Kim (by way of Jung-uk Kim ) Organization: Niksun, Inc. Date: Thu, 8 Jul 2004 15:39:28 -0400 User-Agent: KMail/1.6.1 To: freebsd-acpi@freebsd.org MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_wLa7Aa3t1mLIRsx" Message-Id: <200407081539.28959.jkim@niksun.com> Subject: Compaq R3000Z and ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 19:39:34 -0000 --Boundary-00=_wLa7Aa3t1mLIRsx Content-Type: text/plain; charset="euc-kr" Content-Transfer-Encoding: 7bit Content-Disposition: inline Today I wrote: > I have a Compaq Presario R3000Z laptop. I made it working but ACPI > seems completely broken. > > http://www.freebsd.org/cgi/query-pr.cgi?pr=67745 > http://docs.freebsd.org/cgi/mid.cgi?200407071823.41541.jkim > > When ACPI is enabled, keyboard controller port1 (0x60?) resource > allocation fails (atkbdc_probe() from src/sys/isa/atkbdc_isa.c). I > have no idea why Compaq/HP did this but the keyboard controller > doesn't look standard (if there's such thing). > > Anyway, I need ACPI guru's opinion. Can anyone take a quick look at > the attachments and give me any clue? I guess mailman cut the attachments. :-( Plain text now. Sorry, Jung-uk Kim --Boundary-00=_wLa7Aa3t1mLIRsx Content-Type: text/plain; charset="euc-kr"; name="dmesg.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dmesg.txt" ACPI set debug layer 'ACPI_BUS' level 'ACPI_LV_VERBOSE' Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.2-CURRENT #0: Thu Jul 8 11:25:32 EDT 2004 jkim@presario.mj.niksun.com:/usr/src/sys/amd64/compile/PRESARIO Preloaded elf kernel "/boot/kernel/kernel" at 0xffffffff80774000. Preloaded acpi_dsdt "/boot/r3000z.aml" at 0xffffffff80774250. ACPI APIC Table: Calibrating clock(s) ... i8254 clock: 1193173 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 797945756 Hz CPU: AMD Athlon(tm) 64 Processor 3200+ (797.95-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0xf4a Stepping = 10 Features=0x78bfbff AMD Features=0xe0500800 L1 2MB data TLB: 8 entries, fully associative L1 2MB instruction TLB: 8 entries, fully associative L1 4KB data TLB: 32 entries, fully associative L1 4KB instruction TLB: 32 entries, fully associative L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative L2 2MB unified TLB: 0 entries, disabled/not present L2 4KB data TLB: 512 entries, 4-way associative L2 4KB instruction TLB: 512 entries, 4-way associative L2 unified cache: 1024 kbytes, 64 bytes/line, 1 lines/tag, 16-way associative real memory = 536281088 (511 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x00000000007fa000 - 0x000000001f03bfff, 511975424 bytes (124994 pages) avail memory = 508063744 (484 MB) APIC: CPU 0 has ACPI ID 0 ACPI: DSDT was overridden. tbget-0374: *** Info: Table [DSDT] replaced by host OS MADT: Found IO APIC ID 2, Interrupt 0 at 0xfec00000 ioapic0: Changing APIC ID to 2 ioapic0: Routing external 8259A's -> intpin 0 ioapic0: intpin 0 -> ExtINT (edge, high) ioapic0: intpin 1 -> ISA IRQ 1 (edge, high) ioapic0: intpin 2 -> ISA IRQ 2 (edge, high) ioapic0: intpin 3 -> ISA IRQ 3 (edge, high) ioapic0: intpin 4 -> ISA IRQ 4 (edge, high) ioapic0: intpin 5 -> ISA IRQ 5 (edge, high) ioapic0: intpin 6 -> ISA IRQ 6 (edge, high) ioapic0: intpin 7 -> ISA IRQ 7 (edge, high) ioapic0: intpin 8 -> ISA IRQ 8 (edge, high) ioapic0: intpin 9 -> ISA IRQ 9 (edge, high) ioapic0: intpin 10 -> ISA IRQ 10 (edge, high) ioapic0: intpin 11 -> ISA IRQ 11 (edge, high) ioapic0: intpin 12 -> ISA IRQ 12 (edge, high) ioapic0: intpin 13 -> ISA IRQ 13 (edge, high) ioapic0: intpin 14 -> ISA IRQ 14 (edge, high) ioapic0: intpin 15 -> ISA IRQ 15 (edge, high) ioapic0: intpin 16 -> PCI IRQ 16 (level, low) ioapic0: intpin 17 -> PCI IRQ 17 (level, low) ioapic0: intpin 18 -> PCI IRQ 18 (level, low) ioapic0: intpin 19 -> PCI IRQ 19 (level, low) ioapic0: intpin 20 -> PCI IRQ 20 (level, low) ioapic0: intpin 21 -> PCI IRQ 21 (level, low) ioapic0: intpin 22 -> PCI IRQ 22 (level, low) ioapic0: intpin 23 -> PCI IRQ 23 (level, low) MADT: intr override: source 9, irq 9 ioapic0: intpin 9 trigger: level ioapic0: intpin 9 polarity: low MADT: intr override: source 0, irq 2 ioapic0: Routing IRQ 0 -> intpin 2 ioapic0: intpin 2 trigger: edge ioapic0: intpin 2 polarity: high lapic0: Routing NMI -> LINT1 lapic0: LINT1 trigger: edge lapic0: LINT1 polarity: active-high ioapic0 irqs 0-23 on motherboard cpu0 BSP: ID: 0x00000000 VER: 0x00040010 LDR: 0x01000000 DFR: 0x0fffffff lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff wlan: <802.11 Link Layer> null: mem: random: acpi0: on motherboard acpi0: [GIANT-LOCKED] pci_open(1): mode 1 addr port (0x0cf8) is 0x80001110 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=00d110de) AcpiOsDerivePciId: bus 0 dev 1 func 0 acpi0: Power Button (fixed) ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 ACPI timer looks GOOD min = 5, max = 6, width = 1 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) cpu0: port 0x530-0x537 on acpi0 mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) acpi_tz0: port 0x530-0x537 on acpi0 acpi_button0: on acpi0 acpi_lid0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 ACPI PCI link initial configuration: \\_SB_.PCI0.LSMB irq 0: [ 20 21 22] low,level,sharable 0.1.0 \\_SB_.PCI0.LUS0 irq 0: [ 20 21 22] low,level,sharable 0.2.0 \\_SB_.PCI0.LUS1 irq 0: [ 20 21 22] low,level,sharable 0.2.1 \\_SB_.PCI0.LUS2 irq 0: [ 20 21 22] low,level,sharable 0.2.2 \\_SB_.PCI0.LACI irq 0: [ 20 21 22] low,level,sharable 0.6.0 \\_SB_.PCI0.LMCI irq 0: [ 20 21 22] low,level,sharable 0.6.1 \\_SB_.PCI0.LPID irq 0: [ 20 21 22] low,level,sharable 0.8.0 \\_SB_.PCI0.LTID irq 0: [ 20 21 22] low,level,sharable 0.9.0 ACPI PCI link before setting link priority: \\_SB_.PCI0.LSMB: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LUS0: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LUS1: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LUS2: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LACI: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LMCI: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LPID: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 \\_SB_.PCI0.LTID: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 0 ACPI PCI link before fixup for boot-disabled links: \\_SB_.PCI0.LSMB: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LUS0: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LUS1: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LUS2: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LACI: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LMCI: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LPID: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 \\_SB_.PCI0.LTID: interrupts: 20 21 22 penalty: 80 80 80 references: 1 priority: 80 ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: \\_SB_.PCI0.LSMB irq 22: [ 20 21 22] low,level,sharable 0.1.0 \\_SB_.PCI0.LUS0 irq 21: [ 20 21 22] low,level,sharable 0.2.0 \\_SB_.PCI0.LUS1 irq 20: [ 20 21 22] low,level,sharable 0.2.1 \\_SB_.PCI0.LUS2 irq 22: [ 20 21 22] low,level,sharable 0.2.2 \\_SB_.PCI0.LACI irq 21: [ 20 21 22] low,level,sharable 0.6.0 \\_SB_.PCI0.LMCI irq 20: [ 20 21 22] low,level,sharable 0.6.1 \\_SB_.PCI0.LPID irq 22: [ 20 21 22] low,level,sharable 0.8.0 \\_SB_.PCI0.LTID irq 21: [ 20 21 22] low,level,sharable 0.9.0 pci0: on pcib0 pci0: physical bus=0 map[10]: type 3, range 32, base e8000000, size 27, enabled found-> vendor=0x10de, dev=0x00d1, revid=0xa4 bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0106, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x10de, dev=0x00d0, revid=0xa6 bus=0, slot=1, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x000f, statreg=0x00a0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[20]: type 4, range 32, base 00002040, size 6, enabled map[24]: type 4, range 32, base 00002000, size 6, enabled pcib0: matched entry for 0.1.INTA (src \\_SB_.PCI0.LSMB) pcib0: slot 1 INTA is routed to irq 22 found-> vendor=0x10de, dev=0x00d4, revid=0xa4 bus=0, slot=1, func=1 class=0c-05-00, hdrtype=0x00, mfdev=1 cmdreg=0x0001, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x03 (750 ns), maxlat=0x01 (250 ns) intpin=a, irq=22 powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base e0000000, size 12, enabled pcib0: matched entry for 0.2.INTA (src \\_SB_.PCI0.LUS0) pcib0: slot 2 INTA is routed to irq 21 found-> vendor=0x10de, dev=0x00d7, revid=0xa5 bus=0, slot=2, func=0 class=0c-03-10, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x03 (750 ns), maxlat=0x01 (250 ns) intpin=a, irq=21 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e0001000, size 12, enabled pcib0: matched entry for 0.2.INTB (src \\_SB_.PCI0.LUS1) pcib0: slot 2 INTB is routed to irq 20 found-> vendor=0x10de, dev=0x00d7, revid=0xa5 bus=0, slot=2, func=1 class=0c-03-10, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x03 (750 ns), maxlat=0x01 (250 ns) intpin=b, irq=20 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e0004000, size 8, enabled pcib0: matched entry for 0.2.INTC (src \\_SB_.PCI0.LUS2) pcib0: slot 2 INTC is routed to irq 22 found-> vendor=0x10de, dev=0x00d8, revid=0xa2 bus=0, slot=2, func=2 class=0c-03-20, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x03 (750 ns), maxlat=0x01 (250 ns) intpin=c, irq=22 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 00001400, size 8, enabled map[14]: type 4, range 32, base 00001c00, size 7, enabled map[18]: type 1, range 32, base e0002000, size 12, enabled pcib0: matched entry for 0.6.INTA (src \\_SB_.PCI0.LACI) pcib0: slot 6 INTA is routed to irq 21 found-> vendor=0x10de, dev=0x00da, revid=0xa2 bus=0, slot=6, func=0 class=04-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x05 (1250 ns) intpin=a, irq=21 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 00001800, size 8, enabled map[14]: type 4, range 32, base 00001c80, size 7, enabled map[18]: type 1, range 32, base e0003000, size 12, enabled pcib0: matched entry for 0.6.INTB (src \\_SB_.PCI0.LMCI) pcib0: slot 6 INTB is routed to irq 20 found-> vendor=0x10de, dev=0x00d9, revid=0xa2 bus=0, slot=6, func=1 class=07-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x02 (500 ns), maxlat=0x05 (1250 ns) intpin=b, irq=20 powerspec 2 supports D0 D3 current D0 map[20]: type 4, range 32, base 00002080, size 4, enabled found-> vendor=0x10de, dev=0x00d5, revid=0xa5 bus=0, slot=8, func=0 class=01-01-8a, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x00b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x03 (750 ns), maxlat=0x01 (250 ns) powerspec 2 supports D0 D3 current D0 found-> vendor=0x10de, dev=0x00dd, revid=0xa2 bus=0, slot=10, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x00a0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x02 (500 ns) found-> vendor=0x10de, dev=0x00d2, revid=0xa4 bus=0, slot=11, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0220, cachelnsz=0 (dwords) lattimer=0x10 (480 ns), mingnt=0x0f (3750 ns), maxlat=0x00 (0 ns) found-> vendor=0x1022, dev=0x1100, revid=0x00 bus=0, slot=24, func=0 class=06-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0000, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1022, dev=0x1101, revid=0x00 bus=0, slot=24, func=1 class=06-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1022, dev=0x1102, revid=0x00 bus=0, slot=24, func=2 class=06-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x1022, dev=0x1103, revid=0x00 bus=0, slot=24, func=3 class=06-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) WARNING: Unable to detach object data from \\_SB_.PCI0.USB0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.USB1 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.USB2 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.IDE0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.SMB0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.AUD0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.MODM - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.LPC0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.P2P0 - AE_NOT_FOUND WARNING: Unable to detach object data from \\_SB_.PCI0.AGP0 - AE_NOT_FOUND agp0: mem 0xe8000000-0xefffffff at device 0.0 on pci0 AMD64: 1 Misc. Control unit(s) found. agp0: Reserved 0x8000000 bytes for rid 0x10 type 3 at 0xe8000000 agp0: allocating GATT for aperture of size 128M isab0: at device 1.0 on pci0 isa0: on isab0 pci0: at device 1.1 (no driver attached) ohci0: mem 0xe0000000-0xe0000fff irq 21 at device 2.0 on pci0 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe0000000 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered ohci1: mem 0xe0001000-0xe0001fff irq 20 at device 2.1 on pci0 ohci1: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe0001000 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: on ohci1 usb1: USB revision 1.0 uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 3 ports with 3 removable, self powered pci0: at device 2.2 (no driver attached) pcm0: port 0x1c00-0x1c7f,0x1400-0x14ff mem 0xe0002000-0xe0002fff irq 21 at device 6.0 on pci0 pcm0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x1400 pcm0: Reserved 0x80 bytes for rid 0x14 type 4 at 0x1c00 pcm0: [GIANT-LOCKED] pcm0: pcm0: Codec features headphone, 20 bit DAC, 5 bit master volume, no 3D Stereo Enhancement pcm0: Primary codec extended features variable rate PCM, reserved 1, AMAP, reserved 4 pcm0: sndbuf_setmap a4b000, 4000; 0xffffffff94e34000 -> a4b000 pcm0: sndbuf_setmap a4f000, 4000; 0xffffffff94e38000 -> a4f000 pci0: at device 6.1 (no driver attached) atapci0: port 0x2080-0x208f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 8.0 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x2080 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1 ata0: at 0x1f0 irq 14 on atapci0 ata0: [MPSAFE] atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 ata1: reset tp1 mask=03 ostat0=50 ostat1=01 ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb ata1-slave: stat=0x01 err=0x04 lsb=0x00 msb=0x00 ata1: reset tp2 stat0=00 stat1=01 devices=0x4 ata1: at 0x170 irq 15 on atapci0 ata1: [MPSAFE] pcib1: at device 10.0 on pci0 pcib1: secondary bus 2 pcib1: subordinate bus 2 pcib1: I/O decode 0x3000-0x7fff pcib1: memory decode 0xe0100000-0xe17fffff pcib1: prefetched decode 0xfff00000-0xfffff ACPI PCI link initial configuration: \\_SB_.PCI0.LNK1 irq 0: [ 16 18 19] low,level,sharable 2.0.0 \\_SB_.PCI0.LNK2 irq 0: [ 16 18 19] low,level,sharable 2.1.0 \\_SB_.PCI0.LNK3 irq 0: [ 17] low,level,sharable 2.2.0 \\_SB_.PCI0.LNK1 irq 0: [ 16 18 19] low,level,sharable 2.4.0 \\_SB_.PCI0.LNK2 irq 0: [ 16 18 19] low,level,sharable 2.4.1 ACPI PCI link before setting link priority: \\_SB_.PCI0.LNK1: interrupts: 16 18 19 penalty: 440 440 440 references: 2 priority: 0 \\_SB_.PCI0.LNK2: interrupts: 16 18 19 penalty: 440 440 440 references: 2 priority: 0 \\_SB_.PCI0.LNK3: interrupts: 17 penalty: 110 references: 1 priority: 0 ACPI PCI link before fixup for boot-disabled links: \\_SB_.PCI0.LNK1: interrupts: 16 18 19 penalty: 440 440 440 references: 2 priority: 880 \\_SB_.PCI0.LNK2: interrupts: 16 18 19 penalty: 440 440 440 references: 2 priority: 880 \\_SB_.PCI0.LNK3: interrupts: 17 penalty: 110 references: 1 priority: 110 ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: \\_SB_.PCI0.LNK1 irq 19: [ 16 18 19] low,level,sharable 2.0.0 \\_SB_.PCI0.LNK2 irq 18: [ 16 18 19] low,level,sharable 2.1.0 \\_SB_.PCI0.LNK3 irq 17: [ 17] low,level,sharable 2.2.0 \\_SB_.PCI0.LNK1 irq 19: [ 16 18 19] low,level,sharable 2.4.0 \\_SB_.PCI0.LNK2 irq 18: [ 16 18 19] low,level,sharable 2.4.1 pci2: on pcib1 pci2: physical bus=2 map[10]: type 1, range 32, base e0108000, size 11, enabled pcib1: device (null) requested decoded memory range 0xe0108000-0xe01087ff map[14]: type 1, range 32, base e0100000, size 14, enabled pcib1: device (null) requested decoded memory range 0xe0100000-0xe0103fff pcib1: matched entry for 2.0.INTA (src \\_SB_.PCI0.LNK1) pcib1: slot 0 INTA is routed to irq 19 found-> vendor=0x104c, dev=0x8026, revid=0x00 bus=2, slot=0, func=0 class=0c-00-10, hdrtype=0x00, mfdev=0 cmdreg=0x0116, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=a, irq=19 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 00007000, size 8, enabled pcib1: device (null) requested decoded I/O range 0x7000-0x70ff map[14]: type 1, range 32, base e0108800, size 8, enabled pcib1: device (null) requested decoded memory range 0xe0108800-0xe01088ff pcib1: matched entry for 2.1.INTA (src \\_SB_.PCI0.LNK2) pcib1: slot 1 INTA is routed to irq 18 found-> vendor=0x10ec, dev=0x8139, revid=0x10 bus=2, slot=1, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0107, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x20 (8000 ns), maxlat=0x40 (16000 ns) intpin=a, irq=18 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e0104000, size 13, enabled pcib1: device (null) requested decoded memory range 0xe0104000-0xe0105fff pcib1: matched entry for 2.2.INTA (src \\_SB_.PCI0.LNK3) pcib1: slot 2 INTA is routed to irq 17 found-> vendor=0x14e4, dev=0x4320, revid=0x03 bus=2, slot=2, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0106, statreg=0x0000, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=17 map[10]: type 1, range 32, base e0106000, size 12, enabled pcib1: device (null) requested decoded memory range 0xe0106000-0xe0106fff pcib1: matched entry for 2.4.INTA (src \\_SB_.PCI0.LNK1) pcib1: slot 4 INTA is routed to irq 19 found-> vendor=0x104c, dev=0xac54, revid=0x01 bus=2, slot=4, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0107, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x40 (16000 ns), maxlat=0x03 (750 ns) intpin=a, irq=19 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e0107000, size 12, enabled pcib1: device (null) requested decoded memory range 0xe0107000-0xe0107fff pcib1: matched entry for 2.4.INTB (src \\_SB_.PCI0.LNK2) pcib1: slot 4 INTB is routed to irq 18 found-> vendor=0x104c, dev=0xac54, revid=0x01 bus=2, slot=4, func=1 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0103, statreg=0x0210, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x40 (16000 ns), maxlat=0x03 (750 ns) intpin=b, irq=18 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 4, range 32, base 00007400, size 6, enabled pcib1: device (null) requested decoded I/O range 0x7400-0x743f found-> vendor=0x104c, dev=0x8201, revid=0x01 bus=2, slot=4, func=2 class=08-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0107, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x40 (1920 ns), mingnt=0x07 (1750 ns), maxlat=0x04 (1000 ns) powerspec 2 supports D0 D3 current D0 WARNING: Unable to detach object data from \\_SB_.PCI0.P2P0.MAC0 - AE_NOT_FOUND fwohci0: vendor=104c, dev=8026 fwohci0: <1394 Open Host Controller Interface> mem 0xe0100000-0xe0103fff,0xe0108000-0xe01087ff irq 19 at device 0.0 on pci2 fwohci0: latency timer 64 -> 64. fwohci0: cache size 16 -> 16. fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xe0108000 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 46:3f:02:00:46:3f:02:00 fwohci0: resetting OHCI...done (loop=0) fwohci0: fwphy_rddata: 0x2 loop=0, retry=0 fwohci0: fwphy_rddata: 0x3 loop=0, retry=0 fwohci0: Phy 1394a available S400, 1 ports. fwohci0: fwphy_rddata: 0x5 loop=0, retry=0 fwohci0: Enable 1394a Enhancements fwohci0: fwphy_rddata: 0x5 loop=0, retry=0 fwohci0: fwphy_rddata: 0x2 loop=0, retry=0 fwohci0: fwphy_rddata: 0x4 loop=0, retry=0 fwohci0: fwphy_rddata: 0x4 loop=0, retry=0 fwohci0: fwphy_rddata: 0x4 loop=0, retry=0 fwohci0: Link S400, max_rec 2048 bytes. fwohci0: BUS_OPT 0xa002 -> 0xf800a002 fwohci0: fwohci_set_intr: 1 firewire0: on fwohci0 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 46:3f:02:3f:02:00 fwe0: bpf attached fwe0: Ethernet address: 46:3f:02:3f:02:00 sbp0: on firewire0 sbp_attach (cold=1) sbp_post_busreset fwohci0: Initiate bus reset fwohci0: fwphy_rddata: 0x1 loop=0, retry=0 fwohci0: fwphy_rddata: 0x1 loop=0, retry=0 fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) fwohci0: fw_set_bus_manager: 0->0 (loop=0) firewire0: bus manager 0 (me) send phy_config root_node=-1 gap_count=5 fwohci0: maxdesc: 2 fwohci0: start AT DMA status=0 rl0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x7000 rl0: port 0x7000-0x70ff mem 0xe0108800-0xe01088ff irq 18 at device 1.0 on pci2 pcib1: device rl0 requested decoded I/O range 0x7000-0x70ff miibus0: on rl0 rlphy0: on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl0: bpf attached rl0: Ethernet address: 00:0f:b0:01:8c:4c rl0: [GIANT-LOCKED] pci2: at device 2.0 (no driver attached) cbb0: mem 0xe0106000-0xe0106fff irq 19 at device 4.0 on pci2 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe0106000 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] cbb0: PCI Configuration space: 0x00: 0xac54104c 0x02100107 0x06070001 0x00824008 0x10: 0xe0106000 0x020000a0 0x40040302 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07400113 0x40: 0x006d103c 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x08449061 0x10000019 0x00020015 0x01111d22 0x90: 0x606402c0 0x00000000 0x00000000 0x00000000 0xa0: 0xfe120001 0x00c00000 0x00000000 0x00000000 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 cbb1: mem 0xe0107000-0xe0107fff irq 18 at device 4.1 on pci2 cbb1: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe0107000 cardbus1: on cbb1 pccard1: <16-bit PCCard bus> on cbb1 cbb1: [MPSAFE] cbb1: PCI Configuration space: 0x00: 0xac54104c 0x02100107 0x06070001 0x00824008 0x10: 0xe0107000 0x020000a0 0x40060502 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07400212 0x40: 0x006d103c 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x08449161 0x10000019 0x00020015 0x01111d22 0x90: 0x606402c0 0x00000000 0x00000000 0x00000000 0xa0: 0xfe120001 0x00c00000 0x00000000 0x00000000 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 pci2: at device 4.2 (no driver attached) pcib2: at device 11.0 on pci0 pcib2: secondary bus 1 pcib2: subordinate bus 1 pcib2: I/O decode 0xf000-0xfff pcib2: memory decode 0xe2000000-0xe2ffffff pcib2: prefetched decode 0xf0000000-0xf80fffff ACPI PCI link initial configuration: \\_SB_.PCI0.LNK5 irq 0: [ 16 18 19] low,level,sharable 1.0.0 ACPI PCI link before setting link priority: \\_SB_.PCI0.LNK5: interrupts: 16 18 19 penalty: 550 750 750 references: 1 priority: 0 ACPI PCI link before fixup for boot-disabled links: \\_SB_.PCI0.LNK5: interrupts: 16 18 19 penalty: 550 750 750 references: 1 priority: 683 ACPI PCI link after fixup for boot-disabled links: ACPI PCI link arbitrated configuration: \\_SB_.PCI0.LNK5 irq 16: [ 16 18 19] low,level,sharable 1.0.0 pci1: on pcib2 pci1: physical bus=1 map[10]: type 1, range 32, base e2000000, size 24, enabled pcib2: device (null) requested decoded memory range 0xe2000000-0xe2ffffff map[14]: type 3, range 32, base f0000000, size 27, enabled pcib2: device (null) requested decoded memory range 0xf0000000-0xf7ffffff map[18]: type 3, range 32, base f8000000, size 19, enabled pcib2: device (null) requested decoded memory range 0xf8000000-0xf807ffff pcib2: matched entry for 1.0.INTA (src \\_SB_.PCI0.LNK5) pcib2: slot 0 INTA is routed to irq 16 found-> vendor=0x10de, dev=0x0179, revid=0xa3 bus=1, slot=0, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x05 (1250 ns), maxlat=0x01 (250 ns) intpin=a, irq=16 powerspec 2 supports D0 D3 current D0 WARNING: Unable to detach object data from \\_SB_.PCI0.AGP0.VGA_ - AE_NOT_FOUND pci1: at device 0.0 (no driver attached) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) acpi_acad0: on acpi0 AcpiOsDerivePciId: bus 0 dev 1 func 0 AcpiOsDerivePciId: bus 0 dev 1 func 0 AcpiOsDerivePciId: bus 0 dev 1 func 0 AcpiOsDerivePciId: bus 0 dev 1 func 1 AcpiOsDerivePciId: bus 0 dev 1 func 1 AcpiOsDerivePciId: bus 0 dev 1 func 0 acpi_ec0: port 0x66,0x62 on acpi0 acpi_ec0: info: new max delay is 90 us acpi_ec0: info: new max delay is 430 us acpi_ec0: info: new max delay is 11000 us acpi_cmbat0: on acpi0 psmcpnp0 irq 12 on acpi0 fdc0: port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 ppc0: using extended I/O port range ppc0: ECP SPP ECP+EPP SPP ppc0 port 0x778-0x77b,0x378-0x37f irq 7 drq 1 on acpi0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold ppbus0: on ppc0 lpt0: on ppbus0 lpt0: Interrupt-driven port mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) mss_probe: no address given, try 0x530 mss_detect, busy still set (0xff) acpi_timer0: <24-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0 mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) unknown: not probed (disabled) unknown: not probed (disabled) unknown: not probed (disabled) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) mss_detect, busy still set (0xff) fdc: fdc0 already exists; skipping it ppc: ppc0 already exists; skipping it Trying Read_Port at 203 Trying Read_Port at 243 Trying Read_Port at 283 Trying Read_Port at 2c3 Trying Read_Port at 303 Trying Read_Port at 343 Trying Read_Port at 383 Trying Read_Port at 3c3 sc: sc0 already exists; skipping it vga: vga0 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: at iomem 0xd4000-0xd4fff,0xd0000-0xd3fff on isa0 atkbdc0: failed to probe at port 0x64,0x60 on isa0 pcic0 failed to probe at port 0x3e0 iomem 0xd0000 on isa0 pcic1: not probed (disabled) atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd0, terminal emulator: sc (syscons terminal) sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: irq maps: 0xe81 0xe81 0xe81 0xe81 sio0: probe failed test(s): 0 1 2 4 6 7 9 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 8250 or not responding sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: irq maps: 0xe81 0xe81 0xe81 0xe81 sio1: probe failed test(s): 0 1 2 4 6 7 9 sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0 sio2: not probed (disabled) sio3: not probed (disabled) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xffffffff800b8000 size:32k gran:32k, buf:0 size:32k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 54 80 bf 1f 00 4f 0e 0f 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 EGA/VGA parameters to be used for mode 24 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 54 80 bf 1f 00 4f 0e 0f 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff isa_probe_children: probing PnP devices Device configuration finished. procfs registered Timecounter "TSC" frequency 797945756 Hz quality 800 Timecounters tick every 0.976 msec lo0: bpf attached Interrupt storm detected on "irq21: pcm0 ohci0"; throttling interrupt source Current DB 0 ch = 0 Current OP KEY INT BR len Addr Depend Stat: Cnt 1eafb000 OUTL ST2 ALL ALL 12 00000000 1eafb080 8411:0008 RUN,ACTIVE, ack complete(11) 0x000000e0 0x00450000 0xffbaffff 0x00000000 acpi_acad0: acline initialization start acpi_acad0: On Line acpi_acad0: acline initialization done, tried 1 times acpi_cmbat0: battery initialization start ata0-master: pio=0x0c wdma=0x22 udma=0x45 cable=80pin ata0-master: setting PIO4 on nVidia nForce3 chip ata0-master: setting UDMA100 on nVidia nForce3 chip ad0: ATA-6 disk at ata0-master ad0: 57231MB (117210240 sectors), 116280 C, 16 H, 63 S, 512 B ad0: 16 secs/int, 1 depth queue, UDMA100 GEOM: new disk ad0 ata1-master: pio=0x0c wdma=0x22 udma=0xffffffff cable=40pin ata1-master: setting PIO4 on nVidia nForce3 chip acd0: CDRW drive at ata1 as master acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 1658KB buffer, PIO4 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet acd0: Writes: CDR, CDRW, test write acd0: Audio: play, 256 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: no/blank disc pcm0: measured ac97 link rate at 47997 Hz, will use 48000 Hz bus_explore done sbp_post_explore (sbp_cold=2) acpi_cmbat0: battery initialization done, tried 1 times [0] f:00 typ:7 s(CHS):0/1/1 e(CHS):1023/254/63 s:63 l:19534977 [1] f:00 typ:165 s(CHS):1023/255/63 e(CHS):1023/254/63 s:19535040 l:90108585 [2] f:80 typ:165 s(CHS):1023/255/63 e(CHS):1023/254/63 s:109643625 l:7566615 [3] f:00 typ:0 s(CHS):0/0/0 e(CHS):0/0/0 s:0 l:0 GEOM: Configure ad0s1, start 32256 length 10001908224 end 10001940479 GEOM: Configure ad0s2, start 10001940480 length 46135595520 end 56137535999 GEOM: Configure ad0s3, start 56137536000 length 3874106880 end 60011642879 GEOM: Configure ad0s2a, start 0 length 268435456 end 268435455 GEOM: Configure ad0s2b, start 268435456 length 2097152000 end 2365587455 GEOM: Configure ad0s2c, start 0 length 46135595520 end 46135595519 GEOM: Configure ad0s2e, start 2365587456 length 536870912 end 2902458367 GEOM: Configure ad0s2f, start 2902458368 length 268435456 end 3170893823 GEOM: Configure ad0s2g, start 3170893824 length 10485760000 end 13656653823 GEOM: Configure ad0s2h, start 13656653824 length 32478941696 end 46135595519 GEOM: Configure ad0s3a, start 0 length 268435456 end 268435455 GEOM: Configure ad0s3c, start 0 length 3874106880 end 3874106879 GEOM: Configure ad0s3d, start 268435456 length 536870912 end 805306367 GEOM: Configure ad0s3e, start 805306368 length 3068800512 end 3874106879 (probe0:ata0:0:0:0): error 22 (probe0:ata0:0:0:0): Unretryable Error (probe3:ata1:0:1:0): error 22 (probe3:ata1:0:1:0): Unretryable Error (probe0:ata0:0:0:0): error 22 (probe0:ata0:0:0:0): Unretryable Error (probe3:ata1:0:1:0): error 22 (probe3:ata1:0:1:0): Unretryable Error (probe1:ata0:0:1:0): error 22 (probe1:ata0:0:1:0): Unretryable Error (probe1:ata0:0:1:0): error 22 (probe1:ata0:0:1:0): Unretryable Error (probe2:ata1:0:0:0): error 22 (probe2:ata1:0:0:0): Unretryable Error (probe2:ata1:0:0:0): error 6 (probe2:ata1:0:0:0): Unretryable Error (probe2:ata1:0:0:0): error 22 (probe2:ata1:0:0:0): Unretryable Error (probe6:sbp0:0:2:0): error 22 (probe6:sbp0:0:2:0): Unretryable Error (probe10:sbp0:0:6:0): error 22 (probe10:sbp0:0:6:0): Unretryable Error (probe4:sbp0:0:0:0): error 22 (probe4:sbp0:0:0:0): Unretryable Error (probe7:sbp0:0:3:0): error 22 (probe7:sbp0:0:3:0): Unretryable Error (probe8:sbp0:0:4:0): error 22 (probe8:sbp0:0:4:0): Unretryable Error (probe5:sbp0:0:1:0): error 22 (probe5:sbp0:0:1:0): Unretryable Error (probe9:sbp0:0:5:0): error 22 (probe9:sbp0:0:5:0): Unretryable Error pass0 at ata1 bus 0 target 0 lun 0 pass0: Removable CD-ROM SCSI-0 device pass0: 16.000MB/s transfers GEOM: new disk cd0 ioapic0: routing intpin 4 (ISA IRQ 4) to cluster 0 ioapic0: routing intpin 6 (ISA IRQ 6) to cluster 0 ioapic0: routing intpin 7 (ISA IRQ 7) to cluster 0 ioapic0: routing intpin 8 (ISA IRQ 8) to cluster 0 ioapic0: routing intpin 9 (ISA IRQ 9) to cluster 0 ioapic0: routing intpin 14 (ISA IRQ 14) to cluster 0 ioapic0: routing intpin 15 (ISA IRQ 15) to cluster 0 ioapic0: routing intpin 18 (PCI IRQ 18) to cluster 0 ioapic0: routing intpin 19 (PCI IRQ 19) to cluster 0 ioapic0: routing intpin 20 (PCI IRQ 20) to cluster 0 ioapic0: routing intpin 21 (PCI IRQ 21) to cluster 0 (cd0:ata1:0:0:0): error 6 (cd0:ata1:0:0:0): Unretryable Error cd0 at ata1 bus 0 target 0 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present (cd0:ata1:0:0:0): error 6 (cd0:ata1:0:0:0): Unretryable Error (cd0:ata1:0:0:0): error 6 (cd0:ata1:0:0:0): Unretryable Error (cd0:ata1:0:0:0): error 6 (cd0:ata1:0:0:0): Unretryable Error Mounting root from ufs:/dev/ad0s3a start_init: trying /sbin/init --Boundary-00=_wLa7Aa3t1mLIRsx Content-Type: text/plain; charset="euc-kr"; name="r3000z.asl" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="r3000z.asl" /* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x1ff7a87e, cksum=253 */ /* RSDT: Length=52, Revision=1, Checksum=122, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x1ff7ee13, 0x1ff7ee87, 0x1ff7eee1, 0x1ff7ef09 } */ /* FACP: Length=116, Revision=1, Checksum=128, OEMID=NVIDIA, OEM Table ID=CK8, OEM Revision=0x6040000, Creator ID=PTL_, Creator Revision=0xf4240 FACS=0x1ff7ffc0, DSDT=0x1ff7a8b2 INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0x842e, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_CNT_BLK=0x801c-0x801c PM_TMR_BLK=0x8008-0x800b GPE0_BLK=0x8020-0x8027 GPE1_BLK=0x84a0-0x84af, GPE1_BASE=32 P_LVL2_LAT=5 us, P_LVL3_LAT=65535 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=125, MON_ALRM=126, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=17761, Revision=1, Checksum=51, OEMID=NVIDIA, OEM Table ID=CK8, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000e */ /* APIC: Length=90, Revision=1, Checksum=52, OEMID=NVIDIA, OEM Table ID=NV_APIC_, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=0 Flags={ENABLED} APIC ID=0 Type=IO APIC APIC ID=2 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-lo, Trigger=level} Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=Local NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* BOOT: Length=40, Revision=1, Checksum=164, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* SSDT: Length=247, Revision=1, Checksum=150, OEMID=PTLTD, OEM Table ID=POWERNOW, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20040514 * * Disassembly of /tmp/acpidump.FUUkjw, Mon Jul 5 02:12:03 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "NVIDIA", "CK8", 100925440) { OperationRegion (MNVS, SystemMemory, 0x1FF7FFAC, 0x10) Field (MNVS, AnyAcc, Lock, Preserve) { OSYS, 16, CMAP, 8, CMBP, 8, FDCP, 8, LPTP, 8, BTEN, 8, THRT, 8 } Name (\_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (\_S3, Package (0x04) { 0x05, 0x05, 0x00, 0x00 }) Name (\_S4, Package (0x04) { 0x06, 0x06, 0x00, 0x00 }) Name (\_S5, Package (0x04) { 0x07, 0x07, 0x00, 0x00 }) Name (SX, 0x00) Name (OSSD, 0x00) Method (\_PTS, 1, NotSerialized) { Store (0x00, \_SB.PCI0.LPC0.EC0.THEN) Store (Arg0, DBUG) If (LGreater (Arg0, 0x02)) { \_SB.PCI0.LPC0.PHSS (0x80) } If (LEqual (Arg0, 0x04)) { If (\_SB.PCI0.LPC0.EC0.ECOK) { Store (0x01, \_SB.PCI0.LPC0.EC0.S4S) } } } Method (\_WAK, 1, NotSerialized) { Store (Arg0, DBUG) If (LEqual (Arg0, 0x04)) { Notify (\_SB.PWRB, 0x02) } Return (Package (0x02) { 0x00, 0x00 }) } Scope (\_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } Name (ECDY, 0x00) Scope (_GPE) { Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) } Method (_L07, 0, NotSerialized) { Notify (\_SB.PCI0.MODM, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) } Method (_L22, 0, NotSerialized) { Store (0x01, \_SB.PCI0.LPC0.LPOR) XOr (\_SB.PCI0.LPC0.INVT, 0x01, \_SB.PCI0.LPC0.INVT) Notify (\_SB.LID, 0x80) } } Scope (\_SB) { Device (WMID) { Name (_HID, "PNP0C14") Name (_UID, 0x00) Name (WDG, Buffer (0x14) { 0xD4, 0x2B, 0x99, 0xD0, 0x7C, 0xA4, 0xFE, 0x4E, 0xB0, 0x72, 0x32, 0x4A, 0xEC, 0x92, 0x29, 0x6C, 0x42, 0x43, 0x01, 0x00 }) Method (WQBC, 1, NotSerialized) { Store ("=====QUERY_WQBC=====", Debug) \_SB.PCI0.LPC0.PHSS (0x0C) Store (\_SB.PCI0.LPC0.INF, Local0) Return (Local0) } Method (WSBC, 2, NotSerialized) { Store ("=====QUERY_WSBC=====", Debug) Store (DerefOf (Index (Arg1, 0x00)), Local0) If (LEqual (Local0, 0x01)) { \_SB.PCI0.AGP0.VGA.STBL (0x01) } If (LEqual (Local0, 0x02)) { \_SB.PCI0.AGP0.VGA.STBL (0x02) } If (LEqual (Local0, 0x03)) { \_SB.PCI0.AGP0.VGA.STBL (0x03) } If (LEqual (Local0, 0x04)) { \_SB.PCI0.AGP0.VGA.STBL (0x04) } If (LEqual (Local0, 0x05)) { \_SB.PCI0.AGP0.VGA.STBL (0x05) } If (LEqual (Local0, 0x06)) { \_SB.PCI0.AGP0.VGA.STBL (0x06) } } } Scope (\_SB) { Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0x1FF7FF3C, 0x00000001) Field (OSTY, AnyAcc, NoLock, Preserve) { TPOS, 8 } Method (OSTP, 0, NotSerialized) { If (LEqual (^OSTB, Ones)) { If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Windows 2001.1")) { Store (0x20, ^OSTB) Store (0x20, ^TPOS) } Else { If (\_OSI ("Windows 2001 SP1")) { Store (0x10, ^OSTB) Store (0x10, ^TPOS) } Else { If (\_OSI ("Windows 2001")) { Store (0x08, ^OSTB) Store (0x08, ^TPOS) } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { If (CondRefOf (\_OS, Local0)) { If (^SEQL (\_OS, "Microsoft Windows")) { Store (0x01, ^OSTB) Store (0x01, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, ^OSTB) Store (0x02, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft Windows NT")) { Store (0x04, ^OSTB) Store (0x04, ^TPOS) } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } Return (^OSTB) } Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNot (LEqual (Local0, Local1))) { Return (Zero) } Name (BUF0, Buffer (Local0) {}) Store (Arg0, BUF0) Name (BUF1, Buffer (Local0) {}) Store (Arg1, BUF1) Store (Zero, Local2) While (LLess (Local2, Local0)) { Store (DerefOf (Index (BUF0, Local2)), Local3) Store (DerefOf (Index (BUF1, Local2)), Local4) If (LNot (LEqual (Local3, Local4))) { Return (Zero) } Increment (Local2) } Return (One) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (\_SB.PCI0.LPC0.EC0.ECOK) { If (\_SB.PCI0.LPC0.EC0.LIDA) { Return (0x00) } Else { Return (0x01) } } Else { Return (0x01) } } } Device (PCI0) { Name (_ADR, 0x00) Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0x01) Name (_BBN, 0x00) Method (_INI, 0, NotSerialized) { } Scope (\_SB) { OperationRegion (ASLD, SystemMemory, 0x1FF7FDAC, 0x00000100) Field (ASLD, AnyAcc, NoLock, Preserve) { TOM, 32 } } Method (_CRS, 0, NotSerialized) { Name (CBUF, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000DFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00100000, 0xFEBFFFFF, 0x00000000, 0xFFF00000) }) CreateDWordField (CBUF, 0x76, PMMN) CreateDWordField (CBUF, 0x82, PMLN) Multiply (\_SB.TOM, 0x00100000, PMMN) Subtract (0xFEC00000, PMMN, PMLN) Return (CBUF) } Name (_PRT, Package (0x08) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LSMB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LUS0, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI0.LUS1, 0x00 }, Package (0x04) { 0x0002FFFF, 0x02, \_SB.PCI0.LUS2, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.LACI, 0x00 }, Package (0x04) { 0x0006FFFF, 0x01, \_SB.PCI0.LMCI, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.LPID, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LTID, 0x00 } }) Device (USB0) { Name (_ADR, 0x00020000) Method (_S1D, 0, NotSerialized) { Return (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (USB1) { Name (_ADR, 0x00020001) Method (_S1D, 0, NotSerialized) { Return (0x01) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) } Device (USB2) { Name (_ADR, 0x00020002) Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (IDE0) { Name (SID4, 0x00) Name (SID5, 0x00) Name (SFLG, 0x00) Name (SID0, 0x00) Name (SID1, 0x00) Name (SID2, 0x00) Name (SID3, 0x00) Name (_ADR, 0x00080000) OperationRegion (A090, PCI_Config, 0x50, 0x18) Field (A090, DWordAcc, NoLock, Preserve) { ID20, 16, Offset (0x08), IDTS, 16, IDTP, 16, ID22, 32, UMSS, 16, UMSP, 16 } Name (IDEP, Buffer (0x14) {}) Name (IDES, Buffer (0x14) {}) Method (GTM, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (IDTP, Local0) Store (UMSP, Local1) Store (IDEP, Local2) } Else { Store (IDTS, Local0) Store (UMSS, Local1) Store (IDES, Local2) } CreateDWordField (Local2, 0x00, PIO0) CreateDWordField (Local2, 0x04, DMA0) CreateDWordField (Local2, 0x08, PIO1) CreateDWordField (Local2, 0x0C, DMA1) CreateDWordField (Local2, 0x10, FLAG) Store (0x10, FLAG) And (Local0, 0x0F00, Local3) And (Local0, 0xF000, Local4) ShiftRight (Local3, 0x08, Local3) ShiftRight (Local4, 0x0C, Local4) Add (Local3, Local4, Local3) Multiply (Add (Local3, 0x02), 0x1E, PIO0) If (LNot (LGreater (PIO0, 0xB4))) { Or (FLAG, 0x02, FLAG) } If (And (Local1, 0x4000)) { Or (FLAG, 0x01, FLAG) And (Local1, 0x0700, Local3) ShiftRight (Local3, 0x08, Local3) Store (U2T (Local3), DMA0) } Else { Store (PIO0, DMA0) } And (Local0, 0x0F, Local3) And (Local0, 0xF0, Local4) ShiftRight (Local4, 0x04, Local4) Add (Local3, Local4, Local3) Multiply (Add (Local3, 0x02), 0x1E, PIO1) If (LNot (LGreater (PIO1, 0xB4))) { Or (FLAG, 0x08, FLAG) } If (And (Local1, 0x40)) { Or (FLAG, 0x04, FLAG) And (Local1, 0x07, Local3) Store (U2T (Local3), DMA1) } Else { Store (PIO1, DMA1) } If (LEqual (Arg0, 0x00)) { Store (Local2, IDEP) Return (IDEP) } Else { Store (Local2, IDES) Return (IDES) } } Method (U2T, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (0x3C) } If (LEqual (Arg0, 0x01)) { Return (0x5A) } If (LEqual (Arg0, 0x02)) { Return (0x78) } If (LEqual (Arg0, 0x03)) { Return (0x96) } If (LEqual (Arg0, 0x04)) { Return (0x2D) } If (LEqual (Arg0, 0x05)) { Return (0x1E) } If (LEqual (Arg0, 0x06)) { Return (0x14) } Return (0x0F) } Method (T2U, 1, NotSerialized) { If (LGreater (Arg0, 0x78)) { Return (0x03) } If (LGreater (Arg0, 0x5A)) { Return (0x02) } If (LGreater (Arg0, 0x3C)) { Return (0x01) } If (LGreater (Arg0, 0x2D)) { Return (0x00) } If (LGreater (Arg0, 0x1E)) { Return (0x04) } If (LGreater (Arg0, 0x14)) { Return (0x05) } If (LGreater (Arg0, 0x0F)) { Return (0x06) } Return (0x07) } Method (T2D, 1, NotSerialized) { If (LGreater (Arg0, 0x01E0)) { Return (0xA8) } If (LGreater (Arg0, 0x0186)) { Return (0x77) } If (LGreater (Arg0, 0xF0)) { Return (0x47) } If (LGreater (Arg0, 0xB4)) { Return (0x33) } If (LGreater (Arg0, 0x96)) { Return (0x22) } If (LGreater (Arg0, 0x78)) { Return (0x21) } Return (0x20) } Method (STM, 4, NotSerialized) { If (SX) { Store (SID0, ID20) Store (SID1, IDTS) Store (SID2, IDTP) Store (SID3, ID22) Store (SID4, UMSS) Store (SID5, UMSP) } Else { Store (ID20, SID0) Store (IDTS, SID1) Store (IDTP, SID2) Store (ID22, SID3) Store (UMSS, SID4) Store (UMSP, SID5) } Store (0x00, SX) CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (Arg3, 0x00)) { Store (SID2, Local0) Store (SID5, Local1) } Else { Store (SID1, Local0) Store (SID4, Local1) } If (LNot (LEqual (PIO0, 0xFFFFFFFF))) { And (Local0, 0xFF, Local0) ShiftLeft (T2D (PIO0), 0x08, Local2) Or (Local0, Local2, Local0) } If (LNot (LEqual (PIO1, 0xFFFFFFFF))) { And (Local0, 0xFF00, Local0) Or (Local0, T2D (PIO1), Local0) } If (And (FLAG, 0x01)) { And (Local1, 0xFF, Local1) ShiftLeft (T2U (DMA0), 0x08, Local2) Or (0xC000, Local2, Local2) Or (Local2, Local1, Local1) } Else { If (LNot (LEqual (DMA0, 0xFFFFFFFF))) { And (Local0, 0xFF, Local0) ShiftLeft (T2D (DMA0), 0x08, Local2) Or (Local0, Local2, Local0) } } If (And (FLAG, 0x04)) { And (Local1, 0xFF00, Local1) Or (0xC0, T2U (DMA1), Local2) Or (Local2, Local1, Local1) } Else { If (LNot (LEqual (DMA1, 0xFFFFFFFF))) { And (Local0, 0xFF00, Local0) Or (Local0, T2D (DMA1), Local0) } } If (LEqual (Arg3, 0x00)) { Store (Local0, IDTP) Store (Local1, UMSP) } Else { Store (Local0, IDTS) Store (Local1, UMSS) } } Method (GTF, 2, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) CreateByteField (Local0, 0x01, MODE) CreateByteField (Local0, 0x05, DRIV) Store (Arg1, DRIV) If (LEqual (Arg0, 0x00)) { Store (IDEP, Local1) } Else { Store (IDES, Local1) } CreateDWordField (Local1, 0x00, PIO0) CreateDWordField (Local1, 0x04, DMA0) CreateDWordField (Local1, 0x08, PIO1) CreateDWordField (Local1, 0x0C, DMA1) CreateDWordField (Local1, 0x10, FLGX) If (LEqual (Arg1, 0xA0)) { Store (PIO0, Local2) Store (DMA0, Local3) And (FLGX, 0x01, FLGX) } Else { Store (PIO1, Local2) Store (DMA1, Local3) And (FLGX, 0x04, FLGX) } Store (FLGX, Local1) If (LGreater (Local2, 0x0186)) { Store (0x00, Local2) } Else { If (LGreater (Local2, 0xF0)) { Store (0x01, Local2) } Else { If (LGreater (Local2, 0xB4)) { Store (0x02, Local2) } Else { If (LGreater (Local2, 0x78)) { Store (0x03, Local2) } Else { Store (0x04, Local2) } } } } Or (0x08, Local2, MODE) Store (Local0, Local2) If (FLGX) { If (LGreater (Local3, 0x5A)) { Store (0x00, Local3) } Else { If (LGreater (Local3, 0x3C)) { Store (0x01, Local3) } Else { If (LGreater (Local3, 0x2D)) { Store (0x02, Local3) } Else { If (LGreater (Local3, 0x1E)) { Store (0x03, Local3) } Else { If (LGreater (Local3, 0x14)) { Store (0x04, Local3) } Else { If (LGreater (Local3, 0x0F)) { Store (0x05, Local3) } Else { Store (0x06, Local3) } } } } } } Or (0x40, Local3, MODE) } Else { If (LEqual (Local3, 0xFFFFFFFF)) { Return (Local0) } Else { If (LGreater (Local3, 0x96)) { Store (0x00, Local3) } Else { If (LGreater (Local3, 0x78)) { Store (0x01, Local3) } Else { Store (0x02, Local3) } } Or (0x20, Local3, MODE) } } Concatenate (Local0, Local2, Local1) Return (Local1) } Device (PRI0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Return (GTM (0x00)) } Method (_STM, 3, NotSerialized) { STM (Arg0, Arg1, Arg2, 0x00) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, 0xA0)) } } Device (SLAV) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, 0xB0)) } } } Device (SEC0) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Return (GTM (0x01)) } Method (_STM, 3, NotSerialized) { STM (Arg0, Arg1, Arg2, 0x01) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, 0xA0)) } } Device (SLAV) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, 0xB0)) } } } } Device (SIDE) { Name (TID0, 0x00) Name (TID1, 0x00) Name (TID2, 0x00) Name (TID3, 0x00) Name (TID4, 0x00) Name (TID5, 0x00) Name (TFLG, 0x00) Name (_ADR, 0x00090000) OperationRegion (ATID, PCI_Config, 0x50, 0x18) Field (ATID, DWordAcc, NoLock, Preserve) { ID20, 16, Offset (0x08), IDTS, 16, IDTP, 16, ID22, 32, UMSS, 16, UMSP, 16 } Name (IDEP, Buffer (0x14) {}) Name (IDES, Buffer (0x14) {}) Method (GTM, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (IDTP, Local0) Store (UMSP, Local1) Store (IDEP, Local2) } Else { Store (IDTS, Local0) Store (UMSS, Local1) Store (IDES, Local2) } CreateDWordField (Local2, 0x00, PIO0) CreateDWordField (Local2, 0x04, DMA0) CreateDWordField (Local2, 0x08, PIO1) CreateDWordField (Local2, 0x0C, DMA1) CreateDWordField (Local2, 0x10, FLAG) Store (0x10, FLAG) And (Local0, 0x0F00, Local3) And (Local0, 0xF000, Local4) ShiftRight (Local3, 0x08, Local3) ShiftRight (Local4, 0x0C, Local4) Add (Local3, Local4, Local3) Multiply (Add (Local3, 0x02), 0x1E, PIO0) If (LNot (LGreater (PIO0, 0xB4))) { Or (FLAG, 0x02, FLAG) } If (And (Local1, 0x4000)) { Or (FLAG, 0x01, FLAG) And (Local1, 0x0700, Local3) ShiftRight (Local3, 0x08, Local3) Store (U2T (Local3), DMA0) } Else { Store (PIO0, DMA0) } And (Local0, 0x0F, Local3) And (Local0, 0xF0, Local4) ShiftRight (Local4, 0x04, Local4) Add (Local3, Local4, Local3) Multiply (Add (Local3, 0x02), 0x1E, PIO1) If (LNot (LGreater (PIO1, 0xB4))) { Or (FLAG, 0x08, FLAG) } If (And (Local1, 0x40)) { Or (FLAG, 0x04, FLAG) And (Local1, 0x07, Local3) Store (U2T (Local3), DMA1) } Else { Store (PIO1, DMA1) } If (LEqual (Arg0, 0x00)) { Store (Local2, IDEP) Return (IDEP) } Else { Store (Local2, IDES) Return (IDES) } } Method (STM, 4, NotSerialized) { If (SX) { Store (TID0, ID20) Store (TID1, IDTS) Store (TID2, IDTP) Store (TID3, ID22) Store (TID4, UMSS) Store (TID5, UMSP) } Else { Store (ID20, TID0) Store (IDTS, TID1) Store (IDTP, TID2) Store (ID22, TID3) Store (UMSS, TID4) Store (UMSP, TID5) } Store (0x00, SX) CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (Arg3, 0x00)) { Store (TID2, Local0) Store (TID5, Local1) } Else { Store (TID1, Local0) Store (TID4, Local1) } If (LNot (LEqual (PIO0, 0xFFFFFFFF))) { And (Local0, 0xFF, Local0) ShiftLeft (T2D (PIO0), 0x08, Local2) Or (Local0, Local2, Local0) } If (LNot (LEqual (PIO1, 0xFFFFFFFF))) { And (Local0, 0xFF00, Local0) Or (Local0, T2D (PIO1), Local0) } If (And (FLAG, 0x01)) { And (Local1, 0xFF, Local1) ShiftLeft (T2U (DMA0), 0x08, Local2) Or (0xC000, Local2, Local2) Or (Local2, Local1, Local1) } Else { If (LNot (LEqual (DMA0, 0xFFFFFFFF))) { And (Local0, 0xFF, Local0) ShiftLeft (T2D (DMA0), 0x08, Local2) Or (Local0, Local2, Local0) } } If (And (FLAG, 0x04)) { And (Local1, 0xFF00, Local1) Or (0xC0, T2U (DMA1), Local2) Or (Local2, Local1, Local1) } Else { If (LNot (LEqual (DMA1, 0xFFFFFFFF))) { And (Local0, 0xFF00, Local0) Or (Local0, T2D (DMA1), Local0) } } If (LEqual (Arg3, 0x00)) { Store (Local0, IDTP) Store (Local1, UMSP) } Else { Store (Local0, IDTS) Store (Local1, UMSS) } } Method (GTF, 2, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) CreateByteField (Local0, 0x01, MODE) CreateByteField (Local0, 0x05, DRIV) Store (Arg1, DRIV) If (LEqual (Arg0, 0x00)) { Store (IDEP, Local1) } Else { Store (IDES, Local1) } CreateDWordField (Local1, 0x00, PIO0) CreateDWordField (Local1, 0x04, DMA0) CreateDWordField (Local1, 0x08, PIO1) CreateDWordField (Local1, 0x0C, DMA1) CreateDWordField (Local1, 0x10, FLGX) If (LEqual (Arg1, 0xA0)) { Store (PIO0, Local2) Store (DMA0, Local3) And (FLGX, 0x01, FLGX) } Else { Store (PIO1, Local2) Store (DMA1, Local3) And (FLGX, 0x04, FLGX) } Store (FLGX, Local1) If (LGreater (Local2, 0x0186)) { Store (0x00, Local2) } Else { If (LGreater (Local2, 0xF0)) { Store (0x01, Local2) } Else { If (LGreater (Local2, 0xB4)) { Store (0x02, Local2) } Else { If (LGreater (Local2, 0x78)) { Store (0x03, Local2) } Else { Store (0x04, Local2) } } } } Or (0x08, Local2, MODE) Store (Local0, Local2) If (FLGX) { If (LGreater (Local3, 0x5A)) { Store (0x00, Local3) } Else { If (LGreater (Local3, 0x3C)) { Store (0x01, Local3) } Else { If (LGreater (Local3, 0x2D)) { Store (0x02, Local3) } Else { If (LGreater (Local3, 0x1E)) { Store (0x03, Local3) } Else { If (LGreater (Local3, 0x14)) { Store (0x04, Local3) } Else { If (LGreater (Local3, 0x0F)) { Store (0x05, Local3) } Else { Store (0x06, Local3) } } } } } } Or (0x40, Local3, MODE) } Else { If (LEqual (Local3, 0xFFFFFFFF)) { Return (Local0) } Else { If (LGreater (Local3, 0x96)) { Store (0x00, Local3) } Else { If (LGreater (Local3, 0x78)) { Store (0x01, Local3) } Else { Store (0x02, Local3) } } Or (0x20, Local3, MODE) } } Concatenate (Local0, Local2, Local1) Return (Local1) } Method (U2T, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (0x3C) } If (LEqual (Arg0, 0x01)) { Return (0x5A) } If (LEqual (Arg0, 0x02)) { Return (0x78) } If (LEqual (Arg0, 0x03)) { Return (0x96) } If (LEqual (Arg0, 0x04)) { Return (0x2D) } If (LEqual (Arg0, 0x05)) { Return (0x1E) } If (LEqual (Arg0, 0x06)) { Return (0x14) } Return (0x0F) } Method (T2U, 1, NotSerialized) { If (LGreater (Arg0, 0x78)) { Return (0x03) } If (LGreater (Arg0, 0x5A)) { Return (0x02) } If (LGreater (Arg0, 0x3C)) { Return (0x01) } If (LGreater (Arg0, 0x2D)) { Return (0x00) } If (LGreater (Arg0, 0x1E)) { Return (0x04) } If (LGreater (Arg0, 0x14)) { Return (0x05) } If (LGreater (Arg0, 0x0F)) { Return (0x06) } Return (0x07) } Method (T2D, 1, NotSerialized) { If (LGreater (Arg0, 0x01E0)) { Return (0xA8) } If (LGreater (Arg0, 0x0186)) { Return (0x77) } If (LGreater (Arg0, 0xF0)) { Return (0x47) } If (LGreater (Arg0, 0xB4)) { Return (0x33) } If (LGreater (Arg0, 0x96)) { Return (0x22) } If (LGreater (Arg0, 0x78)) { Return (0x21) } Return (0x20) } Device (PRI0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Return (GTM (0x00)) } Method (_STM, 3, NotSerialized) { STM (Arg0, Arg1, Arg2, 0x00) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, 0xA0)) } } Device (SLAV) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, 0xB0)) } } } Device (SEC0) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Return (GTM (0x01)) } Method (_STM, 3, NotSerialized) { STM (Arg0, Arg1, Arg2, 0x01) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, 0xA0)) } } Device (SLAV) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, 0xB0)) } } } } Device (SMB0) { Name (_ADR, 0x00010001) OperationRegion (SBA0, PCI_Config, 0x50, 0x04) Field (SBA0, AnyAcc, NoLock, Preserve) { SB50, 16 } OperationRegion (SBA1, PCI_Config, 0x54, 0x04) Field (SBA1, AnyAcc, NoLock, Preserve) { SB54, 16 } } Device (AUD0) { Name (_ADR, 0x00060000) } Device (MODM) { Name (_ADR, 0x00060001) } Device (LPC0) { Name (_ADR, 0x00010000) OperationRegion (DCTL, PCI_Config, 0xE8, 0x02) Field (DCTL, AnyAcc, NoLock, Preserve) { Offset (0x01), , 4, DACI, 1 } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Method (_PSR, 0, NotSerialized) { If (\_SB.PCI0.LPC0.EC0.ECOK) { Return (\_SB.PCI0.LPC0.EC0.ADP) } Else { Return (0x01) } } } OperationRegion (GP00, SystemIO, 0x8020, 0x04) Field (GP00, WordAcc, Lock, Preserve) { , 5, UB2R, 1, , 6, UB1R, 1, UB0R, 1 } OperationRegion (GPIO, SystemIO, 0x84A0, 0x30) Field (GPIO, WordAcc, Lock, Preserve) { , 2, LPOL, 1, Offset (0x22), INVT, 1, , 4, LIDS, 1, LPOR, 1, Offset (0x23), , 5, ACPW, 1 } OperationRegion (P44, PCI_Config, 0x44, 0x04) Field (P44, AnyAcc, NoLock, Preserve) { MTBA, 32 } OperationRegion (P60, PCI_Config, 0x60, 0x02) Field (P60, AnyAcc, NoLock, Preserve) { PMBR, 16 } OperationRegion (P64, PCI_Config, 0x64, 0x02) Field (P64, AnyAcc, NoLock, Preserve) { NVSB, 16 } OperationRegion (P68, PCI_Config, 0x68, 0x02) Field (P68, AnyAcc, NoLock, Preserve) { ANLG, 16 } Device (PMIO) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x03) Method (_CRS, 0, NotSerialized) { Name (IODM, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) }) Name (IORT, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x80) IO (Decode16, 0x0000, 0x0000, 0x01, 0x40) IO (Decode16, 0x0000, 0x0000, 0x01, 0x40) }) CreateWordField (IORT, 0x02, I1MN) CreateWordField (IORT, 0x04, I1MX) CreateWordField (IORT, 0x0A, I2MN) CreateWordField (IORT, 0x0C, I2MX) CreateWordField (IORT, 0x12, I3MN) CreateWordField (IORT, 0x14, I3MX) CreateWordField (IORT, 0x1A, I4MN) CreateWordField (IORT, 0x1C, I4MX) CreateWordField (IORT, 0x22, I5MN) CreateWordField (IORT, 0x24, I5MX) CreateWordField (IORT, 0x2A, I6MN) CreateWordField (IORT, 0x2C, I6MX) CreateWordField (IORT, 0x32, I7MN) CreateWordField (IORT, 0x34, I7MX) CreateWordField (IORT, 0x3A, I8MN) CreateWordField (IORT, 0x3C, I8MX) And (PMBR, 0xFFFC, I1MN) Store (I1MN, I1MX) Add (I1MN, 0x80, Local0) Store (Local0, I2MN) Store (Local0, I2MX) And (NVSB, 0xFFFC, I3MN) Store (I3MN, I3MX) Add (I3MN, 0x80, Local0) Store (Local0, I4MN) Store (Local0, I4MX) And (ANLG, 0xFFFC, I5MN) Store (I5MN, I5MX) Add (I5MN, 0x80, Local0) Store (Local0, I6MN) Store (Local0, I6MX) And (\_SB.PCI0.SMB0.SB50, 0xFFFC, I7MN) Store (I7MN, I7MX) And (\_SB.PCI0.SMB0.SB54, 0xFFFC, I8MN) Store (I8MN, I8MX) If (I1MN) { Store (IORT, Local0) } Else { Store (IODM, Local0) } Return (Local0) } } Device (MEM0) { Name (_HID, EisaId ("PNP0C01")) Method (_CRS, 0, Serialized) { Name (MEMR, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) Memory32Fixed (ReadWrite, 0xFEE00000, 0x00100000) Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) }) CreateDWordField (MEMR, 0x28, MBAS) CreateDWordField (MEMR, 0x2C, MBLE) If (\_SB.PCI0.LPC0.MTBA) { Store (\_SB.PCI0.LPC0.MTBA, MBAS) Store (0x1000, MBLE) } Return (MEMR) } } Method (ECOK, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPC0.EC0.ECOK, 0x01)) { Return (0x01) } Else { Return (0x00) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x21) Name (ECOK, Zero) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) } } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x60), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 8, Offset (0x90), CHGM, 16, CHGS, 16, CHGC, 16, CHGV, 16, CHGA, 16, BAL0, 1, BAL1, 1, BAL2, 1, BAL3, 1, Offset (0x9C), BEEP, 1, FAN1, 1, FAN2, 1, CRT, 1, EXFD, 1, PHDD, 1, SHDD, 1, FDD, 1, SBTN, 1, VIDO, 1, VOLD, 1, VOLU, 1, MUTE, 1, CONT, 1, BRGT, 1, HBTN, 1, S4S, 1, SKEY, 1, BKEY, 1, , 1, LIDA, 1, , 2, TPAD, 1, INKB, 1, Offset (0xA1), DKST, 1, , 6, DKEV, 1, Offset (0xA3), S1LD, 1, S3LD, 1, VGAQ, 1, PCMQ, 1, PCMR, 1, ADP, 1, SYS6, 1, SYS7, 1, PWAK, 1, MWAK, 1, LWAK, 1, Offset (0xA5), TST0, 8, TST1, 8, TST2, 8, TST3, 8, TST4, 8, TST5, 8, TST6, 8, TST7, 8, Offset (0xB0), CTMP, 8, Offset (0xB8), BTDT, 1, BTPW, 1, BTDS, 1, BTPS, 1, BTSW, 1, Offset (0xB9), BRTS, 8, Offset (0xBB), WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, Offset (0xC0), , 4, BMF0, 3, BTY0, 1, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, Offset (0xD0), , 4, BMF1, 3, BTY1, 1, BST1, 8, BRC1, 16, BSN1, 16, BPV1, 16, BDV1, 16, BDC1, 16, BFC1, 16, GAU1, 8 } Method (PCLK, 0, NotSerialized) { Store (PTVL, Local0) If (LEqual (Local0, 0x00)) { Store (0x00, THEN) } Else { Not (Local0, Local0) Add (Local0, 0x01, Local0) And (Local0, 0x07, Local0) Store (Local0, DUTY) If (LEqual (Local0, 0x00)) { Store (0x00, THEN) } Else { Store (0x01, THEN) } } } Method (_Q16, 0, NotSerialized) { Store ("=====QUERY_16=====", Debug) Notify (\_SB.LID, 0x80) } Method (_Q1C, 0, NotSerialized) { Store ("=====QUERY_1C=====", Debug) If (\_SB.PCI0.LPC0.EC0.VIDO) { \_SB.PCI0.AGP0.VGA.DSSW () Store (0x00, \_SB.PCI0.LPC0.EC0.VIDO) } } Method (_Q1D, 0, NotSerialized) { \_SB.PCI0.LPC0.EC0.PCLK () } Method (_Q1E, 0, NotSerialized) { Notify (\_TZ.THRM, 0x80) } Method (_Q22, 0, NotSerialized) { Store ("=====QUERY_22=====", Debug) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) } Method (_Q25, 0, NotSerialized) { Store ("=====QUERY_25=====", Debug) Sleep (0x03E8) Notify (\_SB.PCI0.LPC0.BAT1, 0x81) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) } Method (_Q27, 0, NotSerialized) { Store (0x01, OSSD) Notify (\_TZ.THRM, 0x80) } Method (_Q2A, 0, NotSerialized) { Notify (\_SB.PCI0.LPC0.SIO.UAR1, 0x00) Store (0x00, \_SB.PCI0.LPC0.EC0.DKEV) PHSS (0x7A) } Method (_Q2B, 0, NotSerialized) { Notify (\_SB.PCI0.LPC0.SIO.UAR1, 0x01) Store (0x00, \_SB.PCI0.LPC0.EC0.DKEV) PHSS (0x7A) } Method (_Q35, 0, NotSerialized) { Store ("=====QUERY_35=====", Debug) PHSS (0x11) } Method (_Q37, 0, NotSerialized) { Store ("=====QUERY_37=====", Debug) PHSS (0x0D) Notify (\_SB.PCI0.LPC0.ACAD, 0x00) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) Notify (\_PR.CPU0, 0x80) } Method (_Q38, 0, NotSerialized) { Store ("=====QUERY_38=====", Debug) PHSS (0x0D) Notify (\_SB.PCI0.LPC0.ACAD, 0x00) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) Notify (\_PR.CPU0, 0x80) } OperationRegion (CCLK, SystemIO, 0x8010, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1 } OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF) Field (ECRM, ByteAcc, Lock, Preserve) { Offset (0x94), ERIB, 16, ERBD, 8, Offset (0xAC), SDTM, 8, FSSN, 4, FANU, 4, PTVL, 3, , 4, TTHR, 1, Offset (0xBC), PJID, 8, Offset (0xBE), Offset (0xF9), RFRD, 16 } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (ERBD, Local0) Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg1, ERBD) Store (Arg0, ERIB) Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (THEN) } Else { If (LEqual (Arg0, 0x01)) { Return (DUTY) } Else { If (LEqual (Arg0, 0x02)) { Return (TTHR) } Else { Return (0xFF) } } } } Method (CLCK, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (0x00, THEN) } Else { Store (Arg0, DUTY) Store (0x01, THEN) } Return (THEN) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x19C8, 0x19C8, 0x01, 0x39D0, 0x0294, 0xC6, 0x0108, 0x0EC4, "Primary ", "", "Lion", "Hewlett-Packard " }) Name (PBST, Package (0x04) { 0x01, 0xFFFFFFFF, 0xFFFFFFFF, 0x39D0 }) Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (\_SB.PCI0.LPC0.EC0.BAL0) { Sleep (0x14) Return (0x1F) } Else { Sleep (0x14) Return (0x0F) } } Else { Sleep (0x14) Return (0x1F) } } Method (_BIF, 0, NotSerialized) { If (ECOK ()) { Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDC0, Index (PBIF, 0x01)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BFC0, Index (PBIF, 0x02)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDV0, Index (PBIF, 0x04)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDC0, Local2) Divide (Local2, 0x64, Local6, Local2) Multiply (Local2, 0x05, Local3) Store (Local3, Index (PBIF, 0x05)) Multiply (Local2, 0x03, Local4) Store (Local4, Index (PBIF, 0x06)) } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (ECOK ()) { Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BST0, Local0) And (Local0, 0x07, Local0) Store (Local0, Index (PBST, 0x00)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.GAU0, Local2) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BPV0, Index (PBST, 0x03)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BFC0, Local1) Sleep (0x14) If (Local2) { Multiply (Local2, Local1, Local2) Divide (Local2, 0x64, Local6, Local2) If (Local6) { Increment (Local2) } } Store (0x00, Index (PBST, 0x01)) Store (Local2, Index (PBST, 0x02)) } Return (PBST) } } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x1FF7FEAC, 0x00000090) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8, INF1, 32 } Mutex (PSMX, 0x00) Method (PHSS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x80, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Release (PSMX) } Device (SYS0) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, 0x0010, 0x01, 0x10) IO (Decode16, 0x0022, 0x0022, 0x01, 0x1E) IO (Decode16, 0x0044, 0x0044, 0x01, 0x1C) IO (Decode16, 0x0062, 0x0062, 0x01, 0x02) IO (Decode16, 0x0065, 0x0065, 0x01, 0x0B) IO (Decode16, 0x0072, 0x0072, 0x01, 0x02) IO (Decode16, 0x0074, 0x0074, 0x01, 0x0C) IO (Decode16, 0x0091, 0x0091, 0x01, 0x03) IO (Decode16, 0x0097, 0x0097, 0x01, 0x09) IO (Decode16, 0x00A2, 0x00A2, 0x01, 0x1E) IO (Decode16, 0x0200, 0x0200, 0x01, 0x10) IO (Decode16, 0x0680, 0x0680, 0x01, 0x80) IO (Decode16, 0x00E0, 0x00E0, 0x01, 0x10) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x02) }) } Device (PIC0) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x04, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x04, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (PIT0) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x10, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {0} }) } Device (DMA0) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x09) IO (Decode16, 0x000A, 0x000A, 0x01, 0x06) IO (Decode16, 0x0081, 0x0081, 0x01, 0x03) IO (Decode16, 0x0087, 0x0087, 0x01, 0x01) IO (Decode16, 0x0089, 0x0089, 0x01, 0x03) IO (Decode16, 0x008F, 0x008F, 0x01, 0x01) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x12) IO (Decode16, 0x00D4, 0x00D4, 0x01, 0x0C) DMA (Compatibility, BusMaster, Transfer8) {4} }) } Device (SPK0) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {8} }) } Device (MTH0) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQNoFlags () {1} }) Name (_PRW, Package (0x02) { 0x05, 0x03 }) Method (_PSW, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) If (ECOK ()) { Store (Arg0, \_SB.PCI0.LPC0.EC0.INKB) } Release (PSMX) } } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) Name (_PRW, Package (0x02) { 0x05, 0x03 }) Method (_PSW, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) If (ECOK ()) { Store (Arg0, \_SB.PCI0.LPC0.EC0.TPAD) } Release (PSMX) } } Device (SIO) { Name (_HID, EisaId ("PNP0A05")) OperationRegion (WIN1, SystemIO, 0x4E, 0x02) Field (WIN1, ByteAcc, NoLock, Preserve) { INDL, 8, DATL, 8 } IndexField (INDL, DATL, ByteAcc, NoLock, Preserve) { Offset (0x02), CFG, 8, Offset (0x07), LDNR, 8, Offset (0x20), IDHI, 8, IDLO, 8, POWC, 8, Offset (0x30), ACTR, 8, Offset (0x60), ADRH, 8, ADRL, 8, Offset (0x70), IRQN, 8, Offset (0x74), DMAN, 8, Offset (0xF0), MOD1, 8, OPT1, 8 } Method (ENFL, 0, NotSerialized) { Store (0x87, INDL) Store (0x87, INDL) } Method (EXFL, 0, NotSerialized) { Store (0xAA, INDL) } Device (FDC0) { Name (_HID, EisaId ("PNP0700")) Name (RFDC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x06) IO (Decode16, 0x0000, 0x0000, 0x01, 0x01) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Method (_STA, 0, NotSerialized) { ENFL () Store (Zero, LDNR) Store (0x00, Local0) If (ACTR) { Store (0x0F, Local0) } Else { If (LOr (ADRL, ADRH)) { Store (0x0D, Local0) } } EXFL () Return (Local0) } Method (_DIS, 0, NotSerialized) { ENFL () Store (Zero, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { If (LEqual (And (_STA (), 0x04), Zero)) { Return (RFDC) } Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) CreateByteField (BUF0, 0x02, IOLO) CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, 0x04, IORL) CreateByteField (BUF0, 0x05, IORH) CreateByteField (BUF0, 0x0A, DALO) CreateByteField (BUF0, 0x0B, DAHI) CreateByteField (BUF0, 0x0C, DRLO) CreateByteField (BUF0, 0x0D, DRHI) CreateWordField (BUF0, 0x11, IRQV) CreateByteField (BUF0, 0x14, DMAV) ENFL () Store (Zero, LDNR) ShiftRight (ADRH, 0x06, Local1) ShiftLeft (ADRH, 0x02, Local0) Store (Local1, IOHI) Store (Local0, IOLO) Store (Local1, IORH) Store (Local0, IORL) Or (Local0, 0x07, Local0) Store (Local1, DAHI) Store (Local0, DALO) Store (Local1, DRHI) Store (Local0, DRLO) Store (0x01, Local0) ShiftLeft (Local0, IRQN, IRQV) Store (0x01, Local0) ShiftLeft (Local0, DMAN, DMAV) EXFL () Return (BUF0) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMAV) ENFL () Store (Zero, LDNR) Store (One, ACTR) ShiftRight (IOLO, 0x02, Local0) ShiftLeft (IOHI, 0x06, Local1) Or (Local0, Local1, Local0) Store (Local0, ADRH) FindSetLeftBit (IRQW, Local0) If (LNot (LEqual (Local0, Zero))) { Subtract (Local0, 0x01, Local0) } Store (Local0, IRQN) FindSetLeftBit (DMAV, Local1) If (LNot (LEqual (Local1, Zero))) { Subtract (Local1, 0x01, Local1) } Store (Local1, DMAN) EXFL () } } Device (UAR1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Name (_PRW, Package (0x02) { 0x08, 0x04 }) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x00) IRQNoFlags () {} }) Name (DKFG, 0x00) Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPC0.EC0.ECOK, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.DKST, Local0) If (Local0) { ENFL () Store (0x02, LDNR) If (ACTR) { EXFL () Store (0x01, DKFG) Return (0x0F) } Else { EXFL () Return (0x0D) } } Else { Store (0x00, DKFG) Return (0x00) } } Else { \_SB.PCI0.LPC0.PHSS (0x7A) Store (\_SB.PCI0.LPC0.INF, Local1) If (LEqual (Local1, 0xA6)) { Store (0x01, DKFG) Store (0x0D, Local1) } Else { Store (0x00, DKFG) Store (0x00, Local1) } Return (Local1) } } Method (_DIS, 0, NotSerialized) { ENFL () Store (0x02, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { And (_STA (), 0x04, Local0) If (LEqual (Local0, Zero)) { Return (RSRC) } Name (BUF1, ResourceTemplate () { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {4} }) CreateByteField (BUF1, 0x02, IOLO) CreateByteField (BUF1, 0x03, IOHI) CreateByteField (BUF1, 0x04, IORL) CreateByteField (BUF1, 0x05, IORH) CreateWordField (BUF1, 0x09, IRQV) ENFL () Store (0x02, LDNR) ShiftLeft (ADRH, 0x02, Local0) ShiftRight (ADRH, 0x06, Local1) Store (Local0, IOLO) Store (Local1, IOHI) Store (Local0, IORL) Store (Local1, IORH) Store (0x00, IRQV) If (LNot (LEqual (IRQN, 0x00))) { ShiftLeft (One, IRQN, IRQV) } EXFL () Return (BUF1) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {4} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQ (Edge, ActiveHigh, Exclusive) {4} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) ENFL () Store (0x02, LDNR) Store (One, ACTR) ShiftRight (IOLO, 0x02, Local0) ShiftLeft (IOHI, 0x06, Local1) Or (Local0, Local1, ADRH) FindSetLeftBit (IRQW, Local0) If (LNot (LEqual (Local0, Zero))) { Subtract (Local0, 0x01, Local0) } Store (Local0, IRQN) EXFL () } } Device (LPT1) { Name (PIOM, Buffer (0x01) { 0x00 }) CreateByteField (PIOM, 0x00, LPTM) Name (_HID, EisaId ("PNP0400")) Method (_STA, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (ACTR, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, 0x03)) { If (LNot (LEqual (DMAN, 0x00))) { Store (0x00, Local1) } Else { If (LNot (LEqual (ADRH, 0x00))) { Store (0x0D, Local1) } Else { Store (0x00, Local1) } } } Else { If (LEqual (Local0, 0x01)) { Store (0x00, Local1) } Else { Store (Local0, LPTM) Store (0x0F, Local1) } } EXFL () Return (Local1) } Method (_DIS, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (0x03, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { Name (BUFL, ResourceTemplate () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} }) CreateWordField (BUFL, 0x02, IMIN) CreateWordField (BUFL, 0x04, IMAX) CreateByteField (BUFL, 0x06, LALN) CreateByteField (BUFL, 0x07, LLEN) CreateWordField (BUFL, 0x09, IRQ0) ENFL () Store (One, LDNR) Store (ADRH, Local0) ShiftLeft (Local0, 0x02, Local0) Store (Local0, IMIN) Store (Local0, IMAX) If (LEqual (IMIN, 0x03BC)) { Store (0x04, LALN) Store (0x04, LLEN) } Else { Store (0x08, LALN) Store (0x08, LLEN) } Store (IRQN, Local0) ShiftLeft (One, Local0, IRQ0) EXFL () Return (BUFL) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04) IRQNoFlags () {7} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQ0) ENFL () Store (One, LDNR) Store (IOLO, Local0) ShiftRight (Local0, 0x02, Local0) Store (IOHI, Local1) ShiftLeft (Local1, 0x06, Local1) Or (Local0, Local1, Local0) Store (Local0, ADRH) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, IRQN) Store (ACTR, Local0) And (Local0, 0xFC, Local0) Store (LPTM, Local1) Or (Local0, Local1, Local1) Store (Local1, ACTR) EXFL () } } Device (ECP1) { Name (_HID, EisaId ("PNP0401")) Method (_STA, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (ACTR, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, 0x01)) { Store (0x0F, Local1) } Else { If (LOr (LEqual (Local0, 0x00), LEqual (Local0, 0x02))) { Store (0x00, Local1) } Else { If (LEqual (Local0, 0x03)) { If (LNot (LEqual (DMAN, 0x00))) { Store (0x0D, Local1) } Else { Store (0x00, Local1) } } } } EXFL () Return (Local1) } Method (_DIS, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (0x03, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x04, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {3} }) CreateWordField (BUFE, 0x02, IMI1) CreateWordField (BUFE, 0x04, IMA1) CreateByteField (BUFE, 0x06, ALN1) CreateByteField (BUFE, 0x07, LEN1) CreateWordField (BUFE, 0x0A, IMI2) CreateWordField (BUFE, 0x0C, IMA2) CreateWordField (BUFE, 0x11, IRQ0) CreateByteField (BUFE, 0x14, DMA0) ENFL () Store (One, LDNR) Store (ADRH, Local0) ShiftLeft (Local0, 0x02, Local0) Store (Local0, IMI1) Store (Local0, IMA1) Add (Local0, 0x0400, Local0) Store (Local0, IMI2) Store (Local0, IMA2) If (LEqual (IMI1, 0x03BC)) { Store (0x04, ALN1) Store (0x04, LEN1) } Else { Store (0x08, ALN1) Store (0x08, LEN1) } Store (IRQN, Local0) ShiftLeft (One, Local0, IRQ0) Store (DMAN, Local0) And (Local0, 0x03, Local0) ShiftLeft (One, Local0, DMA0) EXFL () Return (BUFE) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x04, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {1,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x04, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {1,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {1,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x11, IRQ0) CreateByteField (Arg0, 0x14, DMA0) ENFL () Store (One, LDNR) Store (IOLO, Local0) ShiftRight (Local0, 0x02, Local0) Store (IOHI, Local1) ShiftLeft (Local1, 0x06, Local1) Or (Local0, Local1, Local0) Store (Local0, ADRH) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, IRQN) FindSetRightBit (DMA0, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, DMAN) Store (ACTR, Local0) And (Local0, 0xFC, Local0) Or (Local0, 0x01, Local0) Store (Local0, ACTR) EXFL () } } Device (FIR0) { Name (_HID, EisaId ("VIA3076")) Name (RFIC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IRQNoFlags () {} DMA (Compatibility, BusMaster, Transfer16) {} }) Method (_STA, 0, NotSerialized) { If (LEqual (CMBP, 0x00)) { Return (0x00) } ENFL () Store (0x0C, LDNR) Store (0x00, Local0) If (ACTR) { Store (0x0F, Local0) } Else { If (LOr (ADRL, ADRH)) { Store (0x0D, Local0) } } EXFL () Return (Local0) } Method (_DIS, 0, NotSerialized) { ENFL () Store (0x0C, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { If (LEqual (And (_STA (), 0x02), Zero)) { Return (RFIC) } Name (BUFI, ResourceTemplate () { IO (Decode16, 0x0600, 0x0600, 0x01, 0x80) IRQNoFlags () {3} DMA (Compatibility, BusMaster, Transfer16) {6} }) CreateWordField (BUFI, 0x02, IMIN) CreateWordField (BUFI, 0x04, IMAX) CreateWordField (BUFI, 0x09, IRQ0) CreateByteField (BUFI, 0x0C, DMA0) ENFL () Store (0x0C, LDNR) Store (ADRH, Local1) Store (ADRL, Local0) ShiftLeft (Local1, 0x08, Local1) Or (Local1, Local0, Local0) Store (Local0, IMIN) Store (Local0, IMAX) Store (IRQN, Local0) And (Local0, 0x0F, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, IRQ0) Store (DMAN, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, Zero)) { Store (Zero, DMA0) } Else { Add (Local0, 0x04, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, DMA0) } EXFL () Return (BUFI) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0600, 0x0600, 0x01, 0x80) IRQNoFlags () {3} DMA (Compatibility, BusMaster, Transfer16) {6} } StartDependentFnNoPri () { IO (Decode16, 0x0800, 0x0800, 0x01, 0x80) IRQNoFlags () {3,4,5,11} DMA (Compatibility, BusMaster, Transfer16) {1,3,6} } EndDependentFn() }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQ0) CreateByteField (Arg0, 0x0C, DMA0) ENFL () Store (0x0C, LDNR) Store (IOHI, ADRH) Store (IOLO, ADRL) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, 0x00)) { Decrement (Local0) } Store (Local0, IRQN) FindSetRightBit (DMA0, Local0) Subtract (Local0, 0x01, Local0) If (LGreater (Local0, 0x04)) { Subtract (Local0, 0x04, Local0) } Store (Local0, Local1) ShiftLeft (Local1, 0x02, Local1) Or (Local0, Local1, Local0) Store (Local0, DMAN) Store (One, ACTR) EXFL () } } } } Device (P2P0) { Name (_ADR, 0x000A0000) Name (_UID, 0x02) OperationRegion (A080, PCI_Config, 0x19, 0x01) Field (A080, ByteAcc, NoLock, Preserve) { SECB, 8 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRT, Package (0x05) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LNK1, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LNK2, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LNK3, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LNK1, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, \_SB.PCI0.LNK2, 0x00 } }) Device (MAC0) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } } Device (AGP0) { Name (_ADR, 0x000B0000) Name (_UID, 0x03) OperationRegion (A1E0, PCI_Config, 0x19, 0x01) Field (A1E0, ByteAcc, NoLock, Preserve) { SECB, 8 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRT, Package (0x01) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LNK5, 0x00 } }) Device (VGA) { Name (_ADR, 0x00) Name (SWIT, 0x01) Name (CRTA, 0x01) Name (LCDA, 0x01) Name (TVAA, 0x01) Name (VLDF, 0x01) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x0200 }) } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } Method (_DCS, 0, NotSerialized) { \_SB.PCI0.LPC0.PHSS (0x0C) Store (\_SB.PCI0.LPC0.INF, Local0) And (Local0, 0x02, Local0) If (Local0) { Store (0x01, CRTA) } Else { Store (0x00, CRTA) } If (CRTA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (CRTA) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_DCS, 0, NotSerialized) { If (LCDA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (LCDA) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { DSSC (Arg0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } Method (_DCS, 0, NotSerialized) { \_SB.PCI0.LPC0.PHSS (0x0C) Store (\_SB.PCI0.LPC0.INF, Local0) And (Local0, 0x04, Local0) If (Local0) { Store (0x01, TVAA) } Else { Store (0x00, TVAA) } If (TVAA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (TVAA) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { } } Method (DSSW, 0, NotSerialized) { If (LEqual (SWIT, 0x00)) { \_SB.PCI0.LPC0.PHSS (0x90) Store (\_SB.PCI0.LPC0.INF, Local0) If (LEqual (Local0, 0x01)) { Return (0x00) } \_SB.PCI0.LPC0.PHSS (0x0C) Store (\_SB.PCI0.LPC0.INF, Local0) Store (\_SB.PCI0.LPC0.INF1, Local1) If (LGreater (Local1, 0x01)) { And (Local0, Local1, VLDF) And (VLDF, 0xFE, VLDF) } If (VLDF) { If (LEqual (Local0, 0x03)) { If (LEqual (Local1, 0x01)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x01) } If (LEqual (Local1, 0x06)) { STBL (0x01) } } If (LEqual (Local0, 0x05)) { If (LEqual (Local1, 0x01)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x01) } If (LEqual (Local1, 0x06)) { STBL (0x01) } } If (LEqual (Local0, 0x07)) { If (LEqual (Local1, 0x01)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x06) } If (LEqual (Local1, 0x06)) { STBL (0x01) } } } Else { Store (0x01, VLDF) STBL (0x01) } } Else { If (LEqual (SWIT, 0x01)) { \_SB.PCI0.LPC0.PHSS (0x01) } } Return (Package (0x02) { 0x00, 0x00 }) } Method (STBL, 1, NotSerialized) { If (And (Arg0, 0xF8)) { Store (Zero, CRTA) Store (One, LCDA) Store (Zero, TVAA) } Else { If (LEqual (Arg0, 0x01)) { Store (Zero, CRTA) Store (One, LCDA) Store (Zero, TVAA) } If (LEqual (Arg0, 0x02)) { Store (One, CRTA) Store (Zero, LCDA) Store (Zero, TVAA) } If (LEqual (Arg0, 0x03)) { Store (One, CRTA) Store (One, LCDA) Store (Zero, TVAA) } If (LEqual (Arg0, 0x04)) { Store (Zero, CRTA) Store (Zero, LCDA) Store (One, TVAA) } If (LEqual (Arg0, 0x05)) { Store (Zero, CRTA) Store (One, LCDA) Store (One, TVAA) } If (LEqual (Arg0, 0x06)) { Store (One, CRTA) Store (Zero, LCDA) Store (One, TVAA) } If (LEqual (Arg0, 0x07)) { Store (One, CRTA) Store (One, LCDA) Store (One, TVAA) } } Notify (\_SB.PCI0.AGP0.VGA, 0x80) } Method (DSSC, 1, NotSerialized) { If (LEqual (And (Arg0, 0x40000000), 0x00)) {} } } } } Scope (\) { Name (PICF, 0x00) Method (_PIC, 1, NotSerialized) { Store (Arg0, PICF) } OperationRegion (\_SB.PCI0.LPC0.PIRQ, PCI_Config, 0x7C, 0x0C) Field (\_SB.PCI0.LPC0.PIRQ, AnyAcc, NoLock, Preserve) { INTW, 4, INTX, 4, INTY, 4, INTZ, 4, INTE, 4, Offset (0x04), ISCI, 4, ITCO, 4, ISMB, 4, IUS2, 4, , 12, ITID, 4, IUS0, 4, IUS1, 4, IMAC, 4, Offset (0x0A), IACI, 4, IMCI, 4, IPID, 4, ISID, 4 } } Scope (\_SB.PCI0) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12,14,15} }) Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (BUFB, 0x01, IRQV) Method (CRS, 1, Serialized) { If (Arg0) { ShiftLeft (0x01, Arg0, IRQV) } Else { Store (Zero, IRQV) } Return (BUFB) } Method (SRS, 1, Serialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Return (Local0) } Name (BUFI, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared) { 0x00000014, 0x00000015, 0x00000016, } }) Method (CRSI, 1, Serialized) { Name (IRZ5, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared) { 0x00000007, } }) CreateWordField (IRZ5, 0x05, INZ5) Store (0x00, Local0) If (LEqual (Arg0, 0x08)) { Store (0x14, Local0) } If (LEqual (Arg0, 0x0D)) { Store (0x15, Local0) } If (LEqual (Arg0, 0x02)) { Store (0x16, Local0) } Store (Local0, INZ5) Return (IRZ5) } Method (SRSI, 1, Serialized) { CreateWordField (Arg0, 0x05, IRZ6) Store (0x00, Local0) If (LEqual (IRZ6, 0x14)) { Store (0x08, Local0) } If (LEqual (IRZ6, 0x15)) { Store (0x0D, Local0) } If (LEqual (IRZ6, 0x16)) { Store (0x02, Local0) } Return (Local0) } Name (BUFE, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared) { 0x00000010, 0x00000012, 0x00000013, } }) Name (BUFF, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared) { 0x00000011, } }) Method (CRSE, 1, Serialized) { Name (IRZ7, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared) { 0x00000007, } }) CreateWordField (IRZ7, 0x05, INZ7) Store (0x00, Local0) If (LEqual (Arg0, 0x08)) { Store (0x10, Local0) } If (LEqual (Arg0, 0x01)) { Store (0x11, Local0) } If (LEqual (Arg0, 0x02)) { Store (0x12, Local0) } If (LEqual (Arg0, 0x0D)) { Store (0x13, Local0) } Store (Local0, INZ7) Return (IRZ7) } Method (SRSE, 1, Serialized) { CreateWordField (Arg0, 0x05, IRZ8) Store (0x00, Local0) If (LEqual (IRZ8, 0x10)) { Store (0x08, Local0) } If (LEqual (IRZ8, 0x11)) { Store (0x01, Local0) } If (LEqual (IRZ8, 0x12)) { Store (0x02, Local0) } If (LEqual (IRZ8, 0x13)) { Store (0x0D, Local0) } Return (Local0) } Device (LNK1) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (INTW) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, INTW) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFE) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (INTW)) } Else { Return (CRSE (INTW)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), INTW) } Else { Store (SRSE (Arg0), INTW) } } } Device (LNK2) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (INTX) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, INTX) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFE) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (INTX)) } Else { Return (CRSE (INTX)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), INTX) } Else { Store (SRSE (Arg0), INTX) } } } Device (LNK3) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (INTY) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, INTY) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFF) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (INTY)) } Else { Return (CRSE (INTY)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), INTY) } Else { Store (SRSE (Arg0), INTY) } } } Device (LNK4) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (INTZ) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, INTZ) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFE) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (INTZ)) } Else { Return (CRSE (INTZ)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), INTZ) } Else { Store (SRSE (Arg0), INTZ) } } } Device (LNK5) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (INTE) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, INTE) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFE) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (INTE)) } Else { Return (CRSE (INTE)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), INTE) } Else { Store (SRSE (Arg0), INTE) } } } Device (LSMB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (ISMB) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, ISMB) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (ISMB)) } Else { Return (CRSI (ISMB)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), ISMB) } Else { Store (SRSI (Arg0), ISMB) } } } Device (LUS0) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (IUS0) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IUS0) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IUS0)) } Else { Return (CRSI (IUS0)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IUS0) } Else { Store (SRSI (Arg0), IUS0) } } } Device (LUS1) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (IUS1) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IUS1) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IUS1)) } Else { Return (CRSI (IUS1)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IUS1) } Else { Store (SRSI (Arg0), IUS1) } } } Device (LUS2) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x09) Method (_STA, 0, NotSerialized) { If (IUS2) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IUS2) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IUS2)) } Else { Return (CRSI (IUS2)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IUS2) } Else { Store (SRSI (Arg0), IUS2) } } } Device (LMAC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0A) Method (_STA, 0, NotSerialized) { If (IMAC) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IMAC) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IMAC)) } Else { Return (CRSI (IMAC)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IMAC) } Else { Store (SRSI (Arg0), IMAC) } } } Device (LACI) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0B) Method (_STA, 0, NotSerialized) { If (IACI) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IACI) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IACI)) } Else { Return (CRSI (IACI)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IACI) } Else { Store (SRSI (Arg0), IACI) } } } Device (LMCI) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0C) Method (_STA, 0, NotSerialized) { If (IMCI) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IMCI) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IMCI)) } Else { Return (CRSI (IMCI)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IMCI) } Else { Store (SRSI (Arg0), IMCI) } } } Device (LPID) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0D) Method (_STA, 0, NotSerialized) { If (IPID) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IPID) Store (0x00, ISID) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (IPID)) } Else { Return (CRSI (IPID)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), IPID) Store (SRS (Arg0), ISID) } Else { Store (SRSI (Arg0), IPID) Store (SRSI (Arg0), ISID) } } } Device (LTID) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0E) Method (_STA, 0, NotSerialized) { If (ITID) { Return (0x0B) } Else { Return (0x09) } } Method (_DIS, 0, NotSerialized) { Store (0x00, ITID) } Method (_PRS, 0, NotSerialized) { If (LNot (PICF)) { Return (BUFA) } Else { Return (BUFI) } } Method (_CRS, 0, NotSerialized) { If (LNot (PICF)) { Return (CRS (ITID)) } Else { Return (CRSI (ITID)) } } Method (_SRS, 1, NotSerialized) { If (LNot (PICF)) { Store (SRS (Arg0), ITID) } Else { Store (SRSI (Arg0), ITID) } } } } } Scope (_TZ) { Name (DTMP, 0x0CA0) Name (DAC0, 0x0CD2) Name (DPSV, 0x0E1C) Name (TBSE, 0x0AAC) ThermalZone (THRM) { Method (_CRT, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPC0.EC0.ECOK, 0x01)) { Multiply (\_SB.PCI0.LPC0.EC0.RFRD, 0x0A, Local0) Add (Local0, 0x0AAC, Local0) Return (Local0) } Return (0x0DE0) } Method (_TMP, 0, NotSerialized) { If (OSSD) { Store (0x00, OSSD) Store (0x0BB8, Local0) If (\_SB.PCI0.LPC0.EC0.ECOK) { Multiply (\_SB.PCI0.LPC0.EC0.CTMP, 0x0A, Local0) Add (Local0, 0x0AAC, Local0) } Return (Local0) } Else { If (\_SB.PCI0.LPC0.EC0.ECOK) { If (\_SB.PCI0.LPC0.EC0.TST4) { Return (Add (Multiply (\_SB.PCI0.LPC0.EC0.TST4, 0x0A), TBSE)) } Else { Return (DTMP) } } Else { Return (DTMP) } } } Method (_AC0, 0, NotSerialized) { Return (DAC0) } Method (_PSV, 0, NotSerialized) { Return (DPSV) } Name (_PSL, Package (0x01) { \_PR.CPU0 }) Name (_TC1, 0x02) Name (_TC2, 0x05) Name (_TSP, 0x32) } } OperationRegion (DBGP, SystemIO, 0x1080, 0x01) Field (DBGP, ByteAcc, NoLock, Preserve) { DBUG, 8 } Name (FWSO, "FWSO") } --Boundary-00=_wLa7Aa3t1mLIRsx-- From owner-freebsd-acpi@FreeBSD.ORG Sat Jul 10 22:58:07 2004 Return-Path: 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 0938916A4CF for ; Sat, 10 Jul 2004 22:58:07 +0000 (GMT) Received: from pfepa.post.tele.dk (pfepa.post.tele.dk [195.41.46.235]) by mx1.FreeBSD.org (Postfix) with ESMTP id 891D743D1F for ; Sat, 10 Jul 2004 22:58:06 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (0x50c7990f.naenxx7.adsl-dhcp.tele.dk [80.199.153.15]) by pfepa.post.tele.dk (Postfix) with ESMTP id 21F9647FE11 for ; Sun, 11 Jul 2004 00:58:04 +0200 (CEST) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.11/8.12.11) with ESMTP id i6AMvhTr002747 for ; Sun, 11 Jul 2004 00:57:44 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: acpi@freebsd.org From: Poul-Henning Kamp Date: Sun, 11 Jul 2004 00:57:42 +0200 Message-ID: <2746.1089500262@critter.freebsd.dk> Sender: phk@critter.freebsd.dk Subject: IBM Thinkpad T41p ACPI trouble. X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Jul 2004 22:58:07 -0000 I bought a Thinkpad T41p some weeks back, and to my delight ACPI worked flawlessly. I could adjust the backlight, turn the little white "head light" led on and off, suspend etc. Then at some point, it started wedging solid at the mere thought of ACPI. Touching the "Fn" key and any other key is pure death, but touching the Fn key alone gives me a NUL-char. Tonight I went timetravelling with my kernel and get as far back as first of may, but all along the same instant death if ACPI was provoked. It is not quite instant if the laptop is running on batteries, but it still dies within a few seconds. The hang has all the hallmark properties of an interrupt storm, but no kernel warning about interrupt storm results. I fully understand what a wretched monster ACPI is and that I know only the tiniest amount about what it is and does, but I'd like to offer my help debugging this bug anyway. Anyone have some good and clear suggestions for how to go from here ? -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.