Hi,
I'm currently using an RTOS with Linux/Adeos on ARM. The original
behaviour of the RTOS interrupt handler is:
- Lock interrupts
- Call high-level interrupt handler
- Unlock interrupts
- Schedule()
Adeos behaviour on sync_stage is:
- Stall domain
- Call interrupt handler
- Unstall Domain
If I want to imitate the original RTOS behaviour, I have to schedule
(RTOS scheduler) at end of interrupt.
I cannot do that in this domain's interrupt handler, since it would
Schedule() with domain stalled, and thus the domain would not receive
the interrupts until it gives control back to Adeos by suspending itself.
So the only way I've found to do that was to had a hook in Adeos which
would be called at sync_stage, just after interrupt handler call.
Thus the modified Adeos behaviour on sync_stage is:
- Stall domain
- Call interrupt handler
- Unstall Domain
- Call EndOfInterrupt Handler.
Now I have exactly the behaviour expected from my RTOS.
My question is, was there already a way to obtain this behaviour in Adeos?
Best regards,
André