[SPARC64]: Elminate all usage of hard-coded trap globals.
[firefly-linux-kernel-4.4.55.git] / arch / sparc64 / kernel / rtrap.S
index 213eb4a9d8a41e4cd4652e1836848123db755582..5a62ec5d531cd2ef3dd23f2d3103a712ef33a8bb 100644 (file)
@@ -223,12 +223,10 @@ rt_continue:      ldx                     [%sp + PTREGS_OFF + PT_V9_G1], %g1
                ldx                     [%sp + PTREGS_OFF + PT_V9_G3], %g3
                ldx                     [%sp + PTREGS_OFF + PT_V9_G4], %g4
                ldx                     [%sp + PTREGS_OFF + PT_V9_G5], %g5
-#ifdef CONFIG_SMP
-#error IMMU TSB usage must be fixed
-               mov                     TSB_REG, %g6
-               brnz,a,pn               %l3, 1f
-                ldxa                   [%g6] ASI_IMMU, %g5
-#endif
+               brz,pt                  %l3, 1f
+                nop
+               /* Must do this before thread reg is clobbered below.  */
+               LOAD_PER_CPU_BASE(%g6, %g7)
 1:
                ldx                     [%sp + PTREGS_OFF + PT_V9_G6], %g6
                ldx                     [%sp + PTREGS_OFF + PT_V9_G7], %g7