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/trampoline.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/trampoline.S')
-rw-r--r-- | arch/sparc64/kernel/trampoline.S | 32 |
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 | |
276 | 661: 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 | |
285 | 661: 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 | 320 | 661: 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 |