summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/pgalloc.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2018-09-04 14:45:04 +0200
committerIngo Molnar <mingo@kernel.org>2019-04-03 10:32:51 +0200
commitc5b27a889da92f4a969d61df77bd4f79ffce57c9 (patch)
tree016111f8db2794b2bedb2bdb04dce18b2a2e1953 /arch/sh/include/asm/pgalloc.h
parentia64/tlb: Convert to generic mmu_gather (diff)
downloadlinux-c5b27a889da92f4a969d61df77bd4f79ffce57c9.tar.xz
linux-c5b27a889da92f4a969d61df77bd4f79ffce57c9.zip
sh/tlb: Convert SH to generic mmu_gather
Generic mmu_gather provides everything SH needs (range tracking and cache coherency). No change in behavior intended. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Nick Piggin <npiggin@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rich Felker <dalias@libc.org> Cc: Rik van Riel <riel@surriel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Will Deacon <will.deacon@arm.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/sh/include/asm/pgalloc.h')
-rw-r--r--arch/sh/include/asm/pgalloc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sh/include/asm/pgalloc.h b/arch/sh/include/asm/pgalloc.h
index 8ad73cb31121..b56f908b1395 100644
--- a/arch/sh/include/asm/pgalloc.h
+++ b/arch/sh/include/asm/pgalloc.h
@@ -70,6 +70,15 @@ do { \
tlb_remove_page((tlb), (pte)); \
} while (0)
+#if CONFIG_PGTABLE_LEVELS > 2
+#define __pmd_free_tlb(tlb, pmdp, addr) \
+do { \
+ struct page *page = virt_to_page(pmdp); \
+ pgtable_pmd_page_dtor(page); \
+ tlb_remove_page((tlb), page); \
+} while (0);
+#endif
+
static inline void check_pgt_cache(void)
{
quicklist_trim(QUICK_PT, NULL, 25, 16);