Thread (16 messages) flat view 16 messages, 7 authors, 2007-03-16

Re: Exception in kernel mode

From: Kumar Gala <hidden>
Date: 2007-03-15 19:29:08

On Mar 15, 2007, at 1:55 PM, Charles Krinke wrote:
quoted
mtspr SPRN_SPRG0, r10
mtspr SPRN_SPRG1, r11
quoted
Which is, I believe, moving r10 to SPRG0 and r11 to SPRG1.
quoted
So, how do we know that r10 and r11 are always valid in an interrupt
context? Are we setting aside r10 and r11 somewhere else in
    That doesn't matter to kernel at all -- they are just *saved* in
SPRG regs
to avoid being trashed by the exception handler.

WBR, Sergei

Well, unfortunately, now I am more confused.

The original Oops was at an NIP of 00000900, which I think means it
faulted on the first mtspr from r10. I suppose one could argue that
pipeline issues might make it fault on the second one and appear to be
the first.

But, maybe I am confusing myself here. Would I be correct in assuming
that some further instruction in the ISR at 0x900 is the culprit?

Could there possibly be some user versus supervisor mode thing  
going on?

My key assumption is that the timer_tick (aka Decrementer) has worked
for many hundreds of thousands of interrupts and only when running  
some
particular user application, like tar is there a side effect from  
either
a mode or some register value, race condition, or other.
Can you post the oops that you are seeing, what you need to find out  
is what instruction image that is causing the illegal instruction  
exception.  Once you have that it will be easier to figure out what's  
going on.

- k
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help