diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-08 01:13:05 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:56 -0500 |
commit | 8b11bd12aff76e02cdc2cbc9e439bba88d281223 (patch) | |
tree | 903ab8830616bfbe5a821e4359f642842c8060a4 /arch/sparc64/kernel/head.S | |
parent | 481295f982b21b1dbe71cbf41d3a93028fee30d1 (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.S | 33 |
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 | ||
304 | sun4u_init: | 304 | sun4u_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 | 308 | 661: 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 | |||
318 | 661: 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 | |||
454 | 661: 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 */ |