[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>
This commit is contained in:
David S. Miller
2006-02-05 22:27:28 -08:00
parent 314981ac71
commit 45fec05f80
7 changed files with 88 additions and 206 deletions

View File

@@ -60,8 +60,15 @@ kvmap_itlb_load:
retry
kvmap_itlb_longpath:
rdpr %pstate, %g5
661: rdpr %pstate, %g5
wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate
.section .gl_2insn_patch, "ax"
.word 661b
nop
nop
.previous
rdpr %tpc, %g5
ba,pt %xcc, sparc64_realfault_common
mov FAULT_CODE_ITLB, %g4
@@ -161,8 +168,15 @@ kvmap_check_obp:
nop
kvmap_dtlb_longpath:
rdpr %pstate, %g5
661: rdpr %pstate, %g5
wrpr %g5, PSTATE_AG | PSTATE_MG, %pstate
.section .gl_2insn_patch, "ax"
.word 661b
nop
nop
.previous
rdpr %tl, %g4
cmp %g4, 1
mov TLB_TAG_ACCESS, %g4