Home
last modified time | relevance | path

Searched refs:tlb (Results 1 – 25 of 160) sorted by relevance

1234567

/Linux-v4.19/arch/arm/include/asm/
Dtlb.h26 #define tlb_flush(tlb) ((void) tlb) argument
53 extern void tlb_table_flush(struct mmu_gather *tlb);
54 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
56 #define tlb_remove_entry(tlb, entry) tlb_remove_table(tlb, entry) argument
58 #define tlb_remove_entry(tlb, entry) tlb_remove_page(tlb, entry) argument
97 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
99 if (tlb->fullmm || !tlb->vma) in tlb_flush()
100 flush_tlb_mm(tlb->mm); in tlb_flush()
101 else if (tlb->range_end > 0) { in tlb_flush()
102 flush_tlb_range(tlb->vma, tlb->range_start, tlb->range_end); in tlb_flush()
[all …]
/Linux-v4.19/arch/ia64/include/asm/
Dtlb.h96 ia64_tlb_flush_mmu_tlbonly(struct mmu_gather *tlb, unsigned long start, unsigned long end) in ia64_tlb_flush_mmu_tlbonly() argument
98 tlb->need_flush = 0; in ia64_tlb_flush_mmu_tlbonly()
100 if (tlb->fullmm) { in ia64_tlb_flush_mmu_tlbonly()
106 flush_tlb_mm(tlb->mm); in ia64_tlb_flush_mmu_tlbonly()
121 struct vm_area_struct vma = TLB_FLUSH_VMA(tlb->mm, 0); in ia64_tlb_flush_mmu_tlbonly()
132 ia64_tlb_flush_mmu_free(struct mmu_gather *tlb) in ia64_tlb_flush_mmu_free() argument
138 nr = tlb->nr; in ia64_tlb_flush_mmu_free()
140 tlb->nr = 0; in ia64_tlb_flush_mmu_free()
141 tlb->start_addr = ~0UL; in ia64_tlb_flush_mmu_free()
143 free_page_and_swap_cache(tlb->pages[i]); in ia64_tlb_flush_mmu_free()
[all …]
/Linux-v4.19/arch/um/include/asm/
Dtlb.h11 #define tlb_start_vma(tlb, vma) do { } while (0) argument
12 #define tlb_end_vma(tlb, vma) do { } while (0) argument
13 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
26 static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, in __tlb_remove_tlb_entry() argument
29 if (tlb->start > address) in __tlb_remove_tlb_entry()
30 tlb->start = address; in __tlb_remove_tlb_entry()
31 if (tlb->end < address + PAGE_SIZE) in __tlb_remove_tlb_entry()
32 tlb->end = address + PAGE_SIZE; in __tlb_remove_tlb_entry()
35 static inline void init_tlb_gather(struct mmu_gather *tlb) in init_tlb_gather() argument
37 tlb->need_flush = 0; in init_tlb_gather()
[all …]
/Linux-v4.19/include/asm-generic/
Dtlb.h61 extern void tlb_table_flush(struct mmu_gather *tlb);
62 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
116 void arch_tlb_gather_mmu(struct mmu_gather *tlb,
118 void tlb_flush_mmu(struct mmu_gather *tlb);
119 void arch_tlb_finish_mmu(struct mmu_gather *tlb,
121 extern bool __tlb_remove_page_size(struct mmu_gather *tlb, struct page *page,
124 static inline void __tlb_adjust_range(struct mmu_gather *tlb, in __tlb_adjust_range() argument
128 tlb->start = min(tlb->start, address); in __tlb_adjust_range()
129 tlb->end = max(tlb->end, address + range_size); in __tlb_adjust_range()
132 static inline void __tlb_reset_range(struct mmu_gather *tlb) in __tlb_reset_range() argument
[all …]
/Linux-v4.19/arch/sh/include/asm/
Dtlb.h28 static inline void init_tlb_gather(struct mmu_gather *tlb) in init_tlb_gather() argument
30 tlb->start = TASK_SIZE; in init_tlb_gather()
31 tlb->end = 0; in init_tlb_gather()
33 if (tlb->fullmm) { in init_tlb_gather()
34 tlb->start = 0; in init_tlb_gather()
35 tlb->end = TASK_SIZE; in init_tlb_gather()
40 arch_tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, in arch_tlb_gather_mmu() argument
43 tlb->mm = mm; in arch_tlb_gather_mmu()
44 tlb->start = start; in arch_tlb_gather_mmu()
45 tlb->end = end; in arch_tlb_gather_mmu()
[all …]
Dtlb_64.h28 #define for_each_dtlb_entry(tlb) \ argument
29 for (tlb = cpu_data->dtlb.first; \
30 tlb <= cpu_data->dtlb.last; \
31 tlb += cpu_data->dtlb.step)
38 #define for_each_itlb_entry(tlb) \ argument
39 for (tlb = cpu_data->itlb.first; \
40 tlb <= cpu_data->itlb.last; \
41 tlb += cpu_data->itlb.step)
/Linux-v4.19/arch/s390/include/asm/
Dtlb.h48 extern void tlb_table_flush(struct mmu_gather *tlb);
49 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
52 arch_tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, in arch_tlb_gather_mmu() argument
55 tlb->mm = mm; in arch_tlb_gather_mmu()
56 tlb->start = start; in arch_tlb_gather_mmu()
57 tlb->end = end; in arch_tlb_gather_mmu()
58 tlb->fullmm = !(start | (end+1)); in arch_tlb_gather_mmu()
59 tlb->batch = NULL; in arch_tlb_gather_mmu()
62 static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb) in tlb_flush_mmu_tlbonly() argument
64 __tlb_flush_mm_lazy(tlb->mm); in tlb_flush_mmu_tlbonly()
[all …]
/Linux-v4.19/arch/arm64/include/asm/
Dtlb.h27 #define tlb_remove_entry(tlb, entry) tlb_remove_table(tlb, entry) argument
33 #define tlb_remove_entry(tlb, entry) tlb_remove_page(tlb, entry) argument
36 static void tlb_flush(struct mmu_gather *tlb);
40 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
42 struct vm_area_struct vma = TLB_FLUSH_VMA(tlb->mm, 0); in tlb_flush()
48 if (tlb->fullmm) in tlb_flush()
56 __flush_tlb_range(&vma, tlb->start, tlb->end, true); in tlb_flush()
59 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, in __pte_free_tlb() argument
62 __flush_tlb_pgtable(tlb->mm, addr); in __pte_free_tlb()
64 tlb_remove_entry(tlb, pte); in __pte_free_tlb()
[all …]
/Linux-v4.19/arch/sh/mm/
Dtlbflush_64.c34 unsigned long tlb; in local_flush_tlb_one() local
43 for_each_itlb_entry(tlb) { in local_flush_tlb_one()
46 : "r" (tlb) ); in local_flush_tlb_one()
49 __flush_tlb_slot(tlb); in local_flush_tlb_one()
54 for_each_dtlb_entry(tlb) { in local_flush_tlb_one()
57 : "r" (tlb) ); in local_flush_tlb_one()
60 __flush_tlb_slot(tlb); in local_flush_tlb_one()
84 unsigned long tlb; in local_flush_tlb_range() local
100 for_each_itlb_entry(tlb) { in local_flush_tlb_range()
103 : "r" (tlb) ); in local_flush_tlb_range()
[all …]
DMakefile31 debugfs-$(CONFIG_CPU_SH4) += tlb-debugfs.o
32 tlb-$(CONFIG_CPU_SH3) := tlb-sh3.o
33 tlb-$(CONFIG_CPU_SH4) := tlb-sh4.o tlb-urb.o
34 tlb-$(CONFIG_CPU_SH5) := tlb-sh5.o
35 tlb-$(CONFIG_CPU_HAS_PTEAEX) := tlb-pteaex.o tlb-urb.o
36 obj-y += $(tlb-y)
/Linux-v4.19/arch/parisc/include/asm/
Dtlb.h5 #define tlb_flush(tlb) \ argument
6 do { if ((tlb)->fullmm) \
7 flush_tlb_mm((tlb)->mm);\
10 #define tlb_start_vma(tlb, vma) \ argument
11 do { if (!(tlb)->fullmm) \
15 #define tlb_end_vma(tlb, vma) \ argument
16 do { if (!(tlb)->fullmm) \
20 #define __tlb_remove_tlb_entry(tlb, pte, address) \ argument
25 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
26 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
/Linux-v4.19/arch/xtensa/include/asm/
Dtlb.h21 # define tlb_start_vma(tlb,vma) do { } while (0) argument
22 # define tlb_end_vma(tlb,vma) do { } while (0) argument
26 # define tlb_start_vma(tlb, vma) \ argument
28 if (!tlb->fullmm) \
32 # define tlb_end_vma(tlb, vma) \ argument
34 if (!tlb->fullmm) \
40 #define __tlb_remove_tlb_entry(tlb,pte,addr) do { } while (0) argument
41 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
45 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
/Linux-v4.19/arch/x86/include/asm/
Dtlb.h5 #define tlb_start_vma(tlb, vma) do { } while (0) argument
6 #define tlb_end_vma(tlb, vma) do { } while (0) argument
7 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
9 #define tlb_flush(tlb) \ argument
11 if (!tlb->fullmm && !tlb->need_flush_all) \
12 flush_tlb_mm_range(tlb->mm, tlb->start, tlb->end, 0UL); \
14 flush_tlb_mm_range(tlb->mm, 0UL, TLB_FLUSH_ALL, 0UL); \
Dpgalloc.h68 extern void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte);
70 static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pte_free_tlb() argument
73 ___pte_free_tlb(tlb, pte); in __pte_free_tlb()
119 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd);
121 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
124 ___pmd_free_tlb(tlb, pmd); in __pmd_free_tlb()
159 extern void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud);
161 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, in __pud_free_tlb() argument
164 ___pud_free_tlb(tlb, pud); in __pud_free_tlb()
194 extern void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d);
[all …]
/Linux-v4.19/arch/nds32/include/asm/
Dtlb.h7 #define tlb_start_vma(tlb,vma) \ argument
9 if (!tlb->fullmm) \
13 #define tlb_end_vma(tlb,vma) \ argument
15 if(!tlb->fullmm) \
19 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0) argument
21 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
25 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
26 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tln)->mm, pmd) argument
/Linux-v4.19/arch/powerpc/include/asm/
Dtlb.h27 #define tlb_start_vma(tlb, vma) do { } while (0) argument
28 #define tlb_end_vma(tlb, vma) do { } while (0) argument
32 extern void tlb_flush(struct mmu_gather *tlb);
40 static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, in __tlb_remove_tlb_entry() argument
45 flush_hash_entry(tlb->mm, ptep, address); in __tlb_remove_tlb_entry()
49 static inline void tlb_remove_check_page_size_change(struct mmu_gather *tlb, in tlb_remove_check_page_size_change() argument
52 if (!tlb->page_size) in tlb_remove_check_page_size_change()
53 tlb->page_size = page_size; in tlb_remove_check_page_size_change()
54 else if (tlb->page_size != page_size) { in tlb_remove_check_page_size_change()
55 if (!tlb->fullmm) in tlb_remove_check_page_size_change()
[all …]
/Linux-v4.19/arch/alpha/include/asm/
Dtlb.h5 #define tlb_start_vma(tlb, vma) do { } while (0) argument
6 #define tlb_end_vma(tlb, vma) do { } while (0) argument
7 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0) argument
9 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
13 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
14 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
/Linux-v4.19/arch/arc/include/asm/
Dtlb.h12 #define tlb_flush(tlb) \ argument
14 if (tlb->fullmm) \
15 flush_tlb_mm((tlb)->mm); \
27 #define tlb_start_vma(tlb, vma) argument
29 #define tlb_start_vma(tlb, vma) \ argument
31 if (!tlb->fullmm) \
36 #define tlb_end_vma(tlb, vma) \ argument
38 if (!tlb->fullmm) \
42 #define __tlb_remove_tlb_entry(tlb, ptep, address) argument
/Linux-v4.19/arch/unicore32/include/asm/
Dtlb.h15 #define tlb_start_vma(tlb, vma) do { } while (0) argument
16 #define tlb_end_vma(tlb, vma) do { } while (0) argument
17 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
18 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
20 #define __pte_free_tlb(tlb, pte, addr) \ argument
23 tlb_remove_page((tlb), (pte)); \
/Linux-v4.19/arch/nios2/include/asm/
Dtlb.h14 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
22 #define tlb_start_vma(tlb, vma) \ argument
24 if (!tlb->fullmm) \
28 #define tlb_end_vma(tlb, vma) do { } while (0) argument
29 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
/Linux-v4.19/arch/sparc/include/asm/
Dpgalloc_64.h83 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
88 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
101 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
107 static inline void __pte_free_tlb(struct mmu_gather *tlb, pte_t *pte, in __pte_free_tlb() argument
110 pgtable_free_tlb(tlb, pte, true); in __pte_free_tlb()
113 #define __pmd_free_tlb(tlb, pmd, addr) \ argument
114 pgtable_free_tlb(tlb, pmd, false)
116 #define __pud_free_tlb(tlb, pud, addr) \ argument
117 pgtable_free_tlb(tlb, pud, false)
/Linux-v4.19/arch/mips/include/asm/
Dtlb.h12 #define tlb_start_vma(tlb, vma) \ argument
14 if (!tlb->fullmm) \
17 #define tlb_end_vma(tlb, vma) do { } while (0) argument
18 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
23 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/Linux-v4.19/arch/openrisc/include/asm/
Dtlb.h26 #define tlb_start_vma(tlb, vma) do { } while (0) argument
27 #define tlb_end_vma(tlb, vma) do { } while (0) argument
28 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
30 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/Linux-v4.19/arch/hexagon/include/asm/
Dtlb.h28 #define tlb_start_vma(tlb, vma) do { } while (0) argument
29 #define tlb_end_vma(tlb, vma) do { } while (0) argument
30 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
35 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/Linux-v4.19/arch/m68k/include/asm/
Dtlb.h9 #define tlb_start_vma(tlb, vma) do { } while (0) argument
10 #define tlb_end_vma(tlb, vma) do { } while (0) argument
11 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
17 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument

1234567