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.
