Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal...
[pandora-kernel.git] / arch / sparc / include / asm / winmacro.h
index 5b0a06d..a9be04b 100644 (file)
         st       %scratch, [%cur_reg + TI_W_SAVED];
 
 #ifdef CONFIG_SMP
+/* Results of LOAD_CURRENT() after BTFIXUP for SUN4M, SUN4D & LEON (comments) */
 #define LOAD_CURRENT4M(dest_reg, idreg) \
         rd       %tbr, %idreg; \
        sethi    %hi(current_set), %dest_reg; \
        or      %dest_reg, %lo(C_LABEL(current_set)), %dest_reg; \
        ld      [%idreg + %dest_reg], %dest_reg;
 
+#define LOAD_CURRENT_LEON(dest_reg, idreg)                     \
+       rd      %asr17, %idreg;                                 \
+       sethi   %hi(current_set), %dest_reg;                    \
+       srl     %idreg, 0x1c, %idreg;                           \
+       or      %dest_reg, %lo(current_set), %dest_reg;         \
+       sll     %idreg, 0x2, %idreg;                            \
+       ld      [%idreg + %dest_reg], %dest_reg;
+
 /* Blackbox - take care with this... - check smp4m and smp4d before changing this. */
 #define LOAD_CURRENT(dest_reg, idreg)                                  \
        sethi    %hi(___b_load_current), %idreg;                        \