diff options
Diffstat (limited to 'include/asm-generic/tlb.h')
-rw-r--r-- | include/asm-generic/tlb.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index 4329bc6ef04b..8afa4335e5b2 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
@@ -270,6 +270,12 @@ static inline void tlb_remove_check_page_size_change(struct mmu_gather *tlb, | |||
270 | __pte_free_tlb(tlb, ptep, address); \ | 270 | __pte_free_tlb(tlb, ptep, address); \ |
271 | } while (0) | 271 | } while (0) |
272 | 272 | ||
273 | #define pmd_free_tlb(tlb, pmdp, address) \ | ||
274 | do { \ | ||
275 | __tlb_adjust_range(tlb, address, PAGE_SIZE); \ | ||
276 | __pmd_free_tlb(tlb, pmdp, address); \ | ||
277 | } while (0) | ||
278 | |||
273 | #ifndef __ARCH_HAS_4LEVEL_HACK | 279 | #ifndef __ARCH_HAS_4LEVEL_HACK |
274 | #define pud_free_tlb(tlb, pudp, address) \ | 280 | #define pud_free_tlb(tlb, pudp, address) \ |
275 | do { \ | 281 | do { \ |
@@ -278,11 +284,13 @@ static inline void tlb_remove_check_page_size_change(struct mmu_gather *tlb, | |||
278 | } while (0) | 284 | } while (0) |
279 | #endif | 285 | #endif |
280 | 286 | ||
281 | #define pmd_free_tlb(tlb, pmdp, address) \ | 287 | #ifndef __ARCH_HAS_5LEVEL_HACK |
288 | #define p4d_free_tlb(tlb, pudp, address) \ | ||
282 | do { \ | 289 | do { \ |
283 | __tlb_adjust_range(tlb, address, PAGE_SIZE); \ | 290 | __tlb_adjust_range(tlb, address, PAGE_SIZE); \ |
284 | __pmd_free_tlb(tlb, pmdp, address); \ | 291 | __p4d_free_tlb(tlb, pudp, address); \ |
285 | } while (0) | 292 | } while (0) |
293 | #endif | ||
286 | 294 | ||
287 | #define tlb_migrate_finish(mm) do {} while (0) | 295 | #define tlb_migrate_finish(mm) do {} while (0) |
288 | 296 | ||