On Tue, 2004-10-19 at 15:10, André Tousch wrote:
> Hi,
> 
> I'm currently using Adeos 2.4/armnommu to run an RTOS with Linux. 
> It works well but I have a problem with events.
> I use __adeos_handle_event(ADEOS_USER_EVENT, &event) to send information
> from Linux to the RTOS.
> Reciprocally, I use adeos_propagate_irq(IRQ_A) to send information from
> the RTOS to Linux.
> Now I have the following scenario: Linux sends an event to the RTOS,
> which replies from the event handler by propagating an IRQ. 
> 
> 1) Linux does __adeos_handle_event(ADEOS_USER_EVENT). Domain switches to
> RTOS
> 2) RTOS handles the event. It adeos_propagate_irq()'s to Linux.
> 3) RTOS does adeos_suspend_domain(). Domain switches back to Linux.
> 4) Linux runs from just after the context switch in
> __adeos_handle_event(). No __adeos_sync_stage() is made, and the IRQ_A
> handler is not called before next hardware IRQ.
> 
> Why is there no call to __adeos_sync_stage() in __adeos_handle_event()? 

It's on purpose. Flushing the IRQ log inside the event handling loop has
a dreadful side-effect on 2.6.
2.4 code has converged to the 2.6 implementation here. This said,
running:

__adeos_handle_event()
adeos_unstall_stage()

should work as expected. 

> Or do I miss something?
> Thanks for you support
> 
> Regards,
> André Tousch
> 
> 
> _______________________________________________
> Adeos-main mailing list
> [email protected]
> https://mail.gna.org/listinfo/adeos-main
-- 

Philippe.


Reply via email to