summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/tlbflush.h
diff options
context:
space:
mode:
authorChintan Pandya <cpandya@codeaurora.org>2018-06-06 10:01:20 +0300
committerWill Deacon <will.deacon@arm.com>2018-07-06 15:17:14 +0300
commit05f2d2f83b5a02a15b6538017f29ee53a73088fb (patch)
treee1217c55c4ebabbf5094fa0f7272854323badb0f /arch/arm64/include/asm/tlbflush.h
parentf3551520416978111b422b7c177f6f1f6d75ff62 (diff)
downloadlinux-05f2d2f83b5a02a15b6538017f29ee53a73088fb.tar.xz
arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable
Add an interface to invalidate intermediate page tables from TLB for kernel. Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Chintan Pandya <cpandya@codeaurora.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/tlbflush.h')
-rw-r--r--arch/arm64/include/asm/tlbflush.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h
index dfc61d73f740..a4a1901140ee 100644
--- a/arch/arm64/include/asm/tlbflush.h
+++ b/arch/arm64/include/asm/tlbflush.h
@@ -218,6 +218,13 @@ static inline void __flush_tlb_pgtable(struct mm_struct *mm,
dsb(ish);
}
+static inline void __flush_tlb_kernel_pgtable(unsigned long kaddr)
+{
+ unsigned long addr = __TLBI_VADDR(kaddr, 0);
+
+ __tlbi(vaae1is, addr);
+ dsb(ish);
+}
#endif
#endif