Date: Fri, 19 Jan 2001 21:07:10 -0500 From: "Howie Xu" <hxu@rios.sitaranetworks.com> To: "Mike Smith" <msmith@freebsd.org> Cc: <freebsd-hackers@freebsd.org> Subject: RE: ISR not triggered upon the interrupts and OS hangs Message-ID: <KEEELJBACBIAGFBCPJMFIECCCFAA.hxu@rios.sitaranetworks.com> In-Reply-To: <200101200103.f0K13P600858@mass.osd.bsdi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I am developing a device driver for a network processor. Using pci_cfgread(intline), I read intline 12, but after using DDB to debug the situation, I was convinced that the device actually generates inline 5. After registering my ISR with intline 5, everything is perfect now. Btw, the device was initialized, but I just didn't register the ISR on the right intline. Thanks, -Howie > -----Original Message----- > From: Mike Smith [mailto:msmith@freebsd.org] > Sent: Friday, January 19, 2001 8:03 PM > To: Howie Xu > Cc: freebsd-hackers@freebsd.org > Subject: Re: ISR not triggered upon the interrupts and OS hangs > > > > The bug was solved and it was because the BIOS advertises wrong > interrupt > > line. It should be 5, not 12. So I registered ISR for line 12, of course > > never triggered. > > Er, can you be more specific here? Where is the interrupt line > "advertised"? Is the BIOS incorrectly populating the intline register? > Are you certain that the BIOS is doing this? (It would completely violate > the PCI specification and cause the system to fail under almost every OS > in existence.) > > > On the other hand, if no one registers for an interrupt line, > how come the > > OS just hangs, is this a feature or bug? I know that Linux would disable > > that interrupt line if no driver ever registers a certain intr > line when the > > first interrupt comes in. > > FreeBSD doesn't do this, so you get an interrupt storm (PCI interrupts > are a persistent condition). It's a violation of the PCI specification > for a device to interrupt until it's initialised, so it should be > unncessary. Arguably, we could do this. > > > -- > ... every activity meets with opposition, everyone who acts has his > rivals and unfortunately opponents also. But not because people want > to be opponents, rather because the tasks and relationships force > people to take different points of view. [Dr. Fritz Todt] > V I C T O R Y N O T V E N G E A N C E > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?KEEELJBACBIAGFBCPJMFIECCCFAA.hxu>