aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/head.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/head.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/head.S')
-rw-r--r--arch/sparc64/kernel/head.S33
1 files changed, 26 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S
index f04f7391f236..a304845f8c56 100644
--- a/arch/sparc64/kernel/head.S
+++ b/arch/sparc64/kernel/head.S
@@ -303,12 +303,24 @@ jump_to_sun4u_init:
303 303
304sun4u_init: 304sun4u_init:
305 /* Set ctx 0 */ 305 /* Set ctx 0 */
306 mov PRIMARY_CONTEXT, %g7 306 mov PRIMARY_CONTEXT, %g7
307 stxa %g0, [%g7] ASI_DMMU 307
308 membar #Sync 308661: stxa %g0, [%g7] ASI_DMMU
309 .section .sun4v_1insn_patch, "ax"
310 .word 661b
311 stxa %g0, [%g7] ASI_MMU
312 .previous
313
314 membar #Sync
315
316 mov SECONDARY_CONTEXT, %g7
317
318661: stxa %g0, [%g7] ASI_DMMU
319 .section .sun4v_1insn_patch, "ax"
320 .word 661b
321 stxa %g0, [%g7] ASI_MMU
322 .previous
309 323
310 mov SECONDARY_CONTEXT, %g7
311 stxa %g0, [%g7] ASI_DMMU
312 membar #Sync 324 membar #Sync
313 325
314 BRANCH_IF_ANY_CHEETAH(g1,g7,cheetah_tlb_fixup) 326 BRANCH_IF_ANY_CHEETAH(g1,g7,cheetah_tlb_fixup)
@@ -436,8 +448,15 @@ setup_trap_table:
436 /* Start using proper page size encodings in ctx register. */ 448 /* Start using proper page size encodings in ctx register. */
437 sethi %hi(sparc64_kern_pri_context), %g3 449 sethi %hi(sparc64_kern_pri_context), %g3
438 ldx [%g3 + %lo(sparc64_kern_pri_context)], %g2 450 ldx [%g3 + %lo(sparc64_kern_pri_context)], %g2
439 mov PRIMARY_CONTEXT, %g1 451
440 stxa %g2, [%g1] ASI_DMMU 452 mov PRIMARY_CONTEXT, %g1
453
454661: stxa %g2, [%g1] ASI_DMMU
455 .section .sun4v_1insn_patch, "ax"
456 .word 661b
457 stxa %g2, [%g1] ASI_MMU
458 .previous
459
441 membar #Sync 460 membar #Sync
442 461
443 /* Kill PROM timer */ 462 /* Kill PROM timer */