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
|