L4Linux stop at "Calibrating delay loop ..."
li94575 at 163.com
Thu Sep 22 16:32:28 CEST 2016
>On Mon Sep 19, 2016 at 22:55:52 +0800, li94575 wrote:
>> I compiled the l4re-snapshot-2014092821 with the default modules.list, and everything seems goes
>> well. However, L4Linux would stop at "Calibrating delay loop ...", because the value of jiffies did not change.
>> Timer thread has not generate soft interrupt? If I entered jdb via ESC at this time, and quit via "g", then
>> l4linux can run again. It makes me confused so much.
>> Any help or suggestion will be very welcome.
>This behavior typically indicates that there's an issue with Fiasco's
>timer interrupt or with the user-level one in L4Linux.
>For a start you could add e.g. a printk(".\n") in timer_thread in
>arch/l4/kernel/timer.c to see if it really does something.
>Does 'hello' work?
>Although it's a bit of work you could also compare the code of your
>snapshot and a recent one if there's any significant change (i.e. fix)
>that might be relevant. Check arch/l4/kernel/timer.c
>and src/kern/arm/timer-arm-generic.cpp and
>src/kern/arm/generic_timer.cpp in the Fiasco kernel.'Hello' can work well, which prints "Hello World!" circularly. I add printk(".\n") in timer_thread inarch/l4/kernel/timer.c, and found timer_thread stop at l4_ipc_reply_and_wait(u, t, &l, to) afterinitializing the variable ‘increment’. However, if I use LOG_printf() for printing, the phenomenon is different, that timer_thread trigers a soft interrupt once. I have checked src/kern/arm/timer-arm-generic.cpp and src/kern/arm/generic_timer.cpp in the Fiasco kernel, there is less likely to be a problem with them.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the l4-hackers