Date: Thu, 29 Jul 1999 10:53:10 +0300 From: "Andy V. Oleynik" <andyo@prime.net.ua> To: Clark Jarvis <clark@pharlap.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: too many stray irq 7's; not logging any more. Solved Message-ID: <37A00865.5F2DA0F2@prime.net.ua> References: <19990728222426822.AAA228@sugar.pharlap.com@clark>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks a lot. Fixed. But it looks starange for irq7 'cos of my card is on irq10 so following U it must be stray irq15? Clark Jarvis wrote: > In <379F686D.BEA781F2@prime.net.ua>, on 07/28/99 > at 11:30 PM, . (Andy V. Oleynik) <andyo@prime.net.ua> said: > > >Yet another half of day and question is "yes, local port is dead as well > >as remote".But I'm still interesting about stray irq 7 and > >interrupt-level overflow. Though the latter is selfexplainig and one look > >in the source confirms guess, first is not obviouse. Anyway link is up > >now, errors in config file (0x0a01 flags to 0x0981) fixed. Thanks to all, > >war is finished, all can go > >back to home :) > >" . (Andy V. Oleynik)" wrote: > > >> Jul 26 18:59:17 host1 /kernel: stray irq 7 > >> ----------------------------------------------- > >> Jul 26 18:59:17 host1 last message repeated 4 times > >> Jul 26 18:59:17 host1 /kernel: too many stray irq 7's; not logging any > >> more > > I have to make some assumptions here, because I've never seen this with > FreeBSD, just with our embedded OS, and apologies to you if you already > know this. > > Stray IRQ7s (and 15s) happen when the 8259 Interrupt controller and CPU > get slightly out of phase with each other. I.e., somebody (probably your > serial port card) signalled an interrupt to the 8259, which in turn > signalled the CPU. By the time the CPU responds to the request from the > 8259, whatever signal that occurred to cause the 8259 to ask for an > interrupt is either gone or changed, so the 8259 doesn't know what to tell > the CPU to do. However, the CPU _has_ to have something to do, we're in > an unresolvable state until the CPU gets an interrupt to process. There is > no signal from the 8259 to the CPU to tell the CPU "Nevermind, I was just > kidding, I don't really want an interrupt to happen". > > So, the 8259 has to give the CPU something, so it gives a "fake" IRQ7. > Fake, because if you read the Interrupts Pending register of the 8259, > IRQ7 isn't signalled, but the handler for IRQ7 gets invoked. The handler > checks the pending bit, sees that it isn't set, and notices the "spurious" > IRQ7. > > Given that it is probably your serial port card that is the "problem", if > you changed the card's IRQ to a "high" IRQ (between 9-15), you would > probably be getting spurious IRQ15s instead. > > I don't know enough about FreeBSDs interrupt handling to know if you can > either ignore or disable the warning. > > Some of this is PC-architecture specific - it's probably possible to wire > up the 8259 interrupt controllers and CPU so that spurious IRQs aren't > necesary. [insert copious criticisms of IBM/Intel PC architecture design > decisions here.] > > -- > Clark > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message -- WBW Andy V. Oleynik (When U work in virtual office prime.net.ua's U have good chance to obtain system administrator virtual money ö%-) +380442448363 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37A00865.5F2DA0F2>