Dmitry Adamushko wrote:
I have explicitly cc'ed Gilles as this patch affects the posix skin.
In the light of the recent discussions, the AUTOENA flag has been
converted to NOAUTOENA and the IRQ line is re-enabled on return from
xnintr_irq_handler() and shirq brothers by default.
Also XN_ISR_CHAINED -> XN_ISR_PROPAGATE.
I'm still not sutisfied with results, namely - return values of ISR.
But, well, this is a quite separate question to the shirq support so the
later one should not remain in pending status only because of that.
I still would like to see something along scalar values : NONE, HANDLED,
PROPAGATE and xnintr_disable() being called in ISR to defer IRQ line
enabling (not .ending -> PROPAGATE does it).
Currently, there is a XN_ISR_NOENABLE bit which asks the real-time layer
to defer the IRQ line, Warning!, .ending (and not just enabling) until
later. In common case, xnarch_end_irq() must be called by the rt_task
that stands for a bottom half (and not just xnintr_enable() - this may
not work on ppc).
This adds a bit of confusion and we will avoid it with (*) scheme. So
this is a subject to change in the future.
As I pointed out in another message, the implementation for PPC is not
yet clear at the moment. That's it...
Ok, are there any objections as to the current patch? If no, please apply.
CHANGELOG.patch is here
Xenomai-core mailing list