Commit 505ea82e authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman

powerpc/64s/hash: avoid the POWER5 < DD2.1 slb invalidate workaround on POWER8/9

I only have POWER8/9 to test, so just remove it for those.
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 09b4438d
...@@ -672,7 +672,9 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT) ...@@ -672,7 +672,9 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
isync isync
slbie r6 slbie r6
BEGIN_FTR_SECTION
slbie r6 /* Workaround POWER5 < DD2.1 issue */ slbie r6 /* Workaround POWER5 < DD2.1 issue */
END_FTR_SECTION_IFCLR(CPU_FTR_ARCH_207S)
slbmte r7,r0 slbmte r7,r0
isync isync
2: 2:
......
...@@ -326,9 +326,11 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm) ...@@ -326,9 +326,11 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm)
__slb_flush_and_rebolt(); __slb_flush_and_rebolt();
} }
/* Workaround POWER5 < DD2.1 issue */ if (!cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (offset == 1 || offset > SLB_CACHE_ENTRIES) /* Workaround POWER5 < DD2.1 issue */
asm volatile("slbie %0" : : "r" (slbie_data)); if (offset == 1 || offset > SLB_CACHE_ENTRIES)
asm volatile("slbie %0" : : "r" (slbie_data));
}
get_paca()->slb_cache_ptr = 0; get_paca()->slb_cache_ptr = 0;
copy_mm_to_paca(mm); copy_mm_to_paca(mm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment