Re: More power patches

Don Lewis <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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+)?

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.