Subject: Re: A confusing oops dump ...

From: "Justin Carlson" <[email-masked]>
Date: Thu, 21 Jun 2001 13:29:31 -0700

On Thu, 21 Jun 2001, you wrote:
> I got the following oops dump during a stress load, which I cannot make any
> sense out of it.  The most confusing part is that the status register
> indicates program was running in kernel (KSU bits) while the $epc points to a
> userland address.  How could this be ever possible at hardware level?

It's very possible at the hardware level...kernel mode enables access to
several segments; it doesn't disable mapped accesses.  I don't think it should
ever happen in linux, but there's nothing in the hardware that prevents this.

> 
> The only possible explanation is perhaps those saved registers were corrupted
> between when the exception happens and core dumps, but so unlikely .... *sigh*
> 
> Any insight?

You've got a TLBL exception, and va doesn't match epc, so
presumably the processor thinks it was a load and  not an ifetch that triggered
this.  It also follows that the processor thinks it found a valid instruction
at 0x10000.  If this is reproducable and the chip allows it, try dumping out
the icache when you hit this, see if 0x10000 really appears in there...

-Justin