diff options
Diffstat (limited to 'arch/sparc64/kernel/trampoline.S')
| -rw-r--r-- | arch/sparc64/kernel/trampoline.S | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/sparc64/kernel/trampoline.S b/arch/sparc64/kernel/trampoline.S index 89f2fcfcd662..9478551cb020 100644 --- a/arch/sparc64/kernel/trampoline.S +++ b/arch/sparc64/kernel/trampoline.S | |||
| @@ -336,20 +336,13 @@ do_unlock: | |||
| 336 | call init_irqwork_curcpu | 336 | call init_irqwork_curcpu |
| 337 | nop | 337 | nop |
| 338 | 338 | ||
| 339 | BRANCH_IF_CHEETAH_PLUS_OR_FOLLOWON(g2,g3,1f) | 339 | /* Start using proper page size encodings in ctx register. */ |
| 340 | ba,pt %xcc, 2f | 340 | sethi %hi(sparc64_kern_pri_context), %g3 |
| 341 | nop | 341 | ldx [%g3 + %lo(sparc64_kern_pri_context)], %g2 |
| 342 | |||
| 343 | 1: /* Start using proper page size encodings in ctx register. */ | ||
| 344 | sethi %uhi(CTX_CHEETAH_PLUS_NUC), %g3 | ||
| 345 | mov PRIMARY_CONTEXT, %g1 | 342 | mov PRIMARY_CONTEXT, %g1 |
| 346 | sllx %g3, 32, %g3 | 343 | stxa %g2, [%g1] ASI_DMMU |
| 347 | sethi %hi(CTX_CHEETAH_PLUS_CTX0), %g2 | ||
| 348 | or %g3, %g2, %g3 | ||
| 349 | stxa %g3, [%g1] ASI_DMMU | ||
| 350 | membar #Sync | 344 | membar #Sync |
| 351 | 345 | ||
| 352 | 2: | ||
| 353 | rdpr %pstate, %o1 | 346 | rdpr %pstate, %o1 |
| 354 | or %o1, PSTATE_IE, %o1 | 347 | or %o1, PSTATE_IE, %o1 |
| 355 | wrpr %o1, 0, %pstate | 348 | wrpr %o1, 0, %pstate |
