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

Commit 456cad8e authored by David S. Miller's avatar David S. Miller
Browse files

sparc64: Add write_pic() helper.



It writes the %pic register, keeping mind of processor bugs.

Implement reset_pic() in terms of it.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f9aad600
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -96,11 +96,12 @@ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
 * arch/sparc64/kernel/smp.c:smp_percpu_timer_interrupt()
 * for more information.
 */
#define reset_pic()    						\
	__asm__ __volatile__("ba,pt	%xcc, 99f\n\t"		\
#define write_pic(__p)  					\
	__asm__ __volatile__("ba,pt	%%xcc, 99f\n\t"		\
			     ".align	64\n"			\
			  "99:wr	%g0, 0x0, %pic\n\t"	\
			     "rd	%pic, %g0")
			  "99:wr	%0, 0x0, %%pic\n\t"	\
			     "rd	%%pic, %%g0" : : "r" (__p))
#define reset_pic()	write_pic(0)

#ifndef __ASSEMBLY__