On Tue, 2005-02-15 at 12:46, [EMAIL PROTECTED] wrote:
> On Tue, 15 Feb 2005, Michael Neuhauser wrote:
>
> > On Tue, 2005-02-15 at 12:35, [EMAIL PROTECTED] wrote:
> > >
> > > We have hardware, with an additional IC, behind which only Linux (no
> > > real-time) interrupt sources are located. So, logically, you don't need to
> > > register this IC's interrupt to the CPU as a rt-interrupt. Then you can
> > > directly call (asm_)do_IRQ(new_irq) from it, bypassing all rt (adeos) to
> > > reduce latency.
> >
> > I'm a little confused about what you want to achieve here.
>
> 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)
> [...]
> > > Also, I am somewhat suspicious about not calling unmask in rt. It looks
> > > wrong to have to touch IC in ISR...
> >
> > But if you don't unmask the interrupt it will never happen again ...
>
> 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.
Mike
--
Dr. Michael Neuhauser phone: +43 1 789 08 49 - 30
Firmix Software GmbH fax: +43 1 789 08 49 - 55
Vienna/Austria/Europe email: [EMAIL PROTECTED]
Embedded Linux Development and Services http://www.firmix.at/