From owner-freebsd-acpi@FreeBSD.ORG Sun Sep 16 12:37:17 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3622C16A419; Sun, 16 Sep 2007 12:37:17 +0000 (UTC) (envelope-from chris@hitnet.RWTH-Aachen.DE) Received: from mta-2.ms.rz.rwth-aachen.de (mta-2.ms.rz.RWTH-Aachen.DE [134.130.7.73]) by mx1.freebsd.org (Postfix) with ESMTP id D61AD13C45E; Sun, 16 Sep 2007 12:37:16 +0000 (UTC) (envelope-from chris@hitnet.RWTH-Aachen.DE) Received: from ironport-out-1.rz.rwth-aachen.de ([134.130.3.58]) by mta-2.ms.rz.RWTH-Aachen.de (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTP id <0JOG005JOOE3AG20@mta-2.ms.rz.RWTH-Aachen.de>; Sun, 16 Sep 2007 14:37:15 +0200 (CEST) Received: from talos.rz.rwth-aachen.de (HELO smarthost.rwth-aachen.de) ([134.130.3.22]) by ironport-in-1.rz.rwth-aachen.de with ESMTP; Sun, 16 Sep 2007 14:37:15 +0200 Received: from bigboss.hitnet.rwth-aachen.de (bigspace.hitnet.RWTH-Aachen.DE [137.226.181.2]) by smarthost.rwth-aachen.de (8.13.8/8.13.8/1) with ESMTP id l8GCbEM5024246; Sun, 16 Sep 2007 14:37:14 +0200 Received: from haakonia.hitnet.rwth-aachen.de ([137.226.181.92]) by bigboss.hitnet.rwth-aachen.de with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1IWtND-00036m-54; Sun, 16 Sep 2007 14:37:15 +0200 Received: by haakonia.hitnet.rwth-aachen.de (Postfix, from userid 1001) id C02693F41E; Sun, 16 Sep 2007 14:37:09 +0200 (CEST) Date: Sun, 16 Sep 2007 14:37:09 +0200 From: Christian Brueffer In-reply-to: <20070914164117.GC1872@haakonia.hitnet.RWTH-Aachen.DE> To: Nate Lawson Message-id: <20070916123709.GC1823@haakonia.hitnet.RWTH-Aachen.DE> MIME-version: 1.0 Content-type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary=z6Eq5LdranGa6ru8 Content-disposition: inline X-IronPort-AV: E=Sophos;i="4.20,260,1186351200"; d="scan'208";a="22876266" X-Operating-System: FreeBSD 6.2-STABLE X-PGP-Key: http://people.FreeBSD.org/~brueffer/brueffer.key.asc X-PGP-Fingerprint: A5C8 2099 19FF AACA F41B B29B 6C76 178C A0ED 982D References: <46E0777A.8070901@root.org> <20070914164117.GC1872@haakonia.hitnet.RWTH-Aachen.DE> User-Agent: Mutt/1.5.11 Cc: acpi@FreeBSD.ORG, current@FreeBSD.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Sep 2007 12:37:17 -0000 --z6Eq5LdranGa6ru8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 14, 2007 at 06:41:17PM +0200, Christian Brueffer wrote: > On Thu, Sep 06, 2007 at 02:56:10PM -0700, Nate Lawson wrote: > > I've done some major rework on the EC driver. This should help with > > various problems, including timeouts while checking battery status or > > temperature. The attached patches are for 6.x and 7.x. Please test and > > let me know if you get any new errors on dmesg or if it fixes things for > > you (especially HP/Compaq laptop owners). > >=20 >=20 > Tested version c on a Thinkpad T41p, everything worked before, everything > works now. >=20 I'm afraid I have to retract that statement. When I close the lid and open it again later, the display come back on. The output of `sysctl -a|grep acpi` is available here: http://people.freebsd.org/~brueffer/acpi What can I do to help debugging this? - Christian --=20 Christian Brueffer chris@unixpages.org brueffer@FreeBSD.org GPG Key: http://people.freebsd.org/~brueffer/brueffer.key.asc GPG Fingerprint: A5C8 2099 19FF AACA F41B B29B 6C76 178C A0ED 982D --z6Eq5LdranGa6ru8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFG7SN1bHYXjKDtmC0RAoSRAJsEg+rZC2IyEISZMBU+JNoO2Hw7QQCgt7GC lanz1x6wAbPS6nrFul4C/E0= =72TR -----END PGP SIGNATURE----- --z6Eq5LdranGa6ru8-- From owner-freebsd-acpi@FreeBSD.ORG Mon Sep 17 11:07:50 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B32616A421 for ; Mon, 17 Sep 2007 11:07:50 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 841E813C491 for ; Mon, 17 Sep 2007 11:07:50 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l8HB7oMx049281 for ; Mon, 17 Sep 2007 11:07:50 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l8HB7nA8049277 for freebsd-acpi@FreeBSD.org; Mon, 17 Sep 2007 11:07:49 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 17 Sep 2007 11:07:49 GMT Message-Id: <200709171107.l8HB7nA8049277@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to you X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Sep 2007 11:07:50 -0000 Current FreeBSD problem reports Critical problems Serious problems S Tracker Resp. Description -------------------------------------------------------------------------------- o i386/54756 acpi ACPI suspend/resume problem on CF-W2 laptop o i386/55661 acpi ACPI suspend/resume problem on ARMADA M700 o kern/56024 acpi ACPI suspend drains battery while in S3 o i386/72566 acpi ACPI, FreeBSD disables fan on Compaq Armada 1750 s i386/79080 acpi acpi thermal changes freezes HP nx6110 o i386/79081 acpi ACPI suspend/resume not working on HP nx6110 s i386/91748 acpi acpi problem on Acer TravelMare 4652LMi (nvidia panic, o kern/102252 acpi acpi thermal does not work on Abit AW8D (intel 975) o kern/104625 acpi ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show ther o kern/106924 acpi [acpi] ACPI resume returns g_vfs_done() errors and ker o kern/114113 acpi [patch] ACPI kernel panic during S3 suspend / resume o i386/114562 acpi [acpi] cardbus is dead after s3 on Thinkpad T43 with a o amd64/115011 acpi ACPI problem ,reboot system down. o kern/116169 acpi [PATCH] acpi_ibm => psm0 not found problem 14 problems total. Non-critical problems S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/67309 acpi zzz reboot computer (ACPI S3) o i386/69750 acpi Boot without ACPI failed on ASUS L5 o i386/72179 acpi [acpi] [patch] Inconsistent apm(8) output regarding th o kern/73823 acpi [feature request] acpi / power-on by timer support o kern/76950 acpi ACPI wrongly blacklisted on Micron ClientPro 766Xi sys o kern/89411 acpi [acpi] acpiconf bug o kern/97383 acpi Volume buttons on IBM Thinkpad crash system with ACPI o kern/98171 acpi [acpi] ACPI 1304 / 0501 errors on Acer 5024WLMi Laptop o kern/103365 acpi [acpi] acpi poweroff doesn't work with geli device att o kern/105537 acpi [acpi] problems in acpi on HP Compaq nc6320 o kern/108017 acpi [acpi]: Acer Aspire 5600 o kern/108488 acpi [acpi] ACPI-1304: *** Error: Method execution failed o kern/108581 acpi [sysctl] sysctl: hw.acpi.cpu.cx_lowest: Invalid argume o kern/108695 acpi [acpi]: Fatal trap 9: general protection fault when in o kern/111591 acpi [acpi] dev.acpi_ibm.0.events returns I/O error (regres o kern/112544 acpi [acpi] [patch] Add High Precision Event Timer Driver f o kern/114165 acpi Dell C810 - ACPI problem o kern/114722 acpi [acpi] [patch] Nearly duplicate p-state entries report 18 problems total. From owner-freebsd-acpi@FreeBSD.ORG Mon Sep 17 12:17:00 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E8F016A417 for ; Mon, 17 Sep 2007 12:17:00 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (bns.tns.cz [213.194.214.115]) by mx1.freebsd.org (Postfix) with ESMTP id C03FA13C4B0 for ; Mon, 17 Sep 2007 12:16:58 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (localhost [127.0.0.1]) by bns.tns.cz (Postfix) with ESMTP id 49C6C55E401 for ; Mon, 17 Sep 2007 13:53:19 +0200 (CEST) Received: from belzebub.tns.cz (belzebub [192.168.144.3]) by bns.tns.cz with ESMTP id 4DSJALT00018WYQ5JAG; Mon, 17 Sep 2007 13:53:19 +0200 (CEST) Received: by belzebub.tns.cz (Postfix, from userid 1001) id 3AA2216AB55; Mon, 17 Sep 2007 13:56:01 +0200 (CEST) Date: Mon, 17 Sep 2007 13:56:01 +0200 From: Roman Pavlik To: freebsd-acpi@freebsd.org Message-ID: <20070917115601.GA1371@belzebub.tns.cz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="AhhlLboLdkugWU4S" Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.12-2006-07-14 Subject: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Sep 2007 12:17:00 -0000 --AhhlLboLdkugWU4S Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: 8bit FreeBSD 7-current, snap 200708 can't boot on Compaq/HP 6710b laptop with ACPI enabled. The boot process ends with acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 which indefinitely loops. However manual escape to debugger is possible. Without acpi it works fine. There is no problem with FreeBSD 6.x release even with ACPI enabled. The attached files: - hp6710-6.1_frenzy.acpion.dmesg (boot -v on 6.1-frenzy with ACPI) - hp6710-7cur-acpioff.dmesg (boot -v on 7-current without ACPI) - hp6710-7cur-acpion.dmesg (transcript of boot -v on 7-current (warning! made by hand)) - rp-hp6710b.asl (acpidump -dt) is located at: http://www.tns.cz/~rp/rp-hp6710b.asl There is another problem on this machine (I'm not sure if it is connected with ACPI problem): It froze during boot if the integrated LAN is enabled in the BIOS (it is BroadCom NetLink Gigabyte adapter - the driver for it is not in 6.2 release but was already added to STABLE branch). Thank you for advice, -- Roman Pavlík --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="hp6710-6.1_frenzy.acpion.dmesg" found-> vendor=0x8086, dev=0x2a03, revid=0x0c bus=0, slot=2, func=1 class=03-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) powerspec 3 supports D0 D3 current D0 map[10]: type 1, range 64, base e4700000, size 20, enabled found-> vendor=0x8086, dev=0x2834, revid=0x03 bus=0, slot=26, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type 4, range 32, base 00004020, size 5, enabled pcib0: matched entry for 0.26.INTA pcib0: slot 26 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2835, revid=0x03 bus=0, slot=26, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type 4, range 32, base 00004040, size 5, enabled pcib0: matched entry for 0.26.INTB pcib0: slot 26 INTB hardwired to IRQ 17 found-> vendor=0x8086, dev=0x283a, revid=0x03 bus=0, slot=26, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base e4800000, size 10, enabled pcib0: matched entry for 0.26.INTC pcib0: slot 26 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x284b, revid=0x03 bus=0, slot=27, func=0 class=04-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type 1, range 64, base e4804000, size 14, enabled pcib0: matched entry for 0.27.INTA pcib0: slot 27 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x283f, revid=0x03 bus=0, slot=28, func=0 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 pcib0: matched entry for 0.28.INTA pcib0: slot 28 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2841, revid=0x03 bus=0, slot=28, func=1 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 pcib0: matched entry for 0.28.INTB pcib0: slot 28 INTB hardwired to IRQ 17 found-> vendor=0x8086, dev=0x2843, revid=0x03 bus=0, slot=28, func=2 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 pcib0: matched entry for 0.28.INTC pcib0: slot 28 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x2847, revid=0x03 bus=0, slot=28, func=4 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 pcib0: matched entry for 0.28.INTA pcib0: slot 28 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2830, revid=0x03 bus=0, slot=29, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type 4, range 32, base 00004060, size 5, enabled pcib0: matched entry for 0.29.INTA pcib0: slot 29 INTA hardwired to IRQ 20 found-> vendor=0x8086, dev=0x2831, revid=0x03 bus=0, slot=29, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type 4, range 32, base 00004080, size 5, enabled pcib0: matched entry for 0.29.INTB pcib0: slot 29 INTB hardwired to IRQ 21 found-> vendor=0x8086, dev=0x2832, revid=0x03 bus=0, slot=29, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 map[20]: type 4, range 32, base 000040a0, size 5, enabled pcib0: matched entry for 0.29.INTC pcib0: slot 29 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x2836, revid=0x03 bus=0, slot=29, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base e4808000, size 10, enabled pcib0: matched entry for 0.29.INTA pcib0: slot 29 INTA hardwired to IRQ 20 found-> vendor=0x8086, dev=0x2448, revid=0xf3 bus=0, slot=30, func=0 class=06-04-01, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x06 (1500 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2815, revid=0x03 bus=0, slot=31, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2850, revid=0x03 bus=0, slot=31, func=1 class=01-01-8a, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type 4, range 32, base 000040c0, size 4, enabled pcib0: matched entry for 0.31.INTA pcib0: slot 31 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2829, revid=0x03 bus=0, slot=31, func=2 class=01-06-01, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 powerspec 3 supports D0 D3 current D0 MSI supports 4 messages map[10]: type 4, range 32, base 000013f0, size 3, enabled map[14]: type 4, range 32, base 000015f4, size 2, enabled map[18]: type 4, range 32, base 00001370, size 3, enabled map[1c]: type 4, range 32, base 00001574, size 2, enabled map[20]: type 4, range 32, base 00004100, size 5, enabled map[24]: type 1, range 32, base e4809000, size 11, enabled pcib0: matched entry for 0.31.INTB pcib0: slot 31 INTB hardwired to IRQ 17 pci0: at device 2.0 (no driver attached) pci0: at device 2.1 (no driver attached) uhci0: port 0x4020-0x403f irq 16 at device 26.0 on pci0 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4020 ioapic0: routing intpin 16 (PCI IRQ 16) to vector 49 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x4040-0x405f irq 17 at device 26.1 on pci0 uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4040 ioapic0: routing intpin 17 (PCI IRQ 17) to vector 50 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered ehci0: mem 0xe4800000-0xe48003ff irq 18 at device 26.7 on pci0 ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4800000 ioapic0: routing intpin 18 (PCI IRQ 18) to vector 51 ehci0: [GIANT-LOCKED] usb2: EHCI version 1.0 usb2: companion controllers, 2 ports each: usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub2: 4 ports with 4 removable, self powered pci0: at device 27.0 (no driver attached) pcib1: irq 16 at device 28.0 on pci0 pcib1: secondary bus 8 pcib1: subordinate bus 8 pcib1: I/O decode 0xf000-0xfff pcib1: memory decode 0xfff00000-0xfffff pcib1: prefetched decode 0xfff00000-0xfffff pci8: on pcib1 pci8: physical bus=8 pcib2: irq 17 at device 28.1 on pci0 pcib2: secondary bus 16 pcib2: subordinate bus 16 pcib2: I/O decode 0xf000-0xfff pcib2: memory decode 0xe4100000-0xe41fffff pcib2: prefetched decode 0xfff00000-0xfffff pci16: on pcib2 pci16: physical bus=16 found-> vendor=0x8086, dev=0x4222, revid=0x02 bus=16, slot=0, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type 1, range 32, base e4100000, size 12, enabled pcib2: (null) requested memory range 0xe4100000-0xe4100fff: good pcib2: matched entry for 16.0.INTA pcib2: slot 0 INTA hardwired to IRQ 17 pci16: at device 0.0 (no driver attached) pcib3: irq 18 at device 28.2 on pci0 pcib3: secondary bus 24 pcib3: subordinate bus 24 pcib3: I/O decode 0xf000-0xfff pcib3: memory decode 0xe4000000-0xe40fffff pcib3: prefetched decode 0xfff00000-0xfffff pci24: on pcib3 pci24: physical bus=24 found-> vendor=0x14e4, dev=0x1693, revid=0x02 bus=24, slot=0, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 3 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type 1, range 64, base e4000000, size 16, enabled pcib3: (null) requested memory range 0xe4000000-0xe400ffff: good pcib3: matched entry for 24.0.INTA pcib3: slot 0 INTA hardwired to IRQ 18 pci24: at device 0.0 (no driver attached) pcib4: irq 16 at device 28.4 on pci0 pcib4: secondary bus 40 pcib4: subordinate bus 40 pcib4: I/O decode 0x2000-0x3fff pcib4: memory decode 0xe0000000-0xe3ffffff pcib4: prefetched decode 0xfff00000-0xfffff pci40: on pcib4 pci40: physical bus=40 uhci2: port 0x4060-0x407f irq 20 at device 29.0 on pci0 uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4060 ioapic0: routing intpin 20 (PCI IRQ 20) to vector 52 uhci2: [GIANT-LOCKED] usb3: on uhci2 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered uhci3: port 0x4080-0x409f irq 21 at device 29.1 on pci0 uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4080 ioapic0: routing intpin 21 (PCI IRQ 21) to vector 53 uhci3: [GIANT-LOCKED] usb4: on uhci3 usb4: USB revision 1.0 uhub4: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub4: 2 ports with 2 removable, self powered uhci4: port 0x40a0-0x40bf irq 18 at device 29.2 on pci0 uhci4: Reserved 0x20 bytes for rid 0x20 type 4 at 0x40a0 uhci4: [GIANT-LOCKED] usb5: on uhci4 usb5: USB revision 1.0 uhub5: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub5: 2 ports with 2 removable, self powered ehci1: mem 0xe4808000-0xe48083ff irq 20 at device 29.7 on pci0 ehci1: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4808000 ehci1: [GIANT-LOCKED] usb6: EHCI version 1.0 usb6: companion controllers, 2 ports each: usb3 usb4 usb5 usb6: on ehci1 usb6: USB revision 2.0 uhub6: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub6: 6 ports with 6 removable, self powered pcib5: at device 30.0 on pci0 pcib5: secondary bus 2 pcib5: subordinate bus 3 pcib5: I/O decode 0xf000-0xfff pcib5: memory decode 0xe4200000-0xe45fffff pcib5: prefetched decode 0xfff00000-0xfffff pcib5: Subtractively decoded bridge. pci2: on pcib5 pci2: physical bus=2 found-> vendor=0x1180, dev=0x0476, revid=0xb6 bus=2, slot=4, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns) intpin=a, irq=5 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e4200000, size 12, enabled pcib5: (null) requested memory range 0xe4200000-0xe4200fff: good pcib5: matched entry for 2.4.INTA pcib5: slot 4 INTA hardwired to IRQ 16 found-> vendor=0x1180, dev=0x0832, revid=0x02 bus=2, slot=4, func=1 class=0c-00-10, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=b, irq=10 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base e4201000, size 11, enabled pcib5: (null) requested memory range 0xe4201000-0xe42017ff: good pcib5: matched entry for 2.4.INTB pcib5: slot 4 INTB hardwired to IRQ 17 cbb0: mem 0xe4200000-0xe4200fff irq 16 at device 4.0 on pci2 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe4200000 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] cbb0: PCI Configuration space: 0x00: 0x04761180 0x02100007 0x060700b6 0x00824000 0x10: 0xe4200000 0x020000dc 0x20030302 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07000110 0x40: 0x30c0103c 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x30a00001 0x00000000 0x04630463 0x00000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x00000008 0x00000000 0x00000000 0x00000000 0xb0: 0x00000000 0xba000000 0x00003000 0x00000000 0xc0: 0x30c0103c 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001 0xe0: 0x24c04000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 fwohci0: vendor=1180, dev=832 fwohci0: vendor=1180, dev=832 fwohci0: <1394 Open Host Controller Interface> mem 0xe4201000-0xe42017ff irq 17 at device 4.1 on pci2 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xe4201000 fwohci0: [GIANT-LOCKED] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:02:3f:99:29:4d:3b:0e fwohci0: Phy 1394a available S400, 1 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 dcons_crom0: on firewire0 dcons_crom0: bus_addr 0x7d05b000 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 02:02:3f:4d:3b:0e fwe0: bpf attached fwe0: Ethernet address: 02:02:3f:4d:3b:0e sbp0: on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x40c0-0x40cf irq 16 at device 31.1 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x40c0 ata0: on atapci0 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: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=00 stat1=00 devices=0x4 ioapic0: routing intpin 14 (ISA IRQ 14) to vector 54 ata0: [MPSAFE] ata1: on atapci0 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=00 ostat0=ff ostat1=ff ioapic0: routing intpin 15 (ISA IRQ 15) to vector 55 ata1: [MPSAFE] pci0: at device 31.2 (no driver attached) battery0: on acpi0 battery1: on acpi0 acpi_acad0: on acpi0 acpi_button0: on acpi0 acpi_lid0: on acpi0 acpi_tz0: on acpi0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz1: on acpi0 acpi_tz2: on acpi0 acpi_tz3: on acpi0 acpi_tz4: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x41ab (2) kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 ioapic0: routing intpin 1 (ISA IRQ 1) to vector 56 atkbd0: [GIANT-LOCKED] psm0: unable to allocate IRQ psmcpnp0: irq 12 on acpi0 psm0: current command byte:0065 psm0: irq 12 on atkbdc0 ioapic0: routing intpin 12 (ISA IRQ 12) to vector 57 psm0: [GIANT-LOCKED] psm0: model IntelliMouse, device ID 3-00, 3 buttons psm0: config:00000000, flags:00000008, packet size:4 psm0: syncmask:08, syncbits:00 ppc0: using extended I/O port range ppc0: ECP SPP ECP+EPP SPP ppc0: port 0x378-0x37f,0x778-0x77a 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 plip0: on ppbus0 plip0: bpf attached lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 ioapic0: routing intpin 7 (ISA IRQ 7) to vector 58 ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it atkbdc: atkbdc0 already exists; skipping it ppc: ppc0 already exists; skipping it pnp_identify: Trying Read_Port at 203 pnp_identify: Trying Read_Port at 243 pnp_identify: Trying Read_Port at 283 pnp_identify: Trying Read_Port at 2c3 pnp_identify: Trying Read_Port at 303 pnp_identify: Trying Read_Port at 343 pnp_identify: Trying Read_Port at 383 pnp_identify: Trying Read_Port at 3c3 PNP Identify complete arl: in identify arl: free mem vector = 0xffff arl0: not found at 0xc0000 arl0: not found at 0xc2000 arl0: not found at 0xc4000 arl0: not found at 0xc6000 arl0: not found at 0xc8000 arl0: not found at 0xca000 arl0: not found at 0xcc000 arl0: not found at 0xce000 arl0: not found at 0xd0000 arl0: not found at 0xd2000 arl0: not found at 0xd4000 arl0: not found at 0xd6000 arl0: not found at 0xd8000 arl0: not found at 0xda000 arl0: not found at 0xdc000 arl0: not found at 0xde000 ex_isa_identify() sc: sc0 already exists; skipping it vga: vga0 already exists; skipping it unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices pmtimer0 on isa0 orm0: at iomem 0xd0000-0xd0fff on isa0 adv0: not probed (disabled) aha0: not probed (disabled) aic0: not probed (disabled) bt0: not probed (disabled) cs0: not probed (disabled) ed0: not probed (disabled) fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fe0: not probed (disabled) ie0: not probed (disabled) lnc0: not probed (disabled) sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd1, 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: 0x4ea1 0x4ea1 0x4ea1 0x4ea1 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 ioapic0: routing intpin 4 (ISA IRQ 4) to vector 59 sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: irq maps: 0x4ea1 0x4ea1 0x4ea1 0x4ea1 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) sn0: not probed (disabled) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 vt0: not probed (disabled) isa_probe_children: probing PnP devices ubt0: Broadcom Corp HP Integrated Module, rev 2.00/1.00, addr 2 ubt0: Broadcom Corp HP Integrated Module, rev 2.00/1.00, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 4) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=64; nframes=5, buffer size=320 ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.23, addr 2 Device configuration finished. Reducing kern.maxvnodes 133593 -> 100000 procfs registered lapic: Divisor 2, Frequency 99750387 hz Timecounter "TSC" frequency 2194523683 Hz quality 800 Timecounters tick every 1.000 msec crypto: crypto: assign driver 0, flags 6 crypto: driver 0 registers alg 1 flags 0 maxoplen 0 crypto: driver 0 registers alg 2 flags 0 maxoplen 0 crypto: driver 0 registers alg 3 flags 0 maxoplen 0 crypto: driver 0 registers alg 4 flags 0 maxoplen 0 crypto: driver 0 registers alg 5 flags 0 maxoplen 0 crypto: driver 0 registers alg 17 flags 0 maxoplen 0 crypto: driver 0 registers alg 6 flags 0 maxoplen 0 crypto: driver 0 registers alg 7 flags 0 maxoplen 0 crypto: driver 0 registers alg 15 flags 0 maxoplen 0 crypto: driver 0 registers alg 8 flags 0 maxoplen 0 crypto: driver 0 registers alg 16 flags 0 maxoplen 0 crypto: driver 0 registers alg 9 flags 0 maxoplen 0 crypto: driver 0 registers alg 10 flags 0 maxoplen 0 crypto: driver 0 registers alg 13 flags 0 maxoplen 0 crypto: driver 0 registers alg 14 flags 0 maxoplen 0 crypto: driver 0 registers alg 11 flags 0 maxoplen 0 crypto: driver 0 registers alg 18 flags 0 maxoplen 0 IPv6 packet filtering initialized, default to accept, logging limited to 100 packets/entry IPsec: Initialized Security Association Processing. ncp_load: loaded lo0: bpf attached ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default rr232x: no controller detected. md0: Preloaded image 2097152 bytes at 0xc0d230bc acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 28 func 0 acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 28 func 1 acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 28 func 2 battery0: battery initialization start battery0: battery initialization done, tried 1 times battery1: battery initialization start acpi_acad0: acline initialization start acpi_acad0: On Line acpi_acad0: acline initialization done, tried 1 times acpi_tz0: _AC4: temperature 65.0 >= setpoint 35.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 45.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 55.0 acpi_tz0: _AC1: temperature 65.0 >= setpoint 65.0 acpi_tz0: switched from NONE to _AC1: 65.0C ata0-master: pio=PIO4 wdma=WDMA2 udma=UNSUPPORTED cable=40 wire acpi_tz0: _AC4: temperature 65.0 >= setpoint 35.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 45.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 55.0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 28 func 4 acd0: DVDR drive at ata0 as master acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, PIO4 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet acd0: Writes: CDR, CDRW, DVDR, DVDRAM, test write, burnproof acd0: Audio: play, 256 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: CD-R 120mm data disc (probe7:ata0:0:0:0): error 22 (probe7:ata0:0:0:0): Unretryable Error (probe0:sbp0:0:0:0): error 22 (probe0:sbp0:0:0:0): Unretryable Error (probe1:sbp0:0:1:0): error 22 (probe1:sbp0:0:1:0): Unretryable Error (probe2:sbp0:0:2:0): error 22 (probe2:sbp0:0:2:0): Unretryable Error (probe3:sbp0:0:3:0): error 22 (probe3:sbp0:0:3:0): Unretryable Error (probe4:sbp0:0:4:0): error 22 (probe4:sbp0:0:4:0): Unretryable Error (probe5:sbp0:0:5:0): error 22 (probe5:sbp0:0:5:0): Unretryable Error (probe6:sbp0:0:6:0): error 22 (probe6:sbp0:0:6:0): Unretryable Error pass0 at ata0 bus 0 target 0 lun 0 pass0: Removable CD-ROM SCSI-0 device pass0: 16.000MB/s transfers GEOM: new disk cd0 ATA PseudoRAID loaded cd0 at ata0 bus 0 target 0 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: cd present [129547 x 2048 byte records] Trying to mount root from ufs:/dev/md0 start_init: trying /sbin/init md1.uzip: 5547 x 130560 blocks acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: switched from _AC1 to _AC2: 60.0C acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC1: temperature 65.0 >= setpoint 65.0 acpi_tz0: switched from _AC2 to _AC1: 65.0C acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 60.0 >= setpoint 50.0 acpi_tz0: switched from _AC1 to _AC2: 60.0C fuse4bsd: version 0.3.0, FUSE ABI 7.5 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 pcib5: pccard0 requested memory range 0xe4200000-0xe45fffff: good pccard0: CIS version PCCARD 2.0 or 2.1 pccard0: CIS info: PCMCIA, Ethernet, , pccard0: Manufacturer code 0xffffffff, product 0xffffffff pccard0: function 0: network adapter, ccr addr 3f8 mask 3 pccard0: function 0, config table entry 32: I/O card; irq mask ffff; iomask a, iospace 300-31f; mwait_required io16 irqlevel pccard0: function 0, config table entry 33: I/O card; irq mask ffff; iomask a, iospace 320-33f; mwait_required io16 irqlevel pccard0: function 0, config table entry 34: I/O card; irq mask ffff; iomask a, iospace 340-35f; mwait_required io16 irqlevel pccard0: function 0, config table entry 35: I/O card; irq mask ffff; iomask a, iospace 360-37f; mwait_required io16 irqlevel pcib5: pccard0 requested memory range 0xe4200000-0xe45fffff: good cnw0: Cannot allocate attribute memory acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 battery1: battery initialization failed, giving up acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 acpi_tz0: _AC4: temperature 60.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 60.0 >= setpoint 40.0 --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="hp6710-7cur-acpioff.dmesg" Copyright (c) 1992-2007 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 7.0-CURRENT-200708 #3: Tue Sep 11 14:25:36 CEST 2007 root@belzebub.tns.cz:/usr/src/sys/i386/compile/BELZEBUB Preloaded elf kernel "/boot/kernel/kernel" at 0xc098d000. APIC: Could not find any APICs. Calibrating clock(s) ... i8254 clock: 1193178 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 2194517149 Hz CPU: Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz (2194.52-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6fa Stepping = 10 Features=0xbfebfbff Features2=0xe3bd AMD Features=0x20100000 AMD Features2=0x1 Cores per package: 2 Instruction TLB: 4 KB Pages, 4-way set associative, 128 entries 1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size 1st-level data cache: 32 KB, 8-way set associative, 64 byte line size L2 cache: 4096 kbytes, 16-way associative, 64 bytes/line real memory = 2138767360 (2039 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000c28000 - 0x000000007d384fff, 2088095744 bytes (509789 pages) avail memory = 2087628800 (1990 MB) bios32: Found BIOS32 Service Directory header at 0xc00fa000 bios32: Entry = 0xf0000 (c00f0000) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf0000+0x322 pnpbios: Found PnP BIOS data at 0xc00f53a0 pnpbios: Entry = f0000:53ce Rev = 1.0 pnpbios: Event flag at f53c6 pnpbios: OEM ID c0303c10 Other BIOS signatures found: wlan_amrr: wlan: <802.11 Link Layer> random: kbd: new array size 4 kbd1 at kbdmux0 mem: Pentium Pro MTRR support enabled io: null: npx0: INT 16 interface cpu0 on motherboard est0: on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 6120c2e06000c2e device_attach: est0 attach returned 6 p4tcc0: on cpu0 pci_open(1): mode 1 addr port (0x0cf8) is 0x8000fa20 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=2a008086) pcibios: BIOS version 2.10 pcib0: pcibus 0 on motherboard pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x8086, dev=0x2a00, revid=0x0c bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x2090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2a02, revid=0x0c bus=0, slot=2, func=0 class=03-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0003, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 3 supports D0 D3 current D0 MSI supports 1 message map[10]: type Memory, range 64, base 0xe4400000, size 20, enabled map[18]: type Prefetchable Memory, range 64, base 0xd0000000, size 28, enabled map[20]: type I/O Port, range 32, base 0x4000, size 3, enabled found-> vendor=0x8086, dev=0x2a03, revid=0x0c bus=0, slot=2, func=1 class=03-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) powerspec 3 supports D0 D3 current D0 map[10]: type Memory, range 64, base 0xe4500000, size 20, enabled found-> vendor=0x8086, dev=0x2834, revid=0x03 bus=0, slot=26, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type I/O Port, range 32, base 0x4020, size 5, enabled found-> vendor=0x8086, dev=0x2835, revid=0x03 bus=0, slot=26, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type I/O Port, range 32, base 0x4040, size 5, enabled found-> vendor=0x8086, dev=0x283a, revid=0x03 bus=0, slot=26, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type Memory, range 32, base 0xe4600000, size 10, enabled found-> vendor=0x8086, dev=0x284b, revid=0x03 bus=0, slot=27, func=0 class=04-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type Memory, range 64, base 0xe4604000, size 14, enabled found-> vendor=0x8086, dev=0x283f, revid=0x03 bus=0, slot=28, func=0 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message found-> vendor=0x8086, dev=0x2841, revid=0x03 bus=0, slot=28, func=1 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message found-> vendor=0x8086, dev=0x2847, revid=0x03 bus=0, slot=28, func=4 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message found-> vendor=0x8086, dev=0x2830, revid=0x03 bus=0, slot=29, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type I/O Port, range 32, base 0x4060, size 5, enabled found-> vendor=0x8086, dev=0x2831, revid=0x03 bus=0, slot=29, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type I/O Port, range 32, base 0x4080, size 5, enabled found-> vendor=0x8086, dev=0x2832, revid=0x03 bus=0, slot=29, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 map[20]: type I/O Port, range 32, base 0x40a0, size 5, enabled found-> vendor=0x8086, dev=0x2836, revid=0x03 bus=0, slot=29, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 map[10]: type Memory, range 32, base 0xe4608000, size 10, enabled found-> vendor=0x8086, dev=0x2448, revid=0xf3 bus=0, slot=30, func=0 class=06-04-01, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x06 (1500 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2815, revid=0x03 bus=0, slot=31, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2850, revid=0x03 bus=0, slot=31, func=1 class=01-01-8a, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type I/O Port, range 32, base 0x40c0, size 4, enabled found-> vendor=0x8086, dev=0x2829, revid=0x03 bus=0, slot=31, func=2 class=01-06-01, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 powerspec 3 supports D0 D3 current D0 MSI supports 4 messages map[10]: type I/O Port, range 32, base 0x13f0, size 3, enabled map[14]: type I/O Port, range 32, base 0x15f4, size 2, enabled map[18]: type I/O Port, range 32, base 0x1370, size 3, enabled map[1c]: type I/O Port, range 32, base 0x1574, size 2, enabled map[20]: type I/O Port, range 32, base 0x4100, size 5, enabled map[24]: type Memory, range 32, base 0xe4609000, size 11, enabled vgapci0: port 0x4000-0x4007 mem 0xe4400000-0xe44fffff,0xd0000000-0xdfffffff irq 10 at device 2.0 on pci0 agp0: on vgapci0 vgapci0: Reserved 0x10000000 bytes for rid 0x18 type 3 at 0xd0000000 vgapci0: Reserved 0x100000 bytes for rid 0x10 type 3 at 0xe4400000 agp0: detected 7676k stolen memory agp0: aperture size is 256M vgapci1: mem 0xe4500000-0xe45fffff at device 2.1 on pci0 uhci0: port 0x4020-0x403f irq 10 at device 26.0 on pci0 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4020 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: on uhci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x4040-0x405f irq 10 at device 26.1 on pci0 uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4040 uhci1: [GIANT-LOCKED] uhci1: [ITHREAD] usb1: on uhci1 usb1: USB revision 1.0 uhub1: on usb1 uhub1: 2 ports with 2 removable, self powered ehci0: mem 0xe4600000-0xe46003ff irq 11 at device 26.7 on pci0 ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4600000 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb2: EHCI version 1.0 usb2: companion controllers, 2 ports each: usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: on usb2 uhub2: 4 ports with 4 removable, self powered pci0: at device 27.0 (no driver attached) pcib1: irq 10 at device 28.0 on pci0 pcib1: secondary bus 8 pcib1: subordinate bus 8 pcib1: I/O decode 0xf000-0xfff pcib1: no prefetched decode pci8: on pcib1 pci8: physical bus=8 pcib2: irq 10 at device 28.1 on pci0 pcib2: secondary bus 16 pcib2: subordinate bus 16 pcib2: I/O decode 0xf000-0xfff pcib2: memory decode 0xe4000000-0xe40fffff pcib2: no prefetched decode pci16: on pcib2 pci16: physical bus=16 found-> vendor=0x8086, dev=0x4222, revid=0x02 bus=16, slot=0, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type Memory, range 32, base 0xe4000000, size 12, enabled pcib2: requested memory range 0xe4000000-0xe4000fff: good pci16: at device 0.0 (no driver attached) pcib3: irq 10 at device 28.4 on pci0 pcib3: secondary bus 40 pcib3: subordinate bus 40 pcib3: I/O decode 0x2000-0x3fff pcib3: memory decode 0xe0000000-0xe3ffffff pcib3: no prefetched decode pci40: on pcib3 pci40: physical bus=40 uhci2: port 0x4060-0x407f irq 10 at device 29.0 on pci0 uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4060 uhci2: [GIANT-LOCKED] uhci2: [ITHREAD] usb3: on uhci2 usb3: USB revision 1.0 uhub3: on usb3 uhub3: 2 ports with 2 removable, self powered uhci3: port 0x4080-0x409f irq 10 at device 29.1 on pci0 uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4080 uhci3: [GIANT-LOCKED] uhci3: [ITHREAD] usb4: on uhci3 usb4: USB revision 1.0 uhub4: on usb4 uhub4: 2 ports with 2 removable, self powered uhci4: port 0x40a0-0x40bf irq 11 at device 29.2 on pci0 uhci4: Reserved 0x20 bytes for rid 0x20 type 4 at 0x40a0 uhci4: [GIANT-LOCKED] uhci4: [ITHREAD] usb5: on uhci4 usb5: USB revision 1.0 uhub5: on usb5 uhub5: 2 ports with 2 removable, self powered ehci1: mem 0xe4608000-0xe46083ff irq 10 at device 29.7 on pci0 ehci1: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4608000 ehci1: [GIANT-LOCKED] ehci1: [ITHREAD] usb6: waiting for BIOS to give up control usb6: EHCI version 1.0 usb6: companion controllers, 2 ports each: usb3 usb4 usb5 usb6: on ehci1 usb6: USB revision 2.0 uhub6: on usb6 uhub6: 6 ports with 6 removable, self powered pcib4: at device 30.0 on pci0 pcib4: secondary bus 2 pcib4: subordinate bus 3 pcib4: I/O decode 0xf000-0xfff pcib4: memory decode 0xe4100000-0xe43fffff pcib4: no prefetched decode pcib4: Subtractively decoded bridge. pci2: on pcib4 pci2: physical bus=2 found-> vendor=0x1180, dev=0x0476, revid=0xb6 bus=2, slot=4, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns) intpin=a, irq=5 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base 0xe4100000, size 12, enabled pcib4: requested memory range 0xe4100000-0xe4100fff: good found-> vendor=0x1180, dev=0x0832, revid=0x02 bus=2, slot=4, func=1 class=0c-00-10, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0210, cachelnsz=16 (dwords) lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=b, irq=10 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type Memory, range 32, base 0xe4101000, size 11, enabled pcib4: requested memory range 0xe4101000-0xe41017ff: good cbb0: mem 0xe4100000-0xe4100fff irq 5 at device 4.0 on pci2 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe4100000 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] cbb0: [ITHREAD] cbb0: PCI Configuration space: 0x00: 0x04761180 0x02100007 0x060700b6 0x00824000 0x10: 0xe4100000 0x020000dc 0x20030302 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07000105 0x40: 0x30c0103c 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x30a00001 0x00000000 0x04630463 0x00000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x00000008 0x00000000 0x00000000 0x00000000 0xb0: 0x00000000 0xba000000 0x00003000 0x00000000 0xc0: 0x30c0103c 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001 0xe0: 0x24c0c000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 fwohci0: vendor=1180, dev=832 fwohci0: vendor=1180, dev=832 fwohci0: <1394 Open Host Controller Interface> mem 0xe4101000-0xe41017ff irq 10 at device 4.1 on pci2 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xe4101000 fwohci0: [MPSAFE] fwohci0: [FILTER] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:02:3f:99:29:4d:3b:0e fwohci0: Phy 1394a available S400, 1 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 fwip0: on firewire0 fwip0: bpf attached fwip0: Firewire address: 00:02:3f:99:29:4d:3b:0e @ 0xfffe00000000, S400, maxrec 2048 sbp0: on firewire0 dcons_crom0: on firewire0 dcons_crom0: bus_addr 0x1178000 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 02:02:3f:4d:3b:0e fwe0: bpf attached fwe0: Ethernet address: 02:02:3f:4d:3b:0e fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x40c0-0x40cf irq 10 at device 31.1 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x40c0 ata0: on atapci0 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: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=00 stat1=00 devices=0x4 ata0: [MPSAFE] ata0: [ITHREAD] ata1: on atapci0 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=00 ostat0=ff ostat1=ff ata1: [MPSAFE] ata1: [ITHREAD] atapci1: port 0x13f0-0x13f7,0x15f4-0x15f7,0x1370-0x1377,0x1574-0x1577,0x4100-0x411f mem 0xe4609000-0xe46097ff irq 10 at device 31.2 on pci0 atapci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4100 atapci1: [MPSAFE] atapci1: [ITHREAD] atapci1: Reserved 0x800 bytes for rid 0x24 type 3 at 0xe4609000 atapci1: AHCI Version 01.10 controller with 3 ports detected ata2: on atapci1 ata2: SATA connect time=0ms ata2: [MPSAFE] ata2: [ITHREAD] ata3: on atapci1 ata3: port not implemented ata3: [MPSAFE] ata3: [ITHREAD] ata4: on atapci1 ata4: port not implemented ata4: [MPSAFE] ata4: [ITHREAD] ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it pnp_identify: Trying Read_Port at 203 pnp_identify: Trying Read_Port at 243 pnp_identify: Trying Read_Port at 283 pnp_identify: Trying Read_Port at 2c3 pnp_identify: Trying Read_Port at 303 pnp_identify: Trying Read_Port at 343 pnp_identify: Trying Read_Port at 383 pnp_identify: Trying Read_Port at 3c3 PNP Identify complete pnpbios: 13 devices, largest 250 bytes PNP0c04: adding io range 0xf0-0xff, size=0x10, align=0 PNP0c04: adding irq mask 0x2000 pnpbios: handle 1 device ID PNP0c04 (040cd041) PNP0c01: adding fixed memory32 range 0-0x9ffff, size=0xa0000 PNP0c01: adding fixed memory32 range 0xe0000-0xfffff, size=0x20000 PNP0c01: adding fixed memory32 range 0x100000-0x7f7fffff, size=0x7f700000 pnpbios: handle 2 device ID PNP0c01 (010cd041) PNP0a03: adding io range 0xcf8-0xcff, size=0x8, align=0 pnpbios: handle 3 device ID PNP0a03 (030ad041) PNP0200: adding io range 0-0xf, size=0x10, align=0 PNP0200: adding io range 0x80-0x8f, size=0x10, align=0 PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0 PNP0200: adding dma mask 0x10 pnpbios: handle 5 device ID PNP0200 (0002d041) PNP0100: adding io range 0x40-0x43, size=0x4, align=0 PNP0100: adding irq mask 0x1 pnpbios: handle 6 device ID PNP0100 (0001d041) PNP0800: adding io range 0x61-0x61, size=0x1, align=0 pnpbios: handle 7 device ID PNP0800 (0008d041) PNP0b00: adding io range 0x70-0x71, size=0x2, align=0 PNP0b00: adding io range 0x72-0x72, size=0x1, align=0 PNP0b00: adding io range 0x73-0x73, size=0x1, align=0 PNP0b00: adding irq mask 0x100 pnpbios: handle 8 device ID PNP0b00 (000bd041) PNP0303: adding io range 0x60-0x60, size=0x1, align=0 PNP0303: adding io range 0x64-0x64, size=0x1, align=0 PNP0303: adding irq mask 0x2 pnpbios: handle 9 device ID PNP0303 (0303d041) PNP0f13: adding irq mask 0x1000 pnpbios: handle 10 device ID PNP0f13 (130fd041) PNP0401: adding irq mask 0x80 PNP0401: adding dma mask 0x2 PNP0401: adding io range 0x378-0x37f, size=0x8, align=0 PNP0401: adding io range 0x778-0x77a, size=0x3, align=0 pnpbios: handle 11 device ID PNP0401 (0104d041) pnpbios: handle 12 device ID PNP0501 (0105d041) PNP0c02: adding fixed memory32 range 0xfff0000-0x100effff, size=0x100000 PNP0c02: adding fixed memory32 range 0xffb0000-0x100b03ff, size=0x100400 PNP0c02: adding io range 0x10-0x1f, size=0x10, align=0 PNP0c02: adding io range 0x24-0x3f, size=0x1c, align=0 PNP0c02: adding io range 0x4e-0x4f, size=0x2, align=0 PNP0c02: adding io range 0x50-0x53, size=0x4, align=0 PNP0c02: adding io range 0x68-0x6f, size=0x8, align=0 PNP0c02: adding io range 0x74-0x77, size=0x4, align=0 PNP0c02: adding io range 0x92-0x92, size=0x1, align=0 PNP0c02: adding io range 0x93-0x9f, size=0xd, align=0 PNP0c02: adding io range 0xa4-0xbd, size=0x1a, align=0 PNP0c02: adding io range 0x510-0x51f, size=0x10, align=0 PNP0c02: adding io range 0x4d0-0x4d1, size=0x2, align=0 PNP0c02: adding io range 0x1000-0x107f, size=0x80, align=0 PNP0c02: adding io range 0x1100-0x112f, size=0x30, align=0 PNP0c02: adding io range 0x1200-0x121f, size=0x20, align=0 pnpbios: handle 13 device ID PNP0c02 (020cd041) 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 pmtimer0 on isa0 adv0: not probed (disabled) aha0: not probed (disabled) aic0: not probed (disabled) atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x41ab (2) kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: current command byte:0065 psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse, device ID 3-00, 3 buttons psm0: config:00000000, flags:00000008, packet size:4 psm0: syncmask:08, syncbits:00 bt0: not probed (disabled) cs0: not probed (disabled) ed0: not probed (disabled) fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fe0: not probed (disabled) ie0: not probed (disabled) le0: not probed (disabled) ppc0: parallel port found at 0x378 ppc0: using extended I/O port range ppc0: ECP SPP ECP+EPP SPP ppc0: at port 0x378-0x37f irq 7 on isa0 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 ppi0: on ppbus0 ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd1, 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: 0xc01 0xc01 0xc01 0xc01 sio0: probe failed test(s): 0 1 2 4 6 7 9 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: irq maps: 0xc01 0xc01 0xc01 0xc01 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 sio0: [FILTER] sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: irq maps: 0xc01 0xc01 0xc01 0xc01 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) sn0: not probed (disabled) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 vt0: not probed (disabled) isa_probe_children: probing PnP devices unknown: can't assign resources (memory) unknown: at iomem 0-0x9ffff pnpid PNP0c01 on isa0 unknown: failed to probe at port 0x61 pnpid PNP0800 on isa0 unknown: can't assign resources (port) unknown: at port 0x60 pnpid PNP0303 on isa0 unknown: can't assign resources (irq) unknown: at irq 12 pnpid PNP0f13 on isa0 unknown: can't assign resources (port) unknown: at port 0x378-0x37f pnpid PNP0401 on isa0 unknown: <16550A-compatible COM port> failed to probe pnpid PNP0501 on isa0 unknown: can't assign resources (memory) unknown: at iomem 0xfff0000-0x100effff pnpid PNP0c02 on isa0 ugen0: on uhub0 ugen1: on uhub3 Device configuration finished. Reducing kern.maxvnodes 133842 -> 100000 procfs registered Timecounter "TSC" frequency 2194517149 Hz quality 800 Timecounters tick every 1.000 msec lo0: bpf attachedfirewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) ata0-master: pio=PIO4 wdma=WDMA2 udma=UNSUPPORTED cable=40 wire acd0: DVDR drive at ata0 as master acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, PIO4 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet acd0: Writes: CDR, CDRW, DVDR, DVDRAM, test write, burnproof acd0: Audio: play, 256 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: no/blank disc ata2-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire ad4: 152627MB at ata2-master SATA150 ad4: 312581808 sectors [310101C/16H/63S] 16 sectors/interrupt 1 depth queue GEOM: new disk ad4 pcib4: pccard0 requested memory range 0xe4100000-0xe43fffff: good pccard0: CIS version PCCARD 2.0 or 2.1 pccard0: CIS info: PCMCIA, Ethernet, , pccard0: Manufacturer code 0xffffffff, product 0xffffffff pccard0: function 0: network adapter, ccr addr 3f8 mask 3 pccard0: function 0, config table entry 32: I/O card; irq mask ffff; iomask a, iospace 300-31f; mwait_required io16 irqlevel pccard0: function 0, config table entry 33: I/O card; irq mask ffff; iomask a, iospace 320-33f; mwait_required io16 irqlevel pccard0: function 0, config table entry 34: I/O card; irq mask ffff; iomask a, iospace 340-35f; mwait_required io16 irqlevel pccard0: function 0, config table entry 35: I/O card; irq mask ffff; iomask a, iospace 360-37f; mwait_required io16 irqlevel interrupt storm detected on "irq5:"; throttling interrupt source pcib4: pccard0 requested memory range 0xe4100000-0xe43fffff: good ed1: at port 0x300-0x31f irq 5 function 0 config 32 on pccard0 ed1: [MPSAFE] ed1: [ITHREAD] ed1: CIS MAC 00:00:00:00:00:00 ROM DATA: 00 ff 00 ff b4 ff 4b ff 74 ff ea ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 00 ff 57 ff 57 ff ed1: ROM mac 00:00:b4:4b:74:ea ed1: using obsoleted if_watchdog interface ed1: bpf attached ed1: Ethernet address: 00:00:b4:4b:74:ea ed1: type NE2000 (16 bit) ad4: Intel check1 failed ad4: Adaptec check1 failed ad4: LSI (v3) check1 failed ad4: LSI (v2) check1 failed ad4: FreeBSD check1 failed (probe0:sbp0:0:0:0): error 22 (probe0:sbp0:0:0:0): Unretryable Error (probe1:sbp0:0:1:0): error 22 (probe1:sbp0:0:1:0): Unretryable Error (probe2:sbp0:0:2:0): error 22 (probe2:sbp0:0:2:0): Unretryable Error (probe3:sbp0:0:3:0): error 22 (probe3:sbp0:0:3:0): Unretryable Error (probe4:sbp0:0:4:0): error 22 (probe4:sbp0:0:4:0): Unretryable Error (probe6:sbp0:0:6:0): error 22 (probe6:sbp0:0:6:0): Unretryable Error (probe5:sbp0:0:5:0): error 22 (probe5:sbp0:0:5:0): Unretryable Error ATA PseudoRAID loaded Trying to mount root from ufs:/dev/ad4s2a start_init: trying /sbin/init --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="hp6710-7cur-acpion.dmesg" boot -v /boot/kernel/acpi.ko text=0x53998 date=0x2380+0x184c syms=[0x4+0x8580+0x4+0xb01e] GDB: no debug ports present KDB: debugger backeneds: ddb KDB: current backend: ddb SMAP type=01 base=0000000000000000 len=000000000009fc00 SMAP type=02 base=000000000009fc00 len=0000000000000400 SMAP type=02 base=00000000000e0000 len=0000000000020000 SMAP type=01 base=0000000000100000 len=000000007f6b0000 SMAP type=02 base=000000007f7b0000 len=0000000000015400 SMAP type=04 base=000000007f7c5400 len=0000000000022bb8 SMAP type=02 base=000000007f7e7fb8 len=0000000000018048 SMAP type=02 base=000000007f800000 len=0000000000800000 SMAP type=02 base=00000000fec00000 len=0000000000001000 SMAP type=02 base=00000000fed20000 len=0000000000070000 SMAP type=02 base=00000000fed90000 len=000000000000a000 SMAP type=02 base=00000000feda0000 len=0000000000020000 SMAP type=02 base=00000000fee00000 len=0000000000001000 SMAP type=02 base=00000000ffb00000 len=0000000000100000 SMAP type=02 base=00000000fff00000 len=0000000000100000 Copyright (c) 1992-2007 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 is a registred trademark of The FreeBSD Foundation. FreeBSD 7.0-CURRENT-200708 #3: Tue Sep 11 14:25:36 CEST 2007 root@belzebub.tns.cz:/usr/src/sys/i386/compile/BELZEBUB Preloaded elf kernel "/boot/kernel/kernel" at 0xc09f9000. Preloaded elf module "/boot/kernel/acpi.ko" at 0xc09f920c. Calibrating clock(s) ... i8254 clock: 1193197 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clokc ... TSC clock: 2194516984 Hz CPU: Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz (2194.52-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6fa Stepping = 10 Features=0xbfebfbff Features2=0xe3bd AMD Features=0x20100000 AMD Features2=0x1 Cores per package: 2 Instruction TLB: 4 KB Pages, 4-way set associative, 128 entries 1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size 1st-level data cache: 32 KB, 8-way set associative, 64 byte line size L2 cache: 4096 kbytes, 16-way associative, 64 bytes/line real memory = 2138767360 (2039 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000c28000 - 0x000000007d384fff, 2088095744 bytes (509789 pages) avail memory = 2087612416 (1990 MB) Table 'FACP' at 0x7f7c8084 Table 'SLIC' at 0x7f7c8238 Table 'HPET' at 0x7f7c83b0 Table 'APIC' at 0x7f7c83e8 MADT: Found table at 0x7f7c83e8 APIC: Using the MADT enumerator. MADT: Found CPU APIC ID 0 ACPI ID 1: enabled SMP: Added CPU 0 (AP) MADT: Found CPU APIC ID 1 ACPI ID 2: enabled SMP: Added CPU 1 (AP) ACPI APIC Tbale: INTR: Adding local APIC 1 as a target FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 bios32: Found BIOS32 Service Directory header at 0xc00fa000 bios32: Entry = 0xf0000 (c00f0000) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xf0000+0x322 pnpbios: Found PnP BIOS data at 0xc00f5170 pnpbios: Entry = f0000:519e Rev = 1.0 pnpbios: event flag at f5196 pnpbios: OEM ID c0303c10 Other BIOS signatures found: APIC: CPU 0 has ACPI ID 1 APIC: CPU 1 has ACPI ID 2 ACPI: RSDP @ 0x0xf7050/0x0024 (v 2 HP ) ACPI: XSDT @ 0x0x7f7c81c4/0x0074 (v 1 HPQOEM SLIC-MPC 0x00000001 HP 0x00000001) ACPI: FACP @ 0x0x7f7c8084/0x00F4 (v 4 HP 30c0 0x00000003 HP 0x00000001) ACPI: DSDT @ 0x0x7f7c84c0/0x12BE9 (v 1 HP nc75xx 0x00010000 MSFT 0x03000001) ACPI: FACS @ 0x0x7f7e7d80/0x0040 ACPI: SLIC @ 0x0x7f7c8238/0x0176 (v 1 HPQOEM SLIC-MPC 0x00000001 HP 0x00000001) ACPI: HPET @ 0x0x7f7x83b0/0x0038 (v 1 HP 30c0 0x00000001 HP 0x00000001) ACPI: APIC @ 0x0x7f7c83e8/0x0068 (v 1 HP 30c0 0x00000001 HP 0x00000001) ACPI: MCFG @ 0x0x7f7c8450/0x003C (v 1 HP 30c0 0x00000001 HP 0x00000001) ACPI: TCPA @ 0x0x7f7c848c/0x0032 (v 2 HP 30c0 0x00000001 HP 0x00000001) ACPI: SSDT @ 0x0x7f7db0a9/0x0328 (v 1 HP HPQSAT 0x00000001 MSFT 0x03000001) ACPI: SSDT @ 0x0x7f7dbc57/0x025F (v 1 HP Cpu0Tst 0x00003000 INTL 0x20060317) ACPI: SSDT @ 0x0x7f7dbeb6/0a00A6 (v 1 HP Cpu1Tst 0x00003000 INTL 0x20060317) ACPI: SSDT @ 0x0x7f7dbf5c/0x04D7 (v 1 HP CpuPm 0x00003000 INTL 0x20060317) MADT: Found IO APIC ID 1, Interrupt 0 at 0xfec00000 ioapic0: Changing APIC ID to 1 ioapic0: Routing external 8259A's -> intpin 0 MADT: Interrupt override: source 0, irq 2 ioapic0: Rouing IRQ 0 -> intpin 2 MADT: Interrupt override: source 9, irq 9 ioapic0: intpin 9 triiger: level lapic0: Routing NMI -> LINT1 lapic0: LINT1 trigger: edge lapic0: LINT1 polarity: high lapic1: Routing NMI -> LINT1 lapic1: LINT1 trigger: edge lapic1: LINT1 polarity: high ioapic0 irqs 0-23 on motherboard cpu0 BSP: ID: 0x00000000 VER: 0x00050013 LDR: 0x00000000 DFR: 0xffffffff lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff timer: 0x000100ef therm: 0x00000200 err: 0x00010000 pcm: 0x00010000 wlan_amrr: wlan: <802.11 Link Layer> kbd: new array size 4 kbd1 at kbdmux0 mem: Pentium Pro MTRR support enabled io: null: random: npx0: INT 16 interface acpi0: on motherboard pci_open(1): mode 1 addr port (0x0cf8) is 0x8000fa20 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=2a008086) pcibios: BIOS version 2.10 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciID: \_SB_.C003.C111.C112 -> bus 0 dev 29 func 7 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciID: \_SB_.C003.C11B.C11C -> bus 0 dev 26 func 7 ioapic0: routing intpin 9 (ISA IRQ 9) to vector 48 acpi0: [MPSAFE] acpi0: [ITHREAD] acpi_hpet0: iomem 0xfed0000-0xfed003ff on acpi0 acpi_hpet0: vend: 0x8086 rev: 0x1 num: 1 hz: 14318180 opts: leg_route count_size Timecounter "HPET" frequency 14318180 Hz quality 900 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciID: \_SB_.C003.C09A -> bus 0 dev 0 func 0 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciID: \_SB_.C003.C0B0.C29B.C29C -> bus 2 dev 4 func 0 acpi0: Power Button (fixed) acpi0: wakeip code va 0xd8c75000 pa 0x1000 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciID: \_SB_.C003.C004.C0B7 -> bus 0 dev 31 func 0 acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 7f700000 (3) failed ACPI timer: 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 -> 10 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545Mhz> port 0x1008-0x100b on acpi0 acpi_ec0: port 0x62,0x66 on acpi0 pci_link0: Index IRQ Rtd Ref IRQs Initial Probe 0 5 N 0 10 11 Validation 0 255 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link1: Index IRQ Rtd Ref IRQs Initial Probe 0 10 N 0 10 11 Validation 0 10 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link2: Index IRQ Rtd Ref IRQs Initial Probe 0 11 N 0 10 11 Validation 0 11 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link3: Index IRQ Rtd Ref IRQs Initial Probe 0 255 N 0 10 11 Validation 0 255 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link4: Index IRQ Rtd Ref IRQs Initial Probe 0 10 N 0 10 11 Validation 0 10 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link5: Index IRQ Rtd Ref IRQs Initial Probe 0 10 N 0 10 11 Validation 0 10 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link6: Index IRQ Rtd Ref IRQs Initial Probe 0 255 N 0 10 11 Validation 0 255 N 0 10 11 After Disable 0 255 N 0 10 11 pci_link7: Index IRQ Rtd Ref IRQs Initial Probe 0 255 N 0 none Validation 0 255 N 0 none After Disable 0 255 N 0 none cpu0: in acpi0 ACPI: SSDT @ 0x0x7f7db499/0x027F (v 1 HP Cpu0Ist 0x000030000 INSTL 0x20060317) ACPI: SSDT @ 0x0x7f7db79d/0x04BA (v 1 HP Cpu0Cst 0x000030001 INSTL 0x20060317) est0: on cpu0 p4tcc0: on cpu0 cpu1: on acpi0 ACPI: SSDT @ 0x0x7f7db3d1/0x00C8 (v 1 HP Cpu1Ist 0x000030000 INSTL 0x20060317) ACPI: SSDT @ 0x0x7f7db718/0x0085 (v 1 HP Cpu1Cst 0x000030000 INSTL 0x20060317) est1: on cpu1 p4tcc1: on cpu1 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x8086, dev=0x2a00, revid=0x0c bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x2090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2a02, revid=0x0c bus=0, slot=2, func=0 class=03-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0003, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 3 supports D0 D3 current D0 MSI supports 1 message map[10]: type Memory, range 64, base 0xe4400000, size 20, enabled map[18]: type Prefetchable Memory, range 64, base 0xd000000, size 28, enabled map[20]: type I/O Port, range 32, base 0x4000, size 3, enabled pcib0: matched entry for 0.2. INTA pcib0: slot 2 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2a03, revid=0x0c bus=0, slot=2, func=1 class=03-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) powerspec 3 supports D0 D3 current D0 map[10]: type Memory, range 64, base 0xe4500000, size 20, enabled found-> vendor=0x8086, dev=0x2834, revid=0x03 bus=0, slot=26, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 3 supports D0 D3 current D0 MSI supports 1 message map[20]: type I/O Port, range 32, base 0x4020, size 5, enabled pcib0: matched entry for 0.26. INTA pcib0: slot 26 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2835, revid=0x03 bus=0, slot=26, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type I/O Port, range 32, base 0x4040, size 5, enabled pcib0: matched entry for 0.26. INTA pcib0: slot 26 INTB hardwired to IRQ 17 found-> vendor=0x8086, dev=0x283a, revid=0x03 bus=0, slot=26, func=7 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type Memory, range 32, base 0xe4600000, size 10, enabled pcib0: matched entry for 0.26. INTC pcib0: slot 26 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x284b, revid=0x03 bus=0, slot=27, func=0 class=04-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type Memory, range 64, base 0xe4604000, size 14, enabled pcib0: matched entry for 0.27. INTA pcib0: slot 27 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x283f, revid=0x03 bus=0, slot=28, func=0 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message pcib0: matched entry for 0.28. INTA pcib0: slot 28 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2841, revid=0x03 bus=0, slot=28, func=0 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message pcib0: matched entry for 0.28. INTA pcib0: slot 28 INTA hardwired to IRQ 17 found-> vendor=0x8086, dev=0x2847, revid=0x03 bus=0, slot=28, func=4 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 MSI supports 1 message pcib0: matched entry for 0.28. INTA pcib0: slot 28 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2830, revid=0x03 bus=0, slot=29, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[20]: type I/O Port, range 32, base 0x4060, size 5, enabled pcib0: matched entry for 0.29. INTA pcib0: slot 29 INTA hardwired to IRQ 20 found-> vendor=0x8086, dev=0x2831, revid=0x03 bus=0, slot=29, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type I/O Port, range 32, base 0x4080, size 5, enabled pcib0: matched entry for 0.29. INTB pcib0: slot 29 INTB hardwired to IRQ 20 found-> vendor=0x8086, dev=0x2832, revid=0x03 bus=0, slot=29, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 map[20]: type I/O Port, range 32, base 0x40a0, size 5, enabled pcib0: matched entry for 0.29. INTC pcib0: slot 29 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x2836, revid=0x03 bus=0, slot=29, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 map[10]: type Memory, range 32, base 0xe4608000, size 10, enabled pcib0: matched entry for 0.29. INTA pcib0: slot 29 INTA hardwired to IRQ 20 found-> vendor=0x8086, dev=0x2448, revid=0xf3 bus=0, slot=30, func=0 class=06-04-01, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x06 (1500 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2815, revid=0x03 bus=0, slot=31, func=0 class=06-01-00, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x2850, revid=0x03 bus=0, slot=31, func=1 class=01-01-8a, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 map[10]: type I/O Port, range 32, base 0x40c0, size 4, enabled pcib0: matched entry for 0.31. INTA pcib0: slot 31 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x2829, revid=0x03 bus=0, slot=31, func=2 class=01-06-01, hdrtype=0x00, mfdev=0 cmdreg=0x0007, statreg=0x2829, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[10]: type I/O Port, range 32, base 0x13f0, size 3, enabled map[14]: type I/O Port, range 32, base 0x15f4, size 2, enabled map[18]: type I/O Port, range 32, base 0x1370, size 3, enabled map[1c]: type I/O Port, range 32, base 0x1574, size 2, enabled map[20]: type I/O Port, range 32, base 0x4100, size 5, enabled map[24]: type Memory, range 32, base 0xe4609000, size 11, enabled pcib0: matched entry for 0.31. INTB pcib0: slot 31 INTB hardwired to IRQ 17 vgapci0: port 0x4000-0x4007 mem 0xe4400000-0xe44fffff,0xd0000000-0xdfffffff agp0: on vgapci0 vgapci0: Reserved 0x10000000 bytes for rid 0x18 type 3 at 0xd0000000 vgapci0: Reserved 0x100000 bytes for rid 0x10 type 3 at 0xe4400000 agp0: detected 7676k stolen memory agp0: aperture size is 256M vgapci1: mem 0xe4500000-0xe45fffff at device 2.1 on pci0 uhci0: port 0x4020-0x403f irq 16 at device 26.0 on pci0 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4020 ioapic0: routing intpin 16 (PCI IRQ 16) to vector 49 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: on uhci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x4040/0x405f irq 17 at device 26.1 on pci0 uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4040 ioapic0: routing intpin 17 (PCI IRQ 17) to vector 50 uhci1: [GIANT-LOCKED] uhci1: [ITHREAD] usb1: on uhci1 usb1: USB revision 1.0 uhub1: on usb1 uhub1: 2 ports with 2 removable, self powered ehci0: mem 0xe4600000-0xe46003ff irq 18 at device 26.7 on pci0 ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4600000 ioapic0: routing intpin 18 (PCI IRQ 18) to vector 51 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb2: EHCI version 1.0 usb2: companion controllers, 2 ports each, usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: on usb2 uhub2: 4 ports with 4 removable, self powered pci0: at device 27.0 (no driver attached) pcib1: irq 16 at device 28.0 on pci0 pcib1: secondary bus 8 pcib1: subordinate bus 8 pcib1: I/O decode 0xf000-0xfff pcib1: no prefetched decode pci8: on pcib1 pci8: physical bus=8 pcib2: irq 17 at device 28.1 on pci0 pcib2: secondary bus 16 pcib2: subordinate bus 16 pcib2: I/O decode 0xf000-0xfff pcib2: memory decode 0xe4000000-0xe40fffff pcib2: no prefetched decode pci16: on pcib2 pci16: physical bus=16 found-> vendor=0x8086, dev=0x4222, revid=0x02 bus=16, slot=0, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map [10]: type Memory, range 32, base 0xe4000000, size 12, enabled pcib2: requested memory range 0xe4000000-0xe4000fff: good pcib2: matched entry for 16.0 INTA pcib2: slot 0 INTA hardwired to IRQ 17 pci16: at device 0.0 (no driver attached) pcib3: irq 16 at device 28.4 on pci0 pcib3: secondary bus 40 pcib3: subordinate bus 40 pcib3: I/O decode 0x2000-0x3fff pcib3: memory decode 0xe0000000-0xe3fffff pcib3: no prefetched decode pci40: on pcib3 pci40: physical bus=40 uhci2: port 0x4060-0x407f irq 20 at device 29.0 on pci0 uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4060 ioapic0: routing intpin 20 (PCI IRQ 20) to vector 52 uhci2: [GIANT-LOCKED] uhci2: [ITHREAD] usb3: on uhci2 usb3: USB revision 1.0 uhub3: on usb3 uhub3: 2 ports with 4 removable, self powered uhci3: port 0x4080-0x409f irq 21 at device 29.1 on pci0 uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4080 ioapic0: routing intpin 21 (PCI IRQ 21) to vector 53 uhci3: [GIANT-LOCKED] uhci3: [ITHREAD] usb4: on uhci3 usb4: USB revision 1.0 uhub4: on usb4 uhub4: 2 ports with 4 removable, self powered uhci4: port 0x40a0-0x40bf irq 18 at device 29.2 on pci0 uhci4: Reserved 0x20 bytes for rid 0x20 type 4 at 0x40a0 uhci4: [GIANT-LOCKED] uhci4: [ITHREAD] usb5: on uhci4 usb5: USB revision 1.0 uhub5: on usb5 uhub5: 2 ports with 2 removable, self powered ehci1: mem 0xe4608000-0xe46083ff irq 20 at device 29.7 on pci0 ehci1: Reserved 0x400 bytes for rid 0x10 type 3 at 0xe4608000 ehci1: [GIANT-LOCKED] ehci1: [ITHREAD] usb6: EHCI version 1.0 usb6: companion controllers, 2 ports each, usb3 usb4 usb5 usb6: on ehci1 usb6: USB revision 2.0 uhub6: on usb6 uhub6: 6 ports with 6 removable, self powered pcib4: at device 30.0 on pci0 pcib4: secondary bus 2 pcib4: subordinate bus 3 pcib4: I/O decode 0xf000-0xfff pcib4: memory decode 0xe4100000-0xe43ffff pcib4: no prefetched decode pcib4: Subtractively decode bridge. pci2: ob pcib4 pci2: physical bus=2 found-> vendor=0x1188, dev=0x0476, revid=0xb6 bus=2, slot=4, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns) intpin=a, irq=5 powerspec 2 supports D0 D1 D2 D3 current D0 map [10]: type Memory, range 32, base 0xe4100000, size 12, enabled pcib4: requested memory range 0xe4100000-0xe4100fff: good pcib4: matched entry for 2.4.INTB pcib4: slot 4 INTB hardwired to IRQ 17 cbb0: mem 0xe4100000-0xe4100fff irq 16 at device 4.0 on pci2 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xe4100000 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on ccb0 cbb0: [MPSAFE] cbb0: [ITHREAD] cbb0: PCI Configuration sapce: 0x00: 0x04761180 0x20100007 0x060700b6 0x00824000 0x10: 0xe4100000 0x020000dc 0x20030302 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07000110 0x40: 0x30c0103c 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x30a00001 0x00000000 0x04630463 0x00000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x00000008 0x00000000 0x00000000 0x00000000 0xb0: 0x00000000 0xba000000 0x00003000 0x00000000 0xc0: 0x30c0103c 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001 0xe0: 0x24c0c000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 fwohci0: vendor=1180, dev=832 fwohci0: vendor=1180, dev=832 fwohci0: <1394 Open Host Controller Interface> mem 0xe4101000-0xe41017ff irq 17 at device 4.1 on pci2 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xe4101000 fwohci0: [MPSAFE] fwohci0: [ITHREAD] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:02:3f:99:29:4d:3b:0e fwohci0: Phy 1394a available S400, 1 ports. fwohci0: Link S400. max_rec 2048 bytes. firewire0: on fwohci0 sbp0: on firewire0 dcons_crom0: on firewire0 dcons_crom0: bus_addr 0x1160000 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 02:02:3f:4d:3b:0e fwe0: bpf attached fwe0: Ethernet address: 02:02:3f:4d:3b:0e fwip0: on firewire0 fwip0: bpf attached fwip0: Firewire address: 00:02:3f:99:29:4d:3b:0e @ 0xfffe00000000, S400, maxrec 2048 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CUCLEMASTER mode isab0: at device 31.0 on pci0 isab0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x40c0-0x40cf irq 16 at device 31.1 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x40c0 ata0: on atapci0 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: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb ata0: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=00 stat1=00 devices=0x4 ioapic0: routing intpin 14 (ISA IRQ 14) to vector 54 ata0: [MPSAFE] ata0: [ITHREAD] ata1: on atapci0 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=00 ostat0=ff ostat1=ff ata1: [MPSAFE] ata1: [ITHREAD] atapci1: port 0x13f0-0x13f7,0x15f4-0x15f7,0x1370-0x1377,0x1574-0x1577,0x4100-0x411f mem 0xe4609000-0xe46097ff irq 17 at device 31.2 on pci0 atapci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x4100 atapci1: [MPSAFE] atapci1: [ITHREAD] atapci1: Reserved 0x800 bytes for rid 0x24 type 3 at 0xe460900 atapci1: AHCI Version 01.10 controller with 3 ports detected ata2: on atapci1 ata2: SATA connect time=0ms ata2: [MPSAFE] ata2: [ITHREAD] ata3: on atapci1 ata3: port not implemented ata3: [MPSAFE] ata3: [ITHREAD] ata4: on atapci1 ata4: port not implemented ata4: [MPSAFE] ata4: [ITHREAD] battery0: on acpi0 battery1: on acpi0 acpi_acad0: on acpi0 acpi_button0: on acpi0 acpi_lid0: on acpi0 acpi_tz0: on acpi0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz1: on acpi0 acpi_tz2: on acpi0 acpi_tz3: on acpi0 acpi_tz4: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 ioapic0: routing intpin 1 (ISA IRQ 1) to vector 56 atkbd0: [GIANT-LICKED] atkbd0: [ITHREAD] psm0: unable to allocate IRQ psmcpmp0: irq 12 on acpi0 psm0: current command byte:0065 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 psm: status 00 02 64 psm: status 00 00 64 psm: status 00 03 64 psm: status 00 03 64 psm: data 08 00 00 psm: status 00 02 64 psm0: irq 12 on atkbdc0 ioapco0: routing intpin 12 (ISA IRQ 12) to vector 57 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse, device ID 3-00, 3 buttons psm0: syncmask:08, syncbits:00 ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it atkbdc: atkbdc0 already existsl skipping it pnp_identify: Trying Read_Port at 203 pnp_identify: Trying Read_Port at 243 pnp_identify: Trying Read_Port at 283 pnp_identify: Trying Read_Port at 2c3 pnp_identify: Trying Read_Port at 303 pnp_identify: Trying Read_Port at 343 pnp_identify: Trying Read_Port at 383 pnp_identify: Trying Read_Port at 3c3 PNP Identify complete 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 pmtimer0 on isa0 adv0: not probed (disabled) aha0: not probed (disabled) aic0: not probed (disabled) bt0: not probed (disabled) cs0: not probed (disabled) ed0: not probed (disabled) fdc0: not probed (disabled) fe0: not probed (disabled) ie0: not probed (disabled) le0: not probed (disabled) ppc0: parallel port found at 0x378 ppc0: using extended I/O port range ppc0: ECP SPP ECP+EPP SPP ppc0: at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold ppbus0: on ppc0 lpt0: in ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 ioapci0: routing intpin 7 (ISA IRQ 7) to vector 58 ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd1, terminal emulator: sc (syscons terminal) sio0: configured irq 4 not in bitmap on probed irqs 0 sio0: port may not be enabled sio0: irq maps: 0x4ea1 0x4ea1 0x4ea1 0x4ea1 sio0: probe failed test(s): 0 1 2 4 6 7 9 sio0: configured irq 4 not in bitmap on probed irqs 0 sio0: port may not be enabled sio0: irq maps: 0x4ea1 0x4ea1 0x4ea1 0x4ea1 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 respoding ioapic0: routing intpin 4 (ISA IRQ 4) to vector 59 sio0: [FILTER] sio1: configured irq 3 not in bitmap on probed irqs 0 sio1: port may not be enabled sio1: irq maps: 0x4ea1 0x4ea1 0x4ea1 0x4ea1 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) sn0: not probed (disabled) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 vt0: not probed (disabled) isa_probe_children: probing PnP devices ugen0: on uhub0 ugen1: on uhub3 Device configuration finised. Reducing kern.maxvnodes 133842 -> 100000 procfs registered lapic: Divisor 2, Frequency 99750924 hz Timecounter "TCS" frequency 2194520240 Hz quality -100 Timecounters tick every 1.000 msec lo0: bpf attached firewire0: 1 nodes, maxhp <=0, cable IRM = 0 (me) firewire0: bus manager 0 (me) acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciId: \_SB_.C003.C11D.C11E -> bus 0 dev 28 func 0 acpi_bus_number: root bus has no _BBN, assuming 0 AcpiOsDerivePciId: \_SB_.C003.C131.C11E -> bus 0 dev 28 func 1 acpi_bus_number: root bus has no _BBN, assuming 0 acpi_tz0: _AC4: temperature 65.0 >= setpoint 35.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 45.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 55.0 acpi_tz0: _AC1: temperature 65.0 >= setpoint 65.0 acpi_tz0: switched from NONE to _AC1: 65.0C battery0: battery initialization start AcpiOsDerivePciId: \_SB_.C003.C134.C11E -> bus 0 dev 28 func 4 battery1: battery initialization start acpi_acad0: acline initialization start acpi_acad0: On Line acpi_acad0: acline initialization done, tried 1 times acpi_tz0: _AC4: temperature 65.0 >= setpoint 35.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 45.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 55.0 acpi_tz0: _CRT value is absurd, ignored (256.0C) acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 battery0: battery initialization done, tried 1 times --AhhlLboLdkugWU4S-- From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 18:09:08 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52B7516A41B for ; Tue, 18 Sep 2007 18:09:08 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 3365413C481 for ; Tue, 18 Sep 2007 18:09:08 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 46978 invoked from network); 18 Sep 2007 18:09:06 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.5.18?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 18 Sep 2007 18:09:06 -0000 Message-ID: <46F01440.5050508@root.org> Date: Tue, 18 Sep 2007 11:09:04 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (X11/20070810) MIME-Version: 1.0 To: William References: <46E0777A.8070901@root.org> <46E07AAF.2060000@root.org> <632825b40709070752o6fe867a2s3e7647e5444b1b5b@mail.gmail.com> <46E6DF34.1060304@root.org> <632825b40709140426s466e20afkc410c56aa4f1dae9@mail.gmail.com> In-Reply-To: <632825b40709140426s466e20afkc410c56aa4f1dae9@mail.gmail.com> X-Enigmail-Version: 0.95.0 Content-Type: multipart/mixed; boundary="------------080704040001030502050209" Cc: acpi@freebsd.org, current@freebsd.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 18:09:08 -0000 This is a multi-part message in MIME format. --------------080704040001030502050209 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit William wrote: > On 9/11/07, *Nate Lawson* wrote: > > William Grzybowski wrote: > > I tested this patch on my acer notebook (intel chipset) and i did not > > notice any changes, unless some errors on dmesg, like: > > acpi_ec0: EcCommand: no response to 0x84 > > acpi_ec0: GPE query failed: AE_NO_HARDWARE_RESPONSE > > acpi_ec0: EcCommand: no response to 0x82 > > acpi_ec0: EcCommand: no response to 0x80 > > ACPI Error (psparse-0626): Method parse/execution failed > > [\\_TZ_.THRM._TMP] (Node 0xc3bbdcc0), AE_NO_HARDWARE_RESPONSE > > ACPI Error (psparse-0626): Method parse/execution failed > > [\\_SB_.ACAD._PSR] (Node 0xc3bc02a0), AE_NO_HARDWARE_RESPONSE > > As I noted before, your system enters the poll loop with the status > appearing to be already complete. Can you get back to me on my previous > questions, especially whether forcing polled mode works for you? I > didn't see any errors in that dmesg case. > > I've updated the patches to do one final check if the interrupt-driven > mode gets a timeout. If the status is complete, it will force the > system back into polled mode since interrupt mode doesn't work. It also > has a case for polled mode during boot where the status appears to be > already complete. It waits a short while before actually checking the > status, just in case the EC is really slow and hasn't gotten to work on > the new request yet. > > Give it a try also, with no tunables set. > > Nate, > > Yesterday I send to you privately the answers which you asked for, annoy > me if you didn't receive... > Today I recompiled the kernel from a today's cvs without modules with > KTR and recompiled the acpi module without any patches, > without any debug option on boot, the system can initialize the battery > and the thermal, when i enable any debug (polled or burst or even both) > the battery get ready after 2 tries. > > Tonight I will remake some testes with your patches to make sure about > things which I told you. There was one other change needed. I was too aggressive in trying to hold the lock over the _Qxx method evaluation. Some BIOSes apparently try to read/write from EC space in that method. So I reverted that part of the patch and added a comment explaining it to future maintainers. Attached are revised patches, version D. Please try them without any debug.acpi.ec tunables set in loader.conf. If your battery status fails with this patch, add: debug.acpi.ec.polled="1" You should also keep jkim's OsdSynch patch in your tree. It fixes different problems but ones that are needed to test my EC patches. Thanks, Nate --------------080704040001030502050209 Content-Type: text/x-patch; name="ecng-6d.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ecng-6d.diff" Index: sys/dev/acpica/acpi_ec.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_ec.c,v retrieving revision 1.65.2.3 diff -u -r1.65.2.3 acpi_ec.c --- sys/dev/acpica/acpi_ec.c 4 Sep 2007 22:40:39 -0000 1.65.2.3 +++ sys/dev/acpica/acpi_ec.c 18 Sep 2007 18:07:52 -0000 @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003 Nate Lawson + * Copyright (c) 2003-2007 Nate Lawson * Copyright (c) 2000 Michael Smith * Copyright (c) 2000 BSDi * All rights reserved. @@ -25,115 +25,6 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -/*- - ****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999, Intel Corp. All rights - * reserved. - * - * 2. License - * - * 2.1. This is your license from Intel Corp. under its intellectual property - * rights. You may have additional license terms from the party that provided - * you this software, covering your right to use that party's intellectual - * property rights. - * - * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a - * copy of the source code appearing in this file ("Covered Code") an - * irrevocable, perpetual, worldwide license under Intel's copyrights in the - * base code distributed originally by Intel ("Original Intel Code") to copy, - * make derivatives, distribute, use and display any portion of the Covered - * Code in any form, with the right to sublicense such rights; and - * - * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent - * license (with the right to sublicense), under only those claims of Intel - * patents that are infringed by the Original Intel Code, to make, use, sell, - * offer to sell, and import the Covered Code and derivative works thereof - * solely to the minimum extent necessary to exercise the above copyright - * license, and in no event shall the patent license extend to any additions - * to or modifications of the Original Intel Code. No other license or right - * is granted directly or by implication, estoppel or otherwise; - * - * The above copyright and patent license is granted only if the following - * conditions are met: - * - * 3. Conditions - * - * 3.1. Redistribution of Source with Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification with rights to further distribute source must include - * the above Copyright Notice, the above License, this list of Conditions, - * and the following Disclaimer and Export Compliance provision. In addition, - * Licensee must cause all Covered Code to which Licensee contributes to - * contain a file documenting the changes Licensee made to create that Covered - * Code and the date of any change. Licensee must include in that file the - * documentation of any changes made by any predecessor Licensee. Licensee - * must include a prominent statement that the modification is derived, - * directly or indirectly, from Original Intel Code. - * - * 3.2. Redistribution of Source with no Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification without rights to further distribute source must - * include the following Disclaimer and Export Compliance provision in the - * documentation and/or other materials provided with distribution. In - * addition, Licensee may not authorize further sublicense of source of any - * portion of the Covered Code, and must include terms to the effect that the - * license from Licensee to its licensee is limited to the intellectual - * property embodied in the software Licensee provides to its licensee, and - * not to intellectual property embodied in modifications its licensee may - * make. - * - * 3.3. Redistribution of Executable. Redistribution in executable form of any - * substantial portion of the Covered Code or modification must reproduce the - * above Copyright Notice, and the following Disclaimer and Export Compliance - * provision in the documentation and/or other materials provided with the - * distribution. - * - * 3.4. Intel retains all right, title, and interest in and to the Original - * Intel Code. - * - * 3.5. Neither the name Intel nor any other trademark owned or controlled by - * Intel shall be used in advertising or otherwise to promote the sale, use or - * other dealings in products derived from or relating to the Covered Code - * without prior written authorization from Intel. - * - * 4. Disclaimer and Export Compliance - * - * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED - * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE - * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, - * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY - * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY - * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A - * PARTICULAR PURPOSE. - * - * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES - * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR - * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, - * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY - * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL - * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS - * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY - * LIMITED REMEDY. - * - * 4.3. Licensee shall not export, either directly or indirectly, any of this - * software or system incorporating such software without first obtaining any - * required license or other approval from the U. S. Department of Commerce or - * any other agency or department of the United States Government. In the - * event Licensee exports any such software from the United States or - * re-exports any such software from a foreign destination, Licensee shall - * ensure that the distribution and export/re-export of the software is in - * compliance with all laws, regulations, orders, or other restrictions of the - * U.S. Export Administration Regulations. Licensee agrees that neither it nor - * any of its subsidiaries will export/re-export any technical data, process, - * software, or service, directly or indirectly, to any country for which the - * United States government or any agency thereof requires an export license, - * other governmental approval, or letter of assurance, without first obtaining - * such license, approval or letter. - * - *****************************************************************************/ #include __FBSDID("$FreeBSD$"); @@ -142,9 +33,9 @@ #include #include #include +#include #include #include -#include #include #include @@ -171,7 +62,7 @@ #define EC_COMMAND_BURST_DISABLE ((EC_COMMAND) 0x83) #define EC_COMMAND_QUERY ((EC_COMMAND) 0x84) -/* +/* * EC_STATUS: * ---------- * The encoding of the EC status register is illustrated below. @@ -188,15 +79,15 @@ * | | | +--------- Burst Mode Enabled? * | | +----------- SCI Event? * | +------------- SMI Event? - * +--------------- + * +--------------- * */ typedef UINT8 EC_STATUS; #define EC_FLAG_OUTPUT_BUFFER ((EC_STATUS) 0x01) #define EC_FLAG_INPUT_BUFFER ((EC_STATUS) 0x02) +#define EC_FLAG_DATA_IS_CMD ((EC_STATUS) 0x08) #define EC_FLAG_BURST_MODE ((EC_STATUS) 0x10) -#define EC_FLAG_SCI ((EC_STATUS) 0x20) /* * EC_EVENT: @@ -208,6 +99,10 @@ #define EC_EVENT_OUTPUT_BUFFER_FULL ((EC_EVENT) 0x01) #define EC_EVENT_INPUT_BUFFER_EMPTY ((EC_EVENT) 0x02) #define EC_EVENT_SCI ((EC_EVENT) 0x20) +#define EC_EVENT_SMI ((EC_EVENT) 0x40) + +/* Data byte returned after burst enable indicating it was successful. */ +#define EC_BURST_ACK 0x90 /* * Register access primitives @@ -227,11 +122,11 @@ /* Embedded Controller Boot Resources Table (ECDT) */ typedef struct { ACPI_TABLE_HEADER header; - ACPI_GENERIC_ADDRESS control; - ACPI_GENERIC_ADDRESS data; - UINT32 uid; - UINT8 gpe_bit; - char ec_id[0]; + ACPI_GENERIC_ADDRESS Control; + ACPI_GENERIC_ADDRESS Data; + UINT32 Uid; + UINT8 Gpe; + char Id[0]; } ACPI_TABLE_ECDT; /* Additional params to pass from the probe routine */ @@ -243,7 +138,7 @@ }; /* Indicate that this device has already been probed via ECDT. */ -#define DEV_ECDT(x) (acpi_get_magic(x) == (int)&acpi_ec_devclass) +#define DEV_ECDT(x) (acpi_get_magic(x) == (uintptr_t)&acpi_ec_devclass) /* * Driver softc. @@ -254,8 +149,7 @@ int ec_uid; ACPI_HANDLE ec_gpehandle; UINT8 ec_gpebit; - UINT8 ec_csrvalue; - + int ec_data_rid; struct resource *ec_data_res; bus_space_tag_t ec_data_tag; @@ -268,6 +162,9 @@ int ec_glk; int ec_glkhandle; + int ec_burstactive; + int ec_sci_pend; + u_int ec_gencount; }; /* @@ -277,11 +174,11 @@ */ #define EC_LOCK_TIMEOUT 1000 -/* Default interval in microseconds for the status polling loop. */ -#define EC_POLL_DELAY 10 +/* Default delay in microseconds between each run of the status polling loop. */ +#define EC_POLL_DELAY 5 -/* Total time in ms spent in the poll loop waiting for a response. */ -#define EC_POLL_TIMEOUT 100 +/* Total time in ms spent waiting for a response from EC. */ +#define EC_TIMEOUT 750 #define EVENT_READY(event, status) \ (((event) == EC_EVENT_OUTPUT_BUFFER_FULL && \ @@ -289,46 +186,57 @@ ((event) == EC_EVENT_INPUT_BUFFER_EMPTY && \ ((status) & EC_FLAG_INPUT_BUFFER) == 0)) -static int ec_poll_timeout = EC_POLL_TIMEOUT; -TUNABLE_INT("hw.acpi.ec.poll_timeout", &ec_poll_timeout); - ACPI_SERIAL_DECL(ec, "ACPI embedded controller"); -static __inline ACPI_STATUS +SYSCTL_DECL(_debug_acpi); +SYSCTL_NODE(_debug_acpi, OID_AUTO, ec, CTLFLAG_RD, NULL, "EC debugging"); + +static int ec_burst_mode; +TUNABLE_INT("debug.acpi.ec.burst", &ec_burst_mode); +SYSCTL_INT(_debug_acpi_ec, OID_AUTO, burst, CTLFLAG_RW, &ec_burst_mode, 0, + "Enable use of burst mode (faster for nearly all systems)"); +static int ec_polled_mode; +TUNABLE_INT("debug.acpi.ec.polled", &ec_polled_mode); +SYSCTL_INT(_debug_acpi_ec, OID_AUTO, polled, CTLFLAG_RW, &ec_polled_mode, 0, + "Force use of polled mode (only if interrupt mode doesn't work)"); +static int ec_timeout = EC_TIMEOUT; +TUNABLE_INT("debug.acpi.ec.timeout", &ec_timeout); +SYSCTL_INT(_debug_acpi_ec, OID_AUTO, timeout, CTLFLAG_RW, &ec_timeout, + EC_TIMEOUT, "Total time spent waiting for a response (poll+sleep)"); + +static ACPI_STATUS EcLock(struct acpi_ec_softc *sc) { ACPI_STATUS status; - /* Always acquire the exclusive lock. */ + /* If _GLK is non-zero, acquire the global lock. */ status = AE_OK; - ACPI_SERIAL_BEGIN(ec); - - /* If _GLK is non-zero, also acquire the global lock. */ if (sc->ec_glk) { status = AcpiAcquireGlobalLock(EC_LOCK_TIMEOUT, &sc->ec_glkhandle); if (ACPI_FAILURE(status)) - ACPI_SERIAL_END(ec); + return (status); } - + ACPI_SERIAL_BEGIN(ec); return (status); } -static __inline void +static void EcUnlock(struct acpi_ec_softc *sc) { + ACPI_SERIAL_END(ec); if (sc->ec_glk) AcpiReleaseGlobalLock(sc->ec_glkhandle); - ACPI_SERIAL_END(ec); } static uint32_t EcGpeHandler(void *Context); -static ACPI_STATUS EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function, +static ACPI_STATUS EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function, void *Context, void **return_Context); static ACPI_STATUS EcSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 width, ACPI_INTEGER *Value, void *Context, void *RegionContext); -static ACPI_STATUS EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event); +static ACPI_STATUS EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event, + u_int gen_count); static ACPI_STATUS EcCommand(struct acpi_ec_softc *sc, EC_COMMAND cmd); static ACPI_STATUS EcRead(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data); @@ -366,10 +274,12 @@ MODULE_DEPEND(acpi_ec, acpi, 1, 1, 1); /* - * Look for an ECDT and if we find one, set up default GPE and + * Look for an ECDT and if we find one, set up default GPE and * space handlers to catch attempts to access EC space before * we have a real driver instance in place. - * TODO: if people report invalid ECDTs, add a tunable to disable them. + * + * TODO: Some old Gateway laptops need us to fake up an ECDT or + * otherwise attach early so that _REG methods can run. */ void acpi_ec_ecdt_probe(device_t parent) @@ -387,20 +297,20 @@ status = AcpiGetFirmwareTable("ECDT", 1, ACPI_LOGICAL_ADDRESSING, &hdr); ecdt = (ACPI_TABLE_ECDT *)hdr; if (ACPI_FAILURE(status) || - ecdt->control.RegisterBitWidth != 8 || - ecdt->data.RegisterBitWidth != 8) { + ecdt->Control.RegisterBitWidth != 8 || + ecdt->Data.RegisterBitWidth != 8) { return; } /* Create the child device with the given unit number. */ - child = BUS_ADD_CHILD(parent, 0, "acpi_ec", ecdt->uid); + child = BUS_ADD_CHILD(parent, 0, "acpi_ec", ecdt->Uid); if (child == NULL) { printf("%s: can't add child\n", __func__); return; } /* Find and save the ACPI handle for this device. */ - status = AcpiGetHandle(NULL, ecdt->ec_id, &h); + status = AcpiGetHandle(NULL, ecdt->Id, &h); if (ACPI_FAILURE(status)) { device_delete_child(parent, child); printf("%s: can't get handle\n", __func__); @@ -409,9 +319,9 @@ acpi_set_handle(child, h); /* Set the data and CSR register addresses. */ - bus_set_resource(child, SYS_RES_IOPORT, 0, ecdt->data.Address, + bus_set_resource(child, SYS_RES_IOPORT, 0, ecdt->Data.Address, /*count*/1); - bus_set_resource(child, SYS_RES_IOPORT, 1, ecdt->control.Address, + bus_set_resource(child, SYS_RES_IOPORT, 1, ecdt->Control.Address, /*count*/1); /* @@ -423,11 +333,11 @@ */ params = malloc(sizeof(struct acpi_ec_params), M_TEMP, M_WAITOK | M_ZERO); params->gpe_handle = NULL; - params->gpe_bit = ecdt->gpe_bit; - params->uid = ecdt->uid; + params->gpe_bit = ecdt->Gpe; + params->uid = ecdt->Uid; acpi_GetInteger(h, "_GLK", ¶ms->glk); acpi_set_private(child, params); - acpi_set_magic(child, (int)&acpi_ec_devclass); + acpi_set_magic(child, (uintptr_t)&acpi_ec_devclass); /* Finish the attach process. */ if (device_probe_and_attach(child) != 0) @@ -601,7 +511,7 @@ goto error; } - /* + /* * Install address space handler */ ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "attaching address space handler\n")); @@ -636,7 +546,7 @@ AcpiRemoveAddressSpaceHandler(sc->ec_handle, ACPI_ADR_SPACE_EC, EcSpaceHandler); if (sc->ec_csr_res) - bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_csr_rid, + bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_csr_rid, sc->ec_csr_res); if (sc->ec_data_res) bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_data_rid, @@ -688,100 +598,95 @@ struct acpi_ec_softc *sc = (struct acpi_ec_softc *)Context; UINT8 Data; ACPI_STATUS Status; - EC_STATUS EcStatus; char qxx[5]; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); KASSERT(Context != NULL, ("EcGpeQueryHandler called with NULL")); + /* Serialize user access with EcSpaceHandler(). */ Status = EcLock(sc); if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "GpeQuery lock error: %s\n", AcpiFormatException(Status)); + device_printf(sc->ec_dev, "GpeQuery lock error: %s\n", + AcpiFormatException(Status)); return; } /* - * If the EC_SCI bit of the status register is not set, then pass - * it along to any potential waiters as it may be an IBE/OBF event. - */ - EcStatus = EC_GET_CSR(sc); - if ((EcStatus & EC_EVENT_SCI) == 0) { - CTR1(KTR_ACPI, "ec event was not SCI, status %#x", EcStatus); - sc->ec_csrvalue = EcStatus; - wakeup(&sc->ec_csrvalue); - EcUnlock(sc); - goto re_enable; - } - - /* * Send a query command to the EC to find out which _Qxx call it * wants to make. This command clears the SCI bit and also the - * interrupt source since we are edge-triggered. + * interrupt source since we are edge-triggered. To prevent the GPE + * that may arise from running the query from causing another query + * to be queued, we clear the pending flag only after running it. */ Status = EcCommand(sc, EC_COMMAND_QUERY); + sc->ec_sci_pend = FALSE; if (ACPI_FAILURE(Status)) { EcUnlock(sc); - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "GPE query failed - %s\n", AcpiFormatException(Status)); - goto re_enable; + device_printf(sc->ec_dev, "GPE query failed: %s\n", + AcpiFormatException(Status)); + return; } Data = EC_GET_DATA(sc); + + /* + * We have to unlock before running the _Qxx method below since that + * method may attempt to read/write from EC address space, causing + * recursive acquisition of the lock. + */ EcUnlock(sc); /* Ignore the value for "no outstanding event". (13.3.5) */ - CTR2(KTR_ACPI, "ec query ok,%s running _Q%02x", Data ? "" : " not", Data); + CTR2(KTR_ACPI, "ec query ok,%s running _Q%02X", Data ? "" : " not", Data); if (Data == 0) - goto re_enable; + return; /* Evaluate _Qxx to respond to the controller. */ - sprintf(qxx, "_Q%02x", Data); + snprintf(qxx, sizeof(qxx), "_Q%02X", Data); AcpiUtStrupr(qxx); Status = AcpiEvaluateObject(sc->ec_handle, qxx, NULL, NULL); if (ACPI_FAILURE(Status) && Status != AE_NOT_FOUND) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "evaluation of GPE query method %s failed - %s\n", - qxx, AcpiFormatException(Status)); + device_printf(sc->ec_dev, "evaluation of query method %s failed: %s\n", + qxx, AcpiFormatException(Status)); } - -re_enable: - /* Re-enable the GPE event so we'll get future requests. */ - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_NOT_ISR); - if (ACPI_FAILURE(Status)) - printf("EcGpeQueryHandler: AcpiEnableEvent failed\n"); } /* - * Handle a GPE. Currently we only handle SCI events as others must - * be handled by polling in EcWaitEvent(). This is because some ECs - * treat events as level when they should be edge-triggered. + * The GPE handler is called when IBE/OBF or SCI events occur. We are + * called from an unknown lock context. */ static uint32_t EcGpeHandler(void *Context) { struct acpi_ec_softc *sc = Context; ACPI_STATUS Status; + EC_STATUS EcStatus; KASSERT(Context != NULL, ("EcGpeHandler called with NULL")); + CTR0(KTR_ACPI, "ec gpe handler start"); /* - * Disable further GPEs while we handle this one. Since we are directly - * called by ACPI-CA and it may have unknown locks held, we specify the - * ACPI_ISR flag to keep it from acquiring any more mutexes (which could - * potentially sleep.) + * Notify EcWaitEvent() that the status register is now fresh. If we + * didn't do this, it wouldn't be possible to distinguish an old IBE + * from a new one, for example when doing a write transaction (writing + * address and then data values.) */ - AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR); + atomic_add_int(&sc->ec_gencount, 1); + wakeup(&sc->ec_gencount); - /* Schedule the GPE query handler. */ - Status = AcpiOsQueueForExecution(OSD_PRIORITY_GPE, EcGpeQueryHandler, - Context); - if (ACPI_FAILURE(Status)) { - printf("Queuing GPE query handler failed.\n"); - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR); - if (ACPI_FAILURE(Status)) - printf("EcGpeHandler: AcpiEnableEvent failed\n"); + /* + * If the EC_SCI bit of the status register is set, queue a query handler. + * It will run the query and _Qxx method later, under the lock. + */ + EcStatus = EC_GET_CSR(sc); + if ((EcStatus & EC_EVENT_SCI) && !sc->ec_sci_pend) { + CTR0(KTR_ACPI, "ec gpe queueing query handler"); + Status = AcpiOsQueueForExecution(OSD_PRIORITY_GPE, EcGpeQueryHandler, + Context); + if (ACPI_SUCCESS(Status)) + sc->ec_sci_pend = TRUE; + else + printf("EcGpeHandler: queuing GPE query handler failed\n"); } - return (0); } @@ -825,6 +730,18 @@ EcAddr = Address; Status = AE_ERROR; + /* + * If booting, check if we need to run the query handler. If so, we + * we call it directly here since our thread taskq is not active yet. + */ + if (cold || rebooting) { + if ((EC_GET_CSR(sc) & EC_EVENT_SCI)) { + CTR0(KTR_ACPI, "ec running gpe handler directly"); + EcGpeQueryHandler(sc); + } + } + + /* Serialize with EcGpeQueryHandler() at transaction granularity. */ Status = EcLock(sc); if (ACPI_FAILURE(Status)) return_ACPI_STATUS (Status); @@ -856,187 +773,258 @@ } static ACPI_STATUS -EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event) +EcCheckStatus(struct acpi_ec_softc *sc, const char *msg, EC_EVENT event) +{ + ACPI_STATUS status; + EC_STATUS ec_status; + + status = AE_NO_HARDWARE_RESPONSE; + ec_status = EC_GET_CSR(sc); + if (sc->ec_burstactive && !(ec_status & EC_FLAG_BURST_MODE)) { + CTR1(KTR_ACPI, "ec burst disabled in waitevent (%s)", msg); + sc->ec_burstactive = FALSE; + } + if (EVENT_READY(event, ec_status)) { + CTR2(KTR_ACPI, "ec %s wait ready, status %#x", msg, ec_status); + status = AE_OK; + } + return (status); +} + +static ACPI_STATUS +EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event, u_int gen_count) { - EC_STATUS EcStatus; ACPI_STATUS Status; - int count, i, period, retval, slp_ival; + int count, i, slp_ival; ACPI_SERIAL_ASSERT(ec); Status = AE_NO_HARDWARE_RESPONSE; - /* - * Wait for 1 us before checking the CSR. Testing shows about - * 50% of requests complete in 1 us and 90% of them complete - * in 5 us or less. - */ - AcpiOsStall(1); - /* - * Poll the EC status register for up to 1 ms in chunks of 10 us - * to detect completion of the last command. + * The main CPU should be much faster than the EC. So the status should + * be "not ready" when we start waiting. But if the main CPU is really + * slow, it's possible we see the current "ready" response. Since that + * can't be distinguished from the previous response in polled mode, + * this is a potential issue. We really should have interrupts enabled + * during boot so there is no ambiguity in polled mode. + * + * If this occurs, we add an additional delay before actually entering + * the status checking loop, hopefully to allow the EC to go to work + * and produce a non-stale status. */ - for (i = 0; i < 1000 / EC_POLL_DELAY; i++) { - EcStatus = EC_GET_CSR(sc); - if (EVENT_READY(Event, EcStatus)) { - Status = AE_OK; - break; + if (cold || rebooting || ec_polled_mode) { + static int once; + + if (EcCheckStatus(sc, "pre-check", Event) == AE_OK) { + if (!once) { + device_printf(sc->ec_dev, + "warning: EC done before starting event wait\n"); + once = 1; + } + AcpiOsStall(10); } - AcpiOsStall(EC_POLL_DELAY); } - period = i * EC_POLL_DELAY; - /* - * If we still don't have a response and we're up and running, wait up - * to ec_poll_timeout ms for completion, sleeping for chunks of 10 ms. - */ - slp_ival = 0; - if (Status != AE_OK) { - retval = ENXIO; - count = ec_poll_timeout / 10; + /* Wait for event by polling or GPE (interrupt). */ + if (cold || rebooting || ec_polled_mode) { + count = (ec_timeout * 1000) / EC_POLL_DELAY; if (count == 0) count = 1; - slp_ival = hz / 100; - if (slp_ival == 0) - slp_ival = 1; for (i = 0; i < count; i++) { - if (retval != 0) - EcStatus = EC_GET_CSR(sc); - else - EcStatus = sc->ec_csrvalue; - if (EVENT_READY(Event, EcStatus)) { - Status = AE_OK; + Status = EcCheckStatus(sc, "poll", Event); + if (Status == AE_OK) break; - } - if (!cold) - retval = tsleep(&sc->ec_csrvalue, PZERO, "ecpoll", slp_ival); - else - AcpiOsStall(10000); + AcpiOsStall(EC_POLL_DELAY); + } + } else { + slp_ival = hz / 1000; + if (slp_ival != 0) { + count = ec_timeout; + } else { + /* hz has less than 1 ms resolution so scale timeout. */ + slp_ival = 1; + count = ec_timeout / (1000 / hz); } - } - /* Calculate new delay and log it. */ - if (slp_ival > 0) - period += i * 10000; - CTR2(KTR_ACPI, "ec got event %#x after %d us", EcStatus, period); + /* + * Wait for the GPE to signal the status changed, checking the + * status register each time we get one. It's possible to get a + * GPE for an event we're not interested in here (i.e., SCI for + * EC query). + */ + for (i = 0; i < count; i++) { + if (gen_count != sc->ec_gencount) { + /* + * Record new generation count. It's possible the GPE was + * just to notify us that a query is needed and we need to + * wait for a second GPE to signal the completion of the + * event we are actually waiting for. + */ + gen_count = sc->ec_gencount; + Status = EcCheckStatus(sc, "sleep", Event); + if (Status == AE_OK) + break; + } + tsleep(&sc->ec_gencount, PZERO, "ecgpe", slp_ival); + } + /* + * We finished waiting for the GPE and it never arrived. Try to + * read the register once and trust whatever value we got. This is + * the best we can do at this point. Then, force polled mode on + * since this system doesn't appear to generate GPEs. + */ + if (Status != AE_OK) { + Status = EcCheckStatus(sc, "sleep_end", Event); + device_printf(sc->ec_dev, + "wait timed out (%sresponse), forcing polled mode\n", + Status == AE_OK ? "" : "no "); + ec_polled_mode = TRUE; + } + } + if (Status != AE_OK) + CTR0(KTR_ACPI, "error: ec wait timed out"); return (Status); -} +} static ACPI_STATUS EcCommand(struct acpi_ec_softc *sc, EC_COMMAND cmd) { - ACPI_STATUS Status; - EC_EVENT Event; + ACPI_STATUS status; + EC_EVENT event; + EC_STATUS ec_status; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); + /* Don't use burst mode if user disabled it. */ + if (!ec_burst_mode && cmd == EC_COMMAND_BURST_ENABLE) + return (AE_ERROR); + /* Decide what to wait for based on command type. */ switch (cmd) { case EC_COMMAND_READ: case EC_COMMAND_WRITE: case EC_COMMAND_BURST_DISABLE: - Event = EC_EVENT_INPUT_BUFFER_EMPTY; + event = EC_EVENT_INPUT_BUFFER_EMPTY; break; case EC_COMMAND_QUERY: case EC_COMMAND_BURST_ENABLE: - Event = EC_EVENT_OUTPUT_BUFFER_FULL; + event = EC_EVENT_OUTPUT_BUFFER_FULL; break; default: - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcCommand: Invalid command %#x\n", cmd); + device_printf(sc->ec_dev, "EcCommand: invalid command %#x\n", cmd); return (AE_BAD_PARAMETER); } /* Run the command and wait for the chosen event. */ + CTR1(KTR_ACPI, "ec running command %#x", cmd); + gen_count = sc->ec_gencount; EC_SET_CSR(sc, cmd); - Status = EcWaitEvent(sc, Event); - if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcCommand: no response to %#x\n", cmd); - } - - return (Status); + status = EcWaitEvent(sc, event, gen_count); + if (ACPI_SUCCESS(status)) { + /* If we succeeded, burst flag should now be present. */ + if (cmd == EC_COMMAND_BURST_ENABLE) { + ec_status = EC_GET_CSR(sc); + if ((ec_status & EC_FLAG_BURST_MODE) == 0) + status = AE_ERROR; + } + } else + device_printf(sc->ec_dev, "EcCommand: no response to %#x\n", cmd); + return (status); } static ACPI_STATUS EcRead(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data) { - ACPI_STATUS Status; + ACPI_STATUS status; + UINT8 data; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); CTR1(KTR_ACPI, "ec read from %#x", Address); -#ifdef notyet /* If we can't start burst mode, continue anyway. */ - EcCommand(sc, EC_COMMAND_BURST_ENABLE); -#endif + status = EcCommand(sc, EC_COMMAND_BURST_ENABLE); + if (status == AE_OK) { + data = EC_GET_DATA(sc); + if (data == EC_BURST_ACK) { + CTR0(KTR_ACPI, "ec burst enabled"); + sc->ec_burstactive = TRUE; + } + } - Status = EcCommand(sc, EC_COMMAND_READ); - if (ACPI_FAILURE(Status)) - return (Status); + status = EcCommand(sc, EC_COMMAND_READ); + if (ACPI_FAILURE(status)) + return (status); + gen_count = sc->ec_gencount; EC_SET_DATA(sc, Address); - Status = EcWaitEvent(sc, EC_EVENT_OUTPUT_BUFFER_FULL); - if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcRead: Failed waiting for EC to send data.\n"); - return (Status); + status = EcWaitEvent(sc, EC_EVENT_OUTPUT_BUFFER_FULL, gen_count); + if (ACPI_FAILURE(status)) { + device_printf(sc->ec_dev, "EcRead: failed waiting to get data\n"); + return (status); } - *Data = EC_GET_DATA(sc); -#ifdef notyet if (sc->ec_burstactive) { - Status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); - if (ACPI_FAILURE(Status)) - return (Status); + sc->ec_burstactive = FALSE; + status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); + if (ACPI_FAILURE(status)) + return (status); + CTR0(KTR_ACPI, "ec disabled burst ok"); } -#endif return (AE_OK); -} +} static ACPI_STATUS EcWrite(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data) { - ACPI_STATUS Status; + ACPI_STATUS status; + UINT8 data; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); CTR2(KTR_ACPI, "ec write to %#x, data %#x", Address, *Data); -#ifdef notyet /* If we can't start burst mode, continue anyway. */ - EcCommand(sc, EC_COMMAND_BURST_ENABLE); -#endif + status = EcCommand(sc, EC_COMMAND_BURST_ENABLE); + if (status == AE_OK) { + data = EC_GET_DATA(sc); + if (data == EC_BURST_ACK) { + CTR0(KTR_ACPI, "ec burst enabled"); + sc->ec_burstactive = TRUE; + } + } - Status = EcCommand(sc, EC_COMMAND_WRITE); - if (ACPI_FAILURE(Status)) - return (Status); + status = EcCommand(sc, EC_COMMAND_WRITE); + if (ACPI_FAILURE(status)) + return (status); + gen_count = sc->ec_gencount; EC_SET_DATA(sc, Address); - Status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY); - if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcRead: Failed waiting for EC to process address\n"); - return (Status); + status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY, gen_count); + if (ACPI_FAILURE(status)) { + device_printf(sc->ec_dev, "EcRead: failed waiting for sent address\n"); + return (status); } + gen_count = sc->ec_gencount; EC_SET_DATA(sc, *Data); - Status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY); - if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcWrite: Failed waiting for EC to process data\n"); - return (Status); + status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY, gen_count); + if (ACPI_FAILURE(status)) { + device_printf(sc->ec_dev, "EcWrite: failed waiting for sent data\n"); + return (status); } -#ifdef notyet if (sc->ec_burstactive) { - Status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); - if (ACPI_FAILURE(Status)) - return (Status); + sc->ec_burstactive = FALSE; + status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); + if (ACPI_FAILURE(status)) + return (status); + CTR0(KTR_ACPI, "ec disabled burst ok"); } -#endif return (AE_OK); } --------------080704040001030502050209 Content-Type: text/x-patch; name="ecng-7d.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ecng-7d.diff" Index: sys/dev/acpica/acpi_ec.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_ec.c,v retrieving revision 1.75 diff -u -r1.75 acpi_ec.c --- sys/dev/acpica/acpi_ec.c 15 Jun 2007 18:02:33 -0000 1.75 +++ sys/dev/acpica/acpi_ec.c 18 Sep 2007 18:17:23 -0000 @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2003 Nate Lawson + * Copyright (c) 2003-2007 Nate Lawson * Copyright (c) 2000 Michael Smith * Copyright (c) 2000 BSDi * All rights reserved. @@ -25,115 +25,6 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -/*- - ****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999, Intel Corp. All rights - * reserved. - * - * 2. License - * - * 2.1. This is your license from Intel Corp. under its intellectual property - * rights. You may have additional license terms from the party that provided - * you this software, covering your right to use that party's intellectual - * property rights. - * - * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a - * copy of the source code appearing in this file ("Covered Code") an - * irrevocable, perpetual, worldwide license under Intel's copyrights in the - * base code distributed originally by Intel ("Original Intel Code") to copy, - * make derivatives, distribute, use and display any portion of the Covered - * Code in any form, with the right to sublicense such rights; and - * - * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent - * license (with the right to sublicense), under only those claims of Intel - * patents that are infringed by the Original Intel Code, to make, use, sell, - * offer to sell, and import the Covered Code and derivative works thereof - * solely to the minimum extent necessary to exercise the above copyright - * license, and in no event shall the patent license extend to any additions - * to or modifications of the Original Intel Code. No other license or right - * is granted directly or by implication, estoppel or otherwise; - * - * The above copyright and patent license is granted only if the following - * conditions are met: - * - * 3. Conditions - * - * 3.1. Redistribution of Source with Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification with rights to further distribute source must include - * the above Copyright Notice, the above License, this list of Conditions, - * and the following Disclaimer and Export Compliance provision. In addition, - * Licensee must cause all Covered Code to which Licensee contributes to - * contain a file documenting the changes Licensee made to create that Covered - * Code and the date of any change. Licensee must include in that file the - * documentation of any changes made by any predecessor Licensee. Licensee - * must include a prominent statement that the modification is derived, - * directly or indirectly, from Original Intel Code. - * - * 3.2. Redistribution of Source with no Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification without rights to further distribute source must - * include the following Disclaimer and Export Compliance provision in the - * documentation and/or other materials provided with distribution. In - * addition, Licensee may not authorize further sublicense of source of any - * portion of the Covered Code, and must include terms to the effect that the - * license from Licensee to its licensee is limited to the intellectual - * property embodied in the software Licensee provides to its licensee, and - * not to intellectual property embodied in modifications its licensee may - * make. - * - * 3.3. Redistribution of Executable. Redistribution in executable form of any - * substantial portion of the Covered Code or modification must reproduce the - * above Copyright Notice, and the following Disclaimer and Export Compliance - * provision in the documentation and/or other materials provided with the - * distribution. - * - * 3.4. Intel retains all right, title, and interest in and to the Original - * Intel Code. - * - * 3.5. Neither the name Intel nor any other trademark owned or controlled by - * Intel shall be used in advertising or otherwise to promote the sale, use or - * other dealings in products derived from or relating to the Covered Code - * without prior written authorization from Intel. - * - * 4. Disclaimer and Export Compliance - * - * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED - * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE - * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, - * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY - * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY - * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A - * PARTICULAR PURPOSE. - * - * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES - * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR - * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, - * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY - * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL - * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS - * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY - * LIMITED REMEDY. - * - * 4.3. Licensee shall not export, either directly or indirectly, any of this - * software or system incorporating such software without first obtaining any - * required license or other approval from the U. S. Department of Commerce or - * any other agency or department of the United States Government. In the - * event Licensee exports any such software from the United States or - * re-exports any such software from a foreign destination, Licensee shall - * ensure that the distribution and export/re-export of the software is in - * compliance with all laws, regulations, orders, or other restrictions of the - * U.S. Export Administration Regulations. Licensee agrees that neither it nor - * any of its subsidiaries will export/re-export any technical data, process, - * software, or service, directly or indirectly, to any country for which the - * United States government or any agency thereof requires an export license, - * other governmental approval, or letter of assurance, without first obtaining - * such license, approval or letter. - * - *****************************************************************************/ #include __FBSDID("$FreeBSD$"); @@ -171,7 +62,7 @@ #define EC_COMMAND_BURST_DISABLE ((EC_COMMAND) 0x83) #define EC_COMMAND_QUERY ((EC_COMMAND) 0x84) -/* +/* * EC_STATUS: * ---------- * The encoding of the EC status register is illustrated below. @@ -248,8 +139,7 @@ int ec_uid; ACPI_HANDLE ec_gpehandle; UINT8 ec_gpebit; - UINT8 ec_csrvalue; - + int ec_data_rid; struct resource *ec_data_res; bus_space_tag_t ec_data_tag; @@ -260,11 +150,11 @@ bus_space_tag_t ec_csr_tag; bus_space_handle_t ec_csr_handle; - struct mtx ec_mtx; int ec_glk; int ec_glkhandle; int ec_burstactive; int ec_sci_pend; + u_int ec_gencount; }; /* @@ -275,13 +165,10 @@ #define EC_LOCK_TIMEOUT 1000 /* Default delay in microseconds between each run of the status polling loop. */ -#define EC_POLL_DELAY 10 - -/* Default time in microseconds spent polling before sleep waiting. */ -#define EC_POLL_TIME 500 +#define EC_POLL_DELAY 5 /* Total time in ms spent waiting for a response from EC. */ -#define EC_TIMEOUT 500 +#define EC_TIMEOUT 750 #define EVENT_READY(event, status) \ (((event) == EC_EVENT_OUTPUT_BUFFER_FULL && \ @@ -298,17 +185,17 @@ TUNABLE_INT("debug.acpi.ec.burst", &ec_burst_mode); SYSCTL_INT(_debug_acpi_ec, OID_AUTO, burst, CTLFLAG_RW, &ec_burst_mode, 0, "Enable use of burst mode (faster for nearly all systems)"); -static int ec_poll_time = EC_POLL_TIME; -TUNABLE_INT("debug.acpi.ec.poll_time", &ec_poll_time); -SYSCTL_INT(_debug_acpi_ec, OID_AUTO, poll_time, CTLFLAG_RW, &ec_poll_time, - EC_POLL_TIME, "Time spent polling vs. sleeping (CPU intensive)"); +static int ec_polled_mode; +TUNABLE_INT("debug.acpi.ec.polled", &ec_polled_mode); +SYSCTL_INT(_debug_acpi_ec, OID_AUTO, polled, CTLFLAG_RW, &ec_polled_mode, 0, + "Force use of polled mode (only if interrupt mode doesn't work)"); static int ec_timeout = EC_TIMEOUT; TUNABLE_INT("debug.acpi.ec.timeout", &ec_timeout); SYSCTL_INT(_debug_acpi_ec, OID_AUTO, timeout, CTLFLAG_RW, &ec_timeout, EC_TIMEOUT, "Total time spent waiting for a response (poll+sleep)"); -static __inline ACPI_STATUS -EcLock(struct acpi_ec_softc *sc, int serialize) +static ACPI_STATUS +EcLock(struct acpi_ec_softc *sc) { ACPI_STATUS status; @@ -319,37 +206,27 @@ if (ACPI_FAILURE(status)) return (status); } - - /* - * If caller is executing a series of commands, acquire the exclusive lock - * to serialize with other users. - * To sync with bottom-half interrupt handler, always acquire the mutex. - */ - if (serialize) - ACPI_SERIAL_BEGIN(ec); - mtx_lock(&sc->ec_mtx); - + ACPI_SERIAL_BEGIN(ec); return (status); } -static __inline void +static void EcUnlock(struct acpi_ec_softc *sc) { - mtx_unlock(&sc->ec_mtx); - if (sx_xlocked(&ec_sxlock)) - ACPI_SERIAL_END(ec); + ACPI_SERIAL_END(ec); if (sc->ec_glk) AcpiReleaseGlobalLock(sc->ec_glkhandle); } static uint32_t EcGpeHandler(void *Context); -static ACPI_STATUS EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function, +static ACPI_STATUS EcSpaceSetup(ACPI_HANDLE Region, UINT32 Function, void *Context, void **return_Context); static ACPI_STATUS EcSpaceHandler(UINT32 Function, ACPI_PHYSICAL_ADDRESS Address, UINT32 width, ACPI_INTEGER *Value, void *Context, void *RegionContext); -static ACPI_STATUS EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event); +static ACPI_STATUS EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event, + u_int gen_count); static ACPI_STATUS EcCommand(struct acpi_ec_softc *sc, EC_COMMAND cmd); static ACPI_STATUS EcRead(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data); @@ -387,10 +264,12 @@ MODULE_DEPEND(acpi_ec, acpi, 1, 1, 1); /* - * Look for an ECDT and if we find one, set up default GPE and + * Look for an ECDT and if we find one, set up default GPE and * space handlers to catch attempts to access EC space before * we have a real driver instance in place. - * TODO: if people report invalid ECDTs, add a tunable to disable them. + * + * TODO: Some old Gateway laptops need us to fake up an ECDT or + * otherwise attach early so that _REG methods can run. */ void acpi_ec_ecdt_probe(device_t parent) @@ -578,7 +457,6 @@ params = acpi_get_private(dev); sc->ec_dev = dev; sc->ec_handle = acpi_get_handle(dev); - mtx_init(&sc->ec_mtx, "ACPI EC lock", NULL, MTX_DEF); /* Retrieve previously probed values via device ivars. */ sc->ec_glk = params->glk; @@ -621,7 +499,7 @@ goto error; } - /* + /* * Install address space handler */ ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "attaching address space handler\n")); @@ -656,12 +534,11 @@ AcpiRemoveAddressSpaceHandler(sc->ec_handle, ACPI_ADR_SPACE_EC, EcSpaceHandler); if (sc->ec_csr_res) - bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_csr_rid, + bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_csr_rid, sc->ec_csr_res); if (sc->ec_data_res) bus_release_resource(sc->ec_dev, SYS_RES_IOPORT, sc->ec_data_rid, sc->ec_data_res); - mtx_destroy(&sc->ec_mtx); return (ENXIO); } @@ -715,57 +592,55 @@ KASSERT(Context != NULL, ("EcGpeQueryHandler called with NULL")); /* Serialize user access with EcSpaceHandler(). */ - Status = EcLock(sc, TRUE); + Status = EcLock(sc); if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "GpeQuery lock error: %s\n", AcpiFormatException(Status)); + device_printf(sc->ec_dev, "GpeQuery lock error: %s\n", + AcpiFormatException(Status)); return; } /* * Send a query command to the EC to find out which _Qxx call it * wants to make. This command clears the SCI bit and also the - * interrupt source since we are edge-triggered. + * interrupt source since we are edge-triggered. To prevent the GPE + * that may arise from running the query from causing another query + * to be queued, we clear the pending flag only after running it. */ Status = EcCommand(sc, EC_COMMAND_QUERY); + sc->ec_sci_pend = FALSE; if (ACPI_FAILURE(Status)) { EcUnlock(sc); - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "GPE query failed - %s\n", AcpiFormatException(Status)); - goto re_enable; + device_printf(sc->ec_dev, "GPE query failed: %s\n", + AcpiFormatException(Status)); + return; } Data = EC_GET_DATA(sc); - sc->ec_sci_pend = FALSE; - /* Drop locks before evaluating _Qxx method since it may trigger GPEs. */ + /* + * We have to unlock before running the _Qxx method below since that + * method may attempt to read/write from EC address space, causing + * recursive acquisition of the lock. + */ EcUnlock(sc); /* Ignore the value for "no outstanding event". (13.3.5) */ - CTR2(KTR_ACPI, "ec query ok,%s running _Q%02x", Data ? "" : " not", Data); + CTR2(KTR_ACPI, "ec query ok,%s running _Q%02X", Data ? "" : " not", Data); if (Data == 0) - goto re_enable; + return; /* Evaluate _Qxx to respond to the controller. */ - snprintf(qxx, sizeof(qxx), "_Q%02x", Data); + snprintf(qxx, sizeof(qxx), "_Q%02X", Data); AcpiUtStrupr(qxx); Status = AcpiEvaluateObject(sc->ec_handle, qxx, NULL, NULL); if (ACPI_FAILURE(Status) && Status != AE_NOT_FOUND) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "evaluation of GPE query method %s failed - %s\n", - qxx, AcpiFormatException(Status)); + device_printf(sc->ec_dev, "evaluation of query method %s failed: %s\n", + qxx, AcpiFormatException(Status)); } - -re_enable: - /* Re-enable the GPE event so we'll get future requests. */ - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR); - if (ACPI_FAILURE(Status)) - printf("EcGpeQueryHandler: AcpiEnableEvent failed\n"); } /* - * Handle a GPE. Currently we only handle SCI events as others must - * be handled by polling in EcWaitEvent(). This is because some ECs - * treat events as level when they should be edge-triggered. + * The GPE handler is called when IBE/OBF or SCI events occur. We are + * called from an unknown lock context. */ static uint32_t EcGpeHandler(void *Context) @@ -773,68 +648,32 @@ struct acpi_ec_softc *sc = Context; ACPI_STATUS Status; EC_STATUS EcStatus; - int query_pend; KASSERT(Context != NULL, ("EcGpeHandler called with NULL")); + CTR0(KTR_ACPI, "ec gpe handler start"); /* - * Disable further GPEs while we handle this one. Since we are directly - * called by ACPI-CA and it may have unknown locks held, we specify the - * ACPI_ISR flag to keep it from acquiring any more mutexes (although - * sleeping would be ok since we're in an ithread.) + * Notify EcWaitEvent() that the status register is now fresh. If we + * didn't do this, it wouldn't be possible to distinguish an old IBE + * from a new one, for example when doing a write transaction (writing + * address and then data values.) */ - AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR); - - /* For interrupt (GPE) handler, don't acquire serialization lock. */ - Status = EcLock(sc, FALSE); - if (ACPI_FAILURE(Status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "GpeQuery lock error: %s\n", AcpiFormatException(Status)); - return (-1); - } + atomic_add_int(&sc->ec_gencount, 1); + wakeup(&sc->ec_gencount); /* - * If burst was active, but the status bit was cleared, the EC had to - * exit burst mode for some reason. Record this for later. + * If the EC_SCI bit of the status register is set, queue a query handler. + * It will run the query and _Qxx method later, under the lock. */ EcStatus = EC_GET_CSR(sc); - if (sc->ec_burstactive && (EcStatus & EC_FLAG_BURST_MODE) == 0) { - CTR0(KTR_ACPI, "ec burst disabled in query handler"); - sc->ec_burstactive = FALSE; - } - - /* - * If the EC_SCI bit of the status register is not set, then pass - * it along to any potential waiters as it may be an IBE/OBF event. - * If it is set, queue a query handler. - */ - query_pend = FALSE; - if ((EcStatus & EC_EVENT_SCI) == 0) { - CTR1(KTR_ACPI, "ec event was IBE/OBF, status %#x", EcStatus); - sc->ec_csrvalue = EcStatus; - wakeup(&sc->ec_csrvalue); - } else if (!sc->ec_sci_pend) { - /* SCI bit set and no pending query handler, so schedule one. */ - CTR0(KTR_ACPI, "ec queueing gpe handler"); + if ((EcStatus & EC_EVENT_SCI) && !sc->ec_sci_pend) { + CTR0(KTR_ACPI, "ec gpe queueing query handler"); Status = AcpiOsExecute(OSL_GPE_HANDLER, EcGpeQueryHandler, Context); - if (ACPI_SUCCESS(Status)) { + if (ACPI_SUCCESS(Status)) sc->ec_sci_pend = TRUE; - query_pend = TRUE; - } else - printf("Queuing GPE query handler failed.\n"); - } - - /* - * If we didn't queue a query handler, which will eventually re-enable - * the GPE, re-enable it right now so we can get more events. - */ - if (!query_pend) { - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR); - if (ACPI_FAILURE(Status)) - printf("EcGpeHandler: AcpiEnableGpe failed\n"); + else + printf("EcGpeHandler: queuing GPE query handler failed\n"); } - - EcUnlock(sc); return (0); } @@ -878,8 +717,19 @@ EcAddr = Address; Status = AE_ERROR; - /* Grab serialization lock to hold across command sequence. */ - Status = EcLock(sc, TRUE); + /* + * If booting, check if we need to run the query handler. If so, we + * we call it directly here since our thread taskq is not active yet. + */ + if (cold || rebooting) { + if ((EC_GET_CSR(sc) & EC_EVENT_SCI)) { + CTR0(KTR_ACPI, "ec running gpe handler directly"); + EcGpeQueryHandler(sc); + } + } + + /* Serialize with EcGpeQueryHandler() at transaction granularity. */ + Status = EcLock(sc); if (ACPI_FAILURE(Status)) return_ACPI_STATUS (Status); @@ -910,83 +760,119 @@ } static ACPI_STATUS -EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event) +EcCheckStatus(struct acpi_ec_softc *sc, const char *msg, EC_EVENT event) +{ + ACPI_STATUS status; + EC_STATUS ec_status; + + status = AE_NO_HARDWARE_RESPONSE; + ec_status = EC_GET_CSR(sc); + if (sc->ec_burstactive && !(ec_status & EC_FLAG_BURST_MODE)) { + CTR1(KTR_ACPI, "ec burst disabled in waitevent (%s)", msg); + sc->ec_burstactive = FALSE; + } + if (EVENT_READY(event, ec_status)) { + CTR2(KTR_ACPI, "ec %s wait ready, status %#x", msg, ec_status); + status = AE_OK; + } + return (status); +} + +static ACPI_STATUS +EcWaitEvent(struct acpi_ec_softc *sc, EC_EVENT Event, u_int gen_count) { - EC_STATUS EcStatus; ACPI_STATUS Status; - int count, i, retval, slp_ival; + int count, i, slp_ival; ACPI_SERIAL_ASSERT(ec); Status = AE_NO_HARDWARE_RESPONSE; - EcStatus = 0; /* - * Poll for up to ec_poll_time microseconds since many ECs complete - * the command quickly, especially if in burst mode. - */ -#if 0 /* Enable this as a possible workaround if EC times out. */ - AcpiOsStall(EC_POLL_DELAY); -#endif - count = ec_poll_time / EC_POLL_DELAY; - if (count <= 0) - count = 1; - for (i = 0; i < count; i++) { - EcStatus = EC_GET_CSR(sc); - if (sc->ec_burstactive && (EcStatus & EC_FLAG_BURST_MODE) == 0) { - CTR0(KTR_ACPI, "ec burst disabled in waitevent (poll)"); - sc->ec_burstactive = FALSE; - } - if (EVENT_READY(Event, EcStatus)) { - CTR1(KTR_ACPI, "ec poll wait ready, status %#x", EcStatus); - Status = AE_OK; - break; + * The main CPU should be much faster than the EC. So the status should + * be "not ready" when we start waiting. But if the main CPU is really + * slow, it's possible we see the current "ready" response. Since that + * can't be distinguished from the previous response in polled mode, + * this is a potential issue. We really should have interrupts enabled + * during boot so there is no ambiguity in polled mode. + * + * If this occurs, we add an additional delay before actually entering + * the status checking loop, hopefully to allow the EC to go to work + * and produce a non-stale status. + */ + if (cold || rebooting || ec_polled_mode) { + static int once; + + if (EcCheckStatus(sc, "pre-check", Event) == AE_OK) { + if (!once) { + device_printf(sc->ec_dev, + "warning: EC done before starting event wait\n"); + once = 1; + } + AcpiOsStall(10); } - AcpiOsStall(EC_POLL_DELAY); } - /* - * If we still don't have a response and we're up and running, wait up - * to ec_timeout ms for completion, sleeping for chunks of 1 ms or the - * smallest resolution hz supports. - */ - slp_ival = 0; - if (Status != AE_OK) { - retval = ENXIO; - if (!cold) { - slp_ival = hz / 1000; - if (slp_ival != 0) { - count = ec_timeout / slp_ival; - } else { - /* hz has less than 1000 Hz resolution so scale timeout. */ - slp_ival = 1; - count = ec_timeout / (1000 / hz); - } - } else - count = ec_timeout; + /* Wait for event by polling or GPE (interrupt). */ + if (cold || rebooting || ec_polled_mode) { + count = (ec_timeout * 1000) / EC_POLL_DELAY; + if (count == 0) + count = 1; for (i = 0; i < count; i++) { - if (retval != 0) - EcStatus = EC_GET_CSR(sc); - else - EcStatus = sc->ec_csrvalue; - if (sc->ec_burstactive && (EcStatus & EC_FLAG_BURST_MODE) == 0) { - CTR0(KTR_ACPI, "ec burst disabled in waitevent (slp)"); - sc->ec_burstactive = FALSE; - } - if (EVENT_READY(Event, EcStatus)) { - CTR1(KTR_ACPI, "ec sleep wait ready, status %#x", EcStatus); - Status = AE_OK; + Status = EcCheckStatus(sc, "poll", Event); + if (Status == AE_OK) break; + AcpiOsStall(EC_POLL_DELAY); + } + } else { + slp_ival = hz / 1000; + if (slp_ival != 0) { + count = ec_timeout; + } else { + /* hz has less than 1 ms resolution so scale timeout. */ + slp_ival = 1; + count = ec_timeout / (1000 / hz); + } + + /* + * Wait for the GPE to signal the status changed, checking the + * status register each time we get one. It's possible to get a + * GPE for an event we're not interested in here (i.e., SCI for + * EC query). + */ + for (i = 0; i < count; i++) { + if (gen_count != sc->ec_gencount) { + /* + * Record new generation count. It's possible the GPE was + * just to notify us that a query is needed and we need to + * wait for a second GPE to signal the completion of the + * event we are actually waiting for. + */ + gen_count = sc->ec_gencount; + Status = EcCheckStatus(sc, "sleep", Event); + if (Status == AE_OK) + break; } - if (!cold) { - retval = msleep(&sc->ec_csrvalue, &sc->ec_mtx, PZERO, "ecpoll", - slp_ival); - } else - AcpiOsStall(1000); + tsleep(&sc->ec_gencount, PZERO, "ecgpe", slp_ival); } - } + /* + * We finished waiting for the GPE and it never arrived. Try to + * read the register once and trust whatever value we got. This is + * the best we can do at this point. Then, force polled mode on + * since this system doesn't appear to generate GPEs. + */ + if (Status != AE_OK) { + Status = EcCheckStatus(sc, "sleep_end", Event); + device_printf(sc->ec_dev, + "wait timed out (%sresponse), forcing polled mode\n", + Status == AE_OK ? "" : "no "); + ec_polled_mode = TRUE; + } + } + if (Status != AE_OK) + CTR0(KTR_ACPI, "error: ec wait timed out"); return (Status); -} +} static ACPI_STATUS EcCommand(struct acpi_ec_softc *sc, EC_COMMAND cmd) @@ -994,6 +880,7 @@ ACPI_STATUS status; EC_EVENT event; EC_STATUS ec_status; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); @@ -1013,15 +900,15 @@ event = EC_EVENT_OUTPUT_BUFFER_FULL; break; default: - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcCommand: Invalid command %#x\n", cmd); + device_printf(sc->ec_dev, "EcCommand: invalid command %#x\n", cmd); return (AE_BAD_PARAMETER); } /* Run the command and wait for the chosen event. */ CTR1(KTR_ACPI, "ec running command %#x", cmd); + gen_count = sc->ec_gencount; EC_SET_CSR(sc, cmd); - status = EcWaitEvent(sc, event); + status = EcWaitEvent(sc, event, gen_count); if (ACPI_SUCCESS(status)) { /* If we succeeded, burst flag should now be present. */ if (cmd == EC_COMMAND_BURST_ENABLE) { @@ -1029,11 +916,8 @@ if ((ec_status & EC_FLAG_BURST_MODE) == 0) status = AE_ERROR; } - } else { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcCommand: no response to %#x\n", cmd); - } - + } else + device_printf(sc->ec_dev, "EcCommand: no response to %#x\n", cmd); return (status); } @@ -1042,6 +926,7 @@ { ACPI_STATUS status; UINT8 data; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); CTR1(KTR_ACPI, "ec read from %#x", Address); @@ -1060,32 +945,32 @@ if (ACPI_FAILURE(status)) return (status); + gen_count = sc->ec_gencount; EC_SET_DATA(sc, Address); - status = EcWaitEvent(sc, EC_EVENT_OUTPUT_BUFFER_FULL); + status = EcWaitEvent(sc, EC_EVENT_OUTPUT_BUFFER_FULL, gen_count); if (ACPI_FAILURE(status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcRead: Failed waiting for EC to send data.\n"); + device_printf(sc->ec_dev, "EcRead: failed waiting to get data\n"); return (status); } - *Data = EC_GET_DATA(sc); if (sc->ec_burstactive) { + sc->ec_burstactive = FALSE; status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); if (ACPI_FAILURE(status)) return (status); - sc->ec_burstactive = FALSE; CTR0(KTR_ACPI, "ec disabled burst ok"); } return (AE_OK); -} +} static ACPI_STATUS EcWrite(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data) { ACPI_STATUS status; UINT8 data; + u_int gen_count; ACPI_SERIAL_ASSERT(ec); CTR2(KTR_ACPI, "ec write to %#x, data %#x", Address, *Data); @@ -1104,27 +989,27 @@ if (ACPI_FAILURE(status)) return (status); + gen_count = sc->ec_gencount; EC_SET_DATA(sc, Address); - status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY); + status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY, gen_count); if (ACPI_FAILURE(status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcRead: Failed waiting for EC to process address\n"); + device_printf(sc->ec_dev, "EcRead: failed waiting for sent address\n"); return (status); } + gen_count = sc->ec_gencount; EC_SET_DATA(sc, *Data); - status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY); + status = EcWaitEvent(sc, EC_EVENT_INPUT_BUFFER_EMPTY, gen_count); if (ACPI_FAILURE(status)) { - ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), - "EcWrite: Failed waiting for EC to process data\n"); + device_printf(sc->ec_dev, "EcWrite: failed waiting for sent data\n"); return (status); } if (sc->ec_burstactive) { + sc->ec_burstactive = FALSE; status = EcCommand(sc, EC_COMMAND_BURST_DISABLE); if (ACPI_FAILURE(status)) return (status); - sc->ec_burstactive = FALSE; CTR0(KTR_ACPI, "ec disabled burst ok"); } --------------080704040001030502050209-- From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 18:13:07 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C579016A46E for ; Tue, 18 Sep 2007 18:13:07 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 93E3D13C4B3 for ; Tue, 18 Sep 2007 18:13:07 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 47252 invoked from network); 18 Sep 2007 18:13:07 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.5.18?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 18 Sep 2007 18:13:07 -0000 Message-ID: <46F01531.2000207@root.org> Date: Tue, 18 Sep 2007 11:13:05 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (X11/20070810) MIME-Version: 1.0 To: Jung-uk Kim References: <325305250709010712n4bd0d62l9a144572441cf3dc@mail.gmail.com> <325305250709131059g6b73cf51o9dc9e09d7e0c2800@mail.gmail.com> <200709131416.21302.jkim@FreeBSD.org> <200709131424.05193.jkim@FreeBSD.org> In-Reply-To: <200709131424.05193.jkim@FreeBSD.org> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org Subject: Re: ACPI error on Compaq nc6220, FreeBSD 7.0 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 18:13:07 -0000 Jung-uk Kim wrote: > [Sorry for the previous empty reply.] > > On Thursday 13 September 2007 02:16 pm, Jung-uk Kim wrote: >> On Thursday 13 September 2007 01:59 pm, Denis wrote: >>> On 9/13/07, Jung-uk Kim wrote: >>>> Please remove spinlock_enter() and spinlock_exit() from >>>> OsdSynch.c and retry. >>> So I applied your patch, Nate's patch, removed spinlock_enter() >>> and spinlock_exit() from OsdSynch.c and tried to to play a little >>> with booting with ACPI: >>> For the first time I could boot with ACPI and login to the >>> system. But after several minutes I was unable to enter any >>> symbol from the keyboard, however was able to switch between >>> consoles (alt+Fx). >>> >>> Couple times got kernel panic: >>> --- >>> panic: _sx_xlock_hard: recursed on non recursive sx ACPI embedded >>> controller @ >>> /usr/src/sys/modules/acpi/acpi/../../../acpica/acpi_ec.c:209 >>> >>> cpuid = 0 >>> KDB: enter: panic >>> [thread: pid 8 tid 100018 ] >>> Stopped at kbd_enter+0x32: leave >>> db> >>> --- > > Actually I am seeing the same problem. > > Nate, > > sx lock is recursing during AcpiInstallAddressSpaceHandler() -> > EcSpaceHandler(). Can you take a look at it? I updated the EC patches to version D and reposted, please use those instead. Thanks to Jung-uk for pointing out the problem. -Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 18:17:49 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C944A16A419 for ; Tue, 18 Sep 2007 18:17:49 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 9ADAC13C461 for ; Tue, 18 Sep 2007 18:17:49 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 47612 invoked from network); 18 Sep 2007 18:17:50 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.5.18?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 18 Sep 2007 18:17:50 -0000 Message-ID: <46F0164C.9050900@root.org> Date: Tue, 18 Sep 2007 11:17:48 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (X11/20070810) MIME-Version: 1.0 To: Kevin Foo References: <46E0777A.8070901@root.org> <200709142155.56887.kevin.foo@zaidibrahim.com> In-Reply-To: <200709142155.56887.kevin.foo@zaidibrahim.com> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 18:17:49 -0000 Kevin Foo wrote: > Hi Nate, > > I have tested the patch, ecng-6c.diff, on Compaq Presario V3417AU laptop and ran all 4 tests. Here are the outputs: > > Test 1 : no tunables set > http://bsd.ipv6.la/v3417au/dmesg-V3417AU-BATT.txt > http://bsd.ipv6.la/v3417au/sysctl-V3417AU-BATT.txt > > Error : > NONE working properly Thanks for the update, this is the important result. So battery status and temperature is reported properly for this case? You can also try the ecng-6d.diff I posted, should be no change. -Nate From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 19:16:15 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B028716A418; Tue, 18 Sep 2007 19:16:15 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 5C67913C428; Tue, 18 Sep 2007 19:16:14 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l8IJGDaa016093; Tue, 18 Sep 2007 15:16:13 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: freebsd-acpi@FreeBSD.org Date: Tue, 18 Sep 2007 15:16:07 -0400 User-Agent: KMail/1.6.2 MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200709181516.11207.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/4326/Tue Sep 18 14:30:43 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: freebsd-current@FreeBSD.org Subject: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 19:16:15 -0000 I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the modern ACPI-CA and -CURRENT: http://people.freebsd.org/~jkim/acpica/OsdSynch.diff Major changes are: 1. Semaphore is reimplemented with convar(9) instead of mutex(9). 2. Semaphore with ACPI_WAIT_FOREVER option actually waits forever now. 3. Obsolete and/or hidden debugging knobs and macros are removed. 4. ACPI-CA introduced AcpiOs*Mutex() to complement AcpiOs*Semaphore(): http://bugzilla.kernel.org/show_bug.cgi?id=6634 These functions are implemented and turned on by default. 5. Spinlock is reimplemented with sx lock and more closely implements the intended behaviour (e.g., save/restore interrupts). It is orthogonal to Nate's effort of rewriting acpi_ec.c but I'd like get more feedback *with* his last patch (revision D) because his patch will be committed sooner or later. ;-) Please test/review and let us know if there is any regression or not. Thanks! Jung-uk Kim From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 21:23:14 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FB0116A419; Tue, 18 Sep 2007 21:23:14 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from bavaria.utcluj.ro (unknown [IPv6:2001:b30:5000:2:20e:cff:fe4b:ca01]) by mx1.freebsd.org (Postfix) with ESMTP id 04F3813C46C; Tue, 18 Sep 2007 21:23:14 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from localhost (localhost [127.0.0.1]) by bavaria.utcluj.ro (Postfix) with ESMTP id 9320A50884; Wed, 19 Sep 2007 00:23:12 +0300 (EEST) X-Virus-Scanned: by the daemon playing with your mail on local.mail.utcluj.ro Received: from bavaria.utcluj.ro ([127.0.0.1]) by localhost (bavaria.utcluj.ro [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vDmnNXHqVpns; Wed, 19 Sep 2007 00:23:09 +0300 (EEST) Received: from [172.27.2.200] (c7.campus.utcluj.ro [193.226.6.226]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by bavaria.utcluj.ro (Postfix) with ESMTP id 7307350873; Wed, 19 Sep 2007 00:23:09 +0300 (EEST) Message-ID: <46F041BC.6070604@net.utcluj.ro> Date: Wed, 19 Sep 2007 00:23:08 +0300 From: Cristian KLEIN User-Agent: Thunderbird 1.5.0.13 (X11/20070824) MIME-Version: 1.0 To: Jung-uk Kim References: <200709181516.11207.jkim@FreeBSD.org> In-Reply-To: <200709181516.11207.jkim@FreeBSD.org> X-Enigmail-Version: 0.94.2.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 21:23:14 -0000 Jung-uk Kim wrote: > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the modern > ACPI-CA and -CURRENT: > > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff > > Major changes are: > > 1. Semaphore is reimplemented with convar(9) instead of mutex(9). > > 2. Semaphore with ACPI_WAIT_FOREVER option actually waits forever now. > > 3. Obsolete and/or hidden debugging knobs and macros are removed. > > 4. ACPI-CA introduced AcpiOs*Mutex() to complement AcpiOs*Semaphore(): > > http://bugzilla.kernel.org/show_bug.cgi?id=6634 > > These functions are implemented and turned on by default. > > 5. Spinlock is reimplemented with sx lock and more closely implements > the intended behaviour (e.g., save/restore interrupts). > > It is orthogonal to Nate's effort of rewriting acpi_ec.c but I'd like > get more feedback *with* his last patch (revision D) because his > patch will be committed sooner or later. ;-) > > Please test/review and let us know if there is any regression or not. Sorry for not being able to test the patch. May I assume this will fix: http://www.freebsd.org/cgi/query-pr.cgi?pr=114113 http://www.freebsd.org/cgi/query-pr.cgi?pr=114649 From owner-freebsd-acpi@FreeBSD.ORG Tue Sep 18 21:35:01 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F34316A417; Tue, 18 Sep 2007 21:35:01 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id C55B813C428; Tue, 18 Sep 2007 21:35:00 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l8ILYxXE028272; Tue, 18 Sep 2007 17:34:59 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: Cristian KLEIN Date: Tue, 18 Sep 2007 17:34:54 -0400 User-Agent: KMail/1.6.2 References: <200709181516.11207.jkim@FreeBSD.org> <46F041BC.6070604@net.utcluj.ro> In-Reply-To: <46F041BC.6070604@net.utcluj.ro> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200709181734.57392.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/4330/Tue Sep 18 16:02:40 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Sep 2007 21:35:01 -0000 On Tuesday 18 September 2007 05:23 pm, Cristian KLEIN wrote: > Jung-uk Kim wrote: > > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the > > modern ACPI-CA and -CURRENT: > > > > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff > > > > Major changes are: > > > > 1. Semaphore is reimplemented with convar(9) instead of mutex(9). > > > > 2. Semaphore with ACPI_WAIT_FOREVER option actually waits forever > > now. > > > > 3. Obsolete and/or hidden debugging knobs and macros are removed. > > > > 4. ACPI-CA introduced AcpiOs*Mutex() to complement > > AcpiOs*Semaphore(): > > > > http://bugzilla.kernel.org/show_bug.cgi?id=6634 > > > > These functions are implemented and turned on by default. > > > > 5. Spinlock is reimplemented with sx lock and more closely > > implements the intended behaviour (e.g., save/restore > > interrupts). > > > > It is orthogonal to Nate's effort of rewriting acpi_ec.c but I'd > > like get more feedback *with* his last patch (revision D) because > > his patch will be committed sooner or later. ;-) > > > > Please test/review and let us know if there is any regression or > > not. > > Sorry for not being able to test the patch. May I assume this will > fix: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=114113 > http://www.freebsd.org/cgi/query-pr.cgi?pr=114649 I believe my patch AND Nate's patch will fix the problem. Jung-uk Kim From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 00:20:02 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E4A016A418 for ; Wed, 19 Sep 2007 00:20:02 +0000 (UTC) (envelope-from kevin.foo@zaidibrahim.com) Received: from tba.zaidibrahim.com (tba.zaidibrahim.com [202.75.165.180]) by mx1.freebsd.org (Postfix) with ESMTP id 77E9913C458 for ; Wed, 19 Sep 2007 00:20:01 +0000 (UTC) (envelope-from kevin.foo@zaidibrahim.com) thread-index: Acf6UtNU0BRiIhATTICsYaX52HUFMg== X-MessageTextProcessor: DisclaimIt (2.60.261) [Zaid Ibrahim & Co., Kuala Lumpur, Malaysia] Received: from mzimyklex02.zaidibrahim.com ([10.209.33.203]) by tba.zaidibrahim.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 19 Sep 2007 08:20:04 +0800 Received: from b3ta.zaidibrahim.com ([10.209.46.120]) by mzimyklex02.zaidibrahim.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 19 Sep 2007 08:20:03 +0800 From: "Kevin Foo" Organization: Zaid Ibrahim & Co. To: "Nate Lawson" Date: Wed, 19 Sep 2007 08:25:37 +0800 User-Agent: - References: <46E0777A.8070901@root.org> <200709142155.56887.kevin.foo@zaidibrahim.com> <46F0164C.9050900@root.org> In-Reply-To: <46F0164C.9050900@root.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Class: urn:content-classes:message Importance: normal Priority: normal Message-ID: <200709190825.37736.kevin.foo@zaidibrahim.com> x-mimeole: Produced By Microsoft MimeOLE V6.00.3790.4073 X-OriginalArrivalTime: 19 Sep 2007 00:20:03.0951 (UTC) FILETIME=[D31D17F0:01C7FA52] Cc: acpi@freebsd.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 00:20:02 -0000 Nate, Yes, no change with ecng-6d.diff. Generally, temperature and battery = status are reported properly. Only information on battery remaining time = is not available. hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S3 hw.acpi.lid_switch_state: S3 hw.acpi.standby_state: S0 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.reset_video: 1 hw.acpi.cpu.cx_lowest: C1 hw.acpi.thermal.min_runtime: 0 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.user_override: 0 hw.acpi.thermal.tz0.temperature: 40.0C hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.passive_cooling: 1 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 90.0C hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 98.0C hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.thermal.tz1.temperature: 43.0C hw.acpi.thermal.tz1.active: -1 hw.acpi.thermal.tz1.passive_cooling: 0 hw.acpi.thermal.tz1.thermal_flags: 0 hw.acpi.thermal.tz1._PSV: -1 hw.acpi.thermal.tz1._HOT: -1 hw.acpi.thermal.tz1._CRT: 120.0C hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.battery.life: 96 hw.acpi.battery.time: -1 hw.acpi.battery.state: 1 hw.acpi.battery.units: 1 hw.acpi.battery.info_expire: 5 hw.acpi.acline: 0 --=20 Warm regards, Kevin Foo Key fingerprint : 4B23 FC1C E50B 9693 CCDD 2A7D A048 E909 8924 9BDD Public key : = http://keyserver.linux.it/pks/lookup?op=3Dget&search=3D0x89249BDD On Wednesday 19 September 2007, Nate Lawson wrote: >=20 > Thanks for the update, this is the important result. So battery = status > and temperature is reported properly for this case? You can also try > the ecng-6d.diff I posted, should be no change. >=20 > -Nate >=20 *****************************Internet Email Confidentiality Footer = *****************************=20 Legal Privilege & Confidentiality=20 -------------------------------------------------------------------------= -------------------------------------------------------------------------= ------------- This email contains privileged and/or confidential information. If you = are not the intended recipient (or responsible for delivery of the = message to such person) or if you have inadvertently received this = email, you should destroy or delete this message and notify the sender = by reply email accordingly. If you or your employer do not consent to = using Internet email for messages of this kind please advise immediately = by sending an email to the sender of this message . All opinions, = conclusions and other information in this message that do not relate to = the official business of Zaid Ibrahim & Co shall be understood as = neither given nor endorsed by Zaid Ibrahim & Co. Our company accepts no = liability for the content of this email, or for the consequences of any = actions taken on the basis of the information provided, unless that = information is subsequently confirmed in writing. =20 Caveat=20 -------------------------------------------------------------------------= -------------------------------------------------------------------------= -----------WARNING: Computer viruses can be transmitted via email, and = you should check this email and any attachments for the presence of = viruses. Zaid Ibrahim & Co accepts no liability for any damage caused by = any virus transmitted by this email. Our employees are expressly = required not to make defamatory statements nor infringe or authorise any = infringement of copyright or any other legal right via any = communications. Any such communication is contrary to our company policy = and outside the scope of the employment of said individual. We will not = be liable for such communication.=20 From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 01:34:18 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C537916A419 for ; Wed, 19 Sep 2007 01:34:18 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 7504513C45A for ; Wed, 19 Sep 2007 01:34:18 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 78062 invoked from network); 19 Sep 2007 01:34:19 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.0.15?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 19 Sep 2007 01:34:19 -0000 Message-ID: <46F07AEC.8060502@root.org> Date: Tue, 18 Sep 2007 18:27:08 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Kevin Foo References: <46E0777A.8070901@root.org> <200709142155.56887.kevin.foo@zaidibrahim.com> <46F0164C.9050900@root.org> <200709190825.37736.kevin.foo@zaidibrahim.com> In-Reply-To: <200709190825.37736.kevin.foo@zaidibrahim.com> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 01:34:18 -0000 Kevin Foo wrote: > Nate, > > Yes, no change with ecng-6d.diff. Generally, temperature and battery status are reported properly. Only information on battery remaining time is not available. > > hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 > hw.acpi.battery.life: 96 > hw.acpi.battery.time: -1 > hw.acpi.battery.state: 1 > hw.acpi.battery.units: 1 > hw.acpi.battery.info_expire: 5 > hw.acpi.acline: 0 Usually, battery time is not available if on AC power but it looks like you are running on battery. It's possible your system doesn't report capacity correctly. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 01:36:33 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EA2116A417 for ; Wed, 19 Sep 2007 01:36:33 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 2EAF713C45D for ; Wed, 19 Sep 2007 01:36:33 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 78802 invoked from network); 19 Sep 2007 01:36:34 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.0.15?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 19 Sep 2007 01:36:34 -0000 Message-ID: <46F07B73.8000908@root.org> Date: Tue, 18 Sep 2007 18:29:23 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Roman Pavlik References: <20070917115601.GA1371@belzebub.tns.cz> In-Reply-To: <20070917115601.GA1371@belzebub.tns.cz> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 01:36:33 -0000 Roman Pavlik wrote: > FreeBSD 7-current, snap 200708 can't boot on Compaq/HP 6710b laptop with > ACPI enabled. The boot process ends with > acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 > acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 > acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 > which indefinitely loops. However manual escape to debugger is possible. > > Without acpi it works fine. There is no problem with > FreeBSD 6.x release even with ACPI enabled. The attached files: You should try ecng-7d.diff, posted earlier today by me. > There is another problem on this machine (I'm not sure if it is connected > with ACPI problem): It froze during boot if the integrated LAN is > enabled in the BIOS (it is BroadCom NetLink Gigabyte adapter - > the driver for it is not in 6.2 release but was already added to > STABLE branch). I don't understand. Tell me whether boot freezes on which FreeBSD version (6.2, 6-stable, 7-current) and whether the NetLink driver is loaded or not. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 02:08:58 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA42616A418 for ; Wed, 19 Sep 2007 02:08:58 +0000 (UTC) (envelope-from kevin.foo@zaidibrahim.com) Received: from tba.zaidibrahim.com (tba.zaidibrahim.com [202.75.165.180]) by mx1.freebsd.org (Postfix) with ESMTP id 0134513C474 for ; Wed, 19 Sep 2007 02:08:57 +0000 (UTC) (envelope-from kevin.foo@zaidibrahim.com) thread-index: Acf6Ygnxpv1vOMgIS2q8cegjZXYyqQ== X-MessageTextProcessor: DisclaimIt (2.60.261) [Zaid Ibrahim & Co., Kuala Lumpur, Malaysia] Received: from mzimyklex02.zaidibrahim.com ([10.209.33.203]) by tba.zaidibrahim.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 19 Sep 2007 10:08:58 +0800 Received: from b3ta.zaidibrahim.com ([10.209.46.120]) by mzimyklex02.zaidibrahim.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 19 Sep 2007 10:08:57 +0800 From: "Kevin Foo" Organization: Zaid Ibrahim & Co. To: "Nate Lawson" Date: Wed, 19 Sep 2007 10:14:31 +0800 User-Agent: - References: <46E0777A.8070901@root.org> <200709190825.37736.kevin.foo@zaidibrahim.com> <46F07AEC.8060502@root.org> In-Reply-To: <46F07AEC.8060502@root.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Content-Class: urn:content-classes:message Content-Disposition: inline Importance: normal Priority: normal x-mimeole: Produced By Microsoft MimeOLE V6.00.3790.4073 Message-ID: <200709191014.32383.kevin.foo@zaidibrahim.com> X-OriginalArrivalTime: 19 Sep 2007 02:08:57.0983 (UTC) FILETIME=[09B340F0:01C7FA62] Cc: acpi@freebsd.org Subject: Re: PATCH: ecng for 6.x and 7.x X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 02:08:58 -0000 Yup, it's on battery. Probably another broken BIOS by HP/Compaq. It's = F.34 which is the latest and earlier version is not available for = downgrade test. If you want to have look on the DSDT file, here it is = http://bsd.ipv6.la/v3417au/v3417au.asl Thank you. --=20 Warm regards, Kevin Foo Key fingerprint : 4B23 FC1C E50B 9693 CCDD 2A7D A048 E909 8924 9BDD Public key : = http://keyserver.linux.it/pks/lookup?op=3Dget&search=3D0x89249BDD On Wednesday 19 September 2007, Nate Lawson wrote: >=20 > Usually, battery time is not available if on AC power but it looks = like > you are running on battery. It's possible your system doesn't report > capacity correctly. *****************************Internet Email Confidentiality Footer = *****************************=20 Legal Privilege & Confidentiality=20 -------------------------------------------------------------------------= -------------------------------------------------------------------------= ------------- This email contains privileged and/or confidential information. If you = are not the intended recipient (or responsible for delivery of the = message to such person) or if you have inadvertently received this = email, you should destroy or delete this message and notify the sender = by reply email accordingly. If you or your employer do not consent to = using Internet email for messages of this kind please advise immediately = by sending an email to the sender of this message . All opinions, = conclusions and other information in this message that do not relate to = the official business of Zaid Ibrahim & Co shall be understood as = neither given nor endorsed by Zaid Ibrahim & Co. Our company accepts no = liability for the content of this email, or for the consequences of any = actions taken on the basis of the information provided, unless that = information is subsequently confirmed in writing. =20 Caveat=20 -------------------------------------------------------------------------= -------------------------------------------------------------------------= -----------WARNING: Computer viruses can be transmitted via email, and = you should check this email and any attachments for the presence of = viruses. Zaid Ibrahim & Co accepts no liability for any damage caused by = any virus transmitted by this email. Our employees are expressly = required not to make defamatory statements nor infringe or authorise any = infringement of copyright or any other legal right via any = communications. Any such communication is contrary to our company policy = and outside the scope of the employment of said individual. We will not = be liable for such communication.=20 From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 06:51:02 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A16A16A420 for ; Wed, 19 Sep 2007 06:51:02 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 03F2413C48E for ; Wed, 19 Sep 2007 06:51:01 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 2131 invoked from network); 19 Sep 2007 06:51:04 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.0.15?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 19 Sep 2007 06:51:04 -0000 Message-ID: <46F0C529.8020708@root.org> Date: Tue, 18 Sep 2007 23:43:53 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Roman Pavlik References: <20070917115601.GA1371@belzebub.tns.cz> <46F07B73.8000908@root.org> <20070919064043.GA9875@belzebub.tns.cz> In-Reply-To: <20070919064043.GA9875@belzebub.tns.cz> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org Subject: Re: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 06:51:02 -0000 Roman Pavlik wrote: > On Tue, Sep 18, 2007 at 06:29:23PM -0700, Nate Lawson wrote: >> Roman Pavlik wrote: >>> FreeBSD 7-current, snap 200708 can't boot on Compaq/HP 6710b laptop with >>> ACPI enabled. The boot process ends with >>> acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 >>> acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 >>> acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 >>> which indefinitely loops. However manual escape to debugger is possible. >>> >>> Without acpi it works fine. There is no problem with >>> FreeBSD 6.x release even with ACPI enabled. The attached files: >> You should try ecng-7d.diff, posted earlier today by me. > > Thank you, I will. > >>> There is another problem on this machine (I'm not sure if it is connected >>> with ACPI problem): It froze during boot if the integrated LAN is >>> enabled in the BIOS (it is BroadCom NetLink Gigabyte adapter - >>> the driver for it is not in 6.2 release but was already added to >>> STABLE branch). >> I don't understand. Tell me whether boot freezes on which FreeBSD >> version (6.2, 6-stable, 7-current) and whether the NetLink driver is >> loaded or not. > > all this with acpi enabled and NetLink driver loaded: > FreeBSD 6.2 (NetLink driver not avialable yet) boot OK > FreeBSD 6-stable boot OK > FreeBSD 7-current freezes > > > with acpi enabled but without NetLink driver: > FreeBSD 7-current (GENERIC kernel) freezes > FreeBSD 7-current (BELZEBUB kernel) boot OK > > Definition for BELZEBUB kernel is attached. Perhaps you can post the output of: diff -u GENERIC BELZEBUB This appears not to be an acpi problem but I'm not sure which NetLink hw you have, for example. Posting pciconf -lv would help also. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 13:40:08 2007 Return-Path: Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACCAC16A417 for ; Wed, 19 Sep 2007 13:40:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id AB75113C45B for ; Wed, 19 Sep 2007 13:40:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l8JDe8LF039375 for ; Wed, 19 Sep 2007 13:40:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l8JDe8Hm039374; Wed, 19 Sep 2007 13:40:08 GMT (envelope-from gnats) Date: Wed, 19 Sep 2007 13:40:08 GMT Message-Id: <200709191340.l8JDe8Hm039374@freefall.freebsd.org> To: freebsd-acpi@FreeBSD.org From: Goran Dodig Cc: Subject: Re: kern/108581: [sysctl] sysctl: hw.acpi.cpu.cx_lowest: Invalid argument X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Goran Dodig List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 13:40:08 -0000 The following reply was made to PR kern/108581; it has been noted by GNATS. From: Goran Dodig To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/108581: [sysctl] sysctl: hw.acpi.cpu.cx_lowest: Invalid argument Date: Wed, 19 Sep 2007 15:22:24 +0200 This is a cryptographically signed message in MIME format. --------------ms030404060902070804030209 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable The same is happening to me. Custom compiled kernel, 6.2-STABLE, only added few pf options and SMP. The server is HP ProLiant DL360 G5. ##################################################### # sysctl dev.cpu dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=3D\_PR_.CPU0 dev.cpu.0.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.0.%parent: acpi0 dev.cpu.0.cx_supported: C1/0 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% dev.cpu.1.%desc: ACPI CPU dev.cpu.1.%driver: cpu dev.cpu.1.%location: handle=3D\_PR_.CPU1 dev.cpu.1.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.1.%parent: acpi0 dev.cpu.1.cx_supported: C1/0 dev.cpu.1.cx_lowest: C1 dev.cpu.1.cx_usage: 100.00% dev.cpu.2.%desc: ACPI CPU dev.cpu.2.%driver: cpu dev.cpu.2.%location: handle=3D\_PR_.CPU2 dev.cpu.2.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.2.%parent: acpi0 dev.cpu.2.cx_supported: C1/0 dev.cpu.2.cx_lowest: C1 dev.cpu.2.cx_usage: 100.00% dev.cpu.3.%desc: ACPI CPU dev.cpu.3.%driver: cpu dev.cpu.3.%location: handle=3D\_PR_.CPU3 dev.cpu.3.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.3.%parent: acpi0 dev.cpu.3.cx_supported: C1/0 dev.cpu.3.cx_lowest: C1 dev.cpu.3.cx_usage: 100.00% ##################################################### # sysctl hw.acpi hw.acpi.supported_sleep_state: 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: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.cpu.cx_lowest: C1 hw.acpi.thermal.min_runtime: 0 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.user_override: 0 hw.acpi.thermal.tz0.temperature: 8.3C hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.passive_cooling: 1 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 9.8C hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 31.3C hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ##################################################### # acpidump -t -d /* RSD PTR: OEM=3DHP, ACPI_Rev=3D2.0x (2) XSDT=3D0x7fe58300, length=3D36, cksum=3D245 */ /* XSDT: Length=3D84, Revision=3D1, Checksum=3D117, OEMID=3DHP, OEM Table ID=3DP58, OEM Revision=3D0x2, Creator ID=3D=EF=BF=BD=04, Creator Revision=3D0x162e Entries=3D{ 0x7fe58380, 0x7fe58100, 0x7fe58180, 0x7fe581c0, 0x7fe58200, 0x7fe58240 } */ /* FACP: Length=3D244, Revision=3D3, Checksum=3D162, OEMID=3DHP, OEM Table ID=3DP58, OEM Revision=3D0x2, Creator ID=3D=EF=BF=BD=04, Creator Revision=3D0x162e FACS=3D0x7fe580c0, DSDT=3D0x7fe58480 INT_MODEL=3DAPIC Preferred_PM_Profile=3DUnspecified (0) SCI_INT=3D9 SMI_CMD=3D0xb2, ACPI_ENABLE=3D0x1, ACPI_DISABLE=3D0x0, S4BIOS_REQ=3D0= x0 PSTATE_CNT=3D0x0 PM1a_EVT_BLK=3D0x900-0x903 PM1a_CNT_BLK=3D0x904-0x907 PM_TMR_BLK=3D0x908-0x90b GPE0_BLK=3D0x928-0x92f P_LVL2_LAT=3D65535 us, P_LVL3_LAT=3D65535 us FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0 DUTY_OFFSET=3D0, DUTY_WIDTH=3D0 DAY_ALRM=3D73, MON_ALRM=3D74, CENTURY=3D72 IAPC_BOOT_ARCH=3D{LEGACY_DEV,8042} Flags=3D{WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} X_FACS=3D0x7fe580c0, X_DSDT=3D0x7fe58480 X_PM1a_EVT_BLK=3D0x900:0[32] (IO) X_PM1a_CNT_BLK=3D0x904:0[32] (IO) X_PM_TMR_BLK=3D0x908:0[32] (IO) X_GPE0_BLK=3D0x928:0[64] (IO) */ /* FACS: Length=3D64, HwSig=3D0x0000abcd, Firm_Wake_Vec=3D0x00000000 Global_Lock=3D Flags=3D Version=3D1 */ /* DSDT: Length=3D7829, Revision=3D1, Checksum=3D255, OEMID=3DHP, OEM Table ID=3DDSDT, OEM Revision=3D0x1, Creator ID=3DINTL, Creator Revision=3D0x20030228 */ /* SPCR: Length=3D80, Revision=3D1, Checksum=3D200, OEMID=3DHP, OEM Table ID=3DSPCRRBSU, OEM Revision=3D0x1, Creator ID=3D=EF=BF=BD=04, Creator Revision=3D0x162e */ /* MCFG: Length=3D60, Revision=3D1, Checksum=3D133, OEMID=3DHP, OEM Table ID=3DProLiant, OEM Revision=3D0x1, Creator ID=3D, Creator Revision=3D0x0 Base Address=3D 0x00000000e0000000 Segment Group=3D 0x0000 Start Bus=3D 0 End Bus=3D 255 */ /* HPET: Length=3D56, Revision=3D1, Checksum=3D142, OEMID=3DHP, OEM Table ID=3DP58, OEM Revision=3D0x2, Creator ID=3D=EF=BF=BD=04, Creator Revision=3D0x162e HPET Number=3D0 ADDR=3D0xfed00000:0[0] (Memory) HW Rev=3D0x1 Comparitors=3D2 Counter Size=3D1 Legacy IRQ routing capable=3D{TRUE} PCI Vendor ID=3D0x8086 Minimal Tick=3D0 */ /* SPMI: Length=3D64, Revision=3D5, Checksum=3D98, OEMID=3DHP, OEM Table ID=3DProLiant, OEM Revision=3D0x1, Creator ID=3D=EF=BF=BD=04, Creator Revision=3D0x162e */ /* APIC: Length=3D158, Revision=3D1, Checksum=3D53, OEMID=3DHP, OEM Table ID=3D00000083, OEM Revision=3D0x2, Creator ID=3D, Creator Revision=3D0x0 Local APIC ADDR=3D0xfee00000 Flags=3D{PC-AT} Type=3DLocal APIC ACPI CPU=3D0 Flags=3D{ENABLED} APIC ID=3D0 Type=3DLocal APIC ACPI CPU=3D4 Flags=3D{DISABLED} APIC ID=3D4 Type=3DLocal APIC ACPI CPU=3D2 Flags=3D{ENABLED} APIC ID=3D2 Type=3DLocal APIC ACPI CPU=3D6 Flags=3D{DISABLED} APIC ID=3D6 Type=3DLocal APIC ACPI CPU=3D1 Flags=3D{ENABLED} APIC ID=3D1 Type=3DLocal APIC ACPI CPU=3D5 Flags=3D{DISABLED} APIC ID=3D5 Type=3DLocal APIC ACPI CPU=3D3 Flags=3D{ENABLED} APIC ID=3D3 Type=3DLocal APIC ACPI CPU=3D7 Flags=3D{DISABLED} APIC ID=3D7 Type=3DIO APIC APIC ID=3D8 INT BASE=3D0 ADDR=3D0x00000000fec00000 Type=3DIO APIC APIC ID=3D9 INT BASE=3D24 ADDR=3D0x00000000fec80000 Type=3DINT Override BUS=3D0 IRQ=3D0 INTR=3D2 Flags=3D{Polarity=3Dactive-hi, Trigger=3Dedge} Type=3DINT Override BUS=3D0 IRQ=3D9 INTR=3D9 Flags=3D{Polarity=3Dactive-hi, Trigger=3Dlevel} Type=3DLocal NMI ACPI CPU=3DALL LINT Pin=3D1 Flags=3D{Polarity=3Dconforming, Trigger=3Dconforming} */ /* * Intel ACPI Component Architecture * AML Disassembler version 20041119 * * Disassembly of /tmp/acpidump.tJq4J4, Wed Sep 19 15:10:43 2007 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP ", "DSDT", 1) { Scope (_PR) { Processor (CPU0, 0x00, 0x00000000, 0x00) {} Processor (CPU1, 0x01, 0x00000000, 0x00) {} Processor (CPU2, 0x02, 0x00000000, 0x00) {} Processor (CPU3, 0x03, 0x00000000, 0x00) {} Processor (CPU4, 0x04, 0x00000000, 0x00) {} Processor (CPU5, 0x05, 0x00000000, 0x00) {} Processor (CPU6, 0x06, 0x00000000, 0x00) {} Processor (CPU7, 0x07, 0x00000000, 0x00) {} } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Device (_SB.PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, Zero) Device (CFG0) { Name (_ADR, 0x00100001) OperationRegion (MEM0, PCI_Config, Zero, 0x0100) Field (MEM0, AnyAcc, NoLock, Preserve) { Offset (0x6C), TOLM, 16 } } Name (REST, ResourceTemplate () { WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, 0x0000, 0x0000, 0x007F, 0x0000, 0x0080) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00FF, 0x0D00, 0xFFFF, 0x0000, 0xF300) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0000FFFF, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0FFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000) }) CreateDWordField (REST, 0x54, MGN0) CreateDWordField (REST, 0x58, MGX0) CreateDWordField (REST, 0x60, MGL0) CreateDWordField (REST, 0x6E, MGN1) CreateDWordField (REST, 0x72, MGX1) CreateDWordField (REST, 0x7A, MGL1) Method (_CRS, 0, NotSerialized) { Store (^CFG0.TOLM, Local0) ShiftLeft (Local0, 0x10, MGN0) Store (0xDFFFFFFF, MGX0) Subtract (MGX0, MGN0, Local0) Add (Local0, One, MGL0) Store (0xF0000000, MGN1) Store (0xFEBFFFFF, MGX1) Subtract (MGX1, MGN1, Local0) Add (Local0, One, MGL1) Return (REST) } Device (IP2P) { Name (_ADR, 0x001E0000) } Device (PT02) { Name (_ADR, 0x00020000) Device (IPE4) { Name (_ADR, Zero) Device (IPE1) { Name (_ADR, Zero) } } Device (P2P2) { Name (_ADR, 0x03) } } Device (PT03) { Name (_ADR, 0x00030000) } Device (PT04) { Name (_ADR, 0x00040000) } Device (PT06) { Name (_ADR, 0x00060000) Device (NB01) { Name (_ADR, Zero) } } Device (PT07) { Name (_ADR, 0x00070000) Device (NB02) { Name (_ADR, Zero) } } } Scope (_TZ) { Name (\TEMP, 0x0AFF) ThermalZone (THM0) { Name (_TSP, 0x3C) Name (_TC1, 0x04) Name (_TC2, 0x04) Name (_PSL, Package (0x01) { \_PR.CPU0 }) Method (_PSV, 0, NotSerialized) { Store ("_PSV Method", Debug) Return (0x0B0E) } Method (_SCP, 1, NotSerialized) { Notify (THM0, 0x81) } Method (_TMP, 0, NotSerialized) { Store ("_TMP Method", Debug) Return (TEMP) } Method (_CRT, 0, NotSerialized) { Store ("_CRT Method", Debug) Return (0x0BE5) } } } Scope (_SB.PCI0) { OperationRegion (INTP, SystemIO, 0x2844, 0x04) Field (INTP, ByteAcc, NoLock, Preserve) { INT1, 16, INT3, 8, Offset (0x04) } OperationRegion (INTL, SystemIO, 0x28C8, 0x02) Field (INTL, ByteAcc, NoLock, Preserve) { IRQL, 16 } OperationRegion (NVRM, SystemIO, 0x2800, 0xB0) Field (NVRM, AnyAcc, NoLock, Preserve) { Offset (0x8A), AUTO, 1, Offset (0x9B), NVDT, 1, Offset (0xA6), NVPG, 16 } Mutex (LCK1, 0x00) } Scope (_SB.PCI0.IP2P) { Device (ASMD) { Name (_ADR, 0x00040000) Method (_STA, 0, NotSerialized) { Return (0x0B) } } } Device (_SB.PCI0.IBRG) { Name (_ADR, 0x001F0000) OperationRegion (PMCF, PCI_Config, Zero, 0x0100) Field (PMCF, AnyAcc, NoLock, Preserve) { Offset (0xA4), AFG3, 8 } } Device (_SB.PCI0.IBRG.MOMB) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, Zero) Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x00, 0x08) IO (Decode16, 0x0408, 0x0408, 0x00, 0x08) IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02) IO (Decode16, 0x0020, 0x0020, 0x00, 0x20) IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x20) IO (Decode16, 0x0090, 0x0090, 0x00, 0x10) IO (Decode16, 0x0050, 0x0050, 0x00, 0x04) IO (Decode16, 0x0700, 0x0700, 0x00, 0x20) IO (Decode16, 0x0800, 0x0800, 0x00, 0x40) IO (Decode16, 0x0900, 0x0900, 0x00, 0x80) IO (Decode16, 0x0010, 0x0010, 0x00, 0x10) IO (Decode16, 0x0C80, 0x0C80, 0x00, 0x04) IO (Decode16, 0x0CD4, 0x0CD4, 0x00, 0x04) IO (Decode16, 0x0F50, 0x0F50, 0x00, 0x09) IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x01) IO (Decode16, 0x0CA0, 0x0CA0, 0x00, 0x02) IO (Decode16, 0x0CA4, 0x0CA4, 0x00, 0x02) Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000) Memory32Fixed (ReadWrite, 0xFE000000, 0x00C00000) IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08) }) CreateWordField (CRS1, 0xA2, VMIN) CreateWordField (CRS1, 0xA4, VMAX) CreateByteField (CRS1, 0xA7, VLEN) Method (_CRS, 0, NotSerialized) { Store (VPRT, Local0) And (Local0, 0x07, Local0) Store (Zero, VMIN) Store (Zero, VMAX) Store (Zero, VLEN) If (LEqual (Local0, One)) { Store (0x03F8, VMIN) Store (0x03F8, VMAX) Store (0x08, VLEN) } If (LEqual (Local0, 0x02)) { Store (0x02F8, VMIN) Store (0x02F8, VMAX) Store (0x08, VLEN) } If (LEqual (Local0, 0x03)) { Store (0x03E8, VMIN) Store (0x03E8, VMAX) Store (0x08, VLEN) } If (LEqual (Local0, 0x04)) { Store (0x02E8, VMIN) Store (0x02E8, VMAX) Store (0x08, VLEN) } Return (CRS1) } } Device (_SB.PCI0.IBRG.MI0) { Name (_HID, EisaId ("IPI0001")) Name (_STR, Unicode ("IPMI_KCS")) Name (_UID, Zero) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0CA2, 0x0CA2, 0x00, 0x02) }) Method (_IFT, 0, NotSerialized) { Return (One) } Method (_SRV, 0, NotSerialized) { Return (0x0200) } } Device (_SB.PCI0.IBRG.TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive) {0} IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) }) } Device (_SB.PCI0.IBRG.HPET) { Name (_HID, EisaId ("PNP0103")) Name (_UID, Zero) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, 0x00000400) }) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, Serialized) { Return (BUF0) } } Device (_SB.PCI0.IBRG.DMA0) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, NotBusMaster, Transfer16) {7} IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) IO (Decode16, 0x0080, 0x0080, 0x01, 0x10) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) }) } Device (_SB.PCI0.IBRG.BEEP) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Scope (_SB.PCI0.IBRG) { OperationRegion (ICH5, PCI_Config, 0x60, 0x0C) Field (ICH5, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } } Scope (_SB.PCI0.IBRG) { Device (KBD) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ (Edge, ActiveHigh, Exclusive) {1} }) } } Scope (_SB.PCI0.IBRG) { Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CID, 0x0E0FD041) Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) } } Scope (_SB.PCI0.IBRG) { Device (S417) { Name (_HID, EisaId ("PNP0A06")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, 0x002E, 0x00, 0x02) IO (Decode16, 0x004E, 0x004E, 0x00, 0x02) IO (Decode16, 0x0620, 0x0620, 0x00, 0x40) IO (Decode16, 0x0680, 0x0680, 0x00, 0x20) IO (Decode16, 0x0600, 0x0600, 0x00, 0x20) IO (Decode16, 0x0660, 0x0660, 0x00, 0x20) IO (Decode16, 0x0300, 0x0300, 0x00, 0x10) }) OperationRegion (N417, SystemIO, 0x2E, 0x02) Field (N417, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x02), CFG, 8, Offset (0x07), LDN, 8, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, Offset (0x70), INTR, 8, Offset (0x74), DMCH, 8, Offset (0xF0), CFG1, 8, CFG2, 8 } Mutex (LCK2, 0x00) } } Scope (_SB.PCI0.IBRG.S417) { Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_CID, 0x0005D041) Name (_DDN, "COM1") Name (_UID, Zero) Name (CRS0, ResourceTemplate () { IRQNoFlags () {4} IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08) }) CreateWordField (CRS0, One, IRQ1) CreateByteField (CRS0, 0x05, IOLP) CreateByteField (CRS0, 0x06, IOHP) CreateByteField (CRS0, 0x07, IOLR) CreateByteField (CRS0, 0x08, IOHR) CreateByteField (CRS0, 0x0A, IOLN) Method (_STA, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (0x04, LDN) If (ACTR) { Store (0xAA, INDX) Release (LCK2) Return (0x0F) } Else { If (LEqual (INTR, Zero)) { Store (0xAA, INDX) Release (LCK2) Return (Zero) } Else { Store (0xAA, INDX) Release (LCK2) Return (0x0D) } Release (LCK2) Return (0x0D) } } Method (_CRS, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (0x04, LDN) If (LEqual (INTR, Zero)) { Store (Zero, IRQ1) Store (Zero, IOLP) Store (Zero, IOHP) Store (Zero, IOLR) Store (Zero, IOHR) Store (Zero, IOLN) Store (0xAA, INDX) } Else { Store (One, Local0) ShiftLeft (Local0, INTR, IRQ1) Store (IOAL, IOLP) Store (IOAH, IOHP) Store (IOAL, IOLR) Store (IOAH, IOHR) Store (0x08, IOLN) Store (0xAA, INDX) } Release (LCK2) Return (CRS0) } Method (_DIS, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (0x04, LDN) Store (Zero, ACTR) Store (0xAA, INDX) Release (LCK2) } Method (_PRS, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (0x04, LDN) If (LEqual (INTR, Zero)) { Store (Zero, IRQ1) Store (Zero, IRQ1) Store (Zero, IOLP) Store (Zero, IOHP) Store (Zero, IOLR) Store (Zero, IOHR) Store (Zero, IOLN) Store (0xAA, INDX) } Else { Store (One, Local0) ShiftLeft (Local0, INTR, IRQ1) Store (IOAL, IOLP) Store (IOAH, IOHP) Store (IOAL, IOLR) Store (IOAH, IOHR) Store (0x08, IOLN) Store (0xAA, INDX) } Release (LCK2) Return (CRS0) } Method (_SRS, 1, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (0x04, LDN) CreateWordField (Arg0, One, IRQW) CreateByteField (Arg0, 0x05, IOLO) CreateByteField (Arg0, 0x06, IOHI) Store (IOLO, IOAL) Store (IOHI, IOAH) If (LEqual (IRQW, Zero)) { Store (Zero, INTR) } Else { FindSetLeftBit (IRQW, Local0) Decrement (Local0) Store (Local0, INTR) } Store (One, ACTR) Store (0xAA, INDX) Release (LCK2) } } } Scope (_SB.PCI0.IBRG.S417) { Device (FDC0) { Name (_HID, EisaId ("PNP0700")) Name (CRES, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x03F2, 0x03F2, 0x02, 0x04) }) Name (ODIS, One) Name (REST, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x03F0, 0x03F0, 0x00, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) }) Device (DRV0) { Name (_ADR, Zero) Name (_FDI, Package (0x10) { Zero, 0x04, 0x4F, 0x12, One, 0xDF, 0x02, 0x25, 0x02, 0x12, 0x1B, 0xFF, 0x65, 0xF6, 0x0F, 0x08 }) Method (_STA, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x02, NVPG) If (NVDT) { Return (0x0F) } Else { Return (Zero) } Release (LCK2) } } Method (_FDE, 0, NotSerialized) { Name (FBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 }) CreateByteField (FBUF, Zero, DRV0) Store (^DRV0._STA (), Local0) If (LEqual (Local0, 0x0F)) { Store (One, DRV0) } Return (FBUF) } Method (_STA, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (Zero, LDN) If (ACTR) { Store (0xAA, INDX) Release (LCK2) Return (0x0F) } Else { Store (0xAA, INDX) Release (LCK2) If (ODIS) { Return (Zero) } Else { Return (0x0D) } } } Method (_CRS, 0, NotSerialized) { CreateWordField (CRES, One, IRQW) CreateByteField (CRES, 0x04, DMAC) CreateByteField (CRES, 0x08, IOLO) CreateByteField (CRES, 0x09, IOHI) CreateByteField (CRES, 0x0A, IORL) CreateByteField (CRES, 0x0B, IORH) Store (0x55, INDX) Store (Zero, LDN) Store (IOAL, IOLO) Store (IOAH, IOHI) Store (IOAL, IORL) Store (IOAH, IORH) If (LEqual (INTR, Zero)) { Store (Zero, IRQW) } Else { Store (One, Local0) ShiftLeft (Local0, INTR, IRQW) } If (LEqual (DMCH, 0x04)) { Store (Zero, DMAC) } Else { Store (One, Local0) ShiftLeft (Local0, DMCH, DMAC) } Store (0xAA, INDX) Return (CRES) } Method (_DIS, 0, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (Zero, LDN) Store (Zero, ACTR) Store (0xAA, INDX) Store (Zero, ODIS) Release (LCK2) } Name (_PRS, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x03F0, 0x03F0, 0x00, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) }) Method (_SRS, 1, NotSerialized) { Acquire (LCK2, 0xFFFF) Store (0x55, INDX) Store (Zero, LDN) CreateWordField (Arg0, One, IRQW) CreateByteField (Arg0, 0x04, DMAC) CreateByteField (Arg0, 0x08, IOLO) CreateByteField (Arg0, 0x09, IOHI) Store (IOLO, IOAL) Store (IOHI, IOAH) If (LEqual (IRQW, Zero)) { Store (Zero, INTR) } Else { FindSetLeftBit (IRQW, Local0) Decrement (Local0) Store (Local0, INTR) } If (LEqual (DMAC, Zero)) { Store (0x04, DMCH) } Else { FindSetLeftBit (DMAC, Local0) Decrement (Local0) Store (Local0, DMCH) } Store (One, ACTR) Store (0xAA, INDX) Store (One, ODIS) Release (LCK2) } } } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) { Store (Arg0, PICM) } Scope (_SB) { Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFA, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRA, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRA, 0x80, ^^PCI0.IBRG.PIRA) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFB, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRB, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRB, 0x80, ^^PCI0.IBRG.PIRB) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRB, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFC, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRC, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRC, 0x80, ^^PCI0.IBRG.PIRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRC, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFD, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRD, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRD, 0x80, ^^PCI0.IBRG.PIRD) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRD, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Name (BUFE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFE, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRE, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRE, 0x80, ^^PCI0.IBRG.PIRE) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRE, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFE) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFF, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRF, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRF, 0x80, ^^PCI0.IBRG.PIRF) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRF, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Name (BUFG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFG, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRG, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRG, 0x80, ^^PCI0.IBRG.PIRG) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRG, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFG) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Name (BUFH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) CreateWordField (BUFH, One, IRA0) Method (_STA, 0, NotSerialized) { And (^^PCI0.IBRG.PIRH, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (^^PCI0.IBRG.PIRH, 0x80, ^^PCI0.IBRG.PIRH) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7,10,11} }) Method (_CRS, 0, NotSerialized) { And (^^PCI0.IBRG.PIRH, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFH) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Subtract (Local0, One, ^^PCI0.IBRG.PIRH) } } } Method (_SB.PCI0._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x05) { Package (0x04) { 0x001DFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x11 } }) } Else { Return (Package (0x05) { Package (0x04) { 0x001DFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001DFFFF, One, LNKB, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKB, Zero } }) } } Method (_SB.PCI0.PT02._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x00) {}) } Else { Return (Package (0x00) {}) } } Method (_SB.PCI0.PT02.IPE4._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x03) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 } }) } Else { Return (Package (0x03) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero } }) } } Method (_SB.PCI0.PT02.IPE4.IPE1._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) } } Method (_SB.PCI0.PT02.P2P2._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x18 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x19 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x18 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x19 } }) } Else { Return (Package (0x04) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKB, Zero } }) } } Method (_SB.PCI0.PT03._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) } } Method (_SB.PCI0.PT04._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) } } Method (_SB.PCI0.PT06.NB01._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) } } Method (_SB.PCI0.PT07.NB02._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) } } Method (_SB.PCI0.IP2P._PRT, 0, NotSerialized) { If (LEqual (PICM, One)) { Return (Package (0x03) { Package (0x04) { 0x0004FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x16 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x17 } }) } Else { Return (Package (0x03) { Package (0x04) { 0x0004FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0004FFFF, One, LNKG, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKH, Zero } }) } } OperationRegion (AMEM, SystemMemory, 0x000E81A0, One) Field (AMEM, AnyAcc, NoLock, Preserve) { VPRT, 8 } OperationRegion (SBPM, SystemIO, 0x0900, 0x04) Field (SBPM, ByteAcc, NoLock, Preserve) { SPMS, 16, SPME, 16 } OperationRegion (SGPE, SystemIO, 0x0928, 0x08) Field (SGPE, ByteAcc, NoLock, Preserve) { GPES, 32, GPEE, 32 } OperationRegion (SYSS, SystemIO, 0xB2, One) Field (SYSS, ByteAcc, NoLock, Preserve) { SMIP, 8 } OperationRegion (BMEM, SystemMemory, 0x000E81A1, One) Field (BMEM, AnyAcc, NoLock, Preserve) { , 7, JACK, 1 } OperationRegion (GMEM, SystemMemory, 0x000E81B0, 0x0191) Field (GMEM, AnyAcc, NoLock, Preserve) { P0C0, 32, P1C0, 32, P2C0, 32, P3C0, 32, P0C1, 32, P1C1, 32, P2C1, 32, P3C1, 32, P0C2, 32, P1C2, 32, P2C2, 32, P3C2, 32, P0C3, 32, P1C3, 32, P2C3, 32, P3C3, 32, P0C4, 32, P1C4, 32, P2C4, 32, P3C4, 32, P0C5, 32, P1C5, 32, P2C5, 32, P3C5, 32, P0C6, 32, P1C6, 32, P2C6, 32, P3C6, 32, P0C7, 32, P1C7, 32, P2C7, 32, P3C7, 32, P0S0, 32, P1S0, 32, P2S0, 32, P3S0, 32, P0S1, 32, P1S1, 32, P2S1, 32, P3S1, 32, P0S2, 32, P1S2, 32, P2S2, 32, P3S2, 32, P0S3, 32, P1S3, 32, P2S3, 32, P3S3, 32, P0S4, 32, P1S4, 32, P2S4, 32, P3S4, 32, P0S5, 32, P1S5, 32, P2S5, 32, P3S5, 32, P0S6, 32, P1S6, 32, P2S6, 32, P3S6, 32, P0S7, 32, P1S7, 32, P2S7, 32, P3S7, 32, P0P0, 32, P1P0, 32, P2P0, 32, P3P0, 32, P0P1, 32, P1P1, 32, P2P1, 32, P3P1, 32, P0P2, 32, P1P2, 32, P2P2, 32, P3P2, 32, P0P3, 32, P1P3, 32, P2P3, 32, P3P3, 32, P0P4, 32, P1P4, 32, P2P4, 32, P3P4, 32, P0P5, 32, P1P5, 32, P2P5, 32, P3P5, 32, P0P6, 32, P1P6, 32, P2P6, 32, P3P6, 32, P0P7, 32, P1P7, 32, P2P7, 32, P3P7, 32, P0FQ, 32, P1FQ, 32, P2FQ, 32, P3FQ, 32, NPPC, 8 } OperationRegion (SMEM, SystemMemory, 0x000E8350, 0x80) Field (SMEM, AnyAcc, NoLock, Preserve) { SSD0, 32, SSD1, 32, SSD2, 32, SSD3, 32, SSD4, 32, SSD5, 32, SSD6, 32, SSD7, 32, SSL0, 32, SSL1, 32, SSL2, 32, SSL3, 32, SSL4, 32, SSL5, 32, SSL6, 32, SSL7, 32, SSD8, 32, SSD9, 32, SSDA, 32, SSDB, 32, SSDC, 32, SSDD, 32, SSDE, 32, SSDF, 32, SSL8, 32, SSL9, 32, SSLA, 32, SSLB, 32, SSLC, 32, SSLD, 32, SSLE, 32, SSLF, 32 } Method (_PTS, 1, NotSerialized) { Store (0xFFFF, SPMS) Store (Ones, GPES) Store (\_SB.PCI0.IBRG.AFG3, Local0) Or (Local0, One, Local0) Store (Local0, \_SB.PCI0.IBRG.AFG3) } } ##################################################### # dmesg -a Copyright (c) 1992-2007 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 is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-STABLE #0: Wed Sep 12 22:54:59 CEST 2007 root@svarog:/usr/obj/usr/src/sys/SVAROG Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Xeon(R) CPU E5320 @ 1.86GHz (1866.75-MHz K8-clas= s CPU) Origin =3D "GenuineIntel" Id =3D 0x6f7 Stepping =3D 7 Features=3D0xbfebfbff Features2=3D0x4e3bd,CX16,XTPR,,> AMD Features=3D0x20000800 AMD Features2=3D0x1 Cores per package: 4 real memory =3D 2145746944 (2046 MB) avail memory =3D 2059988992 (1964 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 ioapic0 irqs 0-23 on motherboard ioapic1 irqs 24-47 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413= ) acpi0: on motherboard acpi_hpet0: iomem 0xfed00000-0xfed003ff on a= cpi0 Timecounter "HPET" frequency 14318180 Hz quality 2000 acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x908-0x90b on acpi0 cpu0: on acpi0 cpu1: on acpi0 cpu2: on acpi0 cpu3: on acpi0 pcib0: on acpi0 pci0: on pcib0 pcib1: at device 2.0 on pci0 pci9: on pcib1 pcib2: at device 0.0 on pci9 pci10: on pcib2 pcib3: at device 0.0 on pci10 pci11: on pcib3 pcib4: at device 1.0 on pci10 pci14: on pcib4 pcib5: at device 2.0 on pci10 pci15: on pcib5 pcib6: at device 0.3 on pci9 pci16: on pcib6 pcib7: at device 3.0 on pci0 pci6: on pcib7 pcib8: at device 0.0 on pci6 pci7: on pcib8 pcib9: at device 4.0 on pci7 pci8: on pcib9 ciss0: port 0x4000-0x40ff mem 0xfde80000-0xfdeffff= f,0xfde70000-0xfde77fff irq 16 at device 8.0 on pci7 ciss0: [GIANT-LOCKED] pcib10: at device 4.0 on pci0 pci19: on pcib10 pcib11: at device 5.0 on pci0 pci22: on pcib11 pcib12: at device 6.0 on pci0 pci2: on pcib12 pcib13: at device 0.0 on pci2 pci3: on pcib13 bce0: mem 0xf8000000-0xf9= ffffff irq 18 at device 0.0 on pci3 miibus0: on bce0 brgphy0: on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000= baseT-FDX, auto bce0: Ethernet address: 00:1c:c4:41:0c:46 bce0: ASIC (0x57081020); Rev (B2); Bus (PCI-X, 64-bit, 133MHz); F/W (0x01= 090605); Flags( MFW ) pcib14: at device 7.0 on pci0 pci4: on pcib14 pcib15: at device 0.0 on pci4 pci5: on pcib15 bce1: mem 0xfa000000-0xfb= ffffff irq 19 at device 0.0 on pci5 miibus1: on bce1 brgphy1: on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000= baseT-FDX, auto bce1: Ethernet address: 00:1c:c4:41:0c:38 bce1: ASIC (0x57081020); Rev (B2); Bus (PCI-X, 64-bit, 133MHz); F/W (0x01= 090605); Flags( MFW ) uhci0: port 0x1000-0x101f irq 16 at devic= e 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x1020-0x103f irq 17 at devic= e 29.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0x1040-0x105f irq 18 at devic= e 29.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0x1060-0x107f irq 19 at devic= e 29.3 on pci0 uhci3: [GIANT-LOCKED] usb3: on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xf7df0000-0xf7df03ff irq = 16 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] usb4: waiting for BIOS to give up control usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered pcib16: at device 30.0 on pci0 pci1: on pcib16 pci1: at device 3.0 (no driver attached) pci1: at device 4.0 (no driver attached) pci1: at device 4.2 (no driver attached) uhci4: port 0x3800-0x381f irq 22 at devic= e 4.4 on pci1 uhci4: [GIANT-LOCKED] usb5: on uhci4 usb5: USB revision 1.0 uhub5: (0x103c) UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub5: 2 ports with 2 removable, self powered pci1: at device 4.6 (no driver attached) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170= -0x177,0x376,0x500-0x50f irq 17 at device 31.1 on pci0 ata0: on atapci0 ata1: on atapci0 acpi_tz0: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] sio0: port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A orm0: at iomem 0xc0000-0xcafff,0xe6000-0xe7fff on isa0 ppc0: cannot reserve I/O port range sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=3D0x300> sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0= ukbd0: HP Virtual Keyboard, rev 1.10/0.02, addr 2, iclass 3/1 kbd2 at ukbd0 ums0: HP Virtual Keyboard, rev 1.10/0.02, addr 2, iclass 3/1 ums0: X report 0x0002 not supported device_attach: ums0 attach returned 6 uhub6: HP Virtual Hub, class 9/0, rev 1.10/0.01, addr 3 uhub6: 7 ports with 7 removable, self powered Timecounters tick every 1.000 msec acd0: DVDR at ata0-master PIO4 SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! da0 at ciss0 bus 0 target 0 lun 0 da0: Fixed Direct Access SCSI-5 device=20 da0: 135.168MB/s transfers da0: 69970MB (143299800 512 byte sectors: 255H 63S/T 8920C) da1 at ciss0 bus 0 target 1 lun 0 da1: Fixed Direct Access SCSI-5 device=20 da1: 135.168MB/s transfers da1: 139979MB (286677120 512 byte sectors: 255H 32S/T 35132C) Trying to mount root from ufs:/dev/da0s1a Loading configuration files. Entropy harvesting: interrupts ethernet point_to_point kickstart =2E swapon: adding /dev/da0s1b as swap device Starting file system checks: /dev/da0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/da0s1a: clean, 471604 free (612 frags, 58874 blocks, 0.1% fragmentat= ion) /dev/da0s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/da0s1d: clean, 1013006 free (70 frags, 126617 blocks, 0.0% fragmenta= tion) /dev/da1s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/da1s1d: clean, 67886453 free (69773 frags, 8477085 blocks, 0.1% frag= mentation) /dev/da0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/da0s1e: clean, 29089867 free (851 frags, 3636127 blocks, 0.0% fragme= ntation) Mounting local file systems: =2E Setting hostname: h.svarog.si21.com. security.jail.allow_raw_sockets:=20 0 ->=20 1 lo0: flags=3D8049 mtu 16384 inet6 ::1 prefixlen 128=20 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3=20 inet 127.0.0.1 netmask 0xff000000=20 bce0: flags=3D8843 mtu 1500 options=3D3b inet6 fe80::21c:c4ff:fe41:c46%bce0 prefixlen 64 tentative scopeid 0x1=20 inet 192.168.100.148 netmask 0xffffff00 broadcast 192.168.100.255 inet 192.168.100.147 netmask 0xfffffff8 broadcast 192.168.100.151 ether 00:1c:c4:41:0c:46 media: Ethernet autoselect (none) status: no carrier Starting pflog. Enabling pf. Sep 19 14:00:23 pflogd[348]: [priv]: msg PRIV_OPEN_LOG received pf enabled add net default: gateway 192.168.100.1 Additional routing options: =2E add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 net.inet6.ip6.forwarding:=20 0 ->=20 0 net.inet6.ip6.accept_rtadv:=20 0 ->=20 1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 IPv4 mapped IPv6 address support=3DNO Starting devd. Configuring keyboard: keymap keyrate =2E hw.acpi.cpu.cx_lowest:=20 C1 sysctl:=20 hw.acpi.cpu.cx_lowest :=20 Invalid argument Additional TCP options: =2E Mounting NFS file systems: =2E ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/loca= l/lib/compat/pkg /usr/local/lib/compat/pkg /usr/local/lib/mysql 32-bit compatibility ldconfig path: /usr/lib32 Creating and/or trimming log files: =2E Starting syslogd. Initial amd64 initialization: =2E Additional ABI support: linux =2E Setting date via ntp. --------------ms030404060902070804030209 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII8zCC AtQwggI9oAMCAQICEGtBqcdY74wqEhIukMEgRWYwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UE BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMT I1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MDUxMDE3MDYyM1oX DTA4MDUwOTE3MDYyM1owPzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEcMBoG CSqGSIb3DQEJARYNZ29yYW5Aa2FiaS5zaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAMVmp2jZfcfRh8IPB+rBZH1Vm8oXlKW8yPZilR/Znp7XMDI+xp4RNm5eu7ofVHjtcZqA tmOuXs/GOurzK5PI/Q1x0x85leuoVNVFYCcjsqvLhvV+nsDdYM/4Xb8rboXf3OX0SuHiCpuG Hwc/TO6juhElUAvvIAuI5aTtlgm8z7gDWZRSdJU3ShGbggsIc2PideJfE6zqpQN/TL4RXHpS TCXkJYjtVhE/RJ9YvZIGjn50d73qT4FP90P9XJL4ez9z3oikRLYL9VZQ5mty4KGwYmSGFuKJ 8ztOCF61eADVN/8Q0bUifUpipOJmHvnNuCfZFH2EctsViRxwFpuiV/znhY0CAwEAAaMqMCgw GAYDVR0RBBEwD4ENZ29yYW5Aa2FiaS5zaTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUA A4GBABsxfNIKw7jNTKNfQ7LvTcGNylfboKQ72d8yuCcZ8S4kU6v5zzecxDGZraEadu69p3Y5 Vs81Ueogtc5IG/0NtEjQtGTK5cVpyTbdOs22jqTvlBgtq2GEMXZsPH+wjnEkym03Sh8XWEBl ctUYdzSx2CokfF9AlAj3aD3b9CWas8xLMIIC1DCCAj2gAwIBAgIQa0Gpx1jvjCoSEi6QwSBF ZjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1 bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElz c3VpbmcgQ0EwHhcNMDcwNTEwMTcwNjIzWhcNMDgwNTA5MTcwNjIzWjA/MR8wHQYDVQQDExZU aGF3dGUgRnJlZW1haWwgTWVtYmVyMRwwGgYJKoZIhvcNAQkBFg1nb3JhbkBrYWJpLnNpMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxWanaNl9x9GHwg8H6sFkfVWbyheUpbzI 9mKVH9mentcwMj7GnhE2bl67uh9UeO1xmoC2Y65ez8Y66vMrk8j9DXHTHzmV66hU1UVgJyOy q8uG9X6ewN1gz/hdvytuhd/c5fRK4eIKm4YfBz9M7qO6ESVQC+8gC4jlpO2WCbzPuANZlFJ0 lTdKEZuCCwhzY+J14l8TrOqlA39MvhFcelJMJeQliO1WET9En1i9kgaOfnR3vepPgU/3Q/1c kvh7P3PeiKREtgv1VlDma3LgobBiZIYW4onzO04IXrV4ANU3/xDRtSJ9SmKk4mYe+c24J9kU fYRy2xWJHHAWm6JX/OeFjQIDAQABoyowKDAYBgNVHREEETAPgQ1nb3JhbkBrYWJpLnNpMAwG A1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEFBQADgYEAGzF80grDuM1Mo19Dsu9NwY3KV9ugpDvZ 3zK4JxnxLiRTq/nPN5zEMZmtoRp27r2ndjlWzzVR6iC1zkgb/Q20SNC0ZMrlxWnJNt06zbaO pO+UGC2rYYQxdmw8f7COcSTKbTdKHxdYQGVy1Rh3NLHYKiR8X0CUCPdoPdv0JZqzzEswggM/ MIICqKADAgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMM V2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25z dWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYD VQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNv bmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5 WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRk LjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2 vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9 A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEw EgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0 ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0R BCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZ Ohl+hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVN d+NWIXiC3CEZNd4ksdMdRv9dX2VPMYIDZDCCA2ACAQEwdjBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECEGtBqcdY74wqEhIukMEgRWYwCQYFKw4DAhoF AKCCAcMwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwOTE5 MTMyMjI0WjAjBgkqhkiG9w0BCQQxFgQU0MY1q97QPp7d5ZblY5tU80sH68cwUgYJKoZIhvcN AQkPMUUwQzAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYF Kw4DAgcwDQYIKoZIhvcNAwICASgwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhBrQanHWO+MKhISLpDBIEVmMIGHBgsq hkiG9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0 aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1 aW5nIENBAhBrQanHWO+MKhISLpDBIEVmMA0GCSqGSIb3DQEBAQUABIIBAEvCYYprKSqVIiZx l+EYQz2WCQkXCJ53Hw1WkkZcQJi2zA7PZJenb+87o5AfTimCI6WFJCvncYA4IN+jM2myFNVq gtNftLK25ZQpPdL3P81BIxVlQaUtPbxZjqI8e1M3c3Ed94uxONJg9h00Pu6Jno54HsGXaBHn WLijDkfSbN58EAZOoWKWeMQ1Cu4UmihCeKM3cXNYUv5KmmaSn5cNyK7rEhe7ln+SXidPJ+CL u2UaHQxV5yISVuWdi4xkkvAG24w815LCSpC4qvX7oqephy6i9ilLssCNL9x5Lk9Yuf0r8IXB Xey3AQVt4gUAsl5mPp1ELvD/+vMEQWqGFhJk6wsAAAAAAAA= --------------ms030404060902070804030209-- From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 15:13:33 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA23916A419 for ; Wed, 19 Sep 2007 15:13:33 +0000 (UTC) (envelope-from nate@root.org) Received: from root.org (root.org [67.118.192.226]) by mx1.freebsd.org (Postfix) with ESMTP id 812F313C461 for ; Wed, 19 Sep 2007 15:13:33 +0000 (UTC) (envelope-from nate@root.org) Received: (qmail 57209 invoked from network); 19 Sep 2007 15:13:33 -0000 Received: from ppp-71-139-1-224.dsl.snfc21.pacbell.net (HELO ?10.0.0.15?) (nate-mail@71.139.1.224) by root.org with ESMTPA; 19 Sep 2007 15:13:33 -0000 Message-ID: <46F13AF1.4030309@root.org> Date: Wed, 19 Sep 2007 08:06:25 -0700 From: Nate Lawson User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Roman Pavlik References: <20070917115601.GA1371@belzebub.tns.cz> <46F07B73.8000908@root.org> <20070919064043.GA9875@belzebub.tns.cz> <46F0C529.8020708@root.org> <20070919071055.GA10078@belzebub.tns.cz> In-Reply-To: <20070919071055.GA10078@belzebub.tns.cz> X-Enigmail-Version: 0.95.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: acpi@freebsd.org Subject: Re: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 15:13:33 -0000 Roman Pavlik wrote: > On Tue, Sep 18, 2007 at 11:43:53PM -0700, Nate Lawson wrote: >> Perhaps you can post the output of: >> diff -u GENERIC BELZEBUB > >> This appears not to be an acpi problem > > It seems very strange. I play a lot with 7-current+ACPI+GENERIC. > Sometimes help disconnecting the AC line. It wrote "cpu0: Cx states changed" > and the boot process continue. > > >> but I'm not sure which NetLink hw >> you have, for example. Posting pciconf -lv would help also. > > pciconf -lv attached. Please use reply-all. I think one of the following options prevents the hang: +#options PREEMPTION # Enable kernel thread preemption +#options ADAPTIVE_GIANT # Giant mutex is adaptive. -- Nate From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 16:03:27 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E60316A46B; Wed, 19 Sep 2007 16:03:26 +0000 (UTC) (envelope-from mux@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id C490813C4E8; Wed, 19 Sep 2007 16:03:26 +0000 (UTC) (envelope-from mux@freebsd.org) Received: by elvis.mu.org (Postfix, from userid 1920) id 1253D1A4D8F; Wed, 19 Sep 2007 08:03:49 -0700 (PDT) Date: Wed, 19 Sep 2007 17:03:49 +0200 From: Maxime Henrion To: Jung-uk Kim Message-ID: <20070919150348.GB73569@elvis.mu.org> References: <200709181516.11207.jkim@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200709181516.11207.jkim@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 16:03:27 -0000 Jung-uk Kim wrote: > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the modern > ACPI-CA and -CURRENT: > > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff > > Major changes are: > > 1. Semaphore is reimplemented with convar(9) instead of mutex(9). > > 2. Semaphore with ACPI_WAIT_FOREVER option actually waits forever now. > > 3. Obsolete and/or hidden debugging knobs and macros are removed. > > 4. ACPI-CA introduced AcpiOs*Mutex() to complement AcpiOs*Semaphore(): > > http://bugzilla.kernel.org/show_bug.cgi?id=6634 > > These functions are implemented and turned on by default. > > 5. Spinlock is reimplemented with sx lock and more closely implements > the intended behaviour (e.g., save/restore interrupts). > > It is orthogonal to Nate's effort of rewriting acpi_ec.c but I'd like > get more feedback *with* his last patch (revision D) because his > patch will be committed sooner or later. ;-) > > Please test/review and let us know if there is any regression or not. > > Thanks! Out of curiosity, is there any reason you didn't use the sema(9) API for semaphores and are instead implementing them in terms of mutex/condvar? Cheers, Maxime From owner-freebsd-acpi@FreeBSD.ORG Wed Sep 19 16:29:05 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A28016A468; Wed, 19 Sep 2007 16:29:05 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 2484A13C4A3; Wed, 19 Sep 2007 16:29:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l8JGT46M081137; Wed, 19 Sep 2007 12:29:04 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: Maxime Henrion Date: Wed, 19 Sep 2007 12:28:58 -0400 User-Agent: KMail/1.6.2 References: <200709181516.11207.jkim@FreeBSD.org> <20070919150348.GB73569@elvis.mu.org> In-Reply-To: <20070919150348.GB73569@elvis.mu.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200709191229.00966.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/4341/Wed Sep 19 11:11:47 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2007 16:29:05 -0000 On Wednesday 19 September 2007 11:03 am, Maxime Henrion wrote: > Out of curiosity, is there any reason you didn't use the sema(9) > API for semaphores and are instead implementing them in terms of > mutex/condvar? sema(9) can only increment/decrement value by one while AcpiOs*Semaphore() allows any positive units <= maximum units. Internally ACPI-CA does not use units > 1 but I want it to be more closer to the original intention. In fact, Linux OSD code does not support units > 1. ;-) Jung-uk Kim From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 21 11:03:08 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0833216A41A; Fri, 21 Sep 2007 11:03:08 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from bavaria.utcluj.ro (unknown [IPv6:2001:b30:5000:2:20e:cff:fe4b:ca01]) by mx1.freebsd.org (Postfix) with ESMTP id 71FEF13C447; Fri, 21 Sep 2007 11:03:07 +0000 (UTC) (envelope-from cristi@net.utcluj.ro) Received: from localhost (localhost [127.0.0.1]) by bavaria.utcluj.ro (Postfix) with ESMTP id 2E13150899; Fri, 21 Sep 2007 14:03:06 +0300 (EEST) X-Virus-Scanned: by the daemon playing with your mail on local.mail.utcluj.ro Received: from bavaria.utcluj.ro ([127.0.0.1]) by localhost (bavaria.utcluj.ro [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fiHkHJdF6R8x; Fri, 21 Sep 2007 14:03:01 +0300 (EEST) Received: from [193.226.5.46] (hades.utcluj.ro [193.226.5.46]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by bavaria.utcluj.ro (Postfix) with ESMTP id 4FFAD5089F; Fri, 21 Sep 2007 14:03:01 +0300 (EEST) Message-ID: <46F3A4E4.5030702@net.utcluj.ro> Date: Fri, 21 Sep 2007 14:03:00 +0300 From: Cristian KLEIN User-Agent: Thunderbird 1.5.0.13 (X11/20070824) MIME-Version: 1.0 To: Jung-uk Kim References: <200709181516.11207.jkim@FreeBSD.org> <46F041BC.6070604@net.utcluj.ro> <200709181734.57392.jkim@FreeBSD.org> In-Reply-To: <200709181734.57392.jkim@FreeBSD.org> X-Enigmail-Version: 0.94.2.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2007 11:03:08 -0000 Jung-uk Kim wrote: > On Tuesday 18 September 2007 05:23 pm, Cristian KLEIN wrote: >> Jung-uk Kim wrote: >>> I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the >>> modern ACPI-CA and -CURRENT: >>> >>> http://people.freebsd.org/~jkim/acpica/OsdSynch.diff >>> >>> Major changes are: >>> >>> 1. Semaphore is reimplemented with convar(9) instead of mutex(9). >>> >>> 2. Semaphore with ACPI_WAIT_FOREVER option actually waits forever >>> now. >>> >>> 3. Obsolete and/or hidden debugging knobs and macros are removed. >>> >>> 4. ACPI-CA introduced AcpiOs*Mutex() to complement >>> AcpiOs*Semaphore(): >>> >>> http://bugzilla.kernel.org/show_bug.cgi?id=6634 >>> >>> These functions are implemented and turned on by default. >>> >>> 5. Spinlock is reimplemented with sx lock and more closely >>> implements the intended behaviour (e.g., save/restore >>> interrupts). >>> >>> It is orthogonal to Nate's effort of rewriting acpi_ec.c but I'd >>> like get more feedback *with* his last patch (revision D) because >>> his patch will be committed sooner or later. ;-) >>> >>> Please test/review and let us know if there is any regression or >>> not. >> Sorry for not being able to test the patch. May I assume this will >> fix: >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=114113 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=114649 > > I believe my patch AND Nate's patch will fix the problem. Hi, I tested your patch and it works flawless. However, before applying your patch, the "recursive lock on non-recursive mutex" did not occur either. From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 21 14:01:51 2007 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F18A16A419 for ; Fri, 21 Sep 2007 14:01:51 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (bns.tns.cz [213.194.214.115]) by mx1.freebsd.org (Postfix) with ESMTP id 5E26713C4A5 for ; Fri, 21 Sep 2007 14:01:51 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (localhost [127.0.0.1]) by bns.tns.cz (Postfix) with ESMTP id EB6A455E401 for ; Fri, 21 Sep 2007 15:32:08 +0200 (CEST) Received: from belzebub.tns.cz (belzebub [192.168.144.3]) by bns.tns.cz with ESMTP id 4DTV7S000018WYQPM83; Fri, 21 Sep 2007 15:32:08 +0200 (CEST) Received: by belzebub.tns.cz (Postfix, from userid 1001) id BD74F16ADB7; Fri, 21 Sep 2007 15:34:58 +0200 (CEST) Date: Fri, 21 Sep 2007 15:34:58 +0200 From: Roman Pavlik To: Nate Lawson Message-ID: <20070921133458.GA1291@belzebub.tns.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <46F13AF1.4030309@root.org> User-Agent: Mutt/1.5.12-2006-07-14 Cc: acpi@freebsd.org Subject: Re: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2007 14:01:51 -0000 On Wed, Sep 19, 2007 at 08:06:25AM -0700, Nate Lawson wrote: > Roman Pavlik wrote: > > On Tue, Sep 18, 2007 at 11:43:53PM -0700, Nate Lawson wrote: > >> but I'm not sure which NetLink hw > >> you have, for example. Posting pciconf -lv would help also. pciconf -lv said: vendor = 'Broadcom Corporation' class = network subclass = ethernet cbb0@pci2:4:0: class=0x060700 card=0x30c0103c chip=0x04761180 rev=0xb6 hdr=0x02 > I think one of the following options prevents the hang: > +#options PREEMPTION # Enable kernel thread preemption > +#options ADAPTIVE_GIANT # Giant mutex is adaptive. Both have to be commented out to prevents the hang. Nate, can you please send the ecng-7d.diff file to my private address? I try to obtain it from: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=102480+0+current/freebsd-acpi But it ends with "unexpected end of file" error message. Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sys/dev/acpica/acpi_ec.c |=================================================================== |RCS file: /home/ncvs/src/sys/dev/acpica/acpi_ec.c,v |retrieving revision 1.75 |diff -u -r1.75 acpi_ec.c |--- sys/dev/acpica/acpi_ec.c 15 Jun 2007 18:02:33 -0000 1.75 |+++ sys/dev/acpica/acpi_ec.c 18 Sep 2007 18:17:23 -0000 -------------------------- Patching file sys/dev/acpica/acpi_ec.c using Plan A... Hunk #1 succeeded at 1. Hunk #2 succeeded at 25 with fuzz 1. Hunk #3 succeeded at 62. Hunk #4 succeeded at 139. Hunk #5 succeeded at 150. Hunk #6 succeeded at 165. Hunk #7 succeeded at 185. Hunk #8 succeeded at 206. Hunk #9 succeeded at 264. Hunk #10 succeeded at 457. Hunk #11 succeeded at 499. Hunk #12 succeeded at 534. Hunk #13 succeeded at 592. Hunk #14 succeeded at 648. Hunk #15 succeeded at 717. Hunk #16 succeeded at 760. Hunk #17 succeeded at 880. Hunk #18 succeeded at 900. Hunk #19 succeeded at 916. Hunk #20 succeeded at 926. Hunk #21 succeeded at 945. patch: **** unexpected end of file in patch Thank you, -- Roman Pavlík From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 21 21:24:20 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B13D16A417 for ; Fri, 21 Sep 2007 21:24:20 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id AFF8B13C467 for ; Fri, 21 Sep 2007 21:24:19 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.8p) with ESMTP id 210673077-1834499 for multiple; Fri, 21 Sep 2007 17:22:43 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l8LLOATg064127; Fri, 21 Sep 2007 17:24:12 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-acpi@freebsd.org Date: Fri, 21 Sep 2007 17:15:17 -0400 User-Agent: KMail/1.9.6 References: <200709181516.11207.jkim@FreeBSD.org> In-Reply-To: <200709181516.11207.jkim@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709211715.17940.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 21 Sep 2007 17:24:12 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/4357/Fri Sep 21 05:55:46 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-current@freebsd.org, Jung-uk Kim Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2007 21:24:20 -0000 On Tuesday 18 September 2007 03:16:07 pm Jung-uk Kim wrote: > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the modern > ACPI-CA and -CURRENT: > > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff Why do you use a loop around tsleep() rather than just use sx_xlock() (which will block) for the WAIT_FOREVER case when waiting on a semaphore? Why don't you just use a spin mutex for the spin lock? That is a far better fit than the sx lock stuff you are doing. Manually doing spinlock_enter() (wrongly btw, you should use critical_enter(), not sched_pin() otherwise you can be preempted) just to avoid the assertion failure is just going to result in obscure hangs. Does ACPI-CA want to malloc() while holding an ACPI spin lock or something? -- John Baldwin From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 21 22:27:33 2007 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB95416A418; Fri, 21 Sep 2007 22:27:33 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 8C74413C480; Fri, 21 Sep 2007 22:27:33 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l8LMRWHP060818; Fri, 21 Sep 2007 18:27:32 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: John Baldwin Date: Fri, 21 Sep 2007 18:27:28 -0400 User-Agent: KMail/1.6.2 References: <200709181516.11207.jkim@FreeBSD.org> <200709211715.17940.jhb@freebsd.org> In-Reply-To: <200709211715.17940.jhb@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200709211827.29763.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV version 0.90.2, clamav-milter version 0.90.2 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2007 22:27:33 -0000 On Friday 21 September 2007 05:15 pm, John Baldwin wrote: > On Tuesday 18 September 2007 03:16:07 pm Jung-uk Kim wrote: > > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the > > modern ACPI-CA and -CURRENT: > > > > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff > > Why do you use a loop around tsleep() rather than just use > sx_xlock() (which will block) for the WAIT_FOREVER case when > waiting on a semaphore? You mean for AcpiOsAcquireMutex()? sx_xlock() cannot be waken up by the wait channel. > Why don't you just use a spin mutex for the spin lock? > That is a far better fit than the sx lock stuff you are doing. > Manually doing spinlock_enter() (wrongly btw, you should use > critical_enter(), not sched_pin() otherwise you can be preempted) > just to avoid the assertion failure is just going to result in > obscure hangs. Does ACPI-CA want to malloc() while holding an ACPI > spin lock or something? I thought exactly the same when I started rewriting it (almost half year ago!). I have tried all of the above, spent numerous sleepless nights, and miserably failed. :-( Spin mutex is too restrictive (e.g., it cannot be used with other locks gracefully). critical_enter() causes: panic: blockable sleep lock (sleep mutex) 32 @ /usr/src/sys/vm/uma_core.c:1830 cpuid = 0 KDB: enter: panic [thread pid 21 tid 100013 ] Stopped at kdb_enter+0x32: leave http://docs.freebsd.org/cgi/mid.cgi?200709121927.46465.jkim I guess it wants to malloc() while holding spin lock although I haven't traced it down. I intend to investigate and fix further after RELENG_7 is branched and I really like to hear more ideas from you. Thanks, Jung-uk Kim From owner-freebsd-acpi@FreeBSD.ORG Fri Sep 21 23:16:18 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0492916A418; Fri, 21 Sep 2007 23:16:18 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx1.freebsd.org (Postfix) with ESMTP id BC8D413C44B; Fri, 21 Sep 2007 23:16:17 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP; 21 Sep 2007 15:47:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.20,285,1186383600"; d="scan'208";a="147546736" Received: from orsmsx334.jf.intel.com ([10.22.226.45]) by fmsmga002.fm.intel.com with ESMTP; 21 Sep 2007 15:47:29 -0700 Received: from orsmsx415.amr.corp.intel.com ([10.22.226.49]) by orsmsx334.jf.intel.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 21 Sep 2007 15:47:28 -0700 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Fri, 21 Sep 2007 15:47:21 -0700 Message-ID: In-Reply-To: <200709211827.29763.jkim@FreeBSD.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] OsdSynch.c modernization thread-index: Acf8nqwbRg8q4w5ORsikv2fnT1cQ0wAAonQQ References: <200709181516.11207.jkim@FreeBSD.org><200709211715.17940.jhb@freebsd.org> <200709211827.29763.jkim@FreeBSD.org> From: "Moore, Robert" To: "Jung-uk Kim" , "John Baldwin" X-OriginalArrivalTime: 21 Sep 2007 22:47:28.0406 (UTC) FILETIME=[62FD7360:01C7FCA1] Cc: freebsd-acpi@FreeBSD.org, freebsd-current@FreeBSD.org Subject: RE: [PATCH] OsdSynch.c modernization X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Sep 2007 23:16:18 -0000 I can look around a bit, but I don't think we'd make any system calls while holding a spinlock.=20 Bob >-----Original Message----- >From: owner-freebsd-acpi@freebsd.org [mailto:owner-freebsd- >acpi@freebsd.org] On Behalf Of Jung-uk Kim >Sent: Friday, September 21, 2007 3:27 PM >To: John Baldwin >Cc: freebsd-acpi@FreeBSD.org; freebsd-current@FreeBSD.org >Subject: Re: [PATCH] OsdSynch.c modernization > >On Friday 21 September 2007 05:15 pm, John Baldwin wrote: >> On Tuesday 18 September 2007 03:16:07 pm Jung-uk Kim wrote: >> > I have rewritten sys/dev/acpica/Osd/OsdSynch.c to match the >> > modern ACPI-CA and -CURRENT: >> > >> > http://people.freebsd.org/~jkim/acpica/OsdSynch.diff >> >> Why do you use a loop around tsleep() rather than just use >> sx_xlock() (which will block) for the WAIT_FOREVER case when >> waiting on a semaphore? > >You mean for AcpiOsAcquireMutex()? sx_xlock() cannot be waken up by >the wait channel. > >> Why don't you just use a spin mutex for the spin lock? >> That is a far better fit than the sx lock stuff you are doing. >> Manually doing spinlock_enter() (wrongly btw, you should use >> critical_enter(), not sched_pin() otherwise you can be preempted) >> just to avoid the assertion failure is just going to result in >> obscure hangs. Does ACPI-CA want to malloc() while holding an ACPI >> spin lock or something? > >I thought exactly the same when I started rewriting it (almost half >year ago!). I have tried all of the above, spent numerous sleepless >nights, and miserably failed. :-( > >Spin mutex is too restrictive (e.g., it cannot be used with other >locks gracefully). critical_enter() causes: > >panic: blockable sleep lock (sleep mutex) 32 @ >/usr/src/sys/vm/uma_core.c:1830 cpuid =3D 0 >KDB: enter: panic >[thread pid 21 tid 100013 ] >Stopped at kdb_enter+0x32: leave > >http://docs.freebsd.org/cgi/mid.cgi?200709121927.46465.jkim > >I guess it wants to malloc() while holding spin lock although I >haven't traced it down. > >I intend to investigate and fix further after RELENG_7 is branched and >I really like to hear more ideas from you. > >Thanks, > >Jung-uk Kim >_______________________________________________ >freebsd-acpi@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-acpi >To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org" From owner-freebsd-acpi@FreeBSD.ORG Sat Sep 22 04:28:30 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1CF9E16A418 for ; Sat, 22 Sep 2007 04:28:30 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (bns.tns.cz [213.194.214.115]) by mx1.freebsd.org (Postfix) with ESMTP id E037B13C480 for ; Sat, 22 Sep 2007 04:28:29 +0000 (UTC) (envelope-from rp@tns.cz) Received: from bns.tns.cz (localhost [127.0.0.1]) by bns.tns.cz (Postfix) with ESMTP id A36C455E415 for ; Sat, 22 Sep 2007 06:28:28 +0200 (CEST) Received: from belzebub.tns.cz (belzebub [192.168.144.3]) by bns.tns.cz with ESMTP id 4DU4PUG00018WYQGRR2; Sat, 22 Sep 2007 06:28:28 +0200 (CEST) Received: by belzebub.tns.cz (Postfix, from userid 1001) id 35F2516AB5D; Sat, 22 Sep 2007 06:31:17 +0200 (CEST) Date: Sat, 22 Sep 2007 06:31:17 +0200 From: Roman Pavlik To: Nate Lawson Message-ID: <20070922043117.GA3077@belzebub.tns.cz> References: <20070917115601.GA1371@belzebub.tns.cz> <46F07B73.8000908@root.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <46F07B73.8000908@root.org> User-Agent: Mutt/1.5.12-2006-07-14 Cc: freebsd-acpi@freebsd.org Subject: Re: HP6710: 7-current can't boot with enabled acpi X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Sep 2007 04:28:30 -0000 On Tue, Sep 18, 2007 at 06:29:23PM -0700, Nate Lawson wrote: > Roman Pavlik wrote: > > FreeBSD 7-current, snap 200708 can't boot on Compaq/HP 6710b laptop with > > ACPI enabled. The boot process ends with > > acpi_tz0: _AC4: temperature 65.0 >= setpoint 30.0 > > acpi_tz0: _AC3: temperature 65.0 >= setpoint 40.0 > > acpi_tz0: _AC2: temperature 65.0 >= setpoint 50.0 > > which indefinitely loops. However manual escape to debugger is possible. > > > > Without acpi it works fine. There is no problem with > > FreeBSD 6.x release even with ACPI enabled. The attached files: > > You should try ecng-7d.diff, posted earlier today by me. ecng-7d.diff applied - no change. -- Roman