On 09/02/06, Jan Kiszka <[EMAIL PROTECTED]> wrote:
That's it.
I was about to make a comment on Philipe's list of possible return values, but you outrun me.
HANDLED is 0 so we can not distinguish between HANDLED | CHAINED and CHAINED cases. NOINT denotes explicitly the handler's answer "this IRQ is rised not by my hw!" and it's needed (at least) for implementing the edge-triggered irq sharing.
It's not necessary in case HANDLED becomes non-zero and, actually, HANDLED is not necessary with NOINT.
As I may see, Philipe's list can be mapped as follows :
HANDLED -> 0
HANDLED | ENABLE -> ENABLE
HANDLED | CHAINED -> CHAINED
CHAINED -> CHAINED | NOINT
and
NOINT as a separete use case (?). Could be useful at least for the edge-triggered stuff.
Philippe Gerum wrote:
> Anders Blomdell wrote:
>
>> My distinct feeling is that the return value should be a scalar and
>> not a set!
>>
>
> To sum up, the valid return values are HANDLED, HANDLED | ENABLE (*),
> HANDLED | CHAINED and CHAINED. It's currently a set because I once
> thought that the "handled" indication (or lack of) could be a valuable
> information to gather at nucleus level to detect unhandled RT
> interrupts. Fact is that we currently don't use this information,
But it is required for the edge-triggered case to detect when the IRQ
line was at least shortly released. I guess Dmitry introduced that NOINT
just because HANDLED equals 0 so far. As I would say HANDLED == !NOINT,
we could avoid this new flag by just making HANDLED non-zero.
That's it.
I was about to make a comment on Philipe's list of possible return values, but you outrun me.
HANDLED is 0 so we can not distinguish between HANDLED | CHAINED and CHAINED cases. NOINT denotes explicitly the handler's answer "this IRQ is rised not by my hw!" and it's needed (at least) for implementing the edge-triggered irq sharing.
It's not necessary in case HANDLED becomes non-zero and, actually, HANDLED is not necessary with NOINT.
As I may see, Philipe's list can be mapped as follows :
HANDLED -> 0
HANDLED | ENABLE -> ENABLE
HANDLED | CHAINED -> CHAINED
CHAINED -> CHAINED | NOINT
and
NOINT as a separete use case (?). Could be useful at least for the edge-triggered stuff.
--
Best regards,
Dmitry Adamushko
_______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core