From owner-freebsd-mobile@FreeBSD.ORG Sun Jan 11 04:44:28 2004 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE1C416A4CE for ; Sun, 11 Jan 2004 04:44:28 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5C6D943D1F for ; Sun, 11 Jan 2004 04:44:26 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i0BCiJ7E030491 for ; Sun, 11 Jan 2004 04:44:23 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200401111244.i0BCiJ7E030491@gw.catspoiler.org> Date: Sun, 11 Jan 2004 04:44:19 -0800 (PST) From: Don Lewis To: mobile@FreeBSD.org In-Reply-To: <200401110320.i0B3K37E029440@gw.catspoiler.org> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Subject: Re: More power patches X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2004 12:44:28 -0000 With the http://people.freebsd.org/~imp/power.20040107.diff patch: On 10 Jan, Don Lewis wrote: > fwohci0: vendor=104c, dev=8026 > fwohci0: <1394 Open Host Controller Interface> mem 0xc0204000-0xc0207fff,0xc0209000-0xc02097ff irq 11 at device 7.0 on pci2 > fwohci0: Bus reserved 0x800 bytes for rid 0x10 type 3 at 0xc0209000 > fwohci0: OHCI version 0.0 (ROM=0) > fwohci0: invalid OHCI version > fwohci0: FireWire init failed with err=6 > device_probe_and_attach: fwohci0 attach returned 5 > fxp0: port 0x8400-0x843f mem 0xc0208000-0xc0208fff irq 11 at device 8.0 on pci2 > fxp0: Bus reserved 0x1000 bytes for rid 0x10 type 3 at 0xc0208000 > fxp0: Ethernet address 00:06:1b:d4:72:bb > miibus0: on fxp0 > inphy0: on miibus0 > inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > fxp0: could not setup irq > inphy0: detached > miibus0: detached > device_probe_and_attach: fxp0 attach returned 22 I spent some time debugging and tracked the fxp problem to the failure of the following test in ithread_add_handler(): if (!(ih->ih_flags & IH_FAST) && (temp_ih->ih_flags & IH_FAST)) goto fail; Apparently the failure of fwohci0 to attach somehow sets the IH_FLAG on irq 11, which is shared by both fwohci0 and fxp0, and a bunch of other stuff. If I remove firewire from my kernel config, this machine boots normally, and fxp0 is able to get its irq and talk to the net. > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0x0 > fault code = supervisor write, page not present > instruction pointer = 0x8:0xc44b4047 > stack pointer = 0x10:0xd7411cec > frame pointer = 0x10:0xd7411d10 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 22 (irq11: fwohci0+) > kernel: type 12 trap, code=0 > Stopped at 0xc44b4047: addb %al,0(%eax) > db> tr > _end(c4362600,d7411d48,c085d977,315,0) at 0xc44b4047 > fork_exit(c062abc0,c4362600,d7411d48) at fork_exit+0xb4 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xd7411d7c, ebp = 0 --- If fwohci0 did not attach, why are we executing irq11: fwohci0+)?