diff --git a/[refs] b/[refs] index 2f4b1ba283d9..a6d942e5f1a8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4da808c352c290d3f762933d44d4ab90c2fd65f3 +refs/heads/master: 6b6d017235acad3ee1681140795593723bb9b9df diff --git a/trunk/arch/sparc64/kernel/tsb.S b/trunk/arch/sparc64/kernel/tsb.S index 08405ed69288..c1532292a625 100644 --- a/trunk/arch/sparc64/kernel/tsb.S +++ b/trunk/arch/sparc64/kernel/tsb.S @@ -185,12 +185,14 @@ __tsb_context_switch: * * XXX Interactions with prom_world()... */ - mov TLB_TAG_ACCESS, %g1 - stxa %o2, [%g1] ASI_DMMU - membar #Sync - mov (61 << 3), %g1 - stxa %o3, [%g1] ASI_DTLB_DATA_ACCESS - membar #Sync + sethi %hi(sparc64_highest_unlocked_tlb_ent), %o4 + mov TLB_TAG_ACCESS, %g1 + lduw [%o4 + %lo(sparc64_highest_unlocked_tlb_ent)], %g2 + stxa %o2, [%g1] ASI_DMMU + membar #Sync + sllx %g2, 3, %g2 + stxa %o3, [%g2] ASI_DTLB_DATA_ACCESS + membar #Sync 9: wrpr %o5, %pstate