Subject: Re: port-powerpc/35705: interrupt handler ext_intr for edge triggered IRQs, only?
To: None <gfussan@web.de>
From: Allen Briggs <briggs@netbsd.org>
List: netbsd-bugs
Date: 02/19/2007 08:44:35
On Mon, Feb 19, 2007 at 12:25:00PM +0000, gfussan@web.de wrote:
> For the PowerPC-arch the machine-depending main interrupt handler
> ("ext_intr()") doesn't work correctly for level-triggered interrupts,
> as re-enabling interrupting before calling the interrupt-specific
> routine causes a re-jump into the ext_intr() with marking the second
> jump as a "pending" interrupt. So, every interrupt handler is called
> twice per hard-interrupt, always!
> 
> Why was it implemented like that?

This is a guess since I didn't implement it...  It was tested to make
sure that interrupts didn't hang the system, but not tested to make sure
that interrupts only triggered once.

Each PowerPC port supplies its own ext_intr(), except for the 40x ports
which share one.  Which port(s) have you noticed this on?

-allen

-- 
Allen Briggs  |  http://www.ninthwonder.com/~briggs/  |  briggs@ninthwonder.com