aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/trampoline.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/trampoline.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/trampoline.S')
-rw-r--r--arch/sparc64/kernel/trampoline.S32
1 files changed, 25 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/trampoline.S b/arch/sparc64/kernel/trampoline.S
index 18c333f841e3..d9e2af35158d 100644
--- a/arch/sparc64/kernel/trampoline.S
+++ b/arch/sparc64/kernel/trampoline.S
@@ -272,10 +272,22 @@ do_unlock:
272 wr %g0, ASI_P, %asi 272 wr %g0, ASI_P, %asi
273 273
274 mov PRIMARY_CONTEXT, %g7 274 mov PRIMARY_CONTEXT, %g7
275 stxa %g0, [%g7] ASI_DMMU 275
276661: stxa %g0, [%g7] ASI_DMMU
277 .section .sun4v_1insn_patch, "ax"
278 .word 661b
279 stxa %g0, [%g7] ASI_MMU
280 .previous
281
276 membar #Sync 282 membar #Sync
277 mov SECONDARY_CONTEXT, %g7 283 mov SECONDARY_CONTEXT, %g7
278 stxa %g0, [%g7] ASI_DMMU 284
285661: stxa %g0, [%g7] ASI_DMMU
286 .section .sun4v_1insn_patch, "ax"
287 .word 661b
288 stxa %g0, [%g7] ASI_MMU
289 .previous
290
279 membar #Sync 291 membar #Sync
280 292
281 mov 1, %g5 293 mov 1, %g5
@@ -301,11 +313,17 @@ do_unlock:
301 nop 313 nop
302 314
303 /* Start using proper page size encodings in ctx register. */ 315 /* Start using proper page size encodings in ctx register. */
304 sethi %hi(sparc64_kern_pri_context), %g3 316 sethi %hi(sparc64_kern_pri_context), %g3
305 ldx [%g3 + %lo(sparc64_kern_pri_context)], %g2 317 ldx [%g3 + %lo(sparc64_kern_pri_context)], %g2
306 mov PRIMARY_CONTEXT, %g1 318 mov PRIMARY_CONTEXT, %g1
307 stxa %g2, [%g1] ASI_DMMU 319
308 membar #Sync 320661: stxa %g2, [%g1] ASI_DMMU
321 .section .sun4v_1insn_patch, "ax"
322 .word 661b
323 stxa %g2, [%g1] ASI_MMU
324 .previous
325
326 membar #Sync
309 327
310 rdpr %pstate, %o1 328 rdpr %pstate, %o1
311 or %o1, PSTATE_IE, %o1 329 or %o1, PSTATE_IE, %o1