Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Nov 2000 23:39:20 +0100
From:      Robert Drehmel <robd@gmx.net>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: missing interrupts (was Re: CURRENT is freezing again ...)
Message-ID:  <3A22E298.9BA9B302@gmx.net>
References:  <14869.58648.34403.679348@grasshopper.cs.duke.edu> <Pine.BSF.4.21.0011190449250.502-100000@besplex.bde.org> <14882.50276.726465.490454@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
In <14882.50276.726465.490454@grasshopper.cs.duke.edu>,
Andrew Gallatin wrote:
> Bruce Evans writes:
>  > Possible causes of the problem:
>  > 1) isa_handle_intr() claims to send specific EOIs (0x30 | irq) but
>  >    actually sends non-specific ones (0x20 | garbage).  Since interrupts
>  >    may be handled in non-LIFO order, this results in EOIs being sent
>  >    for the wrong interrupts.  I think this just randomizes the
>  >    brokenness caused by delaying sending of EOIs.  I can't see how it
>  >    would result in an EOI being lost -- the right number of EOIs will
>  >    have been sent after all handlers have returned.
> 
> 
> I think that sending non-specific EOIs is the problem.  Sending
> specific EOIs seem to eliminate my nic timeouts and the need to
> manually feed an eoi to recover from a missing interrupt.
> 
> My question is: how does one send a specific EOI correctly?  I don't
> have decent documentation for this.  Above, you seem to imply that
> 0x30 is a specific EOI.  That does not seem to work for me (machine
> locks at boot).
> 
> Linux uses 0xe0.  According to some Tru64 docs I have,
> that means "Rotate Priority on specific EOI".  According
> to that same documentation, 0x60 is a specific EOI.  Both of these
> appear to work just fine.   What should the alpha port use?

My notes say:

Non-specific EOI             : 0x20
Specific EOI                 : 0x60 | IRQn
EOI + rotate priority        : 0xa0
EOI + select lowest priority : 0xe0 | IRQn

-- 
Robert S. F. Drehmel <robert@gizmo.quizbot.org>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A22E298.9BA9B302>