linux-mips
[Top] [All Lists]

Re: sti() freezes the kernel

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: sti() freezes the kernel
From: Yoann Allain <yallain@avilinks.com>
Date: Mon, 17 Oct 2005 15:39:24 +0200
Cc: linux-mips@linux-mips.org
In-reply-to: <20051017131047.GF4884@linux-mips.org>
Organization: Avilinks
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <4353656E.8070601@avilinks.com> <20051017131047.GF4884@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

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?

<Prev in Thread] Current Thread [Next in Thread>