linux-mips
[Top] [All Lists]

Re: sti() does not work.

To: Steven Liu <stevenliu@psdc.com>
Subject: Re: sti() does not work.
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Wed, 4 Jul 2001 15:29:56 +0200
Cc: linux-mips@oss.sgi.com, "stevenliu@psdc.com" <jeff@moke.com>
In-reply-to: <84CE342693F11946B9F54B18C1AB837B05CE09@ex2k.pcs.psdc.com>; from stevenliu@psdc.com on Tue, Jul 03, 2001 at 03:48:04PM -0700
References: <84CE342693F11946B9F54B18C1AB837B05CE09@ex2k.pcs.psdc.com>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
On Tue, Jul 03, 2001 at 03:48:04PM -0700, Steven Liu wrote:

> I am working on the porting Linux to mips R3000 and  have a problem
> about sti( ) which is called in start_kernel( ).

> Before calling this function, status_register = 0x1000fc00 and
> cause_register=0x00008000. 
> Clearly, this is an interrupt of the CPU timer. 

R3000 doesn't have a CPU timer, so either you're porting to something else
than the R3000 or you don't have a CPU timer.

> When mtc0 instruction above is executed, the system hangs and the
> control does not go to the timer handler.

When the mtc0 gets executed you take the pending interrupt which goes to
the general exception vector at 0x80000180.  That's magic done in hardware.
So it looks like your interrupt handler is buggy.

  Ralf

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