On 05/05/2011 02:20 PM, Alexey Galakhov wrote: > Hi, > > I'm still trying to debug ipipe on the mini2440 board (linux 2.6.35.9 + > ipipe 1.18.01 + Gilles' ARM patches). Now I encounter the following > problem. If any Xenomai skin module is loaded the system hangs. In fact, > it goes into sleep with interrupts off. > > The sleep was in pm_idle() and it is done correctly. The problem lies > somewhere else. I tried to use busy-loop instead of sleep, like that: > > - if (hlt_counter) { > + if (1 || hlt_counter) { > > in cpu_idle() (arch/arm/kernel/process.c). Now I found that the loop > "while (!need_resched())" never exits, need_resched() is always > returning false and there are no interrupts. Looks like the timer > interrupt either stops ticking or is masked out since xenomai skin is > loaded. > > Can you please help to debug it?
You should make sure that pm_idle == default_idle. In this case, __ipipe_halt_root is called instead of arch_idle, and everything should work. > > -- > Alex > > _______________________________________________ > Adeos-main mailing list > Adeos-main@gna.org > https://mail.gna.org/listinfo/adeos-main > -- Gilles. _______________________________________________ Adeos-main mailing list Adeos-main@gna.org https://mail.gna.org/listinfo/adeos-main