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/entry.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/entry.S')
-rw-r--r-- | arch/sparc64/kernel/entry.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S index b3511ff5d04a..4ca3ea0beaf9 100644 --- a/arch/sparc64/kernel/entry.S +++ b/arch/sparc64/kernel/entry.S | |||
@@ -50,7 +50,7 @@ do_fpdis: | |||
50 | add %g0, %g0, %g0 | 50 | add %g0, %g0, %g0 |
51 | ba,a,pt %xcc, rtrap_clr_l6 | 51 | ba,a,pt %xcc, rtrap_clr_l6 |
52 | 52 | ||
53 | 1: TRAP_LOAD_THREAD_REG | 53 | 1: TRAP_LOAD_THREAD_REG(%g6, %g1) |
54 | ldub [%g6 + TI_FPSAVED], %g5 | 54 | ldub [%g6 + TI_FPSAVED], %g5 |
55 | wr %g0, FPRS_FEF, %fprs | 55 | wr %g0, FPRS_FEF, %fprs |
56 | andcc %g5, FPRS_FEF, %g0 | 56 | andcc %g5, FPRS_FEF, %g0 |
@@ -190,7 +190,7 @@ fp_other_bounce: | |||
190 | .globl do_fpother_check_fitos | 190 | .globl do_fpother_check_fitos |
191 | .align 32 | 191 | .align 32 |
192 | do_fpother_check_fitos: | 192 | do_fpother_check_fitos: |
193 | TRAP_LOAD_THREAD_REG | 193 | TRAP_LOAD_THREAD_REG(%g6, %g1) |
194 | sethi %hi(fp_other_bounce - 4), %g7 | 194 | sethi %hi(fp_other_bounce - 4), %g7 |
195 | or %g7, %lo(fp_other_bounce - 4), %g7 | 195 | or %g7, %lo(fp_other_bounce - 4), %g7 |
196 | 196 | ||
@@ -378,7 +378,7 @@ do_ivec: | |||
378 | sllx %g2, %g4, %g2 | 378 | sllx %g2, %g4, %g2 |
379 | sllx %g4, 2, %g4 | 379 | sllx %g4, 2, %g4 |
380 | 380 | ||
381 | TRAP_LOAD_IRQ_WORK | 381 | TRAP_LOAD_IRQ_WORK(%g6, %g1) |
382 | 382 | ||
383 | lduw [%g6 + %g4], %g5 /* g5 = irq_work(cpu, pil) */ | 383 | lduw [%g6 + %g4], %g5 /* g5 = irq_work(cpu, pil) */ |
384 | stw %g5, [%g3 + 0x00] /* bucket->irq_chain = g5 */ | 384 | stw %g5, [%g3 + 0x00] /* bucket->irq_chain = g5 */ |
@@ -422,7 +422,7 @@ setcc: | |||
422 | 422 | ||
423 | .globl utrap_trap | 423 | .globl utrap_trap |
424 | utrap_trap: /* %g3=handler,%g4=level */ | 424 | utrap_trap: /* %g3=handler,%g4=level */ |
425 | TRAP_LOAD_THREAD_REG | 425 | TRAP_LOAD_THREAD_REG(%g6, %g1) |
426 | ldx [%g6 + TI_UTRAPS], %g1 | 426 | ldx [%g6 + TI_UTRAPS], %g1 |
427 | brnz,pt %g1, invoke_utrap | 427 | brnz,pt %g1, invoke_utrap |
428 | nop | 428 | nop |