On Tue, 15 Feb 2005, Michael Neuhauser wrote:

> On Tue, 2005-02-15 at 12:46, [EMAIL PROTECTED] wrote:
> > This is handled like SA11x0 / PXA2xx multiplexed interrupts: you install a
> > handler, say, for CPU interrupt 2. In your IC's ISR you calculate a new
> > (virtual) IRQ number, say, one of 32, 33, 34,..., and call do_IRQ(new_irq)
> > recursively.
>
> I thunk ith Adeos the do_IRQ(new_irq) would be replaced by
>       adeos_schedule_irq(new_irq)

Exactly this we wanted to avoid. We knew that all interrupts behind this
IC belonged to Linux, so RTAI / Adeos didn't even have to know about
them:-) Never mind, our solution tried to be more optimal, but was less
generic.

> > Normally unmask is called in do_IRQ() after the handler.
>
> This is unchanged with Adeos, i.e. unmask() is still called in do_IRQ()
> after the handler. I was talking about non Linux interrupts where you
> have to do it yourself.

by "do_IRQ" I mean either Linux *do_IRQ, or "old" RTAI dispatch_irq, or
the trampoline-handler... IMHO, you shouldn't have to do it yourself. I am
used to the "standard"

mask_ack();
handler();
unmask();

sequence. Is anything wrong with it?

Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany

Reply via email to