Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5149bed8 authored by Daniel Hellstrom's avatar Daniel Hellstrom Committed by David S. Miller
Browse files

sparc32,leon: added some SMP comments

parent 970def65
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -135,6 +135,11 @@ static inline int hard_smp_processor_id(void)
		__asm__ __volatile__("lda [%g0] ASI_M_VIKING_TMP1, %0\n\t"
				     "nop; nop" :
				     "=&r" (cpuid));
		     - leon
		__asm__ __volatile__(	"rd %asr17, %0\n\t"
					"srl %0, 0x1c, %0\n\t"
					"nop\n\t" :
					"=&r" (cpuid));
	   See btfixup.h and btfixupprep.c to understand how a blackbox works.
	 */
	__asm__ __volatile__("sethi %%hi(___b_hard_smp_processor_id), %0\n\t"
+9 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@
        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; \
@@ -118,6 +119,14 @@
	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;			\