On Tue, 2004-10-19 at 16:37, Philippe Gerum wrote:
> 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()
    ^^^^
adeos_unstall_pipeline()

> 
> 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