aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/rtrap.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-08 01:13:05 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:11:56 -0500
commit8b11bd12aff76e02cdc2cbc9e439bba88d281223 (patch)
tree903ab8830616bfbe5a821e4359f642842c8060a4 /arch/sparc64/kernel/rtrap.S
parent481295f982b21b1dbe71cbf41d3a93028fee30d1 (diff)
[SPARC64]: Patch up mmu context register writes for sun4v.
sun4v uses ASI_MMU instead of ASI_DMMU Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/rtrap.S')
-rw-r--r--arch/sparc64/kernel/rtrap.S24
1 files changed, 21 insertions, 3 deletions
diff --git a/arch/sparc64/kernel/rtrap.S b/arch/sparc64/kernel/rtrap.S
index a55d517e76aa..551f71982008 100644
--- a/arch/sparc64/kernel/rtrap.S
+++ b/arch/sparc64/kernel/rtrap.S
@@ -264,11 +264,23 @@ rt_continue: ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1
264 264
265 brnz,pn %l3, kern_rtt 265 brnz,pn %l3, kern_rtt
266 mov PRIMARY_CONTEXT, %l7 266 mov PRIMARY_CONTEXT, %l7
267 ldxa [%l7 + %l7] ASI_DMMU, %l0 267
268661: ldxa [%l7 + %l7] ASI_DMMU, %l0
269 .section .sun4v_1insn_patch, "ax"
270 .word 661b
271 ldxa [%l7 + %l7] ASI_MMU, %l0
272 .previous
273
268 sethi %hi(sparc64_kern_pri_nuc_bits), %l1 274 sethi %hi(sparc64_kern_pri_nuc_bits), %l1
269 ldx [%l1 + %lo(sparc64_kern_pri_nuc_bits)], %l1 275 ldx [%l1 + %lo(sparc64_kern_pri_nuc_bits)], %l1
270 or %l0, %l1, %l0 276 or %l0, %l1, %l0
271 stxa %l0, [%l7] ASI_DMMU 277
278661: stxa %l0, [%l7] ASI_DMMU
279 .section .sun4v_1insn_patch, "ax"
280 .word 661b
281 stxa %l0, [%l7] ASI_MMU
282 .previous
283
272 sethi %hi(KERNBASE), %l7 284 sethi %hi(KERNBASE), %l7
273 flush %l7 285 flush %l7
274 rdpr %wstate, %l1 286 rdpr %wstate, %l1
@@ -303,7 +315,13 @@ user_rtt_fill_fixup:
303 sethi %hi(sparc64_kern_pri_context), %g2 315 sethi %hi(sparc64_kern_pri_context), %g2
304 ldx [%g2 + %lo(sparc64_kern_pri_context)], %g2 316 ldx [%g2 + %lo(sparc64_kern_pri_context)], %g2
305 mov PRIMARY_CONTEXT, %g1 317 mov PRIMARY_CONTEXT, %g1
306 stxa %g2, [%g1] ASI_DMMU 318
319661: stxa %g2, [%g1] ASI_DMMU
320 .section .sun4v_1insn_patch, "ax"
321 .word 661b
322 stxa %g2, [%g1] ASI_MMU
323 .previous
324
307 sethi %hi(KERNBASE), %g1 325 sethi %hi(KERNBASE), %g1
308 flush %g1 326 flush %g1
309 327