Skip site navigation (1)Skip section navigation (2)
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>