arm64: tlbflush: Introduce __flush_tlb_kernel_pgtable
authorChintan Pandya <cpandya@codeaurora.org>
Wed, 6 Jun 2018 07:01:20 +0000 (12:31 +0530)
committerWill Deacon <will.deacon@arm.com>
Fri, 6 Jul 2018 12:17:14 +0000 (13:17 +0100)
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>
arch/arm64/include/asm/tlbflush.h

index dfc61d73f7402a0e6167d07e52b9e8b977b95493..a4a1901140ee98d21863f4f2978a7b627c5d0014 100644 (file)
@@ -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