diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-06 01:27:28 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:50 -0500 |
commit | 45fec05f805a113372c9a7ff4c653ac749f6921c (patch) | |
tree | 36fc99d10656775acb8e9442719447d64ac30a03 /arch/sparc64/mm/ultra.S | |
parent | 314981ac7177a933319e3c071a5cf0a579205e6e (diff) |
[SPARC64]: Sanitize %pstate writes for sun4v.
If we're just switching between different alternate global
sets, nop it out on sun4v. Also, get rid of all of the
alternate global save/restore in the OBP CIF trampoline code.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm/ultra.S')
-rw-r--r-- | arch/sparc64/mm/ultra.S | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/arch/sparc64/mm/ultra.S b/arch/sparc64/mm/ultra.S index cac58d66fca9..5dd86ad0d29f 100644 --- a/arch/sparc64/mm/ultra.S +++ b/arch/sparc64/mm/ultra.S | |||
@@ -444,8 +444,15 @@ xcall_flush_tlb_kernel_range: /* 22 insns */ | |||
444 | */ | 444 | */ |
445 | .globl xcall_sync_tick | 445 | .globl xcall_sync_tick |
446 | xcall_sync_tick: | 446 | xcall_sync_tick: |
447 | rdpr %pstate, %g2 | 447 | |
448 | 661: rdpr %pstate, %g2 | ||
448 | wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate | 449 | wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate |
450 | .section .gl_2insn_patch, "ax" | ||
451 | .word 661b | ||
452 | nop | ||
453 | nop | ||
454 | .previous | ||
455 | |||
449 | rdpr %pil, %g2 | 456 | rdpr %pil, %g2 |
450 | wrpr %g0, 15, %pil | 457 | wrpr %g0, 15, %pil |
451 | sethi %hi(109f), %g7 | 458 | sethi %hi(109f), %g7 |
@@ -468,8 +475,15 @@ xcall_sync_tick: | |||
468 | */ | 475 | */ |
469 | .globl xcall_report_regs | 476 | .globl xcall_report_regs |
470 | xcall_report_regs: | 477 | xcall_report_regs: |
471 | rdpr %pstate, %g2 | 478 | |
479 | 661: rdpr %pstate, %g2 | ||
472 | wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate | 480 | wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate |
481 | .section .gl_2insn_patch, "ax" | ||
482 | .word 661b | ||
483 | nop | ||
484 | nop | ||
485 | .previous | ||
486 | |||
473 | rdpr %pil, %g2 | 487 | rdpr %pil, %g2 |
474 | wrpr %g0, 15, %pil | 488 | wrpr %g0, 15, %pil |
475 | sethi %hi(109f), %g7 | 489 | sethi %hi(109f), %g7 |