Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: David S. Miller <davem@davemloft.net>

+5 -4
+5 -4
arch/sparc/include/asm/system_64.h
··· 96 96 * arch/sparc64/kernel/smp.c:smp_percpu_timer_interrupt() 97 97 * for more information. 98 98 */ 99 - #define reset_pic() \ 100 - __asm__ __volatile__("ba,pt %xcc, 99f\n\t" \ 99 + #define write_pic(__p) \ 100 + __asm__ __volatile__("ba,pt %%xcc, 99f\n\t" \ 101 101 ".align 64\n" \ 102 - "99:wr %g0, 0x0, %pic\n\t" \ 103 - "rd %pic, %g0") 102 + "99:wr %0, 0x0, %%pic\n\t" \ 103 + "rd %%pic, %%g0" : : "r" (__p)) 104 + #define reset_pic() write_pic(0) 104 105 105 106 #ifndef __ASSEMBLY__ 106 107