Home
last modified time | relevance | path

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

1234

/arch/arm64/include/asm/
Dtlb.h20 static void tlb_flush(struct mmu_gather *tlb);
29 static inline int tlb_get_level(struct mmu_gather *tlb) in tlb_get_level() argument
32 if (tlb->freed_tables) in tlb_get_level()
35 if (tlb->cleared_ptes && !(tlb->cleared_pmds || in tlb_get_level()
36 tlb->cleared_puds || in tlb_get_level()
37 tlb->cleared_p4ds)) in tlb_get_level()
40 if (tlb->cleared_pmds && !(tlb->cleared_ptes || in tlb_get_level()
41 tlb->cleared_puds || in tlb_get_level()
42 tlb->cleared_p4ds)) in tlb_get_level()
45 if (tlb->cleared_puds && !(tlb->cleared_ptes || in tlb_get_level()
[all …]
/arch/s390/include/asm/
Dtlb.h26 static inline void tlb_flush(struct mmu_gather *tlb);
27 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb,
30 #define tlb_start_vma(tlb, vma) do { } while (0) argument
31 #define tlb_end_vma(tlb, vma) do { } while (0) argument
47 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb, in __tlb_remove_page_size() argument
54 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
56 __tlb_flush_mm_lazy(tlb->mm); in tlb_flush()
63 static inline void pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, in pte_free_tlb() argument
66 __tlb_adjust_range(tlb, address, PAGE_SIZE); in pte_free_tlb()
67 tlb->mm->context.flush_mm = 1; in pte_free_tlb()
[all …]
/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
10 static inline void tlb_flush(struct mmu_gather *tlb);
14 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
17 unsigned int stride_shift = tlb_get_unmap_shift(tlb); in tlb_flush()
19 if (!tlb->fullmm && !tlb->need_flush_all) { in tlb_flush()
20 start = tlb->start; in tlb_flush()
21 end = tlb->end; in tlb_flush()
24 flush_tlb_mm_range(tlb->mm, start, end, stride_shift, tlb->freed_tables); in tlb_flush()
Dpgalloc.h56 extern void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte);
58 static inline void __pte_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pte_free_tlb() argument
61 ___pte_free_tlb(tlb, pte); in __pte_free_tlb()
90 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd);
92 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
95 ___pmd_free_tlb(tlb, pmd); in __pmd_free_tlb()
127 extern void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud);
129 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, in __pud_free_tlb() argument
132 ___pud_free_tlb(tlb, pud); in __pud_free_tlb()
170 extern void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d);
[all …]
/arch/arm/include/asm/
Dtlb.h23 #define tlb_flush(tlb) ((void) tlb) argument
40 __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) in __pte_free_tlb() argument
50 __tlb_adjust_range(tlb, addr - PAGE_SIZE, 2 * PAGE_SIZE); in __pte_free_tlb()
53 tlb_remove_table(tlb, pte); in __pte_free_tlb()
57 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) in __pmd_free_tlb() argument
63 tlb_remove_table(tlb, page); in __pmd_free_tlb()
/arch/csky/include/asm/
Dtlb.h9 #define tlb_start_vma(tlb, vma) \ argument
11 if (!(tlb)->fullmm) \
15 #define tlb_end_vma(tlb, vma) \ argument
17 if (!(tlb)->fullmm) \
21 #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) argument
/arch/powerpc/include/asm/nohash/
Dpgalloc.h8 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
10 extern void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address);
13 static inline void tlb_flush_pgtable(struct mmu_gather *tlb, in tlb_flush_pgtable() argument
49 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift) in pgtable_free_tlb() argument
55 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
66 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
69 tlb_flush_pgtable(tlb, address); in __pte_free_tlb()
70 pgtable_free_tlb(tlb, table, 0); in __pte_free_tlb()
/arch/sh/mm/
DMakefile30 debugfs-$(CONFIG_CPU_SH4) += tlb-debugfs.o
31 tlb-$(CONFIG_CPU_SH3) := tlb-sh3.o
32 tlb-$(CONFIG_CPU_SH4) := tlb-sh4.o tlb-urb.o
33 tlb-$(CONFIG_CPU_HAS_PTEAEX) := tlb-pteaex.o tlb-urb.o
34 obj-y += $(tlb-y)
/arch/sparc/include/asm/
Dpgalloc_64.h79 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
84 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
97 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, bool is_page) in pgtable_free_tlb() argument
103 static inline void __pte_free_tlb(struct mmu_gather *tlb, pte_t *pte, in __pte_free_tlb() argument
106 pgtable_free_tlb(tlb, pte, true); in __pte_free_tlb()
109 #define __pmd_free_tlb(tlb, pmd, addr) \ argument
110 pgtable_free_tlb(tlb, pmd, false)
112 #define __pud_free_tlb(tlb, pud, addr) \ argument
113 pgtable_free_tlb(tlb, pud, false)
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
/arch/ia64/include/asm/
Dpgalloc.h39 #define __pud_free_tlb(tlb, pud, address) pud_free((tlb)->mm, pud) argument
48 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
63 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
/arch/alpha/include/asm/
Dtlb.h7 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
8 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) argument
/arch/parisc/include/asm/
Dtlb.h8 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
10 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
/arch/powerpc/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
27 extern void tlb_flush(struct mmu_gather *tlb);
46 static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, in __tlb_remove_tlb_entry() argument
51 flush_hash_entry(tlb->mm, ptep, address); in __tlb_remove_tlb_entry()
/arch/riscv/boot/dts/sifive/
Dfu540-c000.dtsi45 d-tlb-sets = <1>;
46 d-tlb-size = <32>;
51 i-tlb-sets = <1>;
52 i-tlb-size = <32>;
56 tlb-split;
69 d-tlb-sets = <1>;
70 d-tlb-size = <32>;
75 i-tlb-sets = <1>;
76 i-tlb-size = <32>;
80 tlb-split;
[all …]
/arch/powerpc/mm/
Dhugetlbpage.c269 static void hugepd_free(struct mmu_gather *tlb, void *hugepte) in hugepd_free() argument
275 if (atomic_read(&tlb->mm->mm_users) < 2 || in hugepd_free()
276 mm_is_thread_local(tlb->mm)) { in hugepd_free()
295 static inline void hugepd_free(struct mmu_gather *tlb, void *hugepte) {} in hugepd_free() argument
298 static void free_hugepd_range(struct mmu_gather *tlb, hugepd_t *hpdp, int pdshift, in free_hugepd_range() argument
328 hugepd_free(tlb, hugepte); in free_hugepd_range()
330 pgtable_free_tlb(tlb, hugepte, in free_hugepd_range()
334 static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, in hugetlb_free_pte_range() argument
353 pte_free_tlb(tlb, token, addr); in hugetlb_free_pte_range()
354 mm_dec_nr_ptes(tlb->mm); in hugetlb_free_pte_range()
[all …]
/arch/um/include/asm/
Dpgalloc.h29 #define __pte_free_tlb(tlb,pte, address) \ argument
32 tlb_remove_page((tlb),(pte)); \
37 #define __pmd_free_tlb(tlb, pmd, address) \ argument
40 tlb_remove_page((tlb),virt_to_page(pmd)); \
/arch/powerpc/include/asm/book3s/32/
Dpgalloc.h25 #define __pmd_free_tlb(tlb,x,a) do { } while (0) argument
52 static inline void pgtable_free_tlb(struct mmu_gather *tlb, in pgtable_free_tlb() argument
58 tlb_remove_table(tlb, (void *)pgf); in pgtable_free_tlb()
69 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
72 pgtable_free_tlb(tlb, table, 0); in __pte_free_tlb()
/arch/mips/include/asm/
Dpgalloc.h58 #define __pte_free_tlb(tlb,pte,address) \ argument
61 tlb_remove_page((tlb), pte); \
85 #define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x) argument
106 #define __pud_free_tlb(tlb, x, addr) pud_free((tlb)->mm, x) argument
/arch/mips/kvm/
Dtlb.c91 struct kvm_mips_tlb tlb; in kvm_mips_dump_guest_tlbs() local
98 tlb = vcpu->arch.guest_tlb[i]; in kvm_mips_dump_guest_tlbs()
100 (tlb.tlb_lo[0] | tlb.tlb_lo[1]) & ENTRYLO_V in kvm_mips_dump_guest_tlbs()
102 i, tlb.tlb_hi); in kvm_mips_dump_guest_tlbs()
104 (u64) mips3_tlbpfn_to_paddr(tlb.tlb_lo[0]), in kvm_mips_dump_guest_tlbs()
105 (tlb.tlb_lo[0] & ENTRYLO_D) ? 'D' : ' ', in kvm_mips_dump_guest_tlbs()
106 (tlb.tlb_lo[0] & ENTRYLO_G) ? 'G' : ' ', in kvm_mips_dump_guest_tlbs()
107 (tlb.tlb_lo[0] & ENTRYLO_C) >> ENTRYLO_C_SHIFT); in kvm_mips_dump_guest_tlbs()
109 (u64) mips3_tlbpfn_to_paddr(tlb.tlb_lo[1]), in kvm_mips_dump_guest_tlbs()
110 (tlb.tlb_lo[1] & ENTRYLO_D) ? 'D' : ' ', in kvm_mips_dump_guest_tlbs()
[all …]
/arch/riscv/include/asm/
Dtlb.h11 static void tlb_flush(struct mmu_gather *tlb);
16 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
18 flush_tlb_mm(tlb->mm); in tlb_flush()
Dpgalloc.h60 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) argument
64 #define __pte_free_tlb(tlb, pte, buf) \ argument
67 tlb_remove_page((tlb), pte); \
/arch/sh/include/asm/
Dpgalloc.h19 #define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp)) argument
35 #define __pte_free_tlb(tlb,pte,addr) \ argument
38 tlb_remove_page((tlb), (pte)); \
/arch/powerpc/include/asm/book3s/64/
Dpgalloc.h21 extern void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift);
134 static inline void __pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, in __pud_free_tlb() argument
137 pgtable_free_tlb(tlb, pud, PUD_INDEX); in __pud_free_tlb()
150 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, in __pmd_free_tlb() argument
153 return pgtable_free_tlb(tlb, pmd, PMD_INDEX); in __pmd_free_tlb()
168 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, in __pte_free_tlb() argument
171 pgtable_free_tlb(tlb, table, PTE_INDEX); in __pte_free_tlb()
/arch/mips/mm/
DMakefile17 obj-y += tlb-funcs.o
31 obj-$(CONFIG_CPU_R3K_TLB) += tlb-r3k.o
32 obj-$(CONFIG_CPU_R4K_CACHE_TLB) += c-r4k.o cex-gen.o tlb-r4k.o
34 obj-$(CONFIG_CPU_SB1) += c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o
36 obj-$(CONFIG_CPU_CAVIUM_OCTEON) += c-octeon.o cex-oct.o tlb-r4k.o

1234