25 #include <asm/pgalloc.h>
26 #include <asm/tlbflush.h>
28 #define MMU_GATHER_BUNDLE 8
70 static inline void tlb_add_flush(
struct mmu_gather *tlb,
unsigned long addr)
80 static inline void __tlb_alloc_page(
struct mmu_gather *tlb)
85 tlb->
pages = (
void *)addr;
96 __tlb_alloc_page(tlb);
108 __tlb_alloc_page(tlb);
129 tlb_add_flush(tlb, addr);
158 return tlb->
max - tlb->
nr;
170 pgtable_page_dtor(pte);
171 tlb_add_flush(tlb, addr);
172 tlb_remove_page(tlb, pte);
175 #ifndef CONFIG_ARM64_64K_PAGES
179 tlb_add_flush(tlb, addr);
184 #define pte_free_tlb(tlb, ptep, addr) __pte_free_tlb(tlb, ptep, addr)
185 #define pmd_free_tlb(tlb, pmdp, addr) __pmd_free_tlb(tlb, pmdp, addr)
186 #define pud_free_tlb(tlb, pudp, addr) pud_free((tlb)->mm, pudp)
188 #define tlb_migrate_finish(mm) do { } while (0)