Skip to content

Commit aad26d3

Browse files
committed
powerpc/32s: Implement local_flush_tlb_page_psize()
There's a single call to local_flush_tlb_page_psize() in the code patching code. That call is never executed on 32-bit Book3S, because it's guarded by mm_patch_enabled() which is essentially a radix_enabled() check, which is always false on 32s. However depending on how the optimiser sees things it may still trip over the BUILD_BUG() in the 32s stub of local_flush_tlb_page_psize(). To avoid that, implement it in terms of flush_range() so that if it ever becomes called it should function, even if not optimally. Note that flush_range() deals with page aligning the address and so on, and that 32s doesn't support huge pages so there should be no issue with non-standard page sizes needing to be flushed. Signed-off-by: Michael Ellerman <[email protected]> Link: https://msgid.link/[email protected]
1 parent ca2b746 commit aad26d3

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/powerpc/include/asm/book3s/32/tlbflush.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ static inline void local_flush_tlb_page(struct vm_area_struct *vma,
8080
static inline void local_flush_tlb_page_psize(struct mm_struct *mm,
8181
unsigned long vmaddr, int psize)
8282
{
83-
BUILD_BUG();
83+
flush_range(mm, vmaddr, vmaddr);
8484
}
8585

8686
static inline void local_flush_tlb_mm(struct mm_struct *mm)

0 commit comments

Comments
 (0)