Date: Sun, 11 Jan 2004 04:44:19 -0800 (PST) From: Don Lewis <truckman@FreeBSD.org> To: mobile@FreeBSD.org Subject: Re: More power patches Message-ID: <200401111244.i0BCiJ7E030491@gw.catspoiler.org> In-Reply-To: <200401110320.i0B3K37E029440@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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: <Intel 82801DB (ICH4) Pro/100 VE Ethernet> 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: <MII bus> on fxp0 > inphy0: <i82562ET 10/100 media interface> 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+)?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401111244.i0BCiJ7E030491>