Hi, at the moment the 16550A UART driver that comes with Xenomai does not support IRQ sharing between serial ports or with other real-time devices. I first considered adding such support to the driver internally, but I think it's better work on a generic approach for Xenomai.
I have some code hanging around here which implements IRQ sharing at skin level for an experimental in-house development over Xenomai. The code is smart enough to register an IRQ sharing trampoline handler only in case sharing is actually practiced for a specific line. The IRQ API is just extended by a single flag (imagine RTDM_IRQ_SHARED) which is set upon registering an ISR that is capable of IRQ sharing. The semantic is the same as the kernel's SA_SHIRQ. I think it would be possible to break this out and generate a mainline patch. Anyway, the question for me is where to put this best, at skin (RTDM?) or at nucleus level? Both is technically feasible, but which way is desired? (I would vote for the nucleus...) Jan
Description: OpenPGP digital signature