I don't know. We should ask to piso. As far as I understand, INTR_FILTER code is an attempt to improve MD/MI separation and it is intented to provide same function as non-INTR_FILTER case. And INTR_FILTER doesn't seem well-tested at least for handling of stray interrupts for filter only IRQs. I need the following patch to workaroung the problem. http://people.freebsd.org/~simokawa/tmp/kern_intr.c-20070617.patch On 6/17/07, M. Warner Losh <imp_at_bsdimp.com> wrote: > Is there some reason we don't compile INTR_FILTER by default? > > Warner > > > In message: <626eb4530706160525o54234621s2de098e64cdeb4fe_at_mail.gmail.com> > "Hidetoshi Shimokawa" <simokawa_at_freebsd.org> writes: > : I think the following patch fix the problem. > : > : RCS file: /home/ncvs/src/sys/dev/pccard/pccard.c,v > : retrieving revision 1.118 > : diff -u -r1.118 pccard.c > : --- pccard.c 31 May 2007 19:29:20 -0000 1.118 > : +++ pccard.c 16 Jun 2007 12:23:35 -0000 > : _at__at_ -1238,7 +1238,7 @@ > : if (pf->intr_filter != NULL || pf->intr_handler != NULL) > : panic("Only one interrupt handler per function allowed"); > : err = bus_generic_setup_intr(dev, child, irq, flags, pccard_filter, > : - pccard_intr, pf, cookiep); > : + intr ? pccard_intr : NULL, pf, cookiep); > : if (err != 0) > : return (err); > : pf->intr_filter = filt; > : > : > : On 6/16/07, ÎâÊåÀ¤ <wsk_at_gddsn.org.cn> wrote: > : > hi, lists > : > i always get Fatal trap while insert a pccard with recent 7.0 current. > : > It seems that Can't recognize the pccard address? > : > thanks with any reply. > : > > : > pccard0:Allocation failed for cfe 13 > : > pccard0:Allocation failed for cfe 21 > : > uart0: <Bora Telecom Inc Bora 3600 Rev 1.1> at port 0x3e8-0x3ef irq 11 > : > function 0 config 29 on pccard0 > : > uart0:[FILTER] > : > > : > Fatal trap 12: page fault while in kernel mode > : > cpuid = 0; apic id = 00 > : > fault virtual address = 0x0 > : > fault code = supervisor read, page not present > : > instruction pointer = 0x20:0x0 > : > stack pointer = 0x28:0xe2996cb0 > : > frame pointer = 0x28:0xe2996cb8 > : > code segment = base 0x0, limit 0xfffff, type 0x1b > : > = DPL 0, pres 1, def32 1, gran 1 > : > processor eflags = interrupt enable, resume, IOPL = 0 > : > current process = 21 (irq11: cbb0 cbb1+*) > : > [thread pid 21 tid 100013 ] > : > Stopped at 0: *** error reading from address 0 *** > : > db>bt > : > Tracing pid 21 tid 100013 td 0xc3f05c00 > : > pccard_intr(c4285e00) at pccard_intr+0x12 > : > cbb_func_intr(c4103140,0,c0a493ae,40b,c3f00064,...) at cbb_func_intr|0x51 > : > ithread_loop(c404fab0,e2996d38,83fb5be8,ff06fc46,c3f4b804,...) at > : > ithread_loop+0 > : > x1b5 > : > fork_exit(c074ccd0,c404fab0,e2996d38) at fork_exit+0x57 > : > fork_trampoline() at fork_trampoline+0x8 > : > --- trap 0, eip = 0, esp = 0xe2996d70, ebp = 0 --- > : > > : > _______________________________________________ > : > freebsd-current_at_freebsd.org mailing list > : > http://lists.freebsd.org/mailman/listinfo/freebsd-current > : > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" > : > > : > : > : -- > : /\ Hidetoshi Shimokawa > : \/ simokawa_at_FreeBSD.ORG > -- /\ Hidetoshi Shimokawa \/ simokawa_at_FreeBSD.ORGReceived on Sat Jun 16 2007 - 23:58:13 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:12 UTC