All of lore.kernel.org
 help / color / mirror / Atom feed
* Problem in booting when calling calibrate_delay
@ 2009-10-28 23:51 wilbur.chan
  2009-11-01  7:14 ` Ralf Baechle
  0 siblings, 1 reply; 4+ messages in thread
From: wilbur.chan @ 2009-10-28 23:51 UTC (permalink / raw)
  To: Linux MIPS Mailing List

I was going to boot mips64  xlr408, which has 8 cores.

Howerver, the code seemd to stop before calling 'start_kernel--->

calibrate_delay ' .

So Iadded some 'printk' in  calibrate_delay,  to check out why it failed.


 However,  if I added a 'printk' in any 'if  branches'  in

'calibrate_delay '  function  , the kernel would halt  before calling


'j  start_kernel'  in head.S. (in this situation ,printk seemed

unavailable, so  I  wrote directlly to serial address  to trace the

kernel).


Can anyone tell me why this happed?

Thank you

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem in booting when calling calibrate_delay
  2009-10-28 23:51 Problem in booting when calling calibrate_delay wilbur.chan
@ 2009-11-01  7:14 ` Ralf Baechle
  2009-11-01 15:18   ` wilbur.chan
  2009-11-02 15:12   ` wilbur.chan
  0 siblings, 2 replies; 4+ messages in thread
From: Ralf Baechle @ 2009-11-01  7:14 UTC (permalink / raw)
  To: wilbur.chan; +Cc: Linux MIPS Mailing List

On Thu, Oct 29, 2009 at 07:51:52AM +0800, wilbur.chan wrote:

> I was going to boot mips64  xlr408, which has 8 cores.

The XLR is not supported by the linux-mips.org rsp. kernel.org kernel
trees.

> Howerver, the code seemd to stop before calling 'start_kernel--->
> 
> calibrate_delay ' .
> 
> So Iadded some 'printk' in  calibrate_delay,  to check out why it failed.
>  However,  if I added a 'printk' in any 'if  branches'  in
> 
> 'calibrate_delay '  function  , the kernel would halt  before calling
> 
> 
> 'j  start_kernel'  in head.S. (in this situation ,printk seemed
> 
> unavailable, so  I  wrote directlly to serial address  to trace the
> 
> kernel).
> 
> 
> Can anyone tell me why this happed?

When something like this happens it is in most cases caused by timer
interrupt not working.

  Ralf

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem in booting when calling calibrate_delay
  2009-11-01  7:14 ` Ralf Baechle
@ 2009-11-01 15:18   ` wilbur.chan
  2009-11-02 15:12   ` wilbur.chan
  1 sibling, 0 replies; 4+ messages in thread
From: wilbur.chan @ 2009-11-01 15:18 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Linux MIPS Mailing List

2009/11/1 Ralf Baechle <ralf@linux-mips.org>:
> On Thu, Oct 29, 2009 at 07:51:52AM +0800, wilbur.chan wrote:
>
>> Howerver, the code seemd to stop before calling 'start_kernel--->
>>
>> calibrate_delay ' .
>>
> When something like this happens it is in most cases caused by timer
> interrupt not working.
>
>  Ralf
>

Hi, ralf ,  I found that, jiffies remain the same when booting , so
calibrate_delay loop all the time , at while(ticks==jiffies);

I guess it was the problem of timer interrupt as you said.


Someone told me that , it might be the problem of console_init ,but I
still don't know where exactly

the problem is .

Can you tell more about how to fix this ?


Thx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Problem in booting when calling calibrate_delay
  2009-11-01  7:14 ` Ralf Baechle
  2009-11-01 15:18   ` wilbur.chan
@ 2009-11-02 15:12   ` wilbur.chan
  1 sibling, 0 replies; 4+ messages in thread
From: wilbur.chan @ 2009-11-02 15:12 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Linux MIPS Mailing List

2009/11/1 Ralf Baechle <ralf@linux-mips.org>:
> On Thu, Oct 29, 2009 at 07:51:52AM +0800, wilbur.chan wrote:

> When something like this happens it is in most cases caused by timer
> interrupt not working.
>
>  Ralf
>

Today , I found that ,  the code never enter the do_timer function.

As a matter of fact, I'm testing kexec on mips64 smp.   In the end of
the first kernel , I' ve  used local_irq_disable

and jumped directly into second kernel. However it hang at calibrate_delay.

In a normal booting on mips64, I found that , do_timer was invoked
after console_init.

Here is my dump_stack of do_timer, in a successfully booting log:

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


So, I thought that , it might be release_console_sem being failed in
my second kernel of kexec when booting, but I don't know why

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-02 15:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-28 23:51 Problem in booting when calling calibrate_delay wilbur.chan
2009-11-01  7:14 ` Ralf Baechle
2009-11-01 15:18   ` wilbur.chan
2009-11-02 15:12   ` wilbur.chan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.