aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/etrap.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-03 00:55:10 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:11:35 -0500
commitffe483d55229fadbaf4cc7316d47024a24ecd1a2 (patch)
tree70bdb6c94d5b3512a7b2a3ff06979ac2e4e869bf /arch/sparc64/kernel/etrap.S
parent92704a1c63c3b481870d02636d0b5a70c7e21cd1 (diff)
[SPARC64]: Add explicit register args to trap state loading macros.
This, as well as making the code cleaner, allows a simplification in the TSB miss handling path. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/etrap.S')
-rw-r--r--arch/sparc64/kernel/etrap.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/etrap.S b/arch/sparc64/kernel/etrap.S
index d974d18b15be..b5f6bc52d917 100644
--- a/arch/sparc64/kernel/etrap.S
+++ b/arch/sparc64/kernel/etrap.S
@@ -31,7 +31,7 @@
31 .globl etrap, etrap_irq, etraptl1 31 .globl etrap, etrap_irq, etraptl1
32etrap: rdpr %pil, %g2 32etrap: rdpr %pil, %g2
33etrap_irq: 33etrap_irq:
34 TRAP_LOAD_THREAD_REG 34 TRAP_LOAD_THREAD_REG(%g6, %g1)
35 rdpr %tstate, %g1 35 rdpr %tstate, %g1
36 sllx %g2, 20, %g3 36 sllx %g2, 20, %g3
37 andcc %g1, TSTATE_PRIV, %g0 37 andcc %g1, TSTATE_PRIV, %g0
@@ -100,7 +100,7 @@ etrap_irq:
100 stx %i7, [%sp + PTREGS_OFF + PT_V9_I7] 100 stx %i7, [%sp + PTREGS_OFF + PT_V9_I7]
101 wrpr %g0, ETRAP_PSTATE2, %pstate 101 wrpr %g0, ETRAP_PSTATE2, %pstate
102 mov %l6, %g6 102 mov %l6, %g6
103 LOAD_PER_CPU_BASE(%g4, %g3, %l1) 103 LOAD_PER_CPU_BASE(%g5, %g6, %g4, %g3, %l1)
104 jmpl %l2 + 0x4, %g0 104 jmpl %l2 + 0x4, %g0
105 ldx [%g6 + TI_TASK], %g4 105 ldx [%g6 + TI_TASK], %g4
106 106
@@ -124,7 +124,7 @@ etraptl1: /* Save tstate/tpc/tnpc of TL 1-->4 and the tl register itself.
124 * 0x58 TL4's TT 124 * 0x58 TL4's TT
125 * 0x60 TL 125 * 0x60 TL
126 */ 126 */
127 TRAP_LOAD_THREAD_REG 127 TRAP_LOAD_THREAD_REG(%g6, %g1)
128 sub %sp, ((4 * 8) * 4) + 8, %g2 128 sub %sp, ((4 * 8) * 4) + 8, %g2
129 rdpr %tl, %g1 129 rdpr %tl, %g1
130 130
@@ -179,7 +179,7 @@ etraptl1: /* Save tstate/tpc/tnpc of TL 1-->4 and the tl register itself.
179 .align 64 179 .align 64
180 .globl scetrap 180 .globl scetrap
181scetrap: 181scetrap:
182 TRAP_LOAD_THREAD_REG 182 TRAP_LOAD_THREAD_REG(%g6, %g1)
183 rdpr %pil, %g2 183 rdpr %pil, %g2
184 rdpr %tstate, %g1 184 rdpr %tstate, %g1
185 sllx %g2, 20, %g3 185 sllx %g2, 20, %g3
@@ -250,7 +250,7 @@ scetrap:
250 stx %i6, [%sp + PTREGS_OFF + PT_V9_I6] 250 stx %i6, [%sp + PTREGS_OFF + PT_V9_I6]
251 mov %l6, %g6 251 mov %l6, %g6
252 stx %i7, [%sp + PTREGS_OFF + PT_V9_I7] 252 stx %i7, [%sp + PTREGS_OFF + PT_V9_I7]
253 LOAD_PER_CPU_BASE(%g4, %g3, %l1) 253 LOAD_PER_CPU_BASE(%g5, %g6, %g4, %g3, %l1)
254 ldx [%g6 + TI_TASK], %g4 254 ldx [%g6 + TI_TASK], %g4
255 done 255 done
256 256