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/rtrap.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/rtrap.S')
-rw-r--r-- | arch/sparc64/kernel/rtrap.S | 24 |
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 | |
268 | 661: 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 | |
278 | 661: 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 | |
319 | 661: 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 | ||