diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-03 00:55:10 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:35 -0500 |
commit | ffe483d55229fadbaf4cc7316d47024a24ecd1a2 (patch) | |
tree | 70bdb6c94d5b3512a7b2a3ff06979ac2e4e869bf /arch/sparc64/kernel/etrap.S | |
parent | 92704a1c63c3b481870d02636d0b5a70c7e21cd1 (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.S | 10 |
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 |
32 | etrap: rdpr %pil, %g2 | 32 | etrap: rdpr %pil, %g2 |
33 | etrap_irq: | 33 | etrap_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 |
181 | scetrap: | 181 | scetrap: |
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 | ||