mips64 smp kexec failed booting at timer interrupt

wilbur.chan wilbur512 at gmail.com
Mon Nov 2 18:33:44 EST 2009

I '  m using kexec on a mips64 smp board.


By now , the second kernel has halt at start_kernel --> calibrate_delay,

and I found that it was because of jiffies was not changing.

So  it might be the failure of installation for timer interrupt , or
timer interrupt did not trigger.

Before jumped into second kernel, local_irq_disable was called at each
CPU , and only one of CPU

was enable to jump into second kernel, while the others loop at
relocate_kernel all the time.

After I got dump_stack log of the firts kernel, I found that, do_timer
was invoked right after

console_init -->release_console_sem , it seemed that , timer interrupt
would be triggered

by release_console_sem .

here is the dump_stack info of do_timer of first kernel:

0:Call Trace:
0:[ <834243cc>]0: dump_stack+0x8/0x34
0:[ <83451ee0>]0: do_timer+0x70/0xa8
0:[ <8342333c>]0: timer_interrupt+0x64/0x160
0:[ <834234b4>]0: ll_timer_interrupt+0x7c/0xd8
0:[ <8341d220>]0: ret_from_irq+0x0/0x4
0:[ <83443a64>]0: release_console_sem+0x1e0/0x328
0:[ <8377cf88>]0: serial8250_console_init+0x1c/0x2c
0:[ <8377ae58>]0: console_init+0x4c/0x6c
0:[ <83762dd8>]0: start_kernel+0x3e0/0x75c

Any one know how to fix it?  or how to enable the timer interrupt  in
second kernel?


More information about the kexec mailing list