summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Capper <steve.capper@linaro.org>2014-04-24 15:33:21 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2014-04-25 16:46:49 +0100
commit2eb835e058c737205d35d9a8791ad27b0f9e89a4 (patch)
treeee87c206a0f1c55db2ff6fdfcfd5f044d47cb2e4
parentc46a98ab1045565db6d858b628fbfde80f05281a (diff)
downloadlinux-2eb835e058c737205d35d9a8791ad27b0f9e89a4.tar.gz
linux-2eb835e058c737205d35d9a8791ad27b0f9e89a4.tar.bz2
linux-2eb835e058c737205d35d9a8791ad27b0f9e89a4.zip
arm64: mm: Add THP TLB entries to general mmu_gather
When arm64 moved over to the core mmu_gather, it lost the logic to flush THP TLB entries (tlb_remove_pmd_tlb_entry was removed and the core implementation only signals that the mmu_gather needs a flush). This patch ensures that tlb_add_flush is called for THP TLB entries. Signed-off-by: Steve Capper <steve.capper@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--arch/arm64/include/asm/tlb.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/tlb.h b/arch/arm64/include/asm/tlb.h
index 72cadf52ca80..80e2c08900d6 100644
--- a/arch/arm64/include/asm/tlb.h
+++ b/arch/arm64/include/asm/tlb.h
@@ -19,6 +19,7 @@
#ifndef __ASM_TLB_H
#define __ASM_TLB_H
+#define __tlb_remove_pmd_tlb_entry __tlb_remove_pmd_tlb_entry
#include <asm-generic/tlb.h>
@@ -99,5 +100,10 @@ static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp,
}
#endif
+static inline void __tlb_remove_pmd_tlb_entry(struct mmu_gather *tlb, pmd_t *pmdp,
+ unsigned long address)
+{
+ tlb_add_flush(tlb, address);
+}
#endif