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. > > But with the above mask_ack it is impossible, because then > > it will never be called... > > "it"? mask_ack(). > > 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. Guennadi --------------------------------- Guennadi Liakhovetski, Ph.D. DSA Daten- und Systemtechnik GmbH Pascalstr. 28 D-52076 Aachen Germany
