diff options
Diffstat (limited to 'arch/sparc64/kernel/rtrap.S')
-rw-r--r-- | arch/sparc64/kernel/rtrap.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/rtrap.S b/arch/sparc64/kernel/rtrap.S index b80eba0081ca..213eb4a9d8a4 100644 --- a/arch/sparc64/kernel/rtrap.S +++ b/arch/sparc64/kernel/rtrap.S | |||
@@ -223,10 +223,14 @@ rt_continue: ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1 | |||
223 | ldx [%sp + PTREGS_OFF + PT_V9_G3], %g3 | 223 | ldx [%sp + PTREGS_OFF + PT_V9_G3], %g3 |
224 | ldx [%sp + PTREGS_OFF + PT_V9_G4], %g4 | 224 | ldx [%sp + PTREGS_OFF + PT_V9_G4], %g4 |
225 | ldx [%sp + PTREGS_OFF + PT_V9_G5], %g5 | 225 | ldx [%sp + PTREGS_OFF + PT_V9_G5], %g5 |
226 | #ifdef CONFIG_SMP | ||
227 | #error IMMU TSB usage must be fixed | ||
226 | mov TSB_REG, %g6 | 228 | mov TSB_REG, %g6 |
227 | brnz,a,pn %l3, 1f | 229 | brnz,a,pn %l3, 1f |
228 | ldxa [%g6] ASI_IMMU, %g5 | 230 | ldxa [%g6] ASI_IMMU, %g5 |
229 | 1: ldx [%sp + PTREGS_OFF + PT_V9_G6], %g6 | 231 | #endif |
232 | 1: | ||
233 | ldx [%sp + PTREGS_OFF + PT_V9_G6], %g6 | ||
230 | ldx [%sp + PTREGS_OFF + PT_V9_G7], %g7 | 234 | ldx [%sp + PTREGS_OFF + PT_V9_G7], %g7 |
231 | wrpr %g0, RTRAP_PSTATE_AG_IRQOFF, %pstate | 235 | wrpr %g0, RTRAP_PSTATE_AG_IRQOFF, %pstate |
232 | ldx [%sp + PTREGS_OFF + PT_V9_I0], %i0 | 236 | ldx [%sp + PTREGS_OFF + PT_V9_I0], %i0 |