Home
last modified time | relevance | path

Searched refs:pte (Results 1 – 200 of 454) sorted by relevance

123

/linux-4.4.14/arch/powerpc/include/asm/
Dpgtable.h33 static inline int pte_write(pte_t pte) in pte_write() argument
34 { return (pte_val(pte) & (_PAGE_RW | _PAGE_RO)) != _PAGE_RO; } in pte_write()
35 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
36 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
37 static inline int pte_special(pte_t pte) { return pte_val(pte) & _PAGE_SPECIAL; } in pte_special() argument
38 static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } in pte_none() argument
39 static inline pgprot_t pte_pgprot(pte_t pte) { return __pgprot(pte_val(pte) & PAGE_PROT_BITS); } in pte_pgprot() argument
47 static inline int pte_protnone(pte_t pte) in pte_protnone() argument
49 return (pte_val(pte) & in pte_protnone()
59 static inline int pte_present(pte_t pte) in pte_present() argument
[all …]
Dpte-hash64-64k.h50 static inline real_pte_t __real_pte(pte_t pte, pte_t *ptep) in __real_pte() argument
54 rpte.pte = pte; in __real_pte()
56 if (pte_val(pte) & _PAGE_COMBO) { in __real_pte()
69 if ((pte_val(rpte.pte) & _PAGE_COMBO)) in __rpte_to_hidx()
71 return (pte_val(rpte.pte) >> 12) & 0xf; in __rpte_to_hidx()
74 #define __rpte_to_pte(r) ((r).pte)
76 (pte_val(rpte.pte) & (_PAGE_HPTE_SUB0 >> (index)))
94 #define pte_pagesize_index(mm, addr, pte) \ argument
95 (((pte) & _PAGE_COMBO)? MMU_PAGE_4K: MMU_PAGE_64K)
Dpgalloc-32.h24 #define pmd_populate_kernel(mm, pmd, pte) \ argument
25 (pmd_val(*(pmd)) = __pa(pte) | _PMD_PRESENT)
26 #define pmd_populate(mm, pmd, pte) \ argument
27 (pmd_val(*(pmd)) = (page_to_pfn(pte) << PAGE_SHIFT) | _PMD_PRESENT)
30 #define pmd_populate_kernel(mm, pmd, pte) \ argument
31 (pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT)
32 #define pmd_populate(mm, pmd, pte) \ argument
33 (pmd_val(*(pmd)) = (unsigned long)lowmem_page_address(pte) | _PMD_PRESENT)
40 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
42 free_page((unsigned long)pte); in pte_free_kernel()
Dhugetlb.h87 pte_t pte);
116 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
118 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
134 pte_t pte; in huge_ptep_clear_flush() local
135 pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep); in huge_ptep_clear_flush()
139 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
141 return pte_none(pte); in huge_pte_none()
144 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
146 return pte_wrprotect(pte); in huge_pte_wrprotect()
151 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
[all …]
Dpgalloc-64.h76 #define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, (unsigned long)(pte)) argument
89 pte_t *pte; in pte_alloc_one() local
91 pte = pte_alloc_one_kernel(mm, address); in pte_alloc_one()
92 if (!pte) in pte_alloc_one()
94 page = virt_to_page(pte); in pte_alloc_one()
102 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
104 free_page((unsigned long)pte); in pte_free_kernel()
178 pte_t *pte) in pmd_populate_kernel() argument
180 pmd_set(pmd, (unsigned long)pte); in pmd_populate_kernel()
206 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
[all …]
/linux-4.4.14/arch/um/include/asm/
Dpgtable.h123 static inline int pte_none(pte_t pte) in pte_none() argument
125 return pte_is_zero(pte); in pte_none()
132 static inline int pte_read(pte_t pte) in pte_read() argument
134 return((pte_get_bits(pte, _PAGE_USER)) && in pte_read()
135 !(pte_get_bits(pte, _PAGE_PROTNONE))); in pte_read()
138 static inline int pte_exec(pte_t pte){ in pte_exec() argument
139 return((pte_get_bits(pte, _PAGE_USER)) && in pte_exec()
140 !(pte_get_bits(pte, _PAGE_PROTNONE))); in pte_exec()
143 static inline int pte_write(pte_t pte) in pte_write() argument
145 return((pte_get_bits(pte, _PAGE_RW)) && in pte_write()
[all …]
Dpage.h41 #define pte_get_bits(pte, bits) ((pte).pte_low & (bits)) argument
42 #define pte_set_bits(pte, bits) ((pte).pte_low |= (bits)) argument
43 #define pte_clear_bits(pte, bits) ((pte).pte_low &= ~(bits)) argument
47 #define pte_is_zero(pte) (!((pte).pte_low & ~_PAGE_NEWPAGE) && !(pte).pte_high) argument
48 #define pte_set_val(pte, phys, prot) \ argument
49 ({ (pte).pte_high = (phys) >> 32; \
50 (pte).pte_low = (phys) | pgprot_val(prot); })
60 typedef struct { unsigned long pte; } pte_t; member
69 #define pte_val(x) ((x).pte)
72 #define pte_get_bits(p, bits) ((p).pte & (bits))
[all …]
Dpgalloc.h13 #define pmd_populate_kernel(mm, pmd, pte) \ argument
14 set_pmd(pmd, __pmd(_PAGE_TABLE + (unsigned long) __pa(pte)))
16 #define pmd_populate(mm, pmd, pte) \ argument
18 ((unsigned long long)page_to_pfn(pte) << \
31 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
33 free_page((unsigned long) pte); in pte_free_kernel()
36 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
38 pgtable_page_dtor(pte); in pte_free()
39 __free_page(pte); in pte_free()
42 #define __pte_free_tlb(tlb,pte, address) \ argument
[all …]
Dpgtable-3level.h96 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
98 return phys_to_pfn(pte_val(pte)); in pte_pfn()
103 pte_t pte; in pfn_pte() local
106 pte_set_val(pte, phys, pgprot); in pfn_pte()
107 return pte; in pfn_pte()
/linux-4.4.14/arch/m68k/include/asm/
Dmcf_pgtable.h158 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
160 pte_val(pte) = (pte_val(pte) & CF_PAGE_CHG_MASK) | pgprot_val(newprot); in pte_modify()
161 return pte; in pte_modify()
171 #define __pte_page(pte) ((unsigned long) (pte_val(pte) & PAGE_MASK)) argument
174 static inline int pte_none(pte_t pte) in pte_none() argument
176 return !pte_val(pte); in pte_none()
179 static inline int pte_present(pte_t pte) in pte_present() argument
181 return pte_val(pte) & CF_PAGE_VALID; in pte_present()
190 #define pte_pagenr(pte) ((__pte_page(pte) - PAGE_OFFSET) >> PAGE_SHIFT) argument
191 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument
[all …]
Dsun3_pgtable.h104 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
106 pte_val(pte) = (pte_val(pte) & SUN3_PAGE_CHG_MASK) | pgprot_val(newprot); in pte_modify()
107 return pte; in pte_modify()
117 #define __pte_page(pte) \ argument
118 ((unsigned long) __va ((pte_val (pte) & SUN3_PAGE_PGNUM_MASK) << PAGE_SHIFT))
122 static inline int pte_none (pte_t pte) { return !pte_val (pte); } in pte_none() argument
123 static inline int pte_present (pte_t pte) { return pte_val (pte) & SUN3_PAGE_VALID; } in pte_present() argument
129 #define pte_pfn(pte) (pte_val(pte) & SUN3_PAGE_PGNUM_MASK) argument
133 #define pte_page(pte) virt_to_page(__pte_page(pte)) argument
166 static inline int pte_write(pte_t pte) { return pte_val(pte) & SUN3_PAGE_WRITEABLE; } in pte_write() argument
[all …]
Dmotorola_pgtable.h102 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
104 pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); in pte_modify()
105 return pte; in pte_modify()
124 #define __pte_page(pte) ((unsigned long)__va(pte_val(pte) & PAGE_MASK)) argument
129 #define pte_none(pte) (!pte_val(pte)) argument
130 #define pte_present(pte) (pte_val(pte) & (_PAGE_PRESENT | _PAGE_PROTNONE)) argument
133 #define pte_page(pte) virt_to_page(__va(pte_val(pte))) argument
134 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument
167 static inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_RONLY); } in pte_write() argument
168 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
[all …]
Dmotorola_pgalloc.h12 pte_t *pte; in pte_alloc_one_kernel() local
14 pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel()
15 if (pte) { in pte_alloc_one_kernel()
16 __flush_page_to_ram(pte); in pte_alloc_one_kernel()
17 flush_tlb_kernel_page(pte); in pte_alloc_one_kernel()
18 nocache_page(pte); in pte_alloc_one_kernel()
21 return pte; in pte_alloc_one_kernel()
24 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
26 cache_page(pte); in pte_free_kernel()
27 free_page((unsigned long) pte); in pte_free_kernel()
[all …]
Dmcf_pgalloc.h7 extern inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
9 free_page((unsigned long) pte); in pte_free_kernel()
39 #define pmd_populate_kernel(mm, pmd, pte) (pmd_val(*pmd) = (unsigned long)(pte)) argument
55 pte_t *pte; in pte_alloc_one() local
64 pte = kmap(page); in pte_alloc_one()
65 if (pte) { in pte_alloc_one()
66 clear_page(pte); in pte_alloc_one()
67 __flush_page_to_ram(pte); in pte_alloc_one()
68 flush_tlb_kernel_page(pte); in pte_alloc_one()
69 nocache_page(pte); in pte_alloc_one()
[all …]
Dsun3_pgalloc.h20 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
22 free_page((unsigned long) pte); in pte_free_kernel()
31 #define __pte_free_tlb(tlb,pte,addr) \ argument
33 pgtable_page_dtor(pte); \
34 tlb_remove_page((tlb), pte); \
66 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
68 pmd_val(*pmd) = __pa((unsigned long)pte); in pmd_populate_kernel()
99 #define pgd_populate(mm, pmd, pte) BUG() argument
Dmmu_context.h103 pte_t *pte; in load_ksp_mmu() local
133 pte = (mmuar >= PAGE_OFFSET) ? pte_offset_kernel(pmd, mmuar) in load_ksp_mmu()
135 if (pte_none(*pte) || !pte_present(*pte)) in load_ksp_mmu()
138 set_pte(pte, pte_mkyoung(*pte)); in load_ksp_mmu()
140 if (!pte_dirty(*pte) && mmuar <= PAGE_OFFSET) in load_ksp_mmu()
141 set_pte(pte, pte_wrprotect(*pte)); in load_ksp_mmu()
144 (((int)(pte->pte) & (int)CF_PAGE_MMUTR_MASK) in load_ksp_mmu()
147 mmu_write(MMUDR, (pte_val(*pte) & PAGE_MASK) | in load_ksp_mmu()
148 ((pte->pte) & CF_PAGE_MMUDR_MASK) | MMUDR_SZ_8KB | MMUDR_X); in load_ksp_mmu()
/linux-4.4.14/arch/powerpc/kvm/
Dbook3s_mmu_hpte.c67 void kvmppc_mmu_hpte_cache_map(struct kvm_vcpu *vcpu, struct hpte_cache *pte) in kvmppc_mmu_hpte_cache_map() argument
72 trace_kvm_book3s_mmu_map(pte); in kvmppc_mmu_hpte_cache_map()
77 index = kvmppc_mmu_hash_pte(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map()
78 hlist_add_head_rcu(&pte->list_pte, &vcpu3s->hpte_hash_pte[index]); in kvmppc_mmu_hpte_cache_map()
81 index = kvmppc_mmu_hash_pte_long(pte->pte.eaddr); in kvmppc_mmu_hpte_cache_map()
82 hlist_add_head_rcu(&pte->list_pte_long, in kvmppc_mmu_hpte_cache_map()
86 index = kvmppc_mmu_hash_vpte(pte->pte.vpage); in kvmppc_mmu_hpte_cache_map()
87 hlist_add_head_rcu(&pte->list_vpte, &vcpu3s->hpte_hash_vpte[index]); in kvmppc_mmu_hpte_cache_map()
90 index = kvmppc_mmu_hash_vpte_long(pte->pte.vpage); in kvmppc_mmu_hpte_cache_map()
91 hlist_add_head_rcu(&pte->list_vpte_long, in kvmppc_mmu_hpte_cache_map()
[all …]
Dbook3s_pr_papr.c91 unsigned long pte[2]; in kvmppc_h_pr_remove() local
96 copy_from_user(pte, (void __user *)pteg, sizeof(pte)); in kvmppc_h_pr_remove()
97 pte[0] = be64_to_cpu((__force __be64)pte[0]); in kvmppc_h_pr_remove()
98 pte[1] = be64_to_cpu((__force __be64)pte[1]); in kvmppc_h_pr_remove()
101 if ((pte[0] & HPTE_V_VALID) == 0 || in kvmppc_h_pr_remove()
102 ((flags & H_AVPN) && (pte[0] & ~0x7fUL) != avpn) || in kvmppc_h_pr_remove()
103 ((flags & H_ANDCOND) && (pte[0] & avpn) != 0)) in kvmppc_h_pr_remove()
108 rb = compute_tlbie_rb(pte[0], pte[1], pte_index); in kvmppc_h_pr_remove()
112 kvmppc_set_gpr(vcpu, 4, pte[0]); in kvmppc_h_pr_remove()
113 kvmppc_set_gpr(vcpu, 5, pte[1]); in kvmppc_h_pr_remove()
[all …]
Dtrace_pr.h65 TP_PROTO(struct hpte_cache *pte),
66 TP_ARGS(pte),
78 __entry->host_vpn = pte->host_vpn;
79 __entry->pfn = pte->pfn;
80 __entry->eaddr = pte->pte.eaddr;
81 __entry->vpage = pte->pte.vpage;
82 __entry->raddr = pte->pte.raddr;
83 __entry->flags = (pte->pte.may_read ? 0x4 : 0) |
84 (pte->pte.may_write ? 0x2 : 0) |
85 (pte->pte.may_execute ? 0x1 : 0);
[all …]
Dbook3s_32_mmu.c82 struct kvmppc_pte *pte, bool data,
96 struct kvmppc_pte pte; in kvmppc_mmu_book3s_32_ea_to_vp() local
98 if (!kvmppc_mmu_book3s_32_xlate_bat(vcpu, eaddr, &pte, data, false)) in kvmppc_mmu_book3s_32_ea_to_vp()
99 return pte.vpage; in kvmppc_mmu_book3s_32_ea_to_vp()
145 struct kvmppc_pte *pte, bool data, in kvmppc_mmu_book3s_32_xlate_bat() argument
177 pte->vpage = (((u64)eaddr >> 12) & 0xffff) | vsid; in kvmppc_mmu_book3s_32_xlate_bat()
179 pte->raddr = bat->brpn | (eaddr & ~bat->bepi_mask); in kvmppc_mmu_book3s_32_xlate_bat()
180 pte->may_read = bat->pp; in kvmppc_mmu_book3s_32_xlate_bat()
181 pte->may_write = bat->pp > 1; in kvmppc_mmu_book3s_32_xlate_bat()
182 pte->may_execute = true; in kvmppc_mmu_book3s_32_xlate_bat()
[all …]
Dbook3s_32_mmu_host.c61 void kvmppc_mmu_invalidate_pte(struct kvm_vcpu *vcpu, struct hpte_cache *pte) in kvmppc_mmu_invalidate_pte() argument
66 pteg = (u32*)pte->slot; in kvmppc_mmu_invalidate_pte()
71 asm volatile ("tlbie %0" : : "r" (pte->pte.eaddr) : "memory"); in kvmppc_mmu_invalidate_pte()
155 struct hpte_cache *pte; in kvmppc_mmu_map_page() local
245 pte = kvmppc_mmu_hpte_cache_next(vcpu); in kvmppc_mmu_map_page()
246 if (!pte) { in kvmppc_mmu_map_page()
258 pte->slot = (ulong)&pteg[rr]; in kvmppc_mmu_map_page()
259 pte->host_vpn = vpn; in kvmppc_mmu_map_page()
260 pte->pte = *orig_pte; in kvmppc_mmu_map_page()
261 pte->pfn = hpaddr >> PAGE_SHIFT; in kvmppc_mmu_map_page()
[all …]
Dbook3s_hv_rm_mmu.c232 pte_t pte; in kvmppc_do_h_enter() local
248 pte = kvmppc_read_update_linux_pte(ptep, writing); in kvmppc_do_h_enter()
249 if (pte_present(pte) && !pte_protnone(pte)) { in kvmppc_do_h_enter()
250 if (writing && !pte_write(pte)) in kvmppc_do_h_enter()
253 is_io = hpte_cache_bits(pte_val(pte)); in kvmppc_do_h_enter()
254 pa = pte_pfn(pte) << PAGE_SHIFT; in kvmppc_do_h_enter()
305 u64 pte; in kvmppc_do_h_enter() local
308 pte = be64_to_cpu(hpte[0]); in kvmppc_do_h_enter()
309 if (!(pte & (HPTE_V_VALID | HPTE_V_ABSENT))) in kvmppc_do_h_enter()
311 __unlock_hpte(hpte, pte); in kvmppc_do_h_enter()
[all …]
/linux-4.4.14/arch/mips/include/asm/
Dpgtable.h135 #define pte_none(pte) (!(((pte).pte_high) & ~_PAGE_GLOBAL)) argument
136 #define pte_present(pte) ((pte).pte_low & _PAGE_PRESENT) argument
137 #define pte_no_exec(pte) ((pte).pte_low & _PAGE_NO_EXEC) argument
139 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument
141 ptep->pte_high = pte.pte_high; in set_pte()
143 ptep->pte_low = pte.pte_low; in set_pte()
145 if (pte.pte_high & _PAGE_GLOBAL) { in set_pte()
170 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
171 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
172 #define pte_no_exec(pte) (pte_val(pte) & _PAGE_NO_EXEC) argument
[all …]
Dpgalloc.h17 pte_t *pte) in pmd_populate_kernel() argument
19 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel()
23 pgtable_t pte) in pmd_populate() argument
25 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate()
70 pte_t *pte; in pte_alloc_one_kernel() local
72 pte = (pte_t *) __get_free_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, PTE_ORDER); in pte_alloc_one_kernel()
74 return pte; in pte_alloc_one_kernel()
80 struct page *pte; in pte_alloc_one() local
82 pte = alloc_pages(GFP_KERNEL | __GFP_REPEAT, PTE_ORDER); in pte_alloc_one()
83 if (!pte) in pte_alloc_one()
[all …]
Dhugetlb.h51 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
53 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
60 pte_t pte = *ptep; in huge_ptep_get_and_clear() local
64 return pte; in huge_ptep_get_and_clear()
73 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
75 unsigned long val = pte_val(pte) & ~_PAGE_GLOBAL; in huge_pte_none()
79 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
81 return pte_wrprotect(pte); in huge_pte_wrprotect()
92 pte_t *ptep, pte_t pte, in huge_ptep_set_access_flags() argument
95 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
[all …]
Dpgtable-32.h112 pte_t pte; in pfn_pte() local
114 pte.pte_low = (pfn >> _PAGE_PRESENT_SHIFT) | in pfn_pte()
116 pte.pte_high = (pfn << _PFN_SHIFT) | in pfn_pte()
118 return pte; in pfn_pte()
126 #define pte_pfn(x) ((unsigned long)((x).pte >> (PAGE_SHIFT + 2)))
129 #define pte_pfn(x) ((unsigned long)((x).pte >> _PFN_SHIFT))
156 #define pte_unmap(pte) ((void)(pte)) argument
164 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
175 #define __pte_to_swp_entry(pte) ((swp_entry_t) { (pte).pte_high }) argument
189 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
Dpgtable-64.h228 #define pte_pfn(x) ((unsigned long)((x).pte >> (PAGE_SHIFT + 2)))
231 #define pte_pfn(x) ((unsigned long)((x).pte >> _PFN_SHIFT))
273 #define pte_unmap(pte) ((void)(pte)) argument
286 { pte_t pte; pte_val(pte) = (type << 16) | (offset << 24); return pte; } in mk_swap_pte() local
291 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
/linux-4.4.14/arch/cris/include/asm/
Dpgtable.h114 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write() argument
115 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_MODIFIED; } in pte_dirty() argument
116 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
117 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
119 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
121 pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_SILENT_WRITE); in pte_wrprotect()
122 return pte; in pte_wrprotect()
125 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
127 pte_val(pte) &= ~(_PAGE_MODIFIED | _PAGE_SILENT_WRITE); in pte_mkclean()
128 return pte; in pte_mkclean()
[all …]
Dpgalloc.h7 #define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, pte) argument
8 #define pmd_populate(mm, pmd, pte) pmd_set(pmd, page_address(pte)) argument
27 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel() local
28 return pte; in pte_alloc_one_kernel()
33 struct page *pte; in pte_alloc_one() local
34 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0); in pte_alloc_one()
35 if (!pte) in pte_alloc_one()
37 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
38 __free_page(pte); in pte_alloc_one()
41 return pte; in pte_alloc_one()
[all …]
/linux-4.4.14/arch/openrisc/include/asm/
Dpgtable.h237 static inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_READ; } in pte_read() argument
238 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write() argument
239 static inline int pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec() argument
240 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
241 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
242 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
243 static inline pte_t pte_mkspecial(pte_t pte) { return pte; } in pte_mkspecial() argument
245 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
247 pte_val(pte) &= ~(_PAGE_WRITE); in pte_wrprotect()
248 return pte; in pte_wrprotect()
[all …]
Dpgalloc.h30 #define pmd_populate_kernel(mm, pmd, pte) \ argument
31 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte)))
34 struct page *pte) in pmd_populate() argument
37 ((unsigned long)page_to_pfn(pte) << in pmd_populate()
79 struct page *pte; in pte_alloc_one() local
80 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0); in pte_alloc_one()
81 if (!pte) in pte_alloc_one()
83 clear_page(page_address(pte)); in pte_alloc_one()
84 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
85 __free_page(pte); in pte_alloc_one()
[all …]
/linux-4.4.14/arch/hexagon/include/asm/
Dpgtable.h175 #define pte_special(pte) 0 argument
176 #define pte_mkspecial(pte) (pte) argument
180 #define pte_mkhuge(pte) __pte((pte_val(pte) & ~0x3) | HVM_HUGEPAGE_SIZE) argument
187 extern void sync_icache_dcache(pte_t pte);
189 #define pte_present_exec_user(pte) \ argument
190 ((pte_val(pte) & (_PAGE_EXECUTE | _PAGE_USER)) == \
295 static inline int pte_none(pte_t pte) in pte_none() argument
297 return pte_val(pte) == _NULL_PTE; in pte_none()
303 static inline int pte_present(pte_t pte) in pte_present() argument
305 return pte_val(pte) & _PAGE_PRESENT; in pte_present()
[all …]
Dpgalloc.h65 struct page *pte; in pte_alloc_one() local
67 pte = alloc_page(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO); in pte_alloc_one()
68 if (!pte) in pte_alloc_one()
70 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
71 __free_page(pte); in pte_alloc_one()
74 return pte; in pte_alloc_one()
85 static inline void pte_free(struct mm_struct *mm, struct page *pte) in pte_free() argument
87 pgtable_page_dtor(pte); in pte_free()
88 __free_page(pte); in pte_free()
91 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
[all …]
/linux-4.4.14/arch/arm/include/asm/
Dpgtable.h55 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte) argument
196 #define __pte_unmap(pte) do { } while (0) argument
199 #define __pte_unmap(pte) kunmap_atomic(pte) argument
207 #define pte_unmap(pte) __pte_unmap(pte) argument
209 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT) argument
212 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument
217 #define pte_isset(pte, val) ((u32)(val) == (val) ? pte_val(pte) & (val) \ argument
218 : !!(pte_val(pte) & (val)))
219 #define pte_isclear(pte, val) (!(pte_val(pte) & (val))) argument
221 #define pte_none(pte) (!pte_val(pte)) argument
[all …]
Dpgalloc.h53 #define pud_populate(mm,pmd,pte) BUG() argument
62 static inline void clean_pte_table(pte_t *pte) in clean_pte_table() argument
64 clean_dcache_area(pte + PTE_HWTABLE_PTRS, PTE_HWTABLE_SIZE); in clean_pte_table()
86 pte_t *pte; in pte_alloc_one_kernel() local
88 pte = (pte_t *)__get_free_page(PGALLOC_GFP); in pte_alloc_one_kernel()
89 if (pte) in pte_alloc_one_kernel()
90 clean_pte_table(pte); in pte_alloc_one_kernel()
92 return pte; in pte_alloc_one_kernel()
98 struct page *pte; in pte_alloc_one() local
101 pte = alloc_pages(PGALLOC_GFP | __GFP_HIGHMEM, 0); in pte_alloc_one()
[all …]
Dkvm_mmu.h78 static inline void kvm_set_pte(pte_t *pte, pte_t new_pte) in kvm_set_pte() argument
80 *pte = new_pte; in kvm_set_pte()
85 flush_pmd_entry(pte); in kvm_set_pte()
103 static inline void kvm_clean_pte(pte_t *pte) in kvm_clean_pte() argument
105 clean_pte_table(pte); in kvm_clean_pte()
108 static inline void kvm_set_s2pte_writable(pte_t *pte) in kvm_set_s2pte_writable() argument
110 pte_val(*pte) |= L_PTE_S2_RDWR; in kvm_set_s2pte_writable()
118 static inline void kvm_set_s2pte_readonly(pte_t *pte) in kvm_set_s2pte_readonly() argument
120 pte_val(*pte) = (pte_val(*pte) & ~L_PTE_S2_RDWR) | L_PTE_S2_RDONLY; in kvm_set_s2pte_readonly()
123 static inline bool kvm_s2pte_readonly(pte_t *pte) in kvm_s2pte_readonly() argument
[all …]
Dpgtable-3level.h206 #define set_pte_ext(ptep,pte,ext) cpu_set_pte_ext(ptep,__pte(pte_val(pte)|(ext))) argument
208 #define pte_huge(pte) (pte_val(pte) && !(pte_val(pte) & PTE_TABLE_BIT)) argument
209 #define pte_mkhuge(pte) (__pte(pte_val(pte) & ~PTE_TABLE_BIT)) argument
216 #define pte_special(pte) (pte_isset((pte), L_PTE_SPECIAL)) argument
217 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
219 pte_val(pte) |= L_PTE_SPECIAL; in pte_mkspecial()
220 return pte; in pte_mkspecial()
Dhugetlb.h56 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
58 return pte_none(pte); in huge_pte_none()
61 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
63 return pte_wrprotect(pte); in huge_pte_wrprotect()
Dhugetlb-3level.h41 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
43 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
66 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
68 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
Dpgtable-2level.h214 #define set_pte_ext(ptep,pte,ext) cpu_set_pte_ext(ptep,pte,ext) argument
215 #define pte_special(pte) (0) argument
216 static inline pte_t pte_mkspecial(pte_t pte) { return pte; } in pte_mkspecial() argument
Dproc-fns.h69 void (*set_pte_ext)(pte_t *ptep, pte_t pte);
71 void (*set_pte_ext)(pte_t *ptep, pte_t pte, unsigned int ext);
87 extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte);
89 extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext);
/linux-4.4.14/arch/microblaze/include/asm/
Dpgtable.h40 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
85 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
87 static inline pte_t pte_mkspecial(pte_t pte) { return pte; } in pte_mkspecial() argument
296 #define pte_none(pte) ((pte_val(pte) & ~_PTE_NONE_MASK) == 0) argument
297 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
332 static inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_USER; } in pte_read() argument
333 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_RW; } in pte_write() argument
334 static inline int pte_exec(pte_t pte) { return pte_val(pte) & _PAGE_EXEC; } in pte_exec() argument
335 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
336 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
[all …]
Dpgalloc.h149 static inline void pte_free_fast(pte_t *pte) in pte_free_fast() argument
151 *(unsigned long **)pte = pte_quicklist; in pte_free_fast()
152 pte_quicklist = (unsigned long *) pte; in pte_free_fast()
156 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
158 free_page((unsigned long)pte); in pte_free_kernel()
172 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte)) argument
174 #define pmd_populate(mm, pmd, pte) \ argument
175 (pmd_val(*(pmd)) = (unsigned long)page_address(pte))
177 #define pmd_populate_kernel(mm, pmd, pte) \ argument
178 (pmd_val(*(pmd)) = (unsigned long) (pte))
[all …]
/linux-4.4.14/arch/score/include/asm/
Dpgtable.h66 #define pte_pfn(x) ((unsigned long)((x).pte >> PAGE_SHIFT))
91 #define pte_unmap(pte) ((void)(pte)) argument
93 #define __pte_to_swp_entry(pte) \ argument
94 ((swp_entry_t) { pte_val(pte)})
100 static inline pte_t pte_mkspecial(pte_t pte) { return pte; } in pte_mkspecial() argument
120 #define pte_none(pte) (!(pte_val(pte) & ~_PAGE_GLOBAL)) argument
121 #define pte_present(pte) (pte_val(pte) & _PAGE_PRESENT) argument
177 static inline int pte_write(pte_t pte) in pte_write() argument
179 return pte_val(pte) & _PAGE_WRITE; in pte_write()
182 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
[all …]
Dpgalloc.h7 pte_t *pte) in pmd_populate_kernel() argument
9 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel()
13 pgtable_t pte) in pmd_populate() argument
15 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate()
43 pte_t *pte; in pte_alloc_one_kernel() local
45 pte = (pte_t *) __get_free_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, in pte_alloc_one_kernel()
48 return pte; in pte_alloc_one_kernel()
54 struct page *pte; in pte_alloc_one() local
56 pte = alloc_pages(GFP_KERNEL | __GFP_REPEAT, PTE_ORDER); in pte_alloc_one()
57 if (!pte) in pte_alloc_one()
[all …]
/linux-4.4.14/arch/nios2/include/asm/
Dpgalloc.h16 pte_t *pte) in pmd_populate_kernel() argument
18 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel()
22 pgtable_t pte) in pmd_populate() argument
24 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate()
43 pte_t *pte; in pte_alloc_one_kernel() local
45 pte = (pte_t *) __get_free_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, in pte_alloc_one_kernel()
48 return pte; in pte_alloc_one_kernel()
54 struct page *pte; in pte_alloc_one() local
56 pte = alloc_pages(GFP_KERNEL | __GFP_REPEAT, PTE_ORDER); in pte_alloc_one()
57 if (pte) { in pte_alloc_one()
[all …]
Dpgtable.h109 static inline int pte_write(pte_t pte) \ in pte_write() argument
110 { return pte_val(pte) & _PAGE_WRITE; } in pte_write()
111 static inline int pte_dirty(pte_t pte) \ in pte_dirty() argument
112 { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty()
113 static inline int pte_young(pte_t pte) \ in pte_young() argument
114 { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young()
115 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
128 static inline int pte_none(pte_t pte) in pte_none() argument
130 return !(pte_val(pte) & ~(_PAGE_GLOBAL|0xf)); in pte_none()
133 static inline int pte_present(pte_t pte) \ in pte_present() argument
[all …]
/linux-4.4.14/arch/powerpc/mm/
Dpgtable.c44 static inline int pte_looks_normal(pte_t pte) in pte_looks_normal() argument
46 return (pte_val(pte) & in pte_looks_normal()
51 static struct page *maybe_pte_to_page(pte_t pte) in maybe_pte_to_page() argument
53 unsigned long pfn = pte_pfn(pte); in maybe_pte_to_page()
72 static pte_t set_pte_filter(pte_t pte) in set_pte_filter() argument
74 pte = __pte(pte_val(pte) & ~_PAGE_HPTEFLAGS); in set_pte_filter()
75 if (pte_looks_normal(pte) && !(cpu_has_feature(CPU_FTR_COHERENT_ICACHE) || in set_pte_filter()
77 struct page *pg = maybe_pte_to_page(pte); in set_pte_filter()
79 return pte; in set_pte_filter()
85 return pte; in set_pte_filter()
[all …]
Dtlb_hash64.c44 pte_t *ptep, unsigned long pte, int huge) in hpte_need_flush() argument
70 psize = pte_pagesize_index(mm, addr, pte); /* shutup gcc */ in hpte_need_flush()
73 psize = pte_pagesize_index(mm, addr, pte); in hpte_need_flush()
92 rpte = __real_pte(__pte(pte), ptep); in hpte_need_flush()
126 batch->pte[i] = rpte; in hpte_need_flush()
151 flush_hash_page(batch->vpn[0], batch->pte[0], in __flush_tlb_pending()
214 unsigned long pte; in __flush_hash_table_range() local
218 pte = pte_val(*ptep); in __flush_hash_table_range()
220 trace_hugepage_invalidate(start, pte); in __flush_hash_table_range()
221 if (!(pte & _PAGE_HASHPTE)) in __flush_hash_table_range()
[all …]
Dpgtable_32.c109 pte_t *pte; in pte_alloc_one_kernel() local
112 pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel()
114 pte = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); in pte_alloc_one_kernel()
115 if (pte) in pte_alloc_one_kernel()
116 clear_page(pte); in pte_alloc_one_kernel()
118 return pte; in pte_alloc_one_kernel()
372 pte_t *pte; in get_pteptr() local
381 pte = pte_offset_map(pmd, addr & PAGE_MASK); in get_pteptr()
382 if (pte) { in get_pteptr()
384 *ptep = pte; in get_pteptr()
Dhugetlbpage-book3e.c79 pte_t pte) in book3e_hugetlb_preload() argument
125 mas2 |= (pte_val(pte) >> PTE_WIMGE_SHIFT) & MAS2_WIMGE_MASK; in book3e_hugetlb_preload()
126 mas7_3 = (u64)pte_pfn(pte) << PAGE_SHIFT; in book3e_hugetlb_preload()
127 mas7_3 |= (pte_val(pte) >> PTE_BAP_SHIFT) & MAS3_BAP_MASK; in book3e_hugetlb_preload()
128 if (!pte_dirty(pte)) in book3e_hugetlb_preload()
/linux-4.4.14/arch/sh/include/asm/
Dpgtable_64.h87 #define pte_unmap(pte) do { } while (0) argument
260 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
261 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
262 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write() argument
263 static inline int pte_special(pte_t pte){ return pte_val(pte) & _PAGE_SPECIAL; } in pte_special() argument
265 static inline pte_t pte_wrprotect(pte_t pte) { set_pte(&pte, __pte(pte_val(pte) & ~_PAGE_WRITE)); r… in pte_wrprotect() argument
266 static inline pte_t pte_mkclean(pte_t pte) { set_pte(&pte, __pte(pte_val(pte) & ~_PAGE_DIRTY)); ret… in pte_mkclean() argument
267 static inline pte_t pte_mkold(pte_t pte) { set_pte(&pte, __pte(pte_val(pte) & ~_PAGE_ACCESSED)); re… in pte_mkold() argument
268 static inline pte_t pte_mkwrite(pte_t pte) { set_pte(&pte, __pte(pte_val(pte) | _PAGE_WRITE)); retu… in pte_mkwrite() argument
269 static inline pte_t pte_mkdirty(pte_t pte) { set_pte(&pte, __pte(pte_val(pte) | _PAGE_DIRTY)); retu… in pte_mkdirty() argument
[all …]
Dpgalloc.h19 pte_t *pte) in pmd_populate_kernel() argument
21 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel()
25 pgtable_t pte) in pmd_populate() argument
27 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate()
57 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
59 quicklist_free(QUICK_PT, NULL, pte); in pte_free_kernel()
62 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
64 pgtable_page_dtor(pte); in pte_free()
65 quicklist_free_page(QUICK_PT, NULL, pte); in pte_free()
68 #define __pte_free_tlb(tlb,pte,addr) \ argument
[all …]
Dpgtable_32.h299 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument
301 ptep->pte_high = pte.pte_high; in set_pte()
303 ptep->pte_low = pte.pte_low; in set_pte()
339 #define pte_not_present(pte) (!((pte).pte_low & _PAGE_PRESENT)) argument
340 #define pte_dirty(pte) ((pte).pte_low & _PAGE_DIRTY) argument
341 #define pte_young(pte) ((pte).pte_low & _PAGE_ACCESSED) argument
342 #define pte_special(pte) ((pte).pte_low & _PAGE_SPECIAL) argument
345 #define pte_write(pte) \ argument
346 ((pte).pte_high & (_PAGE_EXT_USER_WRITE | _PAGE_EXT_KERN_WRITE))
348 #define pte_write(pte) ((pte).pte_low & _PAGE_RW) argument
[all …]
Dhugetlb.h38 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
40 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
54 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
56 return pte_none(pte); in huge_pte_none()
59 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
61 return pte_wrprotect(pte); in huge_pte_wrprotect()
72 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
74 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
Dpgtable.h138 unsigned long address, pte_t pte);
140 unsigned long address, pte_t pte);
145 pte_t pte = *ptep; in update_mmu_cache() local
146 __update_cache(vma, address, pte); in update_mmu_cache()
147 __update_tlb(vma, address, pte); in update_mmu_cache()
/linux-4.4.14/arch/alpha/include/asm/
Dpgtable.h208 #define pte_pfn(pte) (pte_val(pte) >> 32) argument
209 #define pte_page(pte) pfn_to_page(pte_pfn(pte)) argument
212 pte_t pte; \
214 pte_val(pte) = (page_to_pfn(page) << 32) | pgprot_val(pgprot); \
215 pte; \
220 { pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpfn) << 32) | pgprot_val(pgprot); return pte; } in pfn_pte() local
222 extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
223 { pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; } in pte_modify()
246 extern inline int pte_none(pte_t pte) { return !pte_val(pte); } in pte_none() argument
247 extern inline int pte_present(pte_t pte) { return pte_val(pte) & _PAGE_VALID; } in pte_present() argument
[all …]
Dpgalloc.h14 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) in pmd_populate() argument
16 pmd_set(pmd, (pte_t *)(page_to_pa(pte) + PAGE_OFFSET)); in pmd_populate()
21 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
23 pmd_set(pmd, pte); in pmd_populate_kernel()
56 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel() local
57 return pte; in pte_alloc_one_kernel()
61 pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
63 free_page((unsigned long)pte); in pte_free_kernel()
69 pte_t *pte = pte_alloc_one_kernel(mm, address); in pte_alloc_one() local
72 if (!pte) in pte_alloc_one()
[all …]
Dmmzone.h76 #define pte_pfn(pte) (pte_val(pte) >> 32) argument
80 pte_t pte; \
84 pte_val(pte) = pfn | pgprot_val(pgprot); \
86 pte; \
Dtlb.h6 #define __tlb_remove_tlb_entry(tlb, pte, addr) do { } while (0) argument
12 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
/linux-4.4.14/arch/arm64/include/asm/
Dpgtable.h129 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte_val(pte)) argument
131 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT) argument
135 #define pte_none(pte) (!pte_val(pte)) argument
137 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument
146 #define pte_unmap(pte) do { } while (0) argument
147 #define pte_unmap_nested(pte) do { } while (0) argument
152 #define pte_present(pte) (!!(pte_val(pte) & (PTE_VALID | PTE_PROT_NONE))) argument
153 #define pte_young(pte) (!!(pte_val(pte) & PTE_AF)) argument
154 #define pte_special(pte) (!!(pte_val(pte) & PTE_SPECIAL)) argument
155 #define pte_write(pte) (!!(pte_val(pte) & PTE_WRITE)) argument
[all …]
Dpgalloc.h84 struct page *pte; in pte_alloc_one() local
86 pte = alloc_pages(PGALLOC_GFP, 0); in pte_alloc_one()
87 if (!pte) in pte_alloc_one()
89 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
90 __free_page(pte); in pte_alloc_one()
93 return pte; in pte_alloc_one()
99 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
101 if (pte) in pte_free_kernel()
102 free_page((unsigned long)pte); in pte_free_kernel()
105 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
[all …]
Dhugetlb.h30 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
32 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
55 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
57 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
85 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
87 return pte_none(pte); in huge_pte_none()
90 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
92 return pte_wrprotect(pte); in huge_pte_wrprotect()
Dkvm_mmu.h104 #define kvm_set_pte(ptep, pte) set_pte(ptep, pte)
110 static inline void kvm_clean_pte(pte_t *pte) {}
111 static inline void kvm_clean_pte_entry(pte_t *pte) {}
113 static inline void kvm_set_s2pte_writable(pte_t *pte)
115 pte_val(*pte) |= PTE_S2_RDWR;
123 static inline void kvm_set_s2pte_readonly(pte_t *pte)
125 pte_val(*pte) = (pte_val(*pte) & ~PTE_S2_RDWR) | PTE_S2_RDONLY;
128 static inline bool kvm_s2pte_readonly(pte_t *pte)
130 return (pte_val(*pte) & PTE_S2_RDWR) == PTE_S2_RDONLY;
251 static inline void __kvm_flush_dcache_pte(pte_t pte)
[all …]
/linux-4.4.14/arch/x86/include/asm/
Dpgtable.h46 #define set_pte(ptep, pte) native_set_pte(ptep, pte) argument
47 #define set_pte_at(mm, addr, ptep, pte) native_set_pte_at(mm, addr, ptep, pte) argument
50 #define set_pte_atomic(ptep, pte) \ argument
51 native_set_pte_atomic(ptep, pte)
100 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
102 return pte_flags(pte) & _PAGE_DIRTY; in pte_dirty()
105 static inline int pte_young(pte_t pte) in pte_young() argument
107 return pte_flags(pte) & _PAGE_ACCESSED; in pte_young()
120 static inline int pte_write(pte_t pte) in pte_write() argument
122 return pte_flags(pte) & _PAGE_RW; in pte_write()
[all …]
Dpgalloc.h42 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
44 BUG_ON((unsigned long)pte & (PAGE_SIZE-1)); in pte_free_kernel()
45 free_page((unsigned long)pte); in pte_free_kernel()
48 static inline void pte_free(struct mm_struct *mm, struct page *pte) in pte_free() argument
50 pgtable_page_dtor(pte); in pte_free()
51 __free_page(pte); in pte_free()
54 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()
63 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
[all …]
Dhugetlb.h39 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
41 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
56 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
58 return pte_none(pte); in huge_pte_none()
61 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
63 return pte_wrprotect(pte); in huge_pte_wrprotect()
74 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
76 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
Dpgtable_64.h53 static inline void native_set_pte(pte_t *ptep, pte_t pte) in native_set_pte() argument
55 *ptep = pte; in native_set_pte()
58 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) in native_set_pte_atomic() argument
60 native_set_pte(ptep, pte); in native_set_pte_atomic()
76 return native_make_pte(xchg(&xp->pte, 0)); in native_ptep_get_and_clear()
141 #define pte_unmap(pte) ((void)(pte))/* NOP */ argument
155 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val((pte)) }) argument
156 #define __swp_entry_to_pte(x) ((pte_t) { .pte = (x).val })
Dpgtable-2level.h14 static inline void native_set_pte(pte_t *ptep , pte_t pte) in native_set_pte() argument
16 *ptep = pte; in native_set_pte()
24 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) in native_set_pte_atomic() argument
26 native_set_pte(ptep, pte); in native_set_pte_atomic()
77 #define __pte_to_swp_entry(pte) ((swp_entry_t) { (pte).pte_low }) argument
78 #define __swp_entry_to_pte(x) ((pte_t) { .pte = (x).val })
Dparavirt.h415 return (pte_t) { .pte = ret }; in __pte()
418 static inline pteval_t pte_val(pte_t pte) in pte_val() argument
424 pte.pte, (u64)pte.pte >> 32); in pte_val()
427 pte.pte); in pte_val()
469 return (pte_t) { .pte = ret }; in ptep_modify_prot_start()
473 pte_t *ptep, pte_t pte) in ptep_modify_prot_commit() argument
477 pv_mmu_ops.ptep_modify_prot_commit(mm, addr, ptep, pte); in ptep_modify_prot_commit()
480 mm, addr, ptep, pte.pte); in ptep_modify_prot_commit()
483 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument
487 pte.pte, (u64)pte.pte >> 32); in set_pte()
[all …]
Dpgtable-3level.h27 static inline void native_set_pte(pte_t *ptep, pte_t pte) in native_set_pte() argument
29 ptep->pte_high = pte.pte_high; in native_set_pte()
31 ptep->pte_low = pte.pte_low; in native_set_pte()
88 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) in native_set_pte_atomic() argument
90 set_64bit((unsigned long long *)(ptep), native_pte_val(pte)); in native_set_pte_atomic()
184 #define __pte_to_swp_entry(pte) ((swp_entry_t){ (pte).pte_high }) argument
/linux-4.4.14/arch/mn10300/include/asm/
Dpgtable.h238 static inline int pte_user(pte_t pte) { return pte_val(pte) & __PAGE_PROT_USER; } in pte_user() argument
239 static inline int pte_read(pte_t pte) { return pte_val(pte) & __PAGE_PROT_USER; } in pte_read() argument
240 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
241 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
242 static inline int pte_write(pte_t pte) { return pte_val(pte) & __PAGE_PROT_WRITE; } in pte_write() argument
243 static inline int pte_special(pte_t pte){ return 0; } in pte_special() argument
245 static inline pte_t pte_rdprotect(pte_t pte) in pte_rdprotect() argument
247 pte_val(pte) &= ~(__PAGE_PROT_USER|__PAGE_PROT_UWAUX); return pte; in pte_rdprotect()
249 static inline pte_t pte_exprotect(pte_t pte) in pte_exprotect() argument
251 pte_val(pte) |= _PAGE_NX; return pte; in pte_exprotect()
[all …]
Dpgalloc.h22 #define pmd_populate_kernel(mm, pmd, pte) \ argument
23 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE))
26 void pmd_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte) in pmd_populate() argument
28 set_pmd(pmd, __pmd((page_to_pfn(pte) << PAGE_SHIFT) | _PAGE_TABLE)); in pmd_populate()
42 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
44 free_page((unsigned long) pte); in pte_free_kernel()
47 static inline void pte_free(struct mm_struct *mm, struct page *pte) in pte_free() argument
49 pgtable_page_dtor(pte); in pte_free()
50 __free_page(pte); in pte_free()
54 #define __pte_free_tlb(tlb, pte, addr) tlb_remove_page((tlb), (pte)) argument
/linux-4.4.14/arch/metag/include/asm/
Dpgalloc.h7 #define pmd_populate_kernel(mm, pmd, pte) \ argument
8 set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte)))
10 #define pmd_populate(mm, pmd, pte) \ argument
11 set_pmd(pmd, __pmd(_PAGE_TABLE | page_to_phys(pte)))
45 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL | __GFP_REPEAT | in pte_alloc_one_kernel() local
47 return pte; in pte_alloc_one_kernel()
53 struct page *pte; in pte_alloc_one() local
54 pte = alloc_pages(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO, 0); in pte_alloc_one()
55 if (!pte) in pte_alloc_one()
57 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
[all …]
Dpgtable.h104 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument
125 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write() argument
126 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
127 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
128 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
130 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= (~_PAGE_WRITE); return pte; } in pte_wrprotect() argument
131 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; } in pte_mkclean() argument
132 static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() argument
133 static inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; } in pte_mkwrite() argument
134 static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() argument
[all …]
Dhugetlb.h26 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
28 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
42 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
44 return pte_none(pte); in huge_pte_none()
47 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
49 return pte_wrprotect(pte); in huge_pte_wrprotect()
60 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
62 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
/linux-4.4.14/arch/sparc/include/asm/
Dpgtable_64.h249 pte_t pte = pfn_pte(page_nr, pgprot); in pfn_pmd() local
251 return __pmd(pte_val(pte)); in pfn_pmd()
257 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
270 : "r" (pte_val(pte)), in pte_pfn()
278 static inline pte_t pte_modify(pte_t pte, pgprot_t prot) in pte_modify() argument
333 return __pte((pte_val(pte) & mask) | (pgprot_val(prot) & ~mask)); in pte_modify()
339 pte_t pte = __pte(pmd_val(pmd)); in pmd_modify() local
341 pte = pte_modify(pte, newprot); in pmd_modify()
343 return __pmd(pte_val(pte)); in pmd_modify()
396 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge() argument
[all …]
Dpgtable_32.h144 static inline int pte_present(pte_t pte) in pte_present() argument
146 return ((pte_val(pte) & SRMMU_ET_MASK) == SRMMU_ET_PTE); in pte_present()
149 static inline int pte_none(pte_t pte) in pte_none() argument
151 return !pte_val(pte); in pte_none()
210 static inline int pte_write(pte_t pte) in pte_write() argument
212 return pte_val(pte) & SRMMU_WRITE; in pte_write()
215 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
217 return pte_val(pte) & SRMMU_DIRTY; in pte_dirty()
220 static inline int pte_young(pte_t pte) in pte_young() argument
222 return pte_val(pte) & SRMMU_REF; in pte_young()
[all …]
Dhugetlb.h9 pte_t *ptep, pte_t pte);
47 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
49 return pte_none(pte); in huge_pte_none()
52 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
54 return pte_wrprotect(pte); in huge_pte_wrprotect()
66 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
68 int changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
70 set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
Dpgalloc_32.h69 static inline void free_pte_fast(pte_t *pte) in free_pte_fast() argument
71 srmmu_free_nocache(pte, PTE_SIZE); in free_pte_fast()
74 #define pte_free_kernel(mm, pte) free_pte_fast(pte) argument
76 void pte_free(struct mm_struct * mm, pgtable_t pte);
77 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
/linux-4.4.14/arch/s390/mm/
Dhugetlbpage.c11 static inline pmd_t __pte_to_pmd(pte_t pte) in __pte_to_pmd() argument
35 if (pte_present(pte)) { in __pte_to_pmd()
36 pmd_val(pmd) = pte_val(pte) & PAGE_MASK; in __pte_to_pmd()
37 pmd_val(pmd) |= (pte_val(pte) & _PAGE_READ) >> 4; in __pte_to_pmd()
38 pmd_val(pmd) |= (pte_val(pte) & _PAGE_WRITE) >> 4; in __pte_to_pmd()
39 pmd_val(pmd) |= (pte_val(pte) & _PAGE_INVALID) >> 5; in __pte_to_pmd()
40 pmd_val(pmd) |= (pte_val(pte) & _PAGE_PROTECT); in __pte_to_pmd()
41 pmd_val(pmd) |= (pte_val(pte) & _PAGE_DIRTY) << 10; in __pte_to_pmd()
42 pmd_val(pmd) |= (pte_val(pte) & _PAGE_YOUNG) << 10; in __pte_to_pmd()
43 pmd_val(pmd) |= (pte_val(pte) & _PAGE_SOFT_DIRTY) << 13; in __pte_to_pmd()
[all …]
Dpageattr.c68 pte_t *ptep, pte; in change_page_attr() local
75 pte = *ptep; in change_page_attr()
76 pte = set(pte); in change_page_attr()
78 *ptep = pte; in change_page_attr()
108 static void ipte_range(pte_t *pte, unsigned long address, int nr) in ipte_range() argument
113 __ptep_ipte_range(address, nr - 1, pte); in ipte_range()
117 __ptep_ipte(address, pte); in ipte_range()
119 pte++; in ipte_range()
130 pte_t *pte; in __kernel_map_pages() local
137 pte = pte_offset_kernel(pmd, address); in __kernel_map_pages()
[all …]
Dgup.c24 pte_t *ptep, pte; in gup_pte_range() local
31 pte = *ptep; in gup_pte_range()
34 if (pte_protnone(pte)) in gup_pte_range()
36 if ((pte_val(pte) & mask) != 0) in gup_pte_range()
38 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_pte_range()
39 page = pte_page(pte); in gup_pte_range()
42 if (unlikely(pte_val(pte) != pte_val(*ptep))) { in gup_pte_range()
/linux-4.4.14/arch/tile/mm/
Dhomecache.c179 pte_t pte; in homecache_finv_map_page() local
191 pte = pfn_pte(page_to_pfn(page), PAGE_KERNEL); in homecache_finv_map_page()
192 __set_pte(ptep, pte_set_home(pte, home)); in homecache_finv_map_page()
244 static int pte_to_home(pte_t pte) in pte_to_home() argument
246 if (hv_pte_get_nc(pte)) in pte_to_home()
248 switch (hv_pte_get_mode(pte)) { in pte_to_home()
250 return get_remote_cache_cpu(pte); in pte_to_home()
258 panic("Bad PTE %#llx\n", pte.val); in pte_to_home()
262 pte_t pte_set_home(pte_t pte, int home) in pte_set_home() argument
266 if (hv_pte_get_mode(pte) == HV_PTE_MODE_MMIO) in pte_set_home()
[all …]
Dpgtable.c278 void __pgtable_free_tlb(struct mmu_gather *tlb, struct page *pte, in __pgtable_free_tlb() argument
283 pgtable_page_dtor(pte); in __pgtable_free_tlb()
284 tlb_remove_page(tlb, pte); in __pgtable_free_tlb()
287 tlb_remove_page(tlb, pte + i); in __pgtable_free_tlb()
288 dec_zone_page_state(pte + i, NR_PAGETABLE); in __pgtable_free_tlb()
395 int va_to_cpa_and_pte(void *va, unsigned long long *cpa, pte_t *pte) in va_to_cpa_and_pte() argument
403 *pte = pte_set_home(null_pte, page_home(page)); in va_to_cpa_and_pte()
409 void __set_pte(pte_t *ptep, pte_t pte) in __set_pte() argument
412 *ptep = pte; in __set_pte()
417 if (pte_present(pte)) { in __set_pte()
[all …]
Dhighmem.c159 pte_t pte = mk_pte(amp->page, page_to_kpgprot(amp->page)); in kmap_atomic_fix_one_kpte() local
160 set_pte(ptep, pte); in kmap_atomic_fix_one_kpte()
202 pte_t *pte; in kmap_atomic_prot() local
216 pte = kmap_get_pte(vaddr); in kmap_atomic_prot()
217 BUG_ON(!pte_none(*pte)); in kmap_atomic_prot()
220 kmap_atomic_register(page, type, vaddr, pte, mk_pte(page, prot)); in kmap_atomic_prot()
239 pte_t *pte = kmap_get_pte(vaddr); in __kunmap_atomic() local
240 pte_t pteval = *pte; in __kunmap_atomic()
253 kpte_clear_flush(pte, vaddr); in __kunmap_atomic()
Dinit.c147 pte_t *pte = get_prealloc_pte(pte_pfn(*(pte_t *)pmd)); in shatter_pmd() local
148 assign_pte(pmd, pte); in shatter_pmd()
410 pte_t *pte; in kernel_physical_mapping_init() local
462 pte = get_prealloc_pte(pfn); in kernel_physical_mapping_init()
468 pte[pte_ofs] = pfn_pte(pfn, prot); in kernel_physical_mapping_init()
476 pte[pte_ofs] = pfn_pte(pfn, prot); in kernel_physical_mapping_init()
478 assign_pte(pmd, pte); in kernel_physical_mapping_init()
532 pte = NULL; in kernel_physical_mapping_init()
537 if (pte) in kernel_physical_mapping_init()
538 assign_pte(pmd++, pte); in kernel_physical_mapping_init()
[all …]
Dhugetlbpage.c96 pte_t pte = *super_ptep; in get_pte() local
97 if (pte_present(pte) && pte_super(pte)) in get_pte()
110 pte_t *pte; in huge_pte_offset() local
143 pte = get_pte((pte_t *)pmd_page_vaddr(*pmd), pte_index(addr), 2); in huge_pte_offset()
144 if (!pte_present(*pte)) in huge_pte_offset()
146 if (pte_super(*pte)) in huge_pte_offset()
147 return pte; in huge_pte_offset()
Dfault.c160 static void wait_for_migration(pte_t *pte) in wait_for_migration() argument
162 if (pte_migrating(*pte)) { in wait_for_migration()
170 while (pte_migrating(*pte)) { in wait_for_migration()
174 pte->val, pte_pfn(*pte)); in wait_for_migration()
217 pte_t *pte; in handle_migrating_pte() local
230 pte = pmd_huge_page(*pmd) ? ((pte_t *)pmd) : in handle_migrating_pte()
232 pteval = *pte; in handle_migrating_pte()
236 wait_for_migration(pte); in handle_migrating_pte()
520 pte_t *pte = lookup_address(address); in handle_page_fault() local
522 if (pte && pte_present(*pte) && !pte_exec_kernel(*pte)) in handle_page_fault()
/linux-4.4.14/arch/frv/include/asm/
Dpgtable.h62 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
159 printk("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, (e).pte)
238 #define pud_populate(mm, pmd, pte) do { } while (0) argument
267 #define pte_same(a, b) ((a).pte == (b).pte)
268 #define pte_page(x) (mem_map + ((unsigned long)(((x).pte >> PAGE_SHIFT))))
269 #define pte_none(x) (!(x).pte)
270 #define pte_pfn(x) ((unsigned long)(((x).pte >> PAGE_SHIFT)))
375 static inline int pte_dirty(pte_t pte) { return (pte).pte & _PAGE_DIRTY; } in pte_dirty() argument
376 static inline int pte_young(pte_t pte) { return (pte).pte & _PAGE_ACCESSED; } in pte_young() argument
377 static inline int pte_write(pte_t pte) { return !((pte).pte & _PAGE_WP); } in pte_write() argument
[all …]
Dpgalloc.h23 #define pmd_populate_kernel(mm, pmd, pte) __set_pmd(pmd, __pa(pte) | _PAGE_TABLE) argument
41 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
43 free_page((unsigned long)pte); in pte_free_kernel()
46 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
48 pgtable_page_dtor(pte); in pte_free()
49 __free_page(pte); in pte_free()
52 #define __pte_free_tlb(tlb,pte,address) \ argument
54 pgtable_page_dtor(pte); \
55 tlb_remove_page((tlb),(pte)); \
/linux-4.4.14/arch/xtensa/include/asm/
Dpgtable.h244 # define pte_none(pte) (pte_val(pte) == (_PAGE_CA_INVALID | _PAGE_USER)) argument
246 # define pte_present(pte) ((pte_val(pte) & _PAGE_CA_MASK) != _PAGE_CA_INVALID) argument
248 # define pte_present(pte) \ argument
249 (((pte_val(pte) & _PAGE_CA_MASK) != _PAGE_CA_INVALID) \
250 || ((pte_val(pte) & _PAGE_ATTRIB_MASK) == _PAGE_NONE))
260 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITABLE; } in pte_write() argument
261 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
262 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
263 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
265 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
[all …]
Dpgalloc.h58 pte_t *pte; in pte_alloc_one() local
61 pte = pte_alloc_one_kernel(mm, addr); in pte_alloc_one()
62 if (!pte) in pte_alloc_one()
64 page = virt_to_page(pte); in pte_alloc_one()
72 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
74 free_page((unsigned long)pte); in pte_free_kernel()
77 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
79 pgtable_page_dtor(pte); in pte_free()
80 __free_page(pte); in pte_free()
/linux-4.4.14/arch/m32r/include/asm/
Dpgalloc.h8 #define pmd_populate_kernel(mm, pmd, pte) \ argument
9 set_pmd(pmd, __pmd(_PAGE_TABLE + __pa(pte)))
12 pgtable_t pte) in pmd_populate() argument
14 set_pmd(pmd, __pmd(_PAGE_TABLE + page_to_phys(pte))); in pmd_populate()
36 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); in pte_alloc_one_kernel() local
38 return pte; in pte_alloc_one_kernel()
44 struct page *pte = alloc_page(GFP_KERNEL|__GFP_ZERO); in pte_alloc_one() local
46 if (!pte) in pte_alloc_one()
48 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
49 __free_page(pte); in pte_alloc_one()
[all …]
Dpgtable.h191 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
193 return pte_val(pte) & _PAGE_DIRTY; in pte_dirty()
196 static inline int pte_young(pte_t pte) in pte_young() argument
198 return pte_val(pte) & _PAGE_ACCESSED; in pte_young()
201 static inline int pte_write(pte_t pte) in pte_write() argument
203 return pte_val(pte) & _PAGE_WRITE; in pte_write()
206 static inline int pte_special(pte_t pte) in pte_special() argument
211 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
213 pte_val(pte) &= ~_PAGE_DIRTY; in pte_mkclean()
214 return pte; in pte_mkclean()
[all …]
/linux-4.4.14/arch/avr32/include/asm/
Dpgtable.h192 static inline int pte_write(pte_t pte) in pte_write() argument
194 return pte_val(pte) & _PAGE_RW; in pte_write()
196 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
198 return pte_val(pte) & _PAGE_DIRTY; in pte_dirty()
200 static inline int pte_young(pte_t pte) in pte_young() argument
202 return pte_val(pte) & _PAGE_ACCESSED; in pte_young()
204 static inline int pte_special(pte_t pte) in pte_special() argument
210 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
212 set_pte(&pte, __pte(pte_val(pte) & ~_PAGE_RW)); in pte_wrprotect()
213 return pte; in pte_wrprotect()
[all …]
Dpgalloc.h20 pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
22 set_pmd(pmd, __pmd((unsigned long)pte)); in pmd_populate_kernel()
26 pgtable_t pte) in pmd_populate() argument
28 set_pmd(pmd, __pmd((unsigned long)page_address(pte))); in pmd_populate()
79 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
81 quicklist_free(QUICK_PT, NULL, pte); in pte_free_kernel()
84 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
86 pgtable_page_dtor(pte); in pte_free()
87 quicklist_free_page(QUICK_PT, NULL, pte); in pte_free()
90 #define __pte_free_tlb(tlb,pte,addr) \ argument
[all …]
/linux-4.4.14/arch/unicore32/include/asm/
Dpgalloc.h39 pte_t *pte; in pte_alloc_one_kernel() local
41 pte = (pte_t *)__get_free_page(PGALLOC_GFP); in pte_alloc_one_kernel()
42 if (pte) in pte_alloc_one_kernel()
43 clean_dcache_area(pte, PTRS_PER_PTE * sizeof(pte_t)); in pte_alloc_one_kernel()
45 return pte; in pte_alloc_one_kernel()
51 struct page *pte; in pte_alloc_one() local
53 pte = alloc_pages(PGALLOC_GFP, 0); in pte_alloc_one()
54 if (!pte) in pte_alloc_one()
56 if (!PageHighMem(pte)) { in pte_alloc_one()
57 void *page = page_address(pte); in pte_alloc_one()
[all …]
Dpgtable.h52 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte_val(pte)) argument
152 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument
156 #define pte_none(pte) (!pte_val(pte)) argument
158 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument
164 #define pte_unmap(pte) do { } while (0) argument
166 #define set_pte(ptep, pte) cpu_set_pte(ptep, pte) argument
177 #define pte_present(pte) (pte_val(pte) & PTE_PRESENT) argument
178 #define pte_write(pte) (pte_val(pte) & PTE_WRITE) argument
179 #define pte_dirty(pte) (pte_val(pte) & PTE_DIRTY) argument
180 #define pte_young(pte) (pte_val(pte) & PTE_YOUNG) argument
[all …]
Dtlb.h20 #define __pte_free_tlb(tlb, pte, addr) \ argument
22 pgtable_page_dtor(pte); \
23 tlb_remove_page((tlb), (pte)); \
/linux-4.4.14/arch/s390/include/asm/
Dhugetlb.h20 pte_t *ptep, pte_t pte);
55 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
57 int changed = !pte_same(huge_ptep_get(ptep), pte); in huge_ptep_set_access_flags()
60 set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
68 pte_t pte = huge_ptep_get_and_clear(mm, addr, ptep); in huge_ptep_set_wrprotect() local
69 set_huge_pte_at(mm, addr, ptep, pte_wrprotect(pte)); in huge_ptep_set_wrprotect()
77 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
79 return pte_none(pte); in huge_pte_none()
82 static inline int huge_pte_write(pte_t pte) in huge_pte_write() argument
84 return pte_write(pte); in huge_pte_write()
[all …]
Dpgtable.h561 static inline int pte_present(pte_t pte) in pte_present() argument
564 return (pte_val(pte) & _PAGE_PRESENT) != 0; in pte_present()
567 static inline int pte_none(pte_t pte) in pte_none() argument
570 return pte_val(pte) == _PAGE_INVALID; in pte_none()
573 static inline int pte_swap(pte_t pte) in pte_swap() argument
576 return (pte_val(pte) & (_PAGE_PROTECT | _PAGE_PRESENT)) in pte_swap()
580 static inline int pte_special(pte_t pte) in pte_special() argument
582 return (pte_val(pte) & _PAGE_SPECIAL); in pte_special()
592 static inline int pte_protnone(pte_t pte) in pte_protnone() argument
594 return pte_present(pte) && !(pte_val(pte) & _PAGE_READ); in pte_protnone()
[all …]
Dpgalloc.h125 pmd_t *pmd, pgtable_t pte) in pmd_populate() argument
127 pmd_val(*pmd) = _SEGMENT_ENTRY + __pa(pte); in pmd_populate()
130 #define pmd_populate_kernel(mm, pmd, pte) pmd_populate(mm, pmd, pte) argument
141 #define pte_free_kernel(mm, pte) page_table_free(mm, (unsigned long *) pte) argument
142 #define pte_free(mm, pte) page_table_free(mm, (unsigned long *) pte) argument
/linux-4.4.14/include/trace/events/
Dthp.h12 TP_PROTO(unsigned long addr, unsigned long pte),
13 TP_ARGS(addr, pte),
16 __field(unsigned long, pte)
21 __entry->pte = pte;
25 __entry->addr, __entry->pte)
48 TP_PROTO(unsigned long addr, unsigned long pte, unsigned long clr, unsigned long set),
49 TP_ARGS(addr, pte, clr, set),
52 __field(unsigned long, pte)
59 __entry->pte = pte;
65 …r 0x%lx and pte = 0x%lx clr = 0x%lx, set = 0x%lx", __entry->addr, __entry->pte, __entry->clr, __en…
[all …]
/linux-4.4.14/arch/x86/mm/
Dpageattr-test.c38 static int pte_testbit(pte_t pte) in pte_testbit() argument
40 return pte_flags(pte) & _PAGE_SOFTW1; in pte_testbit()
59 pte_t *pte; in print_split() local
61 pte = lookup_address(addr, &level); in print_split()
62 if (!pte) { in print_split()
72 if ((pte_val(*pte) & _PAGE_PRESENT) && !(pte_val(*pte) & _PAGE_PSE)) { in print_split()
75 addr, level, (u64)pte_val(*pte)); in print_split()
84 if (!(pte_val(*pte) & _PAGE_NX)) { in print_split()
117 pte_t *pte, pte0; in pageattr_test() local
145 pte = NULL; in pageattr_test()
[all …]
Dkmmio.c76 pte_t *pte = lookup_address(addr, &l); in kmmio_page_list() local
78 if (!pte) in kmmio_page_list()
113 pte_t *pte = lookup_address(addr, &l); in get_kmmio_fault_page() local
115 if (!pte) in get_kmmio_fault_page()
137 static void clear_pte_presence(pte_t *pte, bool clear, pteval_t *old) in clear_pte_presence() argument
139 pteval_t v = pte_val(*pte); in clear_pte_presence()
145 set_pte_atomic(pte, __pte(v)); in clear_pte_presence()
151 pte_t *pte = lookup_address(f->addr, &level); in clear_page_presence() local
153 if (!pte) { in clear_page_presence()
160 clear_pmd_presence((pmd_t *)pte, clear, &f->old_presence); in clear_page_presence()
[all …]
Dinit_32.c156 static pte_t *__init page_table_kmap_check(pte_t *pte, pmd_t *pmd, in page_table_kmap_check() argument
179 set_pte(newpte + i, pte[i]); in page_table_kmap_check()
187 paravirt_release_pte(__pa(pte) >> PAGE_SHIFT); in page_table_kmap_check()
188 pte = newpte; in page_table_kmap_check()
192 && lastpte && lastpte + PTRS_PER_PTE != pte); in page_table_kmap_check()
194 return pte; in page_table_kmap_check()
213 pte_t *pte = NULL; in page_table_range_init() local
230 pte = page_table_kmap_check(one_page_table_init(pmd), in page_table_range_init()
231 pmd, vaddr, pte, &adr); in page_table_range_init()
264 pte_t *pte; in kernel_physical_mapping_init() local
[all …]
Dinit_64.c260 pte_t *pte = (pte_t *) spp_getpage(); in fill_pte() local
261 pmd_populate_kernel(&init_mm, pmd, pte); in fill_pte()
262 if (pte != pte_offset_kernel(pmd, 0)) in fill_pte()
272 pte_t *pte; in set_pte_vaddr_pud() local
276 pte = fill_pte(pmd, vaddr); in set_pte_vaddr_pud()
278 set_pte(pte, new_pte); in set_pte_vaddr_pud()
409 pte_t *pte = pte_page + pte_index(addr); in phys_pte_init() local
411 for (i = pte_index(addr); i < PTRS_PER_PTE; i++, addr = next, pte++) { in phys_pte_init()
417 set_pte(pte, __pte(0)); in phys_pte_init()
427 if (pte_val(*pte)) { in phys_pte_init()
[all …]
Dfault.c330 pte_t *pte; in dump_pagetable() local
349 pte = pte_offset_kernel(pmd, address); in dump_pagetable()
350 printk("*pte = %0*Lx ", sizeof(*pte) * 2, (u64)pte_val(*pte)); in dump_pagetable()
372 pte_t *pte, *pte_ref; in vmalloc_fault() local
428 pte = pte_offset_kernel(pmd, address); in vmalloc_fault()
435 if (!pte_present(*pte) || pte_pfn(*pte) != pte_pfn(*pte_ref)) in vmalloc_fault()
473 pte_t *pte; in dump_pagetable() local
499 pte = pte_offset_kernel(pmd, address); in dump_pagetable()
500 if (bad_address(pte)) in dump_pagetable()
503 printk("PTE %lx", pte_val(*pte)); in dump_pagetable()
[all …]
Dpgtable.c26 struct page *pte; in pte_alloc_one() local
28 pte = alloc_pages(__userpte_alloc_gfp, 0); in pte_alloc_one()
29 if (!pte) in pte_alloc_one()
31 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
32 __free_page(pte); in pte_alloc_one()
35 return pte; in pte_alloc_one()
55 void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) in ___pte_free_tlb() argument
57 pgtable_page_dtor(pte); in ___pte_free_tlb()
58 paravirt_release_pte(page_to_pfn(pte)); in ___pte_free_tlb()
59 tlb_remove_page(tlb, pte); in ___pte_free_tlb()
[all …]
Dgup.c52 pte_t pte; in gup_get_pte()
55 pte.pte_low = ptep->pte_low; in gup_get_pte()
57 pte.pte_high = ptep->pte_high; in gup_get_pte()
59 if (unlikely(pte.pte_low != ptep->pte_low)) in gup_get_pte()
62 return pte; in gup_get_pte()
83 pte_t pte = gup_get_pte(ptep); in gup_pte_range() local
87 if (pte_protnone(pte)) { in gup_pte_range()
92 if ((pte_flags(pte) & (mask | _PAGE_SPECIAL)) != mask) { in gup_pte_range()
96 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_pte_range()
97 page = pte_page(pte); in gup_pte_range()
Dpgtable_32.c32 pte_t *pte; in set_pte_vaddr() local
49 pte = pte_offset_kernel(pmd, vaddr); in set_pte_vaddr()
51 set_pte_at(&init_mm, vaddr, pte, pteval); in set_pte_vaddr()
53 pte_clear(&init_mm, vaddr, pte); in set_pte_vaddr()
Dpageattr.c197 pte_t *pte = lookup_address(addr, &level); in cpa_flush_range() local
202 if (pte && (pte_val(*pte) & _PAGE_PRESENT)) in cpa_flush_range()
228 pte_t *pte; in cpa_flush_array() local
235 pte = lookup_address(addr, &level); in cpa_flush_array()
240 if (pte && (pte_val(*pte) & _PAGE_PRESENT)) in cpa_flush_array()
420 pte_t *pte; in slow_virt_to_phys() local
422 pte = lookup_address(virt_addr, &level); in slow_virt_to_phys()
423 BUG_ON(!pte); in slow_virt_to_phys()
432 phys_addr = (phys_addr_t)pud_pfn(*(pud_t *)pte) << PAGE_SHIFT; in slow_virt_to_phys()
436 phys_addr = (phys_addr_t)pmd_pfn(*(pmd_t *)pte) << PAGE_SHIFT; in slow_virt_to_phys()
[all …]
/linux-4.4.14/arch/parisc/include/asm/
Dpgtable.h357 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } in pte_dirty() argument
358 static inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } in pte_young() argument
359 static inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } in pte_write() argument
360 static inline int pte_special(pte_t pte) { return 0; } in pte_special() argument
362 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; } in pte_mkclean() argument
363 static inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } in pte_mkold() argument
364 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; } in pte_wrprotect() argument
365 static inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; } in pte_mkdirty() argument
366 static inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; } in pte_mkyoung() argument
367 static inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; } in pte_mkwrite() argument
[all …]
Dpgalloc.h99 #define pgd_populate(mm, pmd, pte) BUG() argument
104 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
113 + (__u32)(__pa((unsigned long)pte) >> PxD_VALUE_SHIFT)); in pmd_populate_kernel()
117 + (__u32)(__pa((unsigned long)pte) >> PxD_VALUE_SHIFT)); in pmd_populate_kernel()
140 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel() local
141 return pte; in pte_alloc_one_kernel()
144 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
146 free_page((unsigned long)pte); in pte_free_kernel()
149 static inline void pte_free(struct mm_struct *mm, struct page *pte) in pte_free() argument
151 pgtable_page_dtor(pte); in pte_free()
[all …]
Dhugetlb.h9 pte_t *ptep, pte_t pte);
47 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
49 return pte_none(pte); in huge_pte_none()
52 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
54 return pte_wrprotect(pte); in huge_pte_wrprotect()
62 pte_t pte, int dirty);
/linux-4.4.14/arch/m68k/mm/
Dmcfmmu.c67 pte_t pte = pfn_pte(virt_to_pfn(address), PAGE_INIT); in paging_init() local
69 pte_val(pte) = 0; in paging_init()
71 set_pte(pg_table, pte); in paging_init()
90 pte_t *pte; in cf_tlb_miss() local
116 pte = (KMAPAREA(mmuar)) ? pte_offset_kernel(pmd, mmuar) in cf_tlb_miss()
118 if (pte_none(*pte) || !pte_present(*pte)) { in cf_tlb_miss()
124 if (!pte_write(*pte)) { in cf_tlb_miss()
128 set_pte(pte, pte_mkdirty(*pte)); in cf_tlb_miss()
131 set_pte(pte, pte_mkyoung(*pte)); in cf_tlb_miss()
133 if (!pte_dirty(*pte) && !KMAPAREA(mmuar)) in cf_tlb_miss()
[all …]
/linux-4.4.14/arch/score/mm/
Dtlb-miss.S35 .macro load_pte, pte, ptr
38 mfcr \pte, cr6
39 srli \pte, \pte, 22
40 slli \pte, \pte, 2
41 add \ptr, \ptr, \pte
43 mfcr \pte, cr6
44 srli \pte, \pte, 10
45 andi \pte, 0xffc
46 add \ptr, \ptr, \pte
47 lw \pte, [\ptr, 0]
[all …]
/linux-4.4.14/arch/ia64/include/asm/
Dpgtable.h264 #define pte_none(pte) (!pte_val(pte)) argument
265 #define pte_present(pte) (pte_val(pte) & (_PAGE_P | _PAGE_PROTNONE)) argument
266 #define pte_clear(mm,addr,pte) (pte_val(*(pte)) = 0UL) argument
268 #define pte_page(pte) virt_to_page(((pte_val(pte) & _PFN_MASK) + PAGE_OFFSET)) argument
296 #define pte_write(pte) ((unsigned) (((pte_val(pte) & _PAGE_AR_MASK) >> _PAGE_AR_SHIFT) - 2) <= 4) argument
297 #define pte_exec(pte) ((pte_val(pte) & _PAGE_AR_RX) != 0) argument
298 #define pte_dirty(pte) ((pte_val(pte) & _PAGE_D) != 0) argument
299 #define pte_young(pte) ((pte_val(pte) & _PAGE_A) != 0) argument
300 #define pte_special(pte) 0 argument
306 #define pte_wrprotect(pte) (__pte(pte_val(pte) & ~_PAGE_AR_RW)) argument
[all …]
Dpgalloc.h73 pmd_populate(struct mm_struct *mm, pmd_t * pmd_entry, pgtable_t pte) in pmd_populate() argument
75 pmd_val(*pmd_entry) = page_to_phys(pte); in pmd_populate()
80 pmd_populate_kernel(struct mm_struct *mm, pmd_t * pmd_entry, pte_t * pte) in pmd_populate_kernel() argument
82 pmd_val(*pmd_entry) = __pa(pte); in pmd_populate_kernel()
107 static inline void pte_free(struct mm_struct *mm, pgtable_t pte) in pte_free() argument
109 pgtable_page_dtor(pte); in pte_free()
110 quicklist_free_page(0, NULL, pte); in pte_free()
113 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
115 quicklist_free(0, NULL, pte); in pte_free_kernel()
123 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) argument
Dhugetlb.h24 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
26 set_pte_at(mm, addr, ptep, pte); in set_huge_pte_at()
40 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
42 return pte_none(pte); in huge_pte_none()
45 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
47 return pte_wrprotect(pte); in huge_pte_wrprotect()
58 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
60 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/
Dnv44.c39 dma_addr_t *list, u32 pte, u32 cnt) in nv44_vm_fill() argument
41 u32 base = (pte << 2) & ~0x0000000f; in nv44_vm_fill()
51 switch (pte++ & 0x3) { in nv44_vm_fill()
85 struct nvkm_mem *mem, u32 pte, u32 cnt, dma_addr_t *list) in nv44_vm_map_sg() argument
92 if (pte & 3) { in nv44_vm_map_sg()
93 u32 max = 4 - (pte & 3); in nv44_vm_map_sg()
95 nv44_vm_fill(pgt, mmu->null, list, pte, part); in nv44_vm_map_sg()
96 pte += part; in nv44_vm_map_sg()
104 nvkm_wo32(pgt, pte++ * 4, tmp[0] >> 0 | tmp[1] << 27); in nv44_vm_map_sg()
105 nvkm_wo32(pgt, pte++ * 4, tmp[1] >> 5 | tmp[2] << 22); in nv44_vm_map_sg()
[all …]
Dgf100.c104 struct nvkm_mem *mem, u32 pte, u32 cnt, u64 phys, u64 delta) in gf100_vm_map() argument
109 pte <<= 3; in gf100_vm_map()
121 nvkm_wo32(pgt, pte + 0, lower_32_bits(phys)); in gf100_vm_map()
122 nvkm_wo32(pgt, pte + 4, upper_32_bits(phys)); in gf100_vm_map()
124 pte += 8; in gf100_vm_map()
131 struct nvkm_mem *mem, u32 pte, u32 cnt, dma_addr_t *list) in gf100_vm_map_sg() argument
138 pte <<= 3; in gf100_vm_map_sg()
141 nvkm_wo32(pgt, pte + 0, lower_32_bits(phys)); in gf100_vm_map_sg()
142 nvkm_wo32(pgt, pte + 4, upper_32_bits(phys)); in gf100_vm_map_sg()
143 pte += 8; in gf100_vm_map_sg()
[all …]
Dnv50.c78 struct nvkm_mem *mem, u32 pte, u32 cnt, u64 phys, u64 delta) in nv50_vm_map() argument
93 pte <<= 3; in nv50_vm_map()
103 if (cnt >= block && !(pte & (block - 1))) in nv50_vm_map()
117 nvkm_wo32(pgt, pte + 0, offset_l); in nv50_vm_map()
118 nvkm_wo32(pgt, pte + 4, offset_h); in nv50_vm_map()
119 pte += 8; in nv50_vm_map()
128 struct nvkm_mem *mem, u32 pte, u32 cnt, dma_addr_t *list) in nv50_vm_map_sg() argument
131 pte <<= 3; in nv50_vm_map_sg()
135 nvkm_wo32(pgt, pte + 0, lower_32_bits(phys)); in nv50_vm_map_sg()
136 nvkm_wo32(pgt, pte + 4, upper_32_bits(phys)); in nv50_vm_map_sg()
[all …]
Dnv41.c39 struct nvkm_mem *mem, u32 pte, u32 cnt, dma_addr_t *list) in nv41_vm_map_sg() argument
41 pte = pte * 4; in nv41_vm_map_sg()
47 nvkm_wo32(pgt, pte, (phys >> 7) | 1); in nv41_vm_map_sg()
49 pte += 4; in nv41_vm_map_sg()
57 nv41_vm_unmap(struct nvkm_vma *vma, struct nvkm_memory *pgt, u32 pte, u32 cnt) in nv41_vm_unmap() argument
59 pte = pte * 4; in nv41_vm_unmap()
62 nvkm_wo32(pgt, pte, 0x00000000); in nv41_vm_unmap()
63 pte += 4; in nv41_vm_unmap()
Dnv04.c37 struct nvkm_mem *mem, u32 pte, u32 cnt, dma_addr_t *list) in nv04_vm_map_sg() argument
39 pte = 0x00008 + (pte * 4); in nv04_vm_map_sg()
45 nvkm_wo32(pgt, pte, phys | 3); in nv04_vm_map_sg()
47 pte += 4; in nv04_vm_map_sg()
55 nv04_vm_unmap(struct nvkm_vma *vma, struct nvkm_memory *pgt, u32 pte, u32 cnt) in nv04_vm_unmap() argument
57 pte = 0x00008 + (pte * 4); in nv04_vm_unmap()
60 nvkm_wo32(pgt, pte, 0x00000000); in nv04_vm_unmap()
61 pte += 4; in nv04_vm_unmap()
Dbase.c39 u32 pte = (offset & ((1 << mmu->func->pgt_bits) - 1)) >> bits; in nvkm_vm_map_at() local
51 end = (pte + num); in nvkm_vm_map_at()
54 len = end - pte; in nvkm_vm_map_at()
56 mmu->func->map(vma, pgt, node, pte, len, phys, delta); in nvkm_vm_map_at()
59 pte += len; in nvkm_vm_map_at()
63 pte = 0; in nvkm_vm_map_at()
84 u32 pte = (offset & ((1 << mmu->func->pgt_bits) - 1)) >> bits; in nvkm_vm_map_sg_table() local
95 end = pte + sglen; in nvkm_vm_map_sg_table()
98 len = end - pte; in nvkm_vm_map_sg_table()
103 mmu->func->map_sg(vma, pgt, mem, pte, 1, &addr); in nvkm_vm_map_sg_table()
[all …]
/linux-4.4.14/include/asm-generic/
Dhugetlb.h9 static inline unsigned long huge_pte_write(pte_t pte) in huge_pte_write() argument
11 return pte_write(pte); in huge_pte_write()
14 static inline unsigned long huge_pte_dirty(pte_t pte) in huge_pte_dirty() argument
16 return pte_dirty(pte); in huge_pte_dirty()
19 static inline pte_t huge_pte_mkwrite(pte_t pte) in huge_pte_mkwrite() argument
21 return pte_mkwrite(pte); in huge_pte_mkwrite()
24 static inline pte_t huge_pte_mkdirty(pte_t pte) in huge_pte_mkdirty() argument
26 return pte_mkdirty(pte); in huge_pte_mkdirty()
29 static inline pte_t huge_pte_modify(pte_t pte, pgprot_t newprot) in huge_pte_modify() argument
31 return pte_modify(pte, newprot); in huge_pte_modify()
Dpgtable.h53 pte_t pte = *ptep; in ptep_test_and_clear_young() local
55 if (!pte_young(pte)) in ptep_test_and_clear_young()
58 set_pte_at(vma->vm_mm, address, ptep, pte_mkold(pte)); in ptep_test_and_clear_young()
116 pte_t pte = *ptep; in ptep_get_and_clear() local
118 return pte; in ptep_get_and_clear()
151 pte_t pte; in ptep_get_and_clear_full() local
152 pte = ptep_get_and_clear(mm, address, ptep); in ptep_get_and_clear_full()
153 return pte; in ptep_get_and_clear_full()
259 static inline int pte_unused(pte_t pte) in pte_unused() argument
285 #define move_pte(pte, prot, old_addr, new_addr) (pte) argument
[all …]
/linux-4.4.14/arch/parisc/kernel/
Dentry.S400 .macro L2_ptep pmd,pte,index,va,fault
415 copy %r0,\pte
424 LDREG %r0(\pmd),\pte
425 bb,>=,n \pte,_PAGE_PRESENT_BIT,\fault
438 .macro L3_ptep pgd,pte,index,va,fault
441 copy %r0,\pte
453 L2_ptep \pgd,\pte,\index,\va,\fault
457 .macro tlb_lock spc,ptp,pte,tmp,tmp1,fault
464 LDREG 0(\ptp),\pte
465 bb,<,n \pte,_PAGE_PRESENT_BIT,2f
[all …]
/linux-4.4.14/arch/mips/mm/
Dgup.c21 pte_t pte; in gup_get_pte() local
24 pte.pte_low = ptep->pte_low; in gup_get_pte()
26 pte.pte_high = ptep->pte_high; in gup_get_pte()
28 if (unlikely(pte.pte_low != ptep->pte_low)) in gup_get_pte()
31 return pte; in gup_get_pte()
42 pte_t pte = gup_get_pte(ptep); in gup_pte_range() local
45 if (!pte_present(pte) || in gup_pte_range()
46 pte_special(pte) || (write && !pte_write(pte))) { in gup_pte_range()
50 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_pte_range()
51 page = pte_page(pte); in gup_pte_range()
[all …]
Dtlbex.c726 static void build_huge_update_entries(u32 **p, unsigned int pte, in build_huge_update_entries() argument
746 build_convert_pte_to_entrylo(p, pte); in build_huge_update_entries()
747 UASM_i_MTC0(p, pte, C0_ENTRYLO0); /* load it */ in build_huge_update_entries()
750 UASM_i_ADDIU(p, pte, pte, HPAGE_SIZE >> 7); in build_huge_update_entries()
752 UASM_i_ADDU(p, pte, pte, tmp); in build_huge_update_entries()
754 UASM_i_MTC0(p, pte, C0_ENTRYLO1); /* load it */ in build_huge_update_entries()
759 unsigned int pte, in build_huge_handler_tail() argument
763 UASM_i_SC(p, pte, 0, ptr); in build_huge_handler_tail()
764 uasm_il_beqz(p, r, pte, label_tlb_huge_update); in build_huge_handler_tail()
765 UASM_i_LW(p, pte, 0, ptr); /* Needed because SC killed our PTE */ in build_huge_handler_tail()
[all …]
Dioremap.c19 static inline void remap_area_pte(pte_t * pte, unsigned long address, in remap_area_pte() argument
34 if (!pte_none(*pte)) { in remap_area_pte()
38 set_pte(pte, pfn_pte(pfn, pgprot)); in remap_area_pte()
41 pte++; in remap_area_pte()
57 pte_t * pte = pte_alloc_kernel(pmd, address); in remap_area_pmd() local
58 if (!pte) in remap_area_pmd()
60 remap_area_pte(pte, address, end - address, address + phys_addr, flags); in remap_area_pmd()
/linux-4.4.14/arch/arc/include/asm/
Dpgtable.h247 #define pte_unmap(pte) do { } while (0) argument
248 #define pte_unmap_nested(pte) do { } while (0) argument
279 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT) argument
296 #define pte_read(pte) (pte_val(pte) & _PAGE_READ) argument
297 #define pte_write(pte) (pte_val(pte) & _PAGE_WRITE) argument
298 #define pte_dirty(pte) (pte_val(pte) & _PAGE_DIRTY) argument
299 #define pte_young(pte) (pte_val(pte) & _PAGE_ACCESSED) argument
300 #define pte_special(pte) (pte_val(pte) & _PAGE_SPECIAL) argument
303 static inline pte_t pte_##fn(pte_t pte) { pte_val(pte) op; return pte; }
319 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
[all …]
Dpgalloc.h39 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) in pmd_populate_kernel() argument
41 pmd_set(pmd, pte); in pmd_populate_kernel()
96 pte_t *pte; in pte_alloc_one_kernel() local
98 pte = (pte_t *) __get_free_pages(GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO, in pte_alloc_one_kernel()
101 return pte; in pte_alloc_one_kernel()
123 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
125 free_pages((unsigned long)pte, __get_order_pte()); /* takes phy addr */ in pte_free_kernel()
134 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte) argument
/linux-4.4.14/drivers/iommu/
Dio-pgtable-arm.c170 #define iopte_deref(pte,d) \ argument
171 (__va((pte) & ((1ULL << ARM_LPAE_MAX_ADDR_BITS) - 1) \
174 #define iopte_type(pte,l) \ argument
175 (((pte) >> ARM_LPAE_PTE_TYPE_SHIFT) & ARM_LPAE_PTE_TYPE_MASK)
177 #define iopte_prot(pte) ((pte) & ARM_LPAE_PTE_ATTR_MASK) argument
179 #define iopte_leaf(pte,l) \ argument
181 (iopte_type(pte,l) == ARM_LPAE_PTE_TYPE_PAGE) : \
182 (iopte_type(pte,l) == ARM_LPAE_PTE_TYPE_BLOCK))
184 #define iopte_to_pfn(pte,d) \ argument
185 (((pte) & ((1ULL << ARM_LPAE_MAX_ADDR_BITS) - 1)) >> (d)->pg_shift)
[all …]
Dtegra-gart.c94 unsigned long offs, u32 pte) in gart_set_pte() argument
97 writel(pte, gart->regs + GART_ENTRY_DATA); in gart_set_pte()
100 pte ? "map" : "unmap", offs, pte & GART_PAGE_MASK); in gart_set_pte()
106 unsigned long pte; in gart_read_pte() local
109 pte = readl(gart->regs + GART_ENTRY_DATA); in gart_read_pte()
111 return pte; in gart_read_pte()
133 unsigned long pte; in gart_dump_table() local
135 pte = gart_read_pte(gart, iova); in gart_dump_table()
138 (GART_ENTRY_PHYS_ADDR_VALID & pte) ? "v" : " ", in gart_dump_table()
139 iova, pte & GART_PAGE_MASK); in gart_dump_table()
[all …]
Drockchip-iommu.c217 static inline phys_addr_t rk_pte_page_address(u32 pte) in rk_pte_page_address() argument
219 return (phys_addr_t)pte & RK_PTE_PAGE_ADDRESS_MASK; in rk_pte_page_address()
222 static inline bool rk_pte_is_page_valid(u32 pte) in rk_pte_is_page_valid() argument
224 return pte & RK_PTE_PAGE_VALID; in rk_pte_is_page_valid()
237 static u32 rk_mk_pte_invalid(u32 pte) in rk_mk_pte_invalid() argument
239 return pte & ~RK_PTE_PAGE_VALID; in rk_mk_pte_invalid()
420 u32 pte = 0; in log_iova() local
440 pte = *pte_addr; in log_iova()
442 if (!rk_pte_is_page_valid(pte)) in log_iova()
445 page_addr_phys = rk_pte_page_address(pte) + page_offset; in log_iova()
[all …]
Damd_iommu.c1196 u64 *pte; in increase_address_space() local
1202 pte = (void *)get_zeroed_page(gfp); in increase_address_space()
1203 if (!pte) in increase_address_space()
1206 *pte = PM_LEVEL_PDE(domain->mode, in increase_address_space()
1208 domain->pt_root = pte; in increase_address_space()
1222 u64 *pte, *page; in alloc_pte() local
1230 pte = &domain->pt_root[PM_LEVEL_INDEX(level, address)]; in alloc_pte()
1235 if (!IOMMU_PTE_PRESENT(*pte)) { in alloc_pte()
1239 *pte = PM_LEVEL_PDE(level, virt_to_phys(page)); in alloc_pte()
1243 if (PM_PTE_LEVEL(*pte) != level) in alloc_pte()
[all …]
Damd_iommu_types.h243 #define PM_PTE_LEVEL(pte) (((pte) >> 9) & 0x7ULL) argument
282 #define PTE_PAGE_SIZE(pte) \ argument
283 (1ULL << (1 + ffz(((pte) | 0xfffULL))))
319 #define IOMMU_PTE_PRESENT(pte) ((pte) & IOMMU_PTE_P) argument
320 #define IOMMU_PTE_PAGE(pte) (phys_to_virt((pte) & IOMMU_PAGE_MASK)) argument
321 #define IOMMU_PTE_MODE(pte) (((pte) >> 9) & 0x07) argument
/linux-4.4.14/Documentation/frv/
Dmmu-layout.txt291 $5 = {{pte = 0x0} <repeats 127 times>, {pte = 0x539b01}, {
292 pte = 0x0} <repeats 896 times>, {pte = 0x719303}, {pte = 0x6d5303}, {
293 pte = 0x0}, {pte = 0x0}, {pte = 0x0}, {pte = 0x0}, {pte = 0x0}, {
294 pte = 0x0}, {pte = 0x0}, {pte = 0x0}, {pte = 0x0}, {pte = 0x6a1303}, {
295 pte = 0x0} <repeats 12 times>, {pte = 0x709303}, {pte = 0x0}, {pte = 0x0},
296 {pte = 0x6fd303}, {pte = 0x6f9303}, {pte = 0x6f5303}, {pte = 0x0}, {
297 pte = 0x6ed303}, {pte = 0x531b01}, {pte = 0x50db01}, {
298 pte = 0x0} <repeats 13 times>, {pte = 0x5303}, {pte = 0x7f5303}, {
299 pte = 0x509b01}, {pte = 0x505b01}, {pte = 0x7c9303}, {pte = 0x7b9303}, {
300 pte = 0x7b5303}, {pte = 0x7b1303}, {pte = 0x7ad303}, {pte = 0x0}, {
[all …]
/linux-4.4.14/arch/mn10300/mm/
Dpgtable.c66 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT); in pte_alloc_one_kernel() local
67 if (pte) in pte_alloc_one_kernel()
68 clear_page(pte); in pte_alloc_one_kernel()
69 return pte; in pte_alloc_one_kernel()
74 struct page *pte; in pte_alloc_one() local
77 pte = alloc_pages(GFP_KERNEL|__GFP_HIGHMEM|__GFP_REPEAT, 0); in pte_alloc_one()
79 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT, 0); in pte_alloc_one()
81 if (!pte) in pte_alloc_one()
83 clear_highpage(pte); in pte_alloc_one()
84 if (!pgtable_page_ctor(pte)) { in pte_alloc_one()
[all …]
Dcache-inv-icache.c35 pte_t *ppte, pte; in flush_icache_page_range() local
58 pte = *ppte; in flush_icache_page_range()
61 if (pte_none(pte)) in flush_icache_page_range()
64 page = pte_page(pte); in flush_icache_page_range()
/linux-4.4.14/arch/um/kernel/
Dmem.c69 pte_t *pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); in one_page_table_init() local
71 (unsigned long) __pa(pte))); in one_page_table_init()
72 if (pte != pte_offset_kernel(pmd, 0)) in one_page_table_init()
121 pte_t *pte; in fixaddr_user_init() local
137 pte = pte_offset_kernel(pmd, vaddr); in fixaddr_user_init()
138 pte_set_val(*pte, p, PAGE_READONLY); in fixaddr_user_init()
205 pte_t *pte; in pte_alloc_one_kernel() local
207 pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); in pte_alloc_one_kernel()
208 return pte; in pte_alloc_one_kernel()
213 struct page *pte; in pte_alloc_one() local
[all …]
Dtlb.c197 pte_t *pte; in update_pte_range() local
200 pte = pte_offset_kernel(pmd, addr); in update_pte_range()
205 r = pte_read(*pte); in update_pte_range()
206 w = pte_write(*pte); in update_pte_range()
207 x = pte_exec(*pte); in update_pte_range()
208 if (!pte_young(*pte)) { in update_pte_range()
211 } else if (!pte_dirty(*pte)) in update_pte_range()
216 if (hvc->force || pte_newpage(*pte)) { in update_pte_range()
217 if (pte_present(*pte)) in update_pte_range()
218 ret = add_mmap(addr, pte_val(*pte) & PAGE_MASK, in update_pte_range()
[all …]
/linux-4.4.14/arch/x86/mm/kmemcheck/
Dkmemcheck.c98 pte_t *pte; in kmemcheck_show_addr() local
100 pte = kmemcheck_pte_lookup(address); in kmemcheck_show_addr()
101 if (!pte) in kmemcheck_show_addr()
104 set_pte(pte, __pte(pte_val(*pte) | _PAGE_PRESENT)); in kmemcheck_show_addr()
111 pte_t *pte; in kmemcheck_hide_addr() local
113 pte = kmemcheck_pte_lookup(address); in kmemcheck_hide_addr()
114 if (!pte) in kmemcheck_hide_addr()
117 set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT)); in kmemcheck_hide_addr()
271 pte_t *pte; in kmemcheck_show_pages() local
275 pte = lookup_address(address, &level); in kmemcheck_show_pages()
[all …]
Dpte.c9 pte_t *pte; in kmemcheck_pte_lookup() local
12 pte = lookup_address(address, &level); in kmemcheck_pte_lookup()
13 if (!pte) in kmemcheck_pte_lookup()
17 if (!pte_hidden(*pte)) in kmemcheck_pte_lookup()
20 return pte; in kmemcheck_pte_lookup()
/linux-4.4.14/arch/um/kernel/skas/
Dmmu.c23 pte_t *pte; in init_stub_pte() local
34 pte = pte_alloc_map(mm, NULL, pmd, proc); in init_stub_pte()
35 if (!pte) in init_stub_pte()
38 *pte = mk_pte(virt_to_page(kernel), __pgprot(_PAGE_PRESENT)); in init_stub_pte()
39 *pte = pte_mkread(*pte); in init_stub_pte()
126 pte_t *pte; in arch_exit_mmap() local
128 pte = virt_to_pte(mm, STUB_CODE); in arch_exit_mmap()
129 if (pte != NULL) in arch_exit_mmap()
130 pte_clear(mm, STUB_CODE, pte); in arch_exit_mmap()
132 pte = virt_to_pte(mm, STUB_DATA); in arch_exit_mmap()
[all …]
Duaccess.c43 pte_t *pte = virt_to_pte(current->mm, virt); in maybe_map() local
46 if ((pte == NULL) || !pte_present(*pte) || in maybe_map()
47 (is_write && !pte_write(*pte))) { in maybe_map()
51 pte = virt_to_pte(current->mm, virt); in maybe_map()
53 if (!pte_present(*pte)) in maybe_map()
54 pte = NULL; in maybe_map()
56 return pte; in maybe_map()
64 pte_t *pte; in do_op_one_page() local
67 pte = maybe_map(addr, is_write); in do_op_one_page()
68 if (pte == NULL) in do_op_one_page()
[all …]
/linux-4.4.14/arch/arm/lib/
Duaccess_with_memcpy.c31 pte_t *pte; in pin_page_for_write() local
75 pte = pte_offset_map_lock(current->mm, pmd, addr, &ptl); in pin_page_for_write()
76 if (unlikely(!pte_present(*pte) || !pte_young(*pte) || in pin_page_for_write()
77 !pte_write(*pte) || !pte_dirty(*pte))) { in pin_page_for_write()
78 pte_unmap_unlock(pte, ptl); in pin_page_for_write()
82 *ptep = pte; in pin_page_for_write()
105 pte_t *pte; in __copy_to_user_memcpy() local
109 while (!pin_page_for_write(to, &pte, &ptl)) { in __copy_to_user_memcpy()
129 if (pte) in __copy_to_user_memcpy()
130 pte_unmap_unlock(pte, ptl); in __copy_to_user_memcpy()
[all …]
/linux-4.4.14/arch/tile/include/hv/
Dhypervisor.h597 int hv_get_ipi_pte(HV_Coord tile, int pl, HV_PTE* pte);
1848 HV_PTE pte; /**< Page table entry describing the caching and location member
2028 #define hv_pte_val(pte) ((pte).val) argument
2374 hv_pte_get_##name(HV_PTE pte) \
2376 return (pte.val >> HV_PTE_INDEX_##bit) & 1; \
2380 hv_pte_set_##name(HV_PTE pte) \
2382 pte.val |= 1ULL << HV_PTE_INDEX_##bit; \
2383 return pte; \
2387 hv_pte_clear_##name(HV_PTE pte) \
2389 pte.val &= ~(1ULL << HV_PTE_INDEX_##bit); \
[all …]
/linux-4.4.14/arch/microblaze/mm/
Dpgtable.c195 pte_t *pte; in get_pteptr() local
202 pte = pte_offset_kernel(pmd, addr & PAGE_MASK); in get_pteptr()
203 if (pte) { in get_pteptr()
205 *ptep = pte; in get_pteptr()
219 pte_t *pte; in iopa() local
231 if (get_pteptr(mm, addr, &pte)) in iopa()
232 pa = (pte_val(*pte) & PAGE_MASK) | (addr & ~PAGE_MASK); in iopa()
240 pte_t *pte; in pte_alloc_one_kernel() local
242 pte = (pte_t *)__get_free_page(GFP_KERNEL | in pte_alloc_one_kernel()
245 pte = (pte_t *)early_get_page(); in pte_alloc_one_kernel()
[all …]
/linux-4.4.14/arch/tile/include/asm/
Dhugetlb.h52 pte_t *ptep, pte_t pte) in set_huge_pte_at() argument
54 set_pte(ptep, pte); in set_huge_pte_at()
69 static inline int huge_pte_none(pte_t pte) in huge_pte_none() argument
71 return pte_none(pte); in huge_pte_none()
74 static inline pte_t huge_pte_wrprotect(pte_t pte) in huge_pte_wrprotect() argument
76 return pte_wrprotect(pte); in huge_pte_wrprotect()
87 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
89 return ptep_set_access_flags(vma, addr, ptep, pte, dirty); in huge_ptep_set_access_flags()
Dpgalloc.h73 extern void pgtable_free(struct mm_struct *mm, struct page *pte, int order);
81 static inline void pte_free(struct mm_struct *mm, struct page *pte) in pte_free() argument
83 pgtable_free(mm, pte, L2_USER_PGTABLE_ORDER); in pte_free()
94 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) in pte_free_kernel() argument
96 BUG_ON((unsigned long)pte & (PAGE_SIZE-1)); in pte_free_kernel()
97 pte_free(mm, virt_to_page(pte)); in pte_free_kernel()
100 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()
Dpgtable.h217 #define pte_special(pte) 0 argument
218 #define pte_mkspecial(pte) (pte) argument
243 int va_to_cpa_and_pte(void *va, phys_addr_t *cpa, pte_t *pte);
250 void __set_pte(pte_t *ptep, pte_t pte);
258 extern void set_pte(pte_t *ptep, pte_t pte);
264 static inline int pte_none(pte_t pte) in pte_none() argument
266 return !pte.val; in pte_none()
269 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
271 return PFN_DOWN(hv_pte_get_pa(pte)); in pte_pfn()
295 #define __pte_to_swp_entry(pte) ((swp_entry_t) { (pte).val >> 32 }) argument
[all …]
Dpgtable_32.h105 pte_t pte = *ptep; in ptep_get_and_clear() local
107 return pte; in ptep_get_and_clear()
117 #define pte_pmd(pte) ((pmd_t){ { (pte) } }) argument
/linux-4.4.14/arch/arm/kvm/
Dmmu.c86 static void kvm_flush_dcache_pte(pte_t pte) in kvm_flush_dcache_pte() argument
88 __kvm_flush_dcache_pte(pte); in kvm_flush_dcache_pte()
210 pte_t *pte, *start_pte; in unmap_ptes() local
212 start_pte = pte = pte_offset_kernel(pmd, addr); in unmap_ptes()
214 if (!pte_none(*pte)) { in unmap_ptes()
215 pte_t old_pte = *pte; in unmap_ptes()
217 kvm_set_pte(pte, __pte(0)); in unmap_ptes()
224 put_page(virt_to_page(pte)); in unmap_ptes()
226 } while (pte++, addr += PAGE_SIZE, addr != end); in unmap_ptes()
309 pte_t *pte; in stage2_flush_ptes() local
[all …]
/linux-4.4.14/arch/openrisc/mm/
Dioremap.c122 pte_t *pte; in pte_alloc_one_kernel() local
125 pte = (pte_t *) __get_free_page(GFP_KERNEL | __GFP_REPEAT); in pte_alloc_one_kernel()
127 pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); in pte_alloc_one_kernel()
130 pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); in pte_alloc_one_kernel()
134 if (pte) in pte_alloc_one_kernel()
135 clear_page(pte); in pte_alloc_one_kernel()
136 return pte; in pte_alloc_one_kernel()
Dinit.c82 pte_t *pte; in map_ram() local
109 pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); in map_ram()
110 set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte))); in map_ram()
114 v += PAGE_SIZE, p += PAGE_SIZE, j++, pte++) { in map_ram()
121 set_pte(pte, mk_pte_phys(p, prot)); in map_ram()
/linux-4.4.14/arch/sh/mm/
Dinit.c74 pte_t *pte; in set_pte_phys() local
76 pte = __get_pte_phys(addr); in set_pte_phys()
77 if (!pte_none(*pte)) { in set_pte_phys()
78 pte_ERROR(*pte); in set_pte_phys()
82 set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot)); in set_pte_phys()
86 tlb_wire_entry(NULL, addr, *pte); in set_pte_phys()
91 pte_t *pte; in clear_pte_phys() local
93 pte = __get_pte_phys(addr); in clear_pte_phys()
98 set_pte(pte, pfn_pte(0, __pgprot(0))); in clear_pte_phys()
142 pte_t *pte; in one_page_table_init() local
[all …]
Dhugetlbpage.c30 pte_t *pte = NULL; in huge_pte_alloc() local
38 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc()
42 return pte; in huge_pte_alloc()
50 pte_t *pte = NULL; in huge_pte_offset() local
58 pte = pte_offset_map(pmd, addr); in huge_pte_offset()
62 return pte; in huge_pte_offset()
Dtlbex_32.c28 pte_t *pte; in handle_tlbmiss() local
51 pte = pte_offset_kernel(pmd, address); in handle_tlbmiss()
52 entry = *pte; in handle_tlbmiss()
62 set_pte(pte, entry); in handle_tlbmiss()
75 update_mmu_cache(NULL, address, pte); in handle_tlbmiss()
Dgup.c55 pte_t pte; in gup_get_pte()
58 pte.pte_low = ptep->pte_low; in gup_get_pte()
60 pte.pte_high = ptep->pte_high; in gup_get_pte()
62 if (unlikely(pte.pte_low != ptep->pte_low)) in gup_get_pte()
65 return pte; in gup_get_pte()
98 pte_t pte = gup_get_pte(ptep); in gup_pte_range() local
101 if ((pte_val(pte) & mask) != result) { in gup_pte_range()
105 VM_BUG_ON(!pfn_valid(pte_pfn(pte))); in gup_pte_range()
106 page = pte_page(pte); in gup_pte_range()
Dtlbex_64.c49 pte_t *pte; in handle_tlbmiss() local
69 pte = pte_offset_kernel(pmd, address); in handle_tlbmiss()
70 entry = *pte; in handle_tlbmiss()
83 update_mmu_cache(NULL, address, pte); in handle_tlbmiss()
/linux-4.4.14/include/linux/
Dswapops.h55 static inline int is_swap_pte(pte_t pte) in is_swap_pte() argument
57 return !pte_none(pte) && !pte_present(pte); in is_swap_pte()
65 static inline swp_entry_t pte_to_swp_entry(pte_t pte) in pte_to_swp_entry() argument
69 if (pte_swp_soft_dirty(pte)) in pte_to_swp_entry()
70 pte = pte_swp_clear_soft_dirty(pte); in pte_to_swp_entry()
71 arch_entry = __pte_to_swp_entry(pte); in pte_to_swp_entry()
143 struct mm_struct *mm, pte_t *pte);
158 struct mm_struct *mm, pte_t *pte) { } in migration_entry_wait_huge() argument
/linux-4.4.14/mm/
Dmemory.c648 pte_t pte, struct page *page) in print_bad_pte() argument
685 (long long)pte_val(pte), (long long)pmd_val(*pmd)); in print_bad_pte()
751 pte_t pte) in vm_normal_page() argument
753 unsigned long pfn = pte_pfn(pte); in vm_normal_page()
756 if (likely(!pte_special(pte))) in vm_normal_page()
763 print_bad_pte(vma, addr, pte, NULL); in vm_normal_page()
788 print_bad_pte(vma, addr, pte, NULL); in vm_normal_page()
852 pte_t pte = *src_pte; in copy_one_pte() local
856 if (unlikely(!pte_present(pte))) { in copy_one_pte()
857 swp_entry_t entry = pte_to_swp_entry(pte); in copy_one_pte()
[all …]
Drmap.c759 pte_t *pte; in __page_check_address() local
764 pte = huge_pte_offset(mm, address); in __page_check_address()
765 if (!pte) in __page_check_address()
768 ptl = huge_pte_lockptr(page_hstate(page), mm, pte); in __page_check_address()
776 pte = pte_offset_map(pmd, address); in __page_check_address()
778 if (!sync && !pte_present(*pte)) { in __page_check_address()
779 pte_unmap(pte); in __page_check_address()
786 if (pte_present(*pte) && page_to_pfn(page) == pte_pfn(*pte)) { in __page_check_address()
788 return pte; in __page_check_address()
790 pte_unmap_unlock(pte, ptl); in __page_check_address()
[all …]
Dsparse-vmemmap.c90 void __meminit vmemmap_verify(pte_t *pte, int node, in vmemmap_verify() argument
93 unsigned long pfn = pte_pfn(*pte); in vmemmap_verify()
103 pte_t *pte = pte_offset_kernel(pmd, addr); in vmemmap_pte_populate() local
104 if (pte_none(*pte)) { in vmemmap_pte_populate()
110 set_pte_at(&init_mm, addr, pte, entry); in vmemmap_pte_populate()
112 return pte; in vmemmap_pte_populate()
158 pte_t *pte; in vmemmap_populate_basepages() local
170 pte = vmemmap_pte_populate(pmd, addr, node); in vmemmap_populate_basepages()
171 if (!pte) in vmemmap_populate_basepages()
173 vmemmap_verify(pte, node, addr, addr + PAGE_SIZE); in vmemmap_populate_basepages()
Dgup.c38 pte_t *pte, unsigned int flags) in follow_pfn_pte() argument
45 pte_t entry = *pte; in follow_pfn_pte()
51 if (!pte_same(*pte, entry)) { in follow_pfn_pte()
52 set_pte_at(vma->vm_mm, address, pte, entry); in follow_pfn_pte()
53 update_mmu_cache(vma, address, pte); in follow_pfn_pte()
67 pte_t *ptep, pte; in follow_page_pte() local
74 pte = *ptep; in follow_page_pte()
75 if (!pte_present(pte)) { in follow_page_pte()
84 if (pte_none(pte)) in follow_page_pte()
86 entry = pte_to_swp_entry(pte); in follow_page_pte()
[all …]
Dpagewalk.c9 pte_t *pte; in walk_pte_range() local
12 pte = pte_offset_map(pmd, addr); in walk_pte_range()
14 err = walk->pte_entry(pte, addr, addr + PAGE_SIZE, walk); in walk_pte_range()
20 pte++; in walk_pte_range()
23 pte_unmap(pte); in walk_pte_range()
139 pte_t *pte; in walk_hugetlb_range() local
144 pte = huge_pte_offset(walk->mm, addr & hmask); in walk_hugetlb_range()
145 if (pte && walk->hugetlb_entry) in walk_hugetlb_range()
146 err = walk->hugetlb_entry(pte, hmask, addr, next, walk); in walk_hugetlb_range()
Dmremap.c74 static pte_t move_soft_dirty_pte(pte_t pte) in move_soft_dirty_pte() argument
81 if (pte_present(pte)) in move_soft_dirty_pte()
82 pte = pte_mksoft_dirty(pte); in move_soft_dirty_pte()
83 else if (is_swap_pte(pte)) in move_soft_dirty_pte()
84 pte = pte_swp_mksoft_dirty(pte); in move_soft_dirty_pte()
86 return pte; in move_soft_dirty_pte()
97 pte_t *old_pte, *new_pte, pte; in move_ptes() local
144 pte = ptep_get_and_clear(mm, old_addr, old_pte); in move_ptes()
145 pte = move_pte(pte, new_vma->vm_page_prot, old_addr, new_addr); in move_ptes()
146 pte = move_soft_dirty_pte(pte); in move_ptes()
[all …]
Dmprotect.c44 pte_t *pte; in lock_pte_protection() local
57 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection()
59 return pte; in lock_pte_protection()
67 pte_t *pte, oldpte; in change_pte_range() local
71 pte = lock_pte_protection(vma, pmd, addr, prot_numa, &ptl); in change_pte_range()
72 if (!pte) in change_pte_range()
77 oldpte = *pte; in change_pte_range()
98 ptent = ptep_modify_prot_start(mm, addr, pte); in change_pte_range()
109 ptep_modify_prot_commit(mm, addr, pte, ptent); in change_pte_range()
124 set_pte_at(mm, addr, pte, newpte); in change_pte_range()
[all …]
Dmincore.c22 static int mincore_hugetlb(pte_t *pte, unsigned long hmask, unsigned long addr, in mincore_hugetlb() argument
33 present = pte && !huge_pte_none(huge_ptep_get(pte)); in mincore_hugetlb()
133 pte_t pte = *ptep; in mincore_pte_range() local
135 if (pte_none(pte)) in mincore_pte_range()
138 else if (pte_present(pte)) in mincore_pte_range()
141 swp_entry_t entry = pte_to_swp_entry(pte); in mincore_pte_range()
/linux-4.4.14/arch/unicore32/kernel/
Dhibernate.c78 pte_t *pte; in resume_physical_mapping_init() local
102 pte = resume_one_page_table_init(pmd); in resume_physical_mapping_init()
103 if (!pte) in resume_physical_mapping_init()
106 max_pte = pte + PTRS_PER_PTE; in resume_physical_mapping_init()
107 for (; pte < max_pte; pte++, pfn++) { in resume_physical_mapping_init()
111 set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC)); in resume_physical_mapping_init()
/linux-4.4.14/fs/proc/
Dtask_mmu.c488 static void smaps_pte_entry(pte_t *pte, unsigned long addr, in smaps_pte_entry() argument
495 if (pte_present(*pte)) { in smaps_pte_entry()
496 page = vm_normal_page(vma, addr, *pte); in smaps_pte_entry()
497 } else if (is_swap_pte(*pte)) { in smaps_pte_entry()
498 swp_entry_t swpent = pte_to_swp_entry(*pte); in smaps_pte_entry()
519 smaps_account(mss, page, PAGE_SIZE, pte_young(*pte), pte_dirty(*pte)); in smaps_pte_entry()
549 pte_t *pte; in smaps_pte_range() local
565 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); in smaps_pte_range()
566 for (; addr != end; pte++, addr += PAGE_SIZE) in smaps_pte_range()
567 smaps_pte_entry(pte, addr, walk); in smaps_pte_range()
[all …]
/linux-4.4.14/arch/x86/kvm/
Dpaging_tmpl.h88 #define gpte_to_gfn(pte) gpte_to_gfn_lvl((pte), PT_PAGE_TABLE_LEVEL) argument
131 static inline int FNAME(is_present_gpte)(unsigned long pte) in FNAME()
134 return is_present_gpte(pte); in FNAME()
136 return pte & 7; in FNAME()
205 pt_element_t pte, orig_pte; in FNAME() local
215 pte = orig_pte = walker->ptes[level - 1]; in FNAME()
219 if (!(pte & PT_GUEST_ACCESSED_MASK)) { in FNAME()
220 trace_kvm_mmu_set_accessed_bit(table_gfn, index, sizeof(pte)); in FNAME()
221 pte |= PT_GUEST_ACCESSED_MASK; in FNAME()
224 !(pte & PT_GUEST_DIRTY_MASK)) { in FNAME()
[all …]
/linux-4.4.14/arch/ia64/mm/
Dtlb.c425 int ia64_itr_entry(u64 target_mask, u64 va, u64 pte, u64 log_size) in ia64_itr_entry() argument
444 if (p->pte & 0x1) in ia64_itr_entry()
456 if (p->pte & 0x1) in ia64_itr_entry()
468 if (!((ia64_idtrs[cpu] + i)->pte & 0x1)) in ia64_itr_entry()
472 if (!((ia64_idtrs[cpu] + IA64_TR_ALLOC_MAX + i)->pte & 0x1)) in ia64_itr_entry()
476 if (!((ia64_idtrs[cpu] + i)->pte & 0x1) && in ia64_itr_entry()
477 !((ia64_idtrs[cpu] + IA64_TR_ALLOC_MAX + i)->pte & 0x1)) in ia64_itr_entry()
495 ia64_itr(0x1, i, va, pte, log_size); in ia64_itr_entry()
499 p->pte = pte; in ia64_itr_entry()
504 ia64_itr(0x2, i, va, pte, log_size); in ia64_itr_entry()
[all …]
Dhugetlbpage.c34 pte_t *pte = NULL; in huge_pte_alloc() local
41 pte = pte_alloc_map(mm, NULL, pmd, taddr); in huge_pte_alloc()
43 return pte; in huge_pte_alloc()
53 pte_t *pte = NULL; in huge_pte_offset() local
61 pte = pte_offset_map(pmd, taddr); in huge_pte_offset()
65 return pte; in huge_pte_offset()
Dinit.c53 __ia64_sync_icache_dcache (pte_t pte) in __ia64_sync_icache_dcache() argument
58 page = pte_page(pte); in __ia64_sync_icache_dcache()
216 pte_t *pte; in put_kernel_page() local
227 pte = pte_alloc_kernel(pmd, address); in put_kernel_page()
228 if (!pte) in put_kernel_page()
230 if (!pte_none(*pte)) in put_kernel_page()
232 set_pte(pte, mk_pte(page, pgprot)); in put_kernel_page()
390 pte_t *pte; in vmemmap_find_next_valid_pfn() local
410 pte = pte_offset_kernel(pmd, end_address); in vmemmap_find_next_valid_pfn()
412 if (pte_none(*pte)) { in vmemmap_find_next_valid_pfn()
[all …]
/linux-4.4.14/arch/m68k/sun3/
Dmmu_emu.c70 void print_pte (pte_t pte) in print_pte() argument
74 unsigned long val = pte_val (pte); in print_pte()
92 unsigned long val = pte_val (pte); in print_pte()
358 pte_t *pte; in mmu_emu_handle_fault() local
384 pte = (pte_t *) pgd_val (*(crp + segment)); in mmu_emu_handle_fault()
387 if (!pte) { in mmu_emu_handle_fault()
392 pte = (pte_t *) __va ((unsigned long)(pte + offset)); in mmu_emu_handle_fault()
395 if (!(pte_val (*pte) & SUN3_PAGE_VALID)) in mmu_emu_handle_fault()
403 sun3_put_pte (vaddr&PAGE_MASK, pte_val (*pte)); in mmu_emu_handle_fault()
411 if (pte_val (*pte) & SUN3_PAGE_WRITEABLE) in mmu_emu_handle_fault()
[all …]
Ddvma.c25 unsigned long pte; in dvma_page() local
33 pte = pte_val(ptep); in dvma_page()
36 if(ptelist[(vaddr & 0xff000) >> PAGE_SHIFT] != pte) { in dvma_page()
37 sun3_put_pte(vaddr, pte); in dvma_page()
38 ptelist[(vaddr & 0xff000) >> PAGE_SHIFT] = pte; in dvma_page()
/linux-4.4.14/arch/x86/include/asm/xen/
Dpage.h255 static inline unsigned long pte_mfn(pte_t pte) in pte_mfn() argument
257 return (pte.pte & PTE_PFN_MASK) >> PAGE_SHIFT; in pte_mfn()
262 pte_t pte; in mfn_pte() local
264 pte.pte = ((phys_addr_t)page_nr << PAGE_SHIFT) | in mfn_pte()
267 return pte; in mfn_pte()
270 static inline pteval_t pte_val_ma(pte_t pte) in pte_val_ma() argument
272 return pte.pte; in pte_val_ma()
277 return (pte_t) { .pte = x }; in __pte_ma()
/linux-4.4.14/arch/parisc/mm/
Dhugetlbpage.c52 pte_t *pte = NULL; in huge_pte_alloc() local
66 pte = pte_alloc_map(mm, NULL, pmd, addr); in huge_pte_alloc()
68 return pte; in huge_pte_alloc()
76 pte_t *pte = NULL; in huge_pte_offset() local
86 pte = pte_offset_map(pmd, addr); in huge_pte_offset()
89 return pte; in huge_pte_offset()
174 pte_t pte, int dirty) in huge_ptep_set_access_flags() argument
180 changed = !pte_same(*ptep, pte); in huge_ptep_set_access_flags()
182 __set_huge_pte_at(vma->vm_mm, addr, ptep, pte); in huge_ptep_set_access_flags()
/linux-4.4.14/arch/x86/power/
Dhibernate_32.c86 pte_t *pte; in resume_physical_mapping_init() local
115 pte = resume_one_page_table_init(pmd); in resume_physical_mapping_init()
116 if (!pte) in resume_physical_mapping_init()
119 max_pte = pte + PTRS_PER_PTE; in resume_physical_mapping_init()
120 for (; pte < max_pte; pte++, pfn++) { in resume_physical_mapping_init()
124 set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC)); in resume_physical_mapping_init()
/linux-4.4.14/arch/arm/mm/
Dpageattr.c28 pte_t pte = *ptep; in change_page_range() local
30 pte = clear_pte_bit(pte, cdata->clear_mask); in change_page_range()
31 pte = set_pte_bit(pte, cdata->set_mask); in change_page_range()
33 set_pte_ext(ptep, pte, 0); in change_page_range()
/linux-4.4.14/arch/arm64/mm/
Dpageattr.c30 pte_t pte = *ptep; in change_page_range() local
32 pte = clear_pte_bit(pte, cdata->clear_mask); in change_page_range()
33 pte = set_pte_bit(pte, cdata->set_mask); in change_page_range()
35 set_pte(ptep, pte); in change_page_range()
Dmmu.c80 static void split_pmd(pmd_t *pmd, pte_t *pte) in split_pmd() argument
90 set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC)); in split_pmd()
92 } while (pte++, i++, i < PTRS_PER_PTE); in split_pmd()
100 pte_t *pte; in alloc_init_pte() local
103 pte = alloc(PTRS_PER_PTE * sizeof(pte_t)); in alloc_init_pte()
105 split_pmd(pmd, pte); in alloc_init_pte()
106 __pmd_populate(pmd, __pa(pte), PMD_TYPE_TABLE); in alloc_init_pte()
111 pte = pte_offset_kernel(pmd, addr); in alloc_init_pte()
113 set_pte(pte, pfn_pte(pfn, prot)); in alloc_init_pte()
115 } while (pte++, addr += PAGE_SIZE, addr != end); in alloc_init_pte()
[all …]
/linux-4.4.14/drivers/gpu/drm/gma500/
Dgtt.c88 u32 pte; in psb_gtt_insert() local
109 pte = psb_gtt_mask_pte(page_to_pfn(r->pages[i]), in psb_gtt_insert()
111 iowrite32(pte, gtt_slot++); in psb_gtt_insert()
114 pte = psb_gtt_mask_pte(page_to_pfn(r->pages[i]), in psb_gtt_insert()
116 iowrite32(pte, gtt_slot++); in psb_gtt_insert()
137 u32 pte; in psb_gtt_remove() local
143 pte = psb_gtt_mask_pte(page_to_pfn(dev_priv->scratch_page), in psb_gtt_remove()
147 iowrite32(pte, gtt_slot++); in psb_gtt_remove()
165 u32 pte; in psb_gtt_roll() local
183 pte = psb_gtt_mask_pte(page_to_pfn(r->pages[i]), in psb_gtt_roll()
[all …]
/linux-4.4.14/arch/x86/xen/
Dmmu.c138 pte_t *pte; in arbitrary_virt_to_machine() local
150 pte = lookup_address(address, &level); in arbitrary_virt_to_machine()
151 BUG_ON(pte == NULL); in arbitrary_virt_to_machine()
153 return XMADDR(((phys_addr_t)pte_mfn(*pte) << PAGE_SHIFT) + offset); in arbitrary_virt_to_machine()
159 pte_t *pte, ptev; in make_lowmem_page_readonly() local
163 pte = lookup_address(address, &level); in make_lowmem_page_readonly()
164 if (pte == NULL) in make_lowmem_page_readonly()
167 ptev = pte_wrprotect(*pte); in make_lowmem_page_readonly()
175 pte_t *pte, ptev; in make_lowmem_page_readwrite() local
179 pte = lookup_address(address, &level); in make_lowmem_page_readwrite()
[all …]
/linux-4.4.14/arch/sparc/mm/
Dleon_mm.c41 unsigned int lvl, pte, paddrbase; in leon_swprobe() local
74 pte = pgd; in leon_swprobe()
97 pte = pmd; in leon_swprobe()
125 pte = ped; in leon_swprobe()
148 pte = ptr; in leon_swprobe()
160 (vaddr & ~(-1 << LEON_PTE_SH)) | ((pte & ~0xff) << 4); in leon_swprobe()
164 (vaddr & ~(-1 << LEON_PMD_SH)) | ((pte & ~0xff) << 4); in leon_swprobe()
168 (vaddr & ~(-1 << LEON_PGD_SH)) | ((pte & ~0xff) << 4); in leon_swprobe()
179 return pte; in leon_swprobe()
/linux-4.4.14/arch/xtensa/mm/
Dtlb.c175 pte_t *pte; in get_pte_for_vaddr() local
185 pte = pte_offset_map(pmd, vaddr); in get_pte_for_vaddr()
186 if (!pte) in get_pte_for_vaddr()
188 return pte_val(*pte); in get_pte_for_vaddr()
222 unsigned pte = get_pte_for_vaddr(vpn); in check_tlb_entry() local
238 if ((pte ^ r1) & PAGE_MASK) { in check_tlb_entry()
240 dtlb ? 'D' : 'I', w, e, r0, r1, pte); in check_tlb_entry()
241 if (pte == 0 || !pte_present(__pte(pte))) { in check_tlb_entry()
Dmmu.c25 pte_t *pte; in init_pmd() local
33 pte = alloc_bootmem_low_pages(n_pages * sizeof(pte_t)); in init_pmd()
36 pte_clear(NULL, 0, pte + i); in init_pmd()
39 pte_t *cur_pte = pte + i; in init_pmd()
47 return pte; in init_pmd()
/linux-4.4.14/arch/metag/mm/
Dinit.c48 pte_t *pte; in insert_gateway_page() local
57 pte = alloc_bootmem_pages(PAGE_SIZE); in insert_gateway_page()
58 set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))); in insert_gateway_page()
61 pte = pte_offset_kernel(pmd, address); in insert_gateway_page()
62 set_pte(pte, pfn_pte(__pa(gateway_page) >> PAGE_SHIFT, PAGE_READONLY)); in insert_gateway_page()
268 pte_t *pte; in allocate_pgtables() local
285 pte = (pte_t *)alloc_bootmem_low_pages(PAGE_SIZE); in allocate_pgtables()
286 pmd_populate_kernel(&init_mm, pmd, pte); in allocate_pgtables()
298 pte_t *pte; in fixedrange_init() local
316 pte = pte_offset_kernel(pmd, vaddr); in fixedrange_init()
[all …]
Dmaccess.c24 unsigned int pte, i; in probe_kernel_write() local
31 pte = __builtin_meta2_cacherd(dst); in probe_kernel_write()
34 if ((pte & (MMCU_ENTRY_WR_BIT | MMCU_ENTRY_VAL_BIT)) in probe_kernel_write()
39 if (pte & MMCU_ENTRY_WRC_BIT || /* write combined memory */ in probe_kernel_write()
/linux-4.4.14/arch/metag/kernel/
Ddma.c226 pte_t *pte = consistent_pte + CONSISTENT_OFFSET(vaddr); in dma_alloc_coherent() local
238 BUG_ON(!pte_none(*pte)); in dma_alloc_coherent()
242 pte, mk_pte(page, in dma_alloc_coherent()
246 pte++; in dma_alloc_coherent()
297 pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); in dma_free_coherent() local
303 if (!pte_none(pte) && pte_present(pte)) { in dma_free_coherent()
304 pfn = pte_pfn(pte); in dma_free_coherent()
394 pte_t *pte; in dma_alloc_init() local
404 pte = pte_alloc_kernel(pmd, CONSISTENT_START); in dma_alloc_init()
405 if (!pte) { in dma_alloc_init()
[all …]
/linux-4.4.14/arch/nios2/mm/
Dioremap.c22 static inline void remap_area_pte(pte_t *pte, unsigned long address, in remap_area_pte() argument
39 if (!pte_none(*pte)) { in remap_area_pte()
43 set_pte(pte, pfn_pte(pfn, pgprot)); in remap_area_pte()
46 pte++; in remap_area_pte()
64 pte_t *pte = pte_alloc_kernel(pmd, address); in remap_area_pmd() local
66 if (!pte) in remap_area_pmd()
68 remap_area_pte(pte, address, end - address, address + phys_addr, in remap_area_pmd()
/linux-4.4.14/lib/
Dioremap.c56 pte_t *pte; in ioremap_pte_range() local
60 pte = pte_alloc_kernel(pmd, addr); in ioremap_pte_range()
61 if (!pte) in ioremap_pte_range()
64 BUG_ON(!pte_none(*pte)); in ioremap_pte_range()
65 set_pte_at(&init_mm, addr, pte, pfn_pte(pfn, prot)); in ioremap_pte_range()
67 } while (pte++, addr += PAGE_SIZE, addr != end); in ioremap_pte_range()
/linux-4.4.14/drivers/lguest/
Dpage_tables.c242 static void release_pte(pte_t pte) in release_pte() argument
248 if (pte_flags(pte) & _PAGE_PRESENT) in release_pte()
249 put_page(pte_page(pte)); in release_pte()
799 pte_t *pte = find_spte(cpu, switcher_addr + i * PAGE_SIZE, true, in allocate_switcher_mapping() local
801 if (!pte) in allocate_switcher_mapping()
810 if (i == 0 && !(pte_flags(*pte) & _PAGE_PRESENT)) { in allocate_switcher_mapping()
814 set_pte(pte, in allocate_switcher_mapping()
1145 pte_t *pte; in remove_switcher_percpu_map() local
1148 pte = find_spte(cpu, base, false, 0, 0); in remove_switcher_percpu_map()
1149 release_pte(*pte); in remove_switcher_percpu_map()
[all …]
/linux-4.4.14/arch/cris/arch-v10/mm/
Dfault.c50 pte_t pte; in handle_mmu_bus_fault() local
87 pte = *pte_offset_kernel(pmd, address); in handle_mmu_bus_fault()
88 if (!pte_present(pte)) in handle_mmu_bus_fault()
92 *R_TLB_LO = pte_val(pte); in handle_mmu_bus_fault()
/linux-4.4.14/arch/tile/gxio/
Diorpc_usb_host.c40 HV_PTE pte; member
45 HV_PTE pte, unsigned int flags) in gxio_usb_host_register_client_memory() argument
50 params->pte = pte; in gxio_usb_host_register_client_memory()

123