Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Aug 1999 16:47:35 -0400
From:      "David E. Cross" <crossd@cs.rpi.edu>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        "David E. Cross" <crossd@cs.rpi.edu>, freebsd-current@freebsd.org, new-bus@freebsd.org, crossd@cs.rpi.edu
Subject:   Re: PCI interrupt routing in -Current/newbus 
Message-ID:  <199908232047.QAA60761@cs.rpi.edu>
In-Reply-To: Message from Doug Rabson <dfr@nlsystems.com>  of "Mon, 23 Aug 1999 21:45:24 BST." <Pine.BSF.4.10.9908232144240.72739-100000@salmon.nlsystems.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > How are PCI interrupts routed in CURRENT/NewBus?  For example almost all of
> > my PCI devices are mapped to IRQ11.  I understand this is "normal" in the PCI 
> > world, but how does the interrupt dispatch routine decide which ints to
> > route where?  I recently put a panic() in a intr routine of mine just to
> > see the call stack, but all it showed has Xintr11 (which upon grepping the
> > source found no matches, but a nm /kernel did find it?!?.  
> 
> The bios informs the kernel what irq each device is mapped to and we build
> a chain of interrupt handlers for each one. All the handlers registered
> for a given irq are called when it fires.

That is what I initially thought, but my PCI handler is only called when that
PCI device gets and interrupt.  I would expect with IRQ 11 being so frequently
used in my system that my handler would be called much more often than that.
It is also called with the appropriate softc structure (this being a dual 
function controller).  If it was firing all the handlers I would expect
function 0 to trigger first, it does not trigger at all when function 1 signals
the int.

--
David Cross                               | email: crossd@cs.rpi.edu 
Systems Administrator/Research Programmer | Web: http://www.cs.rpi.edu/~crossd 
Rensselaer Polytechnic Institute,         | Ph: 518.276.2860            
Department of Computer Science            | Fax: 518.276.4033
I speak only for myself.                  | WinNT:Linux::Linux:FreeBSD


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908232047.QAA60761>