Hi, adam >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 phenomenonis different, that timer_thread trigers a soft interrupt once. I have checked src/kern/arm/timer-arm-generic.cppand src/kern/arm/generic_timer.cpp in the Fiasco kernel, there is less likely to be a problem with them.