All of lore.kernel.org
 help / color / mirror / Atom feed
* sti() freezes the kernel
@ 2005-10-17  8:48 Yoann Allain
  2005-10-17 13:10 ` Ralf Baechle
  0 siblings, 1 reply; 4+ messages in thread
From: Yoann Allain @ 2005-10-17  8:48 UTC (permalink / raw)
  To: linux-mips

Hi all,

I'm actually trying to start a 2.4 kernel on our new card.
The kernel freezes when enabling interrupts with sti() in start_kernel() 
(just before calculating BogoMips...).
This looks like an interrupts is up when enabling so that it stops the 
MIPS and freezes the kernel.
I'm looking after this interrupt but I would like to know if there could 
be any others reasons for my kernel to freeze when doing a call to sti();

Many thanks in advance for your suggestions...

@+ Yoann

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

* Re: sti() freezes the kernel
  2005-10-17  8:48 sti() freezes the kernel Yoann Allain
@ 2005-10-17 13:10 ` Ralf Baechle
  2005-10-17 13:39   ` Yoann Allain
  0 siblings, 1 reply; 4+ messages in thread
From: Ralf Baechle @ 2005-10-17 13:10 UTC (permalink / raw)
  To: Yoann Allain; +Cc: linux-mips

On Mon, Oct 17, 2005 at 10:48:46AM +0200, Yoann Allain wrote:

> I'm actually trying to start a 2.4 kernel on our new card.
> The kernel freezes when enabling interrupts with sti() in start_kernel() 
> (just before calculating BogoMips...).
> This looks like an interrupts is up when enabling so that it stops the 
> MIPS and freezes the kernel.
> I'm looking after this interrupt but I would like to know if there could 
> be any others reasons for my kernel to freeze when doing a call to sti();

This is a fairly scenario and as you suspect it's being caused by interrupt
problems, such as interrupts still pending from the firmware, being
not initialized at all or similar.

  Ralf

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

* Re: sti() freezes the kernel
  2005-10-17 13:10 ` Ralf Baechle
@ 2005-10-17 13:39   ` Yoann Allain
  2005-10-17 15:14     ` Ralf Baechle
  0 siblings, 1 reply; 4+ messages in thread
From: Yoann Allain @ 2005-10-17 13:39 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: linux-mips


Ralf Baechle a écrit :

>On Mon, Oct 17, 2005 at 10:48:46AM +0200, Yoann Allain wrote:
>
>  
>
>>I'm actually trying to start a 2.4 kernel on our new card.
>>The kernel freezes when enabling interrupts with sti() in start_kernel() 
>>(just before calculating BogoMips...).
>>This looks like an interrupts is up when enabling so that it stops the 
>>MIPS and freezes the kernel.
>>I'm looking after this interrupt but I would like to know if there could 
>>be any others reasons for my kernel to freeze when doing a call to sti();
>>    
>>
>
>This is a fairly scenario and as you suspect it's being caused by interrupt
>problems, such as interrupts still pending from the firmware, being
>not initialized at all or similar.
>
>  Ralf
>  
>
Since last mail I played with the interrupt masks (IM - bits 15-8 in 
MIPS status register) . From the MIPS cause register, it seems that the 
bit 15 (hardware interrupt 5 or timer interrupt) is the originator of 
the freezing interrupt. And the exception code shown for this interrupt 
is 6 corresponding to a Bus error exception. I think there's a pointer 
to the interrupt handler not correctly initialized. So that the 
interrupt makes a jump to nowhere.
The Bus monitors are not enabled, this is perhaps why the kernel freezes 
instead of printing the details of the exception.

Am I right?

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

* Re: sti() freezes the kernel
  2005-10-17 13:39   ` Yoann Allain
@ 2005-10-17 15:14     ` Ralf Baechle
  0 siblings, 0 replies; 4+ messages in thread
From: Ralf Baechle @ 2005-10-17 15:14 UTC (permalink / raw)
  To: Yoann Allain; +Cc: linux-mips

On Mon, Oct 17, 2005 at 03:39:24PM +0200, Yoann Allain wrote:

> Since last mail I played with the interrupt masks (IM - bits 15-8 in 
> MIPS status register) . From the MIPS cause register, it seems that the 
> bit 15 (hardware interrupt 5 or timer interrupt) is the originator of 
> the freezing interrupt. And the exception code shown for this interrupt 
> is 6 corresponding to a Bus error exception. I think there's a pointer 
> to the interrupt handler not correctly initialized. So that the 
> interrupt makes a jump to nowhere.

In which case you should get a nice register dump with $ra pointing to
offending jalr instruction + 8 bytes.  Of course that requieres you
to get printk working even earlier but with a serial console that's
trivial.

  Ralf

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

end of thread, other threads:[~2005-10-17 15:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-17  8:48 sti() freezes the kernel Yoann Allain
2005-10-17 13:10 ` Ralf Baechle
2005-10-17 13:39   ` Yoann Allain
2005-10-17 15:14     ` Ralf Baechle

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.