Subject: Re: [netbsd-4] port-powerpc/35705: interrupt handler ext_intr for
To: None <netbsd-bugs@netbsd.org>
From: addopt <gfussan@web.de>
List: netbsd-bugs
Date: 02/19/2007 06:12:26
Hello Allen!
Its the ibm4xx implementation!
Actually, I use a PPC405 on an evaluation board (evbppc).
Additionally, "do_pending_int" could call the hw routine a third time - when
enabling before unsetting!
All (external) UIC interrupts are set level triggered, here.
- Gernot -
Allen Briggs wrote:
>
> 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
>
>
--
View this message in context: http://www.nabble.com/port-powerpc-35705%3A-interrupt-handler-ext_intr-for-edge-triggered-IRQs%2C-only--tf3252554.html#a9042808
Sent from the netbsd-bugs mailing list archive at Nabble.com.