patch-2.4.21 linux-2.4.21/arch/sparc64/mm/ultra.S
Next file: linux-2.4.21/arch/sparc64/solaris/entry64.S
Previous file: linux-2.4.21/arch/sparc64/kernel/winfixup.S
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
2003-06-13 07:51:32.000000000 -0700
- Orig file:
linux-2.4.20/arch/sparc64/mm/ultra.S
- Orig date:
2002-11-28 15:53:12.000000000 -0800
diff -urN linux-2.4.20/arch/sparc64/mm/ultra.S linux-2.4.21/arch/sparc64/mm/ultra.S
@@ -524,6 +524,24 @@
nop
nop
+ /* This runs in a very controlled environment, so we do
+ * not need to worry about BH races etc.
+ */
+ .globl xcall_sync_tick
+xcall_sync_tick:
+ rdpr %pstate, %g2
+ wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate
+ rdpr %pil, %g2
+ wrpr %g0, 15, %pil
+ sethi %hi(109f), %g7
+ b,pt %xcc, etrap_irq
+109: or %g7, %lo(109b), %g7
+ call smp_synchronize_tick_client
+ nop
+ clr %l6
+ b rtrap_xcall
+ ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
+
/* NOTE: This is SPECIAL!! We do etrap/rtrap however
* we choose to deal with the "BH's run with
* %pil==15" problem (described in asm/pil.h)
@@ -543,7 +561,7 @@
b,pt %xcc, etrap_irq
109: or %g7, %lo(109b), %g7
call __show_regs
- add %sp, STACK_BIAS + REGWIN_SZ, %o0
+ add %sp, PTREGS_OFF, %o0
clr %l6
/* Has to be a non-v9 branch due to the large distance. */
b rtrap_xcall
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)