Home
last modified time | relevance | path

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

/linux-4.4.14/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 …]
Dhugetlb.h30 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
35 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
Dprocinfo.h40 struct cpu_tlb_fns *tlb; member
/linux-4.4.14/Documentation/frv/
Dgdbinit25 printf "tlb[0x00]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x0].L,__debug_mmu.tlb[0x0].P,__debu…
26 printf "tlb[0x01]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x1].L,__debug_mmu.tlb[0x1].P,__debu…
27 printf "tlb[0x02]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x2].L,__debug_mmu.tlb[0x2].P,__debu…
28 printf "tlb[0x03]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x3].L,__debug_mmu.tlb[0x3].P,__debu…
29 printf "tlb[0x04]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x4].L,__debug_mmu.tlb[0x4].P,__debu…
30 printf "tlb[0x05]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x5].L,__debug_mmu.tlb[0x5].P,__debu…
31 printf "tlb[0x06]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x6].L,__debug_mmu.tlb[0x6].P,__debu…
32 printf "tlb[0x07]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x7].L,__debug_mmu.tlb[0x7].P,__debu…
33 printf "tlb[0x08]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x8].L,__debug_mmu.tlb[0x8].P,__debu…
34 printf "tlb[0x09]: %08lx %08lx %08lx %08lx\n",__debug_mmu.tlb[0x9].L,__debug_mmu.tlb[0x9].P,__debu…
[all …]
Dmmu-layout.txt216 (*) __debug_mmu.tlb[]
221 tlb[0x00]: 01000005 00718203 01000002 00718203
222 tlb[0x01]: 01004002 006d4201 01004005 006d4203
223 tlb[0x02]: 01008002 006d0201 01008006 00004200
224 tlb[0x03]: 0100c006 007f4202 0100c002 0064c202
225 tlb[0x04]: 01110005 00774201 01110002 00774201
226 tlb[0x05]: 01114005 00770201 01114002 00770201
227 tlb[0x06]: 01118002 0076c201 01118005 0076c201
229 tlb[0x3d]: 010f4002 00790200 001f4002 0054ca02
230 tlb[0x3e]: 010f8005 0078c201 010f8002 0078c201
[all …]
/linux-4.4.14/arch/ia64/include/asm/
Dtlb.h95 ia64_tlb_flush_mmu_tlbonly(struct mmu_gather *tlb, unsigned long start, unsigned long end) in ia64_tlb_flush_mmu_tlbonly() argument
97 tlb->need_flush = 0; in ia64_tlb_flush_mmu_tlbonly()
99 if (tlb->fullmm) { in ia64_tlb_flush_mmu_tlbonly()
105 flush_tlb_mm(tlb->mm); in ia64_tlb_flush_mmu_tlbonly()
122 vma.vm_mm = tlb->mm; 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 …]
Dpgalloc.h51 #define __pud_free_tlb(tlb, pud, address) pud_free((tlb)->mm, pud) argument
70 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
123 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
Dhugetlb.h8 void hugetlb_free_pgd_range(struct mmu_gather *tlb, unsigned long addr,
/linux-4.4.14/arch/um/include/asm/
Dtlb.h10 #define tlb_start_vma(tlb, vma) do { } while (0) argument
11 #define tlb_end_vma(tlb, vma) do { } while (0) argument
12 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
25 static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, in __tlb_remove_tlb_entry() argument
28 if (tlb->start > address) in __tlb_remove_tlb_entry()
29 tlb->start = address; in __tlb_remove_tlb_entry()
30 if (tlb->end < address + PAGE_SIZE) in __tlb_remove_tlb_entry()
31 tlb->end = address + PAGE_SIZE; in __tlb_remove_tlb_entry()
34 static inline void init_tlb_gather(struct mmu_gather *tlb) in init_tlb_gather() argument
36 tlb->need_flush = 0; in init_tlb_gather()
[all …]
Dpgalloc.h42 #define __pte_free_tlb(tlb,pte, address) \ argument
45 tlb_remove_page((tlb),(pte)); \
55 #define __pmd_free_tlb(tlb,x, address) tlb_remove_page((tlb),virt_to_page(x)) argument
/linux-4.4.14/arch/sh/include/asm/
Dtlb.h27 static inline void init_tlb_gather(struct mmu_gather *tlb) in init_tlb_gather() argument
29 tlb->start = TASK_SIZE; in init_tlb_gather()
30 tlb->end = 0; in init_tlb_gather()
32 if (tlb->fullmm) { in init_tlb_gather()
33 tlb->start = 0; in init_tlb_gather()
34 tlb->end = TASK_SIZE; in init_tlb_gather()
39 tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end) in tlb_gather_mmu() argument
41 tlb->mm = mm; in tlb_gather_mmu()
42 tlb->start = start; in tlb_gather_mmu()
43 tlb->end = end; in 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)
Dhugetlb.h29 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
34 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
Dpgalloc.h68 #define __pte_free_tlb(tlb,pte,addr) \ argument
71 tlb_remove_page((tlb), (pte)); \
/linux-4.4.14/include/asm-generic/
Dtlb.h60 extern void tlb_table_flush(struct mmu_gather *tlb);
61 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
114 void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned lon…
115 void tlb_flush_mmu(struct mmu_gather *tlb);
116 void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start,
118 int __tlb_remove_page(struct mmu_gather *tlb, struct page *page);
124 static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) in tlb_remove_page() argument
126 if (!__tlb_remove_page(tlb, page)) in tlb_remove_page()
127 tlb_flush_mmu(tlb); in tlb_remove_page()
130 static inline void __tlb_adjust_range(struct mmu_gather *tlb, in __tlb_adjust_range() argument
[all …]
D4level-fixup.h31 #define pud_free_tlb(tlb, x, addr) do { } while (0) argument
33 #define __pud_free_tlb(tlb, x, addr) do { } while (0) argument
Dpgtable-nopud.h55 #define __pud_free_tlb(tlb, x, a) do { } while (0) argument
Dpgtable-nopmd.h62 #define __pmd_free_tlb(tlb, x, a) do { } while (0) argument
/linux-4.4.14/arch/s390/include/asm/
Dtlb.h47 extern void tlb_table_flush(struct mmu_gather *tlb);
48 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
50 static inline void tlb_gather_mmu(struct mmu_gather *tlb, in tlb_gather_mmu() argument
55 tlb->mm = mm; in tlb_gather_mmu()
56 tlb->start = start; in tlb_gather_mmu()
57 tlb->end = end; in tlb_gather_mmu()
58 tlb->fullmm = !(start | (end+1)); in tlb_gather_mmu()
59 tlb->batch = NULL; in 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-4.4.14/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
38 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
40 struct vm_area_struct vma = { .vm_mm = tlb->mm, }; in tlb_flush()
46 if (tlb->fullmm) in tlb_flush()
54 __flush_tlb_range(&vma, tlb->start, tlb->end, true); in tlb_flush()
57 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, in __pte_free_tlb() argument
60 __flush_tlb_pgtable(tlb->mm, addr); in __pte_free_tlb()
62 tlb_remove_entry(tlb, pte); in __pte_free_tlb()
66 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, in __pmd_free_tlb() argument
[all …]
Dhugetlb.h60 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
65 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
/linux-4.4.14/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 …]
DMakefile29 debugfs-$(CONFIG_CPU_SH4) += tlb-debugfs.o
30 tlb-$(CONFIG_CPU_SH3) := tlb-sh3.o
31 tlb-$(CONFIG_CPU_SH4) := tlb-sh4.o tlb-urb.o
32 tlb-$(CONFIG_CPU_SH5) := tlb-sh5.o
33 tlb-$(CONFIG_CPU_HAS_PTEAEX) := tlb-pteaex.o tlb-urb.o
34 obj-y += $(tlb-y)
/linux-4.4.14/arch/parisc/include/asm/
Dtlb.h4 #define tlb_flush(tlb) \ argument
5 do { if ((tlb)->fullmm) \
6 flush_tlb_mm((tlb)->mm);\
9 #define tlb_start_vma(tlb, vma) \ argument
10 do { if (!(tlb)->fullmm) \
14 #define tlb_end_vma(tlb, vma) \ argument
15 do { if (!(tlb)->fullmm) \
19 #define __tlb_remove_tlb_entry(tlb, pte, address) \ argument
24 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
25 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
Dhugetlb.h34 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
39 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
/linux-4.4.14/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-4.4.14/arch/x86/include/asm/
Dtlb.h4 #define tlb_start_vma(tlb, vma) do { } while (0) argument
5 #define tlb_end_vma(tlb, vma) do { } while (0) argument
6 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
8 #define tlb_flush(tlb) \ argument
10 if (!tlb->fullmm && !tlb->need_flush_all) \
11 flush_tlb_mm_range(tlb->mm, tlb->start, tlb->end, 0UL); \
13 flush_tlb_mm_range(tlb->mm, 0UL, TLB_FLUSH_ALL, 0UL); \
Dpgalloc.h54 extern void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte);
56 static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pte_free_tlb() argument
59 ___pte_free_tlb(tlb, pte); in __pte_free_tlb()
101 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd);
103 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
106 ___pmd_free_tlb(tlb, pmd); in __pmd_free_tlb()
137 extern void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud);
139 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, in __pud_free_tlb() argument
142 ___pud_free_tlb(tlb, pud); in __pud_free_tlb()
Dhugetlb.h30 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
35 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
/linux-4.4.14/arch/mips/kvm/
Dtlb.c71 struct kvm_mips_tlb tlb; in kvm_mips_dump_host_tlbs() local
90 tlb.tlb_hi = read_c0_entryhi(); in kvm_mips_dump_host_tlbs()
91 tlb.tlb_lo0 = read_c0_entrylo0(); in kvm_mips_dump_host_tlbs()
92 tlb.tlb_lo1 = read_c0_entrylo1(); in kvm_mips_dump_host_tlbs()
93 tlb.tlb_mask = read_c0_pagemask(); in kvm_mips_dump_host_tlbs()
96 (tlb.tlb_lo0 | tlb.tlb_lo1) & MIPS3_PG_V ? ' ' : '*', in kvm_mips_dump_host_tlbs()
97 i, tlb.tlb_hi); in kvm_mips_dump_host_tlbs()
99 (uint64_t) mips3_tlbpfn_to_paddr(tlb.tlb_lo0), in kvm_mips_dump_host_tlbs()
100 (tlb.tlb_lo0 & MIPS3_PG_D) ? 'D' : ' ', in kvm_mips_dump_host_tlbs()
101 (tlb.tlb_lo0 & MIPS3_PG_G) ? 'G' : ' ', in kvm_mips_dump_host_tlbs()
[all …]
Demulate.c815 struct kvm_mips_tlb *tlb = NULL; in kvm_mips_emul_tlbwi() local
828 tlb = &vcpu->arch.guest_tlb[index]; in kvm_mips_emul_tlbwi()
833 kvm_mips_host_tlb_inv(vcpu, tlb->tlb_hi); in kvm_mips_emul_tlbwi()
835 tlb->tlb_mask = kvm_read_c0_guest_pagemask(cop0); in kvm_mips_emul_tlbwi()
836 tlb->tlb_hi = kvm_read_c0_guest_entryhi(cop0); in kvm_mips_emul_tlbwi()
837 tlb->tlb_lo0 = kvm_read_c0_guest_entrylo0(cop0); in kvm_mips_emul_tlbwi()
838 tlb->tlb_lo1 = kvm_read_c0_guest_entrylo1(cop0); in kvm_mips_emul_tlbwi()
853 struct kvm_mips_tlb *tlb = NULL; in kvm_mips_emul_tlbwr() local
860 tlb = &vcpu->arch.guest_tlb[index]; in kvm_mips_emul_tlbwr()
866 kvm_mips_host_tlb_inv(vcpu, tlb->tlb_hi); in kvm_mips_emul_tlbwr()
[all …]
DMakefile15 obj-y += callback.o tlb.o
/linux-4.4.14/arch/alpha/include/asm/
Dtlb.h4 #define tlb_start_vma(tlb, vma) do { } while (0) argument
5 #define tlb_end_vma(tlb, vma) do { } while (0) argument
6 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0) argument
8 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
12 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
13 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
/linux-4.4.14/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
Dpgalloc.h134 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
/linux-4.4.14/arch/metag/include/asm/
Dtlb.h11 #define tlb_start_vma(tlb, vma) \ argument
13 if (!tlb->fullmm) \
17 #define tlb_end_vma(tlb, vma) \ argument
19 if (!tlb->fullmm) \
26 #define tlb_start_vma(tlb, vma) do { } while (0) argument
27 #define tlb_end_vma(tlb, vma) do { } while (0) argument
31 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0) argument
32 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dhugetlb.h17 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
22 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
Dpgalloc.h75 #define __pte_free_tlb(tlb, pte, addr) \ argument
78 tlb_remove_page((tlb), (pte)); \
/linux-4.4.14/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-4.4.14/arch/powerpc/include/asm/
Dpgalloc-64.h124 static inline void pgtable_free_tlb(struct mmu_gather *tlb, in pgtable_free_tlb() argument
130 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
141 static inline void pgtable_free_tlb(struct mmu_gather *tlb, in pgtable_free_tlb() argument
148 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
151 tlb_flush_pgtable(tlb, address); in __pte_free_tlb()
153 pgtable_free_tlb(tlb, page_address(table), 0); in __pte_free_tlb()
170 extern void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift);
216 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
219 tlb_flush_pgtable(tlb, address); in __pte_free_tlb()
220 pgtable_free_tlb(tlb, table, 0); in __pte_free_tlb()
[all …]
Dtlb.h28 #define tlb_start_vma(tlb, vma) do { } while (0) argument
29 #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()
Dpgalloc-32.h20 #define __pmd_free_tlb(tlb,x,a) do { } while (0) argument
60 static inline void pgtable_free_tlb(struct mmu_gather *tlb, in pgtable_free_tlb() argument
66 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
77 static inline void pgtable_free_tlb(struct mmu_gather *tlb, in pgtable_free_tlb() argument
84 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
87 tlb_flush_pgtable(tlb, address); in __pte_free_tlb()
89 pgtable_free_tlb(tlb, page_address(table), 0); in __pte_free_tlb()
Dpgalloc.h8 extern void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address);
10 static inline void tlb_flush_pgtable(struct mmu_gather *tlb, in tlb_flush_pgtable() argument
16 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
Dhugetlb.h90 void hugetlb_free_pgd_range(struct mmu_gather *tlb, unsigned long addr,
/linux-4.4.14/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
Dpgalloc.h78 #define __pte_free_tlb(tlb, pte, addr) \ argument
81 tlb_remove_page((tlb), (pte)); \
/linux-4.4.14/arch/mips/include/asm/
Dtlb.h8 #define tlb_start_vma(tlb, vma) \ argument
10 if (!tlb->fullmm) \
13 #define tlb_end_vma(tlb, vma) do { } while (0) argument
14 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
19 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h104 #define __pte_free_tlb(tlb,pte,address) \ argument
107 tlb_remove_page((tlb), pte); \
127 #define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x) argument
Dhugetlb.h41 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
47 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
Dkvm_host.h671 struct kvm_mips_tlb *tlb,
/linux-4.4.14/arch/sparc/include/asm/
Dpgalloc_64.h84 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
89 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
102 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
108 static inline void __pte_free_tlb(struct mmu_gather *tlb, pte_t *pte, in __pte_free_tlb() argument
111 pgtable_free_tlb(tlb, pte, true); in __pte_free_tlb()
114 #define __pmd_free_tlb(tlb, pmd, addr) \ argument
115 pgtable_free_tlb(tlb, pmd, false)
117 #define __pud_free_tlb(tlb, pud, addr) \ argument
118 pgtable_free_tlb(tlb, pud, false)
Dtlb_32.h4 #define tlb_start_vma(tlb, vma) \ argument
9 #define tlb_end_vma(tlb, vma) \ argument
14 #define __tlb_remove_tlb_entry(tlb, pte, address) \ argument
17 #define tlb_flush(tlb) \ argument
19 flush_tlb_mm((tlb)->mm); \
Dtlb_64.h25 #define tlb_start_vma(tlb, vma) do { } while (0) argument
26 #define tlb_end_vma(tlb, vma) do { } while (0) argument
27 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
28 #define tlb_flush(tlb) flush_tlb_pending() argument
Dspitfire.h284 static inline unsigned long cheetah_get_dtlb_data(int entry, int tlb) in cheetah_get_dtlb_data() argument
291 : "r" ((tlb << 16) | (entry << 3)), "i" (ASI_DTLB_DATA_ACCESS)); in cheetah_get_dtlb_data()
296 static inline unsigned long cheetah_get_dtlb_tag(int entry, int tlb) in cheetah_get_dtlb_tag() argument
302 : "r" ((tlb << 16) | (entry << 3)), "i" (ASI_DTLB_TAG_READ)); in cheetah_get_dtlb_tag()
306 static inline void cheetah_put_dtlb_data(int entry, unsigned long data, int tlb) in cheetah_put_dtlb_data() argument
312 "r" ((tlb << 16) | (entry << 3)), in cheetah_put_dtlb_data()
Dpgalloc_32.h52 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
77 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
Dhugetlb.h34 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
39 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
/linux-4.4.14/arch/blackfin/include/asm/
Dtlb.h10 #define tlb_start_vma(tlb, vma) do { } while (0) argument
11 #define tlb_end_vma(tlb, vma) do { } while (0) argument
12 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
18 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/linux-4.4.14/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
Dpgalloc.h142 #define __pte_free_tlb(tlb, pte, addr) \ argument
145 tlb_remove_page((tlb), (pte)); \
/linux-4.4.14/arch/tile/include/asm/
Dtlb.h18 #define tlb_start_vma(tlb, vma) do { } while (0) argument
19 #define tlb_end_vma(tlb, vma) do { } while (0) argument
20 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
21 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h100 extern void __pgtable_free_tlb(struct mmu_gather *tlb, struct page *pte,
102 static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pte_free_tlb() argument
105 __pgtable_free_tlb(tlb, pte, address, L2_USER_PGTABLE_ORDER); in __pte_free_tlb()
155 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, in __pmd_free_tlb() argument
158 __pgtable_free_tlb(tlb, virt_to_page(pmdp), address, in __pmd_free_tlb()
Dhugetlb.h43 static inline void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
48 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
/linux-4.4.14/arch/m68k/include/asm/
Dtlb.h8 #define tlb_start_vma(tlb, vma) do { } while (0) argument
9 #define tlb_end_vma(tlb, vma) do { } while (0) argument
10 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
16 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dsun3_pgalloc.h31 #define __pte_free_tlb(tlb,pte,addr) \ argument
34 tlb_remove_page((tlb), pte); \
82 #define __pmd_free_tlb(tlb, x, addr) do { } while (0) argument
Dmcf_pgalloc.h43 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page, in __pte_free_tlb() argument
49 #define __pmd_free_tlb(tlb, pmd, address) do { } while (0) argument
Dmotorola_pgalloc.h59 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page, in __pte_free_tlb() argument
79 static inline int __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
/linux-4.4.14/arch/m32r/include/asm/
Dtlb.h8 #define tlb_start_vma(tlb, vma) do { } while (0) argument
9 #define tlb_end_vma(tlb, vma) do { } while (0) argument
10 #define __tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) argument
16 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h66 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte)) argument
76 #define __pmd_free_tlb(tlb, x, addr) do { } while (0) argument
/linux-4.4.14/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
Dpgalloc.h103 #define __pte_free_tlb(tlb, pte, addr) tlb_remove_page((tlb), (pte)) argument
/linux-4.4.14/arch/cris/include/asm/
Dtlb.h12 #define tlb_start_vma(tlb, vma) do { } while (0) argument
13 #define tlb_end_vma(tlb, vma) do { } while (0) argument
14 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
16 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h55 #define __pte_free_tlb(tlb,pte,address) \ argument
58 tlb_remove_page((tlb), pte); \
/linux-4.4.14/arch/score/include/asm/
Dtlb.h8 #define tlb_start_vma(tlb, vma) do {} while (0) argument
9 #define tlb_end_vma(tlb, vma) do {} while (0) argument
10 #define __tlb_remove_tlb_entry(tlb, ptep, address) do {} while (0) argument
11 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h78 #define __pte_free_tlb(tlb, pte, buf) \ argument
81 tlb_remove_page((tlb), pte); \
/linux-4.4.14/arch/mn10300/include/asm/
Dtlb.h22 #define tlb_start_vma(tlb, vma) do { } while (0) argument
23 #define tlb_end_vma(tlb, vma) do { } while (0) argument
24 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
29 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h54 #define __pte_free_tlb(tlb, pte, addr) tlb_remove_page((tlb), (pte)) argument
/linux-4.4.14/arch/microblaze/include/asm/
Dtlb.h14 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
19 #define tlb_start_vma(tlb, vma) do { } while (0) argument
20 #define tlb_end_vma(tlb, vma) do { } while (0) argument
21 #define __tlb_remove_tlb_entry(tlb, pte, address) do { } while (0) argument
Dpgalloc.h172 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte)) argument
186 #define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x) argument
/linux-4.4.14/arch/frv/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
22 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h52 #define __pte_free_tlb(tlb,pte,address) \ argument
55 tlb_remove_page((tlb),(pte)); \
65 #define __pmd_free_tlb(tlb,x,a) do { } while (0) argument
Dpgtable.h226 #define __pud_free_tlb(tlb, x, address) do { } while (0) argument
/linux-4.4.14/arch/avr32/include/asm/
Dtlb.h11 #define tlb_start_vma(tlb, vma) \ argument
14 #define tlb_end_vma(tlb, vma) \ argument
17 #define __tlb_remove_tlb_entry(tlb, pte, address) do { } while(0) argument
22 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
Dpgalloc.h90 #define __pte_free_tlb(tlb,pte,addr) \ argument
93 tlb_remove_page((tlb), pte); \
/linux-4.4.14/arch/mips/mm/
DMakefile7 tlbex.o tlbex-fault.o tlb-funcs.o
20 obj-$(CONFIG_CPU_R4K_CACHE_TLB) += c-r4k.o cex-gen.o tlb-r4k.o
21 obj-$(CONFIG_CPU_R3000) += c-r3k.o tlb-r3k.o
22 obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o tlb-r8k.o
23 obj-$(CONFIG_CPU_SB1) += c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o
24 obj-$(CONFIG_CPU_TX39XX) += c-tx39.o tlb-r3k.o
25 obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o
/linux-4.4.14/sound/pci/trident/
Dtrident_memory.c38 do { (trident)->tlb.entries[page] = cpu_to_le32((addr) & ~(SNDRV_TRIDENT_PAGE_SIZE-1)); \
39 (trident)->tlb.shadow_entries[page] = (ptr); } while (0)
41 (void*)((trident)->tlb.shadow_entries[page])
43 (dma_addr_t)le32_to_cpu((trident->tlb.entries[page]) & ~(SNDRV_TRIDENT_PAGE_SIZE - 1))
52 …page) __set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page.area, trident->tlb.sile…
82 …__set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_pag… in set_silent_tlb()
83 …__set_tlb_bus(trident, page+1, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_p… in set_silent_tlb()
118 …__set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_pag… in set_silent_tlb()
201 hdr = trident->tlb.memhdr; in snd_trident_alloc_sg_pages()
250 hdr = trident->tlb.memhdr; in snd_trident_alloc_cont_pages()
[all …]
Dtrident_main.c829 if (trident->tlb.entries) { in snd_trident_allocate_pcm_mem()
922 if (trident->tlb.entries) { in snd_trident_hw_free()
2184 if (trident->tlb.entries) { in snd_trident_pcm()
2199 if (trident->tlb.entries) { in snd_trident_pcm()
2240 if (trident->tlb.entries) in snd_trident_foldback_pcm()
2258 if (trident->tlb.entries) in snd_trident_foldback_pcm()
3312 if (trident->tlb.entries) { in snd_trident_proc_read()
3314 snd_iprintf(buffer, "Memory Maximum : %d\n", trident->tlb.memhdr->size); in snd_trident_proc_read()
3315 snd_iprintf(buffer, "Memory Used : %d\n", trident->tlb.memhdr->used); in snd_trident_proc_read()
3316 snd_iprintf(buffer, "Memory Free : %d\n", snd_util_mem_avail(trident->tlb.memhdr)); in snd_trident_proc_read()
[all …]
Dtrident.h368 struct snd_trident_tlb tlb; /* TLB entries for NX cards */ member
/linux-4.4.14/mm/
Dmemory.c184 static bool tlb_next_batch(struct mmu_gather *tlb) in tlb_next_batch() argument
188 batch = tlb->active; in tlb_next_batch()
190 tlb->active = batch->next; in tlb_next_batch()
194 if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) in tlb_next_batch()
201 tlb->batch_count++; in tlb_next_batch()
206 tlb->active->next = batch; in tlb_next_batch()
207 tlb->active = batch; in tlb_next_batch()
217 void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned lon… in tlb_gather_mmu() argument
219 tlb->mm = mm; in tlb_gather_mmu()
222 tlb->fullmm = !(start | (end+1)); in tlb_gather_mmu()
[all …]
Dhuge_memory.c1456 int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, in zap_huge_pmd() argument
1470 orig_pmd = pmdp_huge_get_and_clear_full(tlb->mm, addr, pmd, in zap_huge_pmd()
1471 tlb->fullmm); in zap_huge_pmd()
1472 tlb_remove_pmd_tlb_entry(tlb, pmd, addr); in zap_huge_pmd()
1478 pte_free(tlb->mm, pgtable_trans_huge_withdraw(tlb->mm, pmd)); in zap_huge_pmd()
1479 atomic_long_dec(&tlb->mm->nr_ptes); in zap_huge_pmd()
1486 add_mm_counter(tlb->mm, MM_ANONPAGES, -HPAGE_PMD_NR); in zap_huge_pmd()
1488 pte_free(tlb->mm, pgtable_trans_huge_withdraw(tlb->mm, pmd)); in zap_huge_pmd()
1489 atomic_long_dec(&tlb->mm->nr_ptes); in zap_huge_pmd()
1491 tlb_remove_page(tlb, page); in zap_huge_pmd()
Dmmap.c2405 struct mmu_gather tlb; in unmap_region() local
2408 tlb_gather_mmu(&tlb, mm, start, end); in unmap_region()
2410 unmap_vmas(&tlb, vma, start, end); in unmap_region()
2411 free_pgtables(&tlb, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, in unmap_region()
2413 tlb_finish_mmu(&tlb, start, end); in unmap_region()
2842 struct mmu_gather tlb; in exit_mmap() local
2866 tlb_gather_mmu(&tlb, mm, 0, -1); in exit_mmap()
2869 unmap_vmas(&tlb, vma, 0, -1); in exit_mmap()
2871 free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, USER_PGTABLES_CEILING); in exit_mmap()
2872 tlb_finish_mmu(&tlb, 0, -1); in exit_mmap()
Dhugetlb.c3156 void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, in __unmap_hugepage_range() argument
3176 tlb_start_vma(tlb, vma); in __unmap_hugepage_range()
3221 tlb_remove_tlb_entry(tlb, ptep, address); in __unmap_hugepage_range()
3227 force_flush = !__tlb_remove_page(tlb, page); in __unmap_hugepage_range()
3248 tlb_flush_mmu(tlb); in __unmap_hugepage_range()
3253 tlb_end_vma(tlb, vma); in __unmap_hugepage_range()
3256 void __unmap_hugepage_range_final(struct mmu_gather *tlb, in __unmap_hugepage_range_final() argument
3260 __unmap_hugepage_range(tlb, vma, start, end, ref_page); in __unmap_hugepage_range_final()
3279 struct mmu_gather tlb; in unmap_hugepage_range() local
3283 tlb_gather_mmu(&tlb, mm, start, end); in unmap_hugepage_range()
[all …]
Dinternal.h36 void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
DKconfig399 huge tlb transparently to the applications whenever possible.
402 allocation, by reducing the number of tlb misses and by speeding
/linux-4.4.14/Documentation/devicetree/bindings/nios2/
Dnios2.txt23 - altr,tlb-num-ways: Specifies the number of set-associativity ways in the TLB.
24 - altr,tlb-num-entries: Specifies the number of entries in the TLB.
25 - altr,tlb-ptr-sz: Specifies size of TLB pointer.
30 - altr,fast-tlb-miss-addr: Specifies CPU fast TLB miss exception address
52 altr,tlb-num-ways = <16>;
53 altr,tlb-num-entries = <128>;
54 altr,tlb-ptr-sz = <7>;
58 altr,fast-tlb-miss-addr = <0xc7fff400>;
/linux-4.4.14/Documentation/DocBook/
Dsh.xml.db4 API-sh64-tlb-init
8 API-sh64-setup-tlb-slot
9 API-sh64-teardown-tlb-slot
12 API---flush-tlb-slot
D.sh.xml.cmd2 ….xml: Documentation/DocBook/sh.tmpl arch/sh/kernel/cpu/sh4/sq.c arch/sh/mm/tlb-sh5.c arch/sh/inclu…
/linux-4.4.14/arch/powerpc/mm/
Dhugetlbpage.c485 static void hugepd_free(struct mmu_gather *tlb, void *hugepte) in hugepd_free() argument
491 if (atomic_read(&tlb->mm->mm_users) < 2 || in hugepd_free()
492 cpumask_equal(mm_cpumask(tlb->mm), in hugepd_free()
513 static void free_hugepd_range(struct mmu_gather *tlb, hugepd_t *hpdp, int pdshift, in free_hugepd_range() argument
545 hugepd_free(tlb, hugepte); in free_hugepd_range()
547 pgtable_free_tlb(tlb, hugepte, pdshift - shift); in free_hugepd_range()
551 static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, in hugetlb_free_pmd_range() argument
580 free_hugepd_range(tlb, (hugepd_t *)pmd, PMD_SHIFT, in hugetlb_free_pmd_range()
597 pmd_free_tlb(tlb, pmd, start); in hugetlb_free_pmd_range()
598 mm_dec_nr_pmds(tlb->mm); in hugetlb_free_pmd_range()
[all …]
Dtlb_nohash.c382 void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
384 flush_tlb_mm(tlb->mm); in tlb_flush()
398 void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address) in tlb_flush_pgtable() argument
412 __flush_tlb_page(tlb->mm, start, tsize, 1); in tlb_flush_pgtable()
426 __flush_tlb_page(tlb->mm, vpte, tsize, 0); in tlb_flush_pgtable()
Dtlb_hash32.c66 void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
Dpgtable_64.c445 void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift) in pgtable_free_tlb() argument
451 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
468 void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift) in pgtable_free_tlb() argument
Dtlb_hash64.c158 void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
/linux-4.4.14/arch/arm/mm/
DMakefile61 obj-$(CONFIG_CPU_TLB_V4WT) += tlb-v4.o
62 obj-$(CONFIG_CPU_TLB_V4WB) += tlb-v4wb.o
63 obj-$(CONFIG_CPU_TLB_V4WBI) += tlb-v4wbi.o
64 obj-$(CONFIG_CPU_TLB_FEROCEON) += tlb-v4wbi.o # reuse v4wbi TLB functions
65 obj-$(CONFIG_CPU_TLB_V6) += tlb-v6.o
66 obj-$(CONFIG_CPU_TLB_V7) += tlb-v7.o
67 obj-$(CONFIG_CPU_TLB_FA) += tlb-fa.o
Dproc-v7m.S155 .long 0 @ proc_info_list.tlb
/linux-4.4.14/arch/c6x/include/asm/
Dtlb.h4 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/linux-4.4.14/drivers/usb/host/
Dohci-omap.c144 unsigned int tlb; in omap_1510_local_bus_init() local
151 for (tlb = 0; tlb < OMAP1510_LB_MEMSIZE; tlb++) { in omap_1510_local_bus_init()
152 lbaddr = tlb * 0x00100000 + OMAP1510_LB_OFFSET; in omap_1510_local_bus_init()
153 physaddr = tlb * 0x00100000 + PHYS_OFFSET; in omap_1510_local_bus_init()
159 omap_writel(tlb << 4, OMAP1510_LB_MMU_LCK); in omap_1510_local_bus_init()
/linux-4.4.14/arch/score/mm/
DMakefile6 tlb-miss.o tlb-score.o pgtable.o
/linux-4.4.14/arch/frv/mm/
DMakefile8 pgalloc.o highmem.o fault.o extable.o cache-page.o tlb-flush.o tlb-miss.o \
/linux-4.4.14/arch/avr32/mm/
Dtlb.c276 static void *tlb_start(struct seq_file *tlb, loff_t *pos) in tlb_start() argument
287 static void *tlb_next(struct seq_file *tlb, void *v, loff_t *pos) in tlb_next() argument
299 static void tlb_stop(struct seq_file *tlb, void *v) in tlb_stop() argument
304 static int tlb_show(struct seq_file *tlb, void *v) in tlb_show() argument
311 seq_puts(tlb, "ID V G ASID VPN PFN AP SZ C B W D\n"); in tlb_show()
333 seq_printf(tlb, "%2lu: %c %c %02x %05x %05x %o %o %c %c %c %c\n", in tlb_show()
DMakefile6 obj-y += ioremap.o cache.o fault.o tlb.o
/linux-4.4.14/arch/x86/mm/
Dpgtable.c55 void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) in ___pte_free_tlb() argument
59 tlb_remove_page(tlb, pte); in ___pte_free_tlb()
63 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) in ___pmd_free_tlb() argument
72 tlb->need_flush_all = 1; in ___pmd_free_tlb()
75 tlb_remove_page(tlb, page); in ___pmd_free_tlb()
79 void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud) in ___pud_free_tlb() argument
82 tlb_remove_page(tlb, virt_to_page(pud)); in ___pud_free_tlb()
DMakefile12 obj-$(CONFIG_SMP) += tlb.o
/linux-4.4.14/arch/nios2/boot/dts/
D3c120_devboard.dts45 altr,tlb-num-ways = <16>;
46 altr,tlb-num-entries = <128>;
47 altr,tlb-ptr-sz = <7>;
51 altr,fast-tlb-miss-addr = <0xc7fff400>;
D10m50_devboard.dts36 altr,fast-tlb-miss-addr = <0xc0000100>;
44 altr,tlb-num-entries = <256>;
45 altr,tlb-num-ways = <16>;
46 altr,tlb-ptr-sz = <8>;
/linux-4.4.14/arch/mn10300/mm/
DMakefile28 init.o fault.o pgtable.o extable.o tlb-mn10300.o mmu-context.o \
31 obj-$(CONFIG_SMP) += tlb-smp.o
/linux-4.4.14/include/linux/
Dswiotlb.h26 int swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose);
29 extern int swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs);
Dhugetlb.h70 void __unmap_hugepage_range_final(struct mmu_gather *tlb,
74 void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma,
151 #define hugetlb_free_pgd_range(tlb, addr, end, floor, ceiling) ({BUG(); 0; }) argument
171 static inline void __unmap_hugepage_range_final(struct mmu_gather *tlb, in __unmap_hugepage_range_final() argument
178 static inline void __unmap_hugepage_range(struct mmu_gather *tlb, in __unmap_hugepage_range() argument
Dhuge_mm.h22 extern int zap_huge_pmd(struct mmu_gather *tlb,
Dmm.h1094 void unmap_vmas(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
1137 void free_pgd_range(struct mmu_gather *tlb, unsigned long addr,
/linux-4.4.14/arch/h8300/include/asm/
Dtlb.h4 #define tlb_flush(tlb) do { } while (0) argument
/linux-4.4.14/arch/cris/arch-v10/mm/
DMakefile5 obj-y := fault.o init.o tlb.o
/linux-4.4.14/arch/s390/mm/
Dpgtable.c990 void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table, in page_table_free_rcu() argument
997 mm = tlb->mm; in page_table_free_rcu()
1002 tlb_remove_table(tlb, table); in page_table_free_rcu()
1014 tlb_remove_table(tlb, table); in page_table_free_rcu()
1071 void tlb_table_flush(struct mmu_gather *tlb) in tlb_table_flush() argument
1073 struct mmu_table_batch **batch = &tlb->batch; in tlb_table_flush()
1081 void tlb_remove_table(struct mmu_gather *tlb, void *table) in tlb_remove_table() argument
1083 struct mmu_table_batch **batch = &tlb->batch; in tlb_remove_table()
1085 tlb->mm->context.flush_mm = 1; in tlb_remove_table()
1090 __tlb_flush_mm_lazy(tlb->mm); in tlb_remove_table()
[all …]
/linux-4.4.14/arch/cris/mm/
DMakefile5 obj-y := init.o fault.o tlb.o ioremap.o
/linux-4.4.14/arch/openrisc/mm/
DMakefile5 obj-y := fault.o tlb.o init.o ioremap.o
/linux-4.4.14/arch/cris/arch-v32/mm/
DMakefile3 obj-y += mmu.o init.o tlb.o intmem.o
/linux-4.4.14/arch/xtensa/mm/
DMakefile6 obj-$(CONFIG_MMU) += cache.o fault.o mmu.o tlb.o
/linux-4.4.14/drivers/iommu/
Dio-pgtable-arm.c477 cfg->tlb->tlb_add_flush(iova, blk_size, true, data->iop.cookie); in arm_lpae_split_blk_unmap()
486 const struct iommu_gather_ops *tlb = data->iop.cfg.tlb; in __arm_lpae_unmap() local
503 tlb->tlb_add_flush(iova, size, false, cookie); in __arm_lpae_unmap()
504 tlb->tlb_sync(cookie); in __arm_lpae_unmap()
508 tlb->tlb_add_flush(iova, size, true, cookie); in __arm_lpae_unmap()
538 iop->cfg.tlb->tlb_sync(iop->cookie); in arm_lpae_unmap()
1049 .tlb = &dummy_tlb_ops, in arm_lpae_do_selftests()
Dio-pgtable.c75 iop->cfg.tlb->tlb_flush_all(iop->cookie); in free_io_pgtable_ops()
Dio-pgtable.h53 const struct iommu_gather_ops *tlb; member
Domap-iommu-debug.c252 DEBUG_SEQ_FOPS_RO(tlb);
283 DEBUG_ADD_FILE_RO(tlb); in omap_iommu_debugfs_add()
Dipmmu-vmsa.c315 domain->cfg.tlb = &ipmmu_gather_ops; in ipmmu_domain_init_context()
Darm-smmu.c882 .tlb = &arm_smmu_gather_ops, in arm_smmu_init_domain_context()
Darm-smmu-v3.c1538 .tlb = &arm_smmu_gather_ops, in arm_smmu_domain_finalise()
/linux-4.4.14/arch/arc/mm/
DMakefile10 obj-y += tlb.o tlbex.o cache.o mmap.o
/linux-4.4.14/arch/ia64/mm/
Dhugetlbpage.c112 void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
134 free_pgd_range(tlb, addr, end, floor, ceiling); in hugetlb_free_pgd_range()
DMakefile5 obj-y := init.o fault.o tlb.o extable.o ioremap.o
/linux-4.4.14/arch/nios2/mm/
DMakefile13 obj-y += tlb.o
/linux-4.4.14/Documentation/devicetree/bindings/iommu/
Dti,omap-iommu.txt19 - ti,#tlb-entries : Number of entries in the translation look-aside buffer.
39 ti,#tlb-entries = <8>;
/linux-4.4.14/arch/unicore32/mm/
DMakefile14 obj-$(CONFIG_CPU_UCV2) += cache-ucv2.o tlb-ucv2.o proc-ucv2.o
/linux-4.4.14/arch/sparc/mm/
DMakefile7 obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o gup.o
/linux-4.4.14/Documentation/features/vm/TLB/
Darch-support.txt2 # Feature name: batch-unmap-tlb-flush
/linux-4.4.14/include/trace/events/
Dtlb.h2 #define TRACE_SYSTEM tlb
/linux-4.4.14/lib/
Dswiotlb.c162 int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose) in swiotlb_init_with_tbl() argument
170 io_tlb_start = __pa(tlb); in swiotlb_init_with_tbl()
286 swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs) in swiotlb_late_init_with_tbl() argument
294 io_tlb_start = virt_to_phys(tlb); in swiotlb_late_init_with_tbl()
297 memset(tlb, 0, bytes); in swiotlb_late_init_with_tbl()
/linux-4.4.14/arch/tile/mm/
Dpgtable.c278 void __pgtable_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pgtable_free_tlb() argument
284 tlb_remove_page(tlb, pte); in __pgtable_free_tlb()
287 tlb_remove_page(tlb, pte + i); in __pgtable_free_tlb()
/linux-4.4.14/arch/um/kernel/
DMakefile15 signal.o syscall.o sysrq.o time.o tlb.o trap.o \
/linux-4.4.14/arch/tile/kernel/
DMakefile19 obj-$(CONFIG_SMP) += smpboot.o smp.o tlb.o
/linux-4.4.14/tools/perf/util/
Dparse-events.l255 dTLB|d-tlb|Data-TLB |
256 iTLB|i-tlb|Instruction-TLB |
/linux-4.4.14/Documentation/virtual/kvm/
Dmmu.txt13 a particular implementation such as tlb size)
212 translation. This is equivalent to the state of the tlb when a pte is
213 changed but before the tlb entry is flushed. Accordingly, unsync ptes
214 are synchronized when the guest executes invlpg or flushes its tlb by
251 The guest uses two events to synchronize its tlb and page tables: tlb flushes
254 A tlb flush means that we need to synchronize all sptes reachable from the
268 pages on a tlb flush.
Dlocking.txt156 Protects: -shadow page/shadow tlb entry
/linux-4.4.14/tools/perf/Documentation/
Dperf-report.txt132 symbol_daddr, dso_daddr, locked, tlb, mem, snoop, dcacheline.
138 - tlb: type of tlb access for the data at the time of sample
144 symbol_daddr, dso_daddr, snoop, tlb, locked, see '--mem-mode'.
/linux-4.4.14/fs/
Dexec.c590 struct mmu_gather tlb; in shift_arg_pages() local
616 tlb_gather_mmu(&tlb, mm, old_start, old_end); in shift_arg_pages()
621 free_pgd_range(&tlb, new_end, old_end, new_end, in shift_arg_pages()
630 free_pgd_range(&tlb, old_start, old_end, new_end, in shift_arg_pages()
633 tlb_finish_mmu(&tlb, old_start, old_end); in shift_arg_pages()
/linux-4.4.14/arch/unicore32/boot/compressed/
Dhead.S89 movc p0.c6, r0, #6 @ tlb invalidate all
/linux-4.4.14/arch/m32r/mm/
Dmmu.S175 ;; set tlb
291 ;; set tlb
/linux-4.4.14/arch/powerpc/xmon/
Dxmon.c2878 int i, tlb, ntlbs, pidsz, lpidsz, rasz, lrat = 0; in dump_tlb_book3e() local
2930 for (tlb = 0; tlb < ntlbs; tlb++) { in dump_tlb_book3e()
2933 printf("TLB %d:\n------\n", tlb); in dump_tlb_book3e()
2934 switch(tlb) { in dump_tlb_book3e()
2954 u32 mas0 = MAS0_TLBSEL(tlb); in dump_tlb_book3e()
/linux-4.4.14/Documentation/networking/
Dbonding.txt168 (active-backup, balance-alb and balance-tlb). Possible values
622 balance-tlb or 5
646 Adaptive load balancing: includes balance-tlb plus
740 balance-tlb (5) and balance-alb (6) mode.
784 Specifies if dynamic shuffling of flows is enabled in tlb
787 The default behavior of tlb mode is to shuffle active flows across
837 balance-xor, 802.3ad, and tlb modes. Possible values are:
952 (1), balance-tlb (5) and balance-alb (6), in which a failover can
965 has effect only in balance-tlb and balance-alb modes.
1786 The active-backup, balance-tlb and balance-alb modes do not
[all …]
/linux-4.4.14/Documentation/
Dcachetlb.txt6 This document describes the cache/tlb flushing interfaces called
16 thinking SMP cache/tlb flushing must be so inefficient, this is in
80 split-tlb type setups).
Dkernel-parameters.txt2526 noltlbs [PPC] Do not use large page/tlb entries for kernel
/linux-4.4.14/arch/frv/kernel/
Dsleep.S235 # flush all tlb entries
Dgdb-stub.c156 struct __debug_amr tlb[64*2]; member
1318 p = __debug_mmu.tlb; in gdbstub_get_mmu_state()
/linux-4.4.14/arch/arm/kernel/
Dsetup.c625 cpu_tlb = *list->tlb; in setup_processor()
/linux-4.4.14/arch/microblaze/boot/dts/
Dsystem.dts106 xlnx,mmu-tlb-access = <0x3>;
/linux-4.4.14/Documentation/sh/
Dnew-machine.txt71 | have their own set of cache/tlb functions.
/linux-4.4.14/arch/arm/boot/dts/
Domap3.dtsi465 ti,#tlb-entries = <8>;
/linux-4.4.14/Documentation/filesystems/
Dproc.txt487 ht - area uses huge tlb pages