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

RE: Exception in kernel mode

From: Charles Krinke <hidden>
Date: 2007-03-15 18:55:27

mtspr SPRN_SPRG0, r10=20
mtspr SPRN_SPRG1, r11
Which is, I believe, moving r10 to SPRG0 and r11 to SPRG1.
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=20
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.

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