* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox