diff options
| -rw-r--r-- | arch/sparc64/kernel/tsb.S | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/tsb.S b/arch/sparc64/kernel/tsb.S index 08405ed69288..c1532292a625 100644 --- a/arch/sparc64/kernel/tsb.S +++ b/arch/sparc64/kernel/tsb.S | |||
| @@ -185,12 +185,14 @@ __tsb_context_switch: | |||
| 185 | * | 185 | * |
| 186 | * XXX Interactions with prom_world()... | 186 | * XXX Interactions with prom_world()... |
| 187 | */ | 187 | */ |
| 188 | mov TLB_TAG_ACCESS, %g1 | 188 | sethi %hi(sparc64_highest_unlocked_tlb_ent), %o4 |
| 189 | stxa %o2, [%g1] ASI_DMMU | 189 | mov TLB_TAG_ACCESS, %g1 |
| 190 | membar #Sync | 190 | lduw [%o4 + %lo(sparc64_highest_unlocked_tlb_ent)], %g2 |
| 191 | mov (61 << 3), %g1 | 191 | stxa %o2, [%g1] ASI_DMMU |
| 192 | stxa %o3, [%g1] ASI_DTLB_DATA_ACCESS | 192 | membar #Sync |
| 193 | membar #Sync | 193 | sllx %g2, 3, %g2 |
| 194 | stxa %o3, [%g2] ASI_DTLB_DATA_ACCESS | ||
| 195 | membar #Sync | ||
| 194 | 9: | 196 | 9: |
| 195 | wrpr %o5, %pstate | 197 | wrpr %o5, %pstate |
| 196 | 198 | ||
