-
This patch starts a series aiming at dropping the (functionally redundant) APC interface entirely. APCs are a relic from the Dark Ages, with no upside compared to open coded requests triggering virtual/synthetic IRQs to be handled by the root domain. As a matter of fact, an APC does run as a client handler of a synthetic IRQ under the hood. With this change, all APCs will not be multiplexed over a single synthetic IRQ anymore but each deferred procedure is going to be assigned its own synthetic IRQ channel, which is hardly a problem since we only have a couple of APCs to deal with, much fewer than the number of synthetic IRQs available to us. As a result, /proc/xenomai/apc will not be available for inspecting the trigger count of synthetic interrupts used by the core anymore. Since the I-pipe is on its way out, having this obscure feature dropped in this context seems acceptable. However, the related information will still be available to Dovetail-based builds directly from /proc/interrupts, as synthetic IRQs are (mostly) regular interrupts there. Start with using a virtual/synthetic IRQ for kicking the wakeup procedure for message pipes, dropping the dependency on APCs. Signed-off-by: Philippe Gerum <rpm@xenomai.org> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
c8f865c5