|
@@ -96,11 +96,12 @@ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
|
|
* arch/sparc64/kernel/smp.c:smp_percpu_timer_interrupt()
|
|
* arch/sparc64/kernel/smp.c:smp_percpu_timer_interrupt()
|
|
* for more information.
|
|
* 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" \
|
|
".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__
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|