Home
last modified time | relevance | path

Searched refs:pudp (Results 1 – 25 of 65) sorted by relevance

123

/Linux-v4.19/arch/arm64/include/asm/
Dpgalloc.h45 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) in __pud_populate() argument
47 set_pud(pudp, __pud(__phys_to_pud_val(pmdp) | prot)); in __pud_populate()
50 static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp) in pud_populate() argument
52 __pud_populate(pudp, __pa(pmdp), PMD_TYPE_TABLE); in pud_populate()
55 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) in __pud_populate() argument
68 static inline void pud_free(struct mm_struct *mm, pud_t *pudp) in pud_free() argument
70 BUG_ON((unsigned long)pudp & (PAGE_SIZE-1)); in pud_free()
71 free_page((unsigned long)pudp); in pud_free()
74 static inline void __pgd_populate(pgd_t *pgdp, phys_addr_t pudp, pgdval_t prot) in __pgd_populate() argument
76 set_pgd(pgdp, __pgd(__phys_to_pgd_val(pudp) | prot)); in __pgd_populate()
[all …]
Dkvm_mmu.h176 #define kvm_mk_pgd(pudp) \
177 __pgd(__phys_to_pgd_val(__pa(pudp)) | PUD_TYPE_TABLE)
256 #define hyp_pud_table_empty(pudp) (0)
258 #define hyp_pud_table_empty(pudp) kvm_page_empty(pudp)
/Linux-v4.19/arch/powerpc/mm/
Dpgtable-book3e.c76 pud_t *pudp; in map_kernel_page() local
83 pudp = pud_alloc(&init_mm, pgdp, ea); in map_kernel_page()
84 if (!pudp) in map_kernel_page()
86 pmdp = pmd_alloc(&init_mm, pudp, ea); in map_kernel_page()
98 pudp = early_alloc_pgtable(PUD_TABLE_SIZE); in map_kernel_page()
99 BUG_ON(pudp == NULL); in map_kernel_page()
100 pgd_populate(&init_mm, pgdp, pudp); in map_kernel_page()
103 pudp = pud_offset(pgdp, ea); in map_kernel_page()
104 if (pud_none(*pudp)) { in map_kernel_page()
107 pud_populate(&init_mm, pudp, pmdp); in map_kernel_page()
[all …]
Dpgtable-radix.c84 pud_t *pudp; in early_map_kernel_page() local
90 pudp = early_alloc_pgtable(PUD_TABLE_SIZE, nid, in early_map_kernel_page()
92 pgd_populate(&init_mm, pgdp, pudp); in early_map_kernel_page()
94 pudp = pud_offset(pgdp, ea); in early_map_kernel_page()
96 ptep = (pte_t *)pudp; in early_map_kernel_page()
99 if (pud_none(*pudp)) { in early_map_kernel_page()
102 pud_populate(&init_mm, pudp, pmdp); in early_map_kernel_page()
104 pmdp = pmd_offset(pudp, ea); in early_map_kernel_page()
134 pud_t *pudp; in __map_kernel_page() local
152 pudp = pud_alloc(&init_mm, pgdp, ea); in __map_kernel_page()
[all …]
/Linux-v4.19/arch/arm64/mm/
Dmmu.c188 static void init_pmd(pud_t *pudp, unsigned long addr, unsigned long end, in init_pmd() argument
195 pmdp = pmd_set_fixmap_offset(pudp, addr); in init_pmd()
225 static void alloc_init_cont_pmd(pud_t *pudp, unsigned long addr, in alloc_init_cont_pmd() argument
231 pud_t pud = READ_ONCE(*pudp); in alloc_init_cont_pmd()
241 __pud_populate(pudp, pmd_phys, PUD_TYPE_TABLE); in alloc_init_cont_pmd()
242 pud = READ_ONCE(*pudp); in alloc_init_cont_pmd()
256 init_pmd(pudp, addr, next, phys, __prot, pgtable_alloc, flags); in alloc_init_cont_pmd()
280 pud_t *pudp; in alloc_init_pud() local
292 pudp = pud_set_fixmap_offset(pgdp, addr); in alloc_init_pud()
294 pud_t old_pud = READ_ONCE(*pudp); in alloc_init_pud()
[all …]
Dhugetlbpage.c58 pud_t *pudp; in find_num_contig() local
62 pudp = pud_offset(pgdp, addr); in find_num_contig()
63 pmdp = pmd_offset(pudp, addr); in find_num_contig()
208 pud_t *pudp; in huge_pte_alloc() local
213 pudp = pud_alloc(mm, pgdp, addr); in huge_pte_alloc()
214 if (!pudp) in huge_pte_alloc()
218 ptep = (pte_t *)pudp; in huge_pte_alloc()
220 pmdp = pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
233 pud_none(READ_ONCE(*pudp))) in huge_pte_alloc()
234 ptep = huge_pmd_share(mm, addr, pudp); in huge_pte_alloc()
[all …]
Dkasan_init.c60 static pmd_t *__init kasan_pmd_offset(pud_t *pudp, unsigned long addr, int node, in kasan_pmd_offset() argument
63 if (pud_none(READ_ONCE(*pudp))) { in kasan_pmd_offset()
66 __pud_populate(pudp, pmd_phys, PMD_TYPE_TABLE); in kasan_pmd_offset()
69 return early ? pmd_offset_kimg(pudp, addr) : pmd_offset(pudp, addr); in kasan_pmd_offset()
98 static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, in kasan_pmd_populate() argument
102 pmd_t *pmdp = kasan_pmd_offset(pudp, addr, node, early); in kasan_pmd_populate()
114 pud_t *pudp = kasan_pud_offset(pgdp, addr, node, early); in kasan_pud_populate() local
118 kasan_pmd_populate(pudp, addr, next, node, early); in kasan_pud_populate()
119 } while (pudp++, addr = next, addr != end && pud_none(READ_ONCE(*pudp))); in kasan_pud_populate()
Dpageattr.c160 pud_t *pudp, pud; in kernel_page_present() local
169 pudp = pud_offset(pgdp, addr); in kernel_page_present()
170 pud = READ_ONCE(*pudp); in kernel_page_present()
176 pmdp = pmd_offset(pudp, addr); in kernel_page_present()
Ddump.c301 static void walk_pmd(struct pg_state *st, pud_t *pudp, unsigned long start) in walk_pmd() argument
303 pmd_t *pmdp = pmd_offset(pudp, 0UL); in walk_pmd()
322 pud_t *pudp = pud_offset(pgdp, 0UL); in walk_pud() local
326 for (i = 0; i < PTRS_PER_PUD; i++, pudp++) { in walk_pud()
327 pud_t pud = READ_ONCE(*pudp); in walk_pud()
334 walk_pmd(st, pudp, addr); in walk_pud()
/Linux-v4.19/arch/s390/mm/
Dhugetlbpage.c177 pud_t *pudp = (pud_t *) ptep; in huge_ptep_get_and_clear() local
180 pudp_xchg_direct(mm, addr, pudp, __pud(_REGION3_ENTRY_EMPTY)); in huge_ptep_get_and_clear()
191 pud_t *pudp; in huge_pte_alloc() local
197 pudp = pud_alloc(mm, p4dp, addr); in huge_pte_alloc()
198 if (pudp) { in huge_pte_alloc()
200 return (pte_t *) pudp; in huge_pte_alloc()
202 pmdp = pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
213 pud_t *pudp; in huge_pte_offset() local
220 pudp = pud_offset(p4dp, addr); in huge_pte_offset()
221 if (pud_present(*pudp)) { in huge_pte_offset()
[all …]
Dpageattr.c155 static int walk_pmd_level(pud_t *pudp, unsigned long addr, unsigned long end, in walk_pmd_level() argument
162 pmdp = pmd_offset(pudp, addr); in walk_pmd_level()
187 static int split_pud_page(pud_t *pudp, unsigned long addr) in split_pud_page() argument
197 pmd_addr = pud_pfn(*pudp) << PAGE_SHIFT; in split_pud_page()
198 ro = !!(pud_val(*pudp) & _REGION_ENTRY_PROTECT); in split_pud_page()
199 nx = !!(pud_val(*pudp) & _REGION_ENTRY_NOEXEC); in split_pud_page()
210 pgt_set((unsigned long *)pudp, pud_val(new), addr, CRDTE_DTT_REGION3); in split_pud_page()
216 static void modify_pud_page(pud_t *pudp, unsigned long addr, in modify_pud_page() argument
219 pud_t new = *pudp; in modify_pud_page()
229 pgt_set((unsigned long *)pudp, pud_val(new), addr, CRDTE_DTT_REGION3); in modify_pud_page()
[all …]
Dgup.c96 static inline int gup_pmd_range(pud_t *pudp, pud_t pud, unsigned long addr, in gup_pmd_range() argument
102 pmdp = (pmd_t *) pudp; in gup_pmd_range()
131 static int gup_huge_pud(pud_t *pudp, pud_t pud, unsigned long addr, in gup_huge_pud() argument
159 if (unlikely(pud_val(pud) != pud_val(*pudp))) { in gup_huge_pud()
173 pud_t *pudp, pud; in gup_pud_range() local
175 pudp = (pud_t *) p4dp; in gup_pud_range()
177 pudp = (pud_t *) p4d_deref(p4d); in gup_pud_range()
178 pudp += pud_index(addr); in gup_pud_range()
180 pud = *pudp; in gup_pud_range()
186 if (!gup_huge_pud(pudp, pud, addr, next, write, pages, in gup_pud_range()
[all …]
Dpgtable.c458 unsigned long addr, pud_t *pudp) in pudp_idte_local() argument
461 __pudp_idte(addr, pudp, IDTE_NODAT | IDTE_GUEST_ASCE, in pudp_idte_local()
464 __pudp_idte(addr, pudp, 0, 0, IDTE_LOCAL); in pudp_idte_local()
468 unsigned long addr, pud_t *pudp) in pudp_idte_global() argument
471 __pudp_idte(addr, pudp, IDTE_NODAT | IDTE_GUEST_ASCE, in pudp_idte_global()
474 __pudp_idte(addr, pudp, 0, 0, IDTE_GLOBAL); in pudp_idte_global()
480 __pmdp_csp((pmd_t *) pudp); in pudp_idte_global()
484 unsigned long addr, pud_t *pudp) in pudp_flush_direct() argument
488 old = *pudp; in pudp_flush_direct()
494 pudp_idte_local(mm, addr, pudp); in pudp_flush_direct()
[all …]
/Linux-v4.19/arch/x86/include/asm/
Dpgtable-3level.h101 static inline void native_set_pud(pud_t *pudp, pud_t pud) in native_set_pud() argument
104 pud.p4d.pgd = pti_set_user_pgtbl(&pudp->p4d.pgd, pud.p4d.pgd); in native_set_pud()
106 set_64bit((unsigned long long *)(pudp), native_pud_val(pud)); in native_set_pud()
130 static inline void native_pud_clear(pud_t *pudp) in native_pud_clear() argument
134 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
136 set_pud(pudp, __pud(0)); in pud_clear()
230 static inline pud_t native_pudp_get_and_clear(pud_t *pudp) in native_pudp_get_and_clear() argument
232 union split_pud res, *orig = (union split_pud *)pudp; in native_pudp_get_and_clear()
235 pti_set_user_pgtbl(&pudp->p4d.pgd, __pgd(0)); in native_pudp_get_and_clear()
/Linux-v4.19/include/asm-generic/
Dtlb.h250 #define __tlb_remove_pud_tlb_entry(tlb, pudp, address) do {} while (0) argument
253 #define tlb_remove_pud_tlb_entry(tlb, pudp, address) \ argument
256 __tlb_remove_pud_tlb_entry(tlb, pudp, address); \
295 #define pud_free_tlb(tlb, pudp, address) \ argument
298 __pud_free_tlb(tlb, pudp, address); \
305 #define p4d_free_tlb(tlb, pudp, address) \ argument
308 __p4d_free_tlb(tlb, pudp, address); \
Dpgtable.h41 unsigned long address, pud_t *pudp,
52 unsigned long address, pud_t *pudp, in pudp_set_access_flags() argument
149 pud_t *pudp) in pudp_huge_get_and_clear() argument
151 pud_t pud = *pudp; in pudp_huge_get_and_clear()
153 pud_clear(pudp); in pudp_huge_get_and_clear()
171 unsigned long address, pud_t *pudp, in pudp_huge_get_and_clear_full() argument
174 return pudp_huge_get_and_clear(mm, address, pudp); in pudp_huge_get_and_clear_full()
217 pud_t *pudp);
272 unsigned long address, pud_t *pudp) in pudp_set_wrprotect() argument
274 pud_t old_pud = *pudp; in pudp_set_wrprotect()
[all …]
/Linux-v4.19/arch/riscv/include/asm/
Dpgtable-64.h54 static inline void set_pud(pud_t *pudp, pud_t pud) in set_pud() argument
56 *pudp = pud; in set_pud()
59 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
61 set_pud(pudp, __pud(0)); in pud_clear()
/Linux-v4.19/arch/sparc/mm/
Dgup.c108 static int gup_huge_pud(pud_t *pudp, pud_t pud, unsigned long addr, in gup_huge_pud() argument
137 if (unlikely(pud_val(pud) != pud_val(*pudp))) { in gup_huge_pud()
176 pud_t *pudp; in gup_pud_range() local
178 pudp = pud_offset(&pgd, addr); in gup_pud_range()
180 pud_t pud = *pudp; in gup_pud_range()
186 if (!gup_huge_pud(pudp, pud, addr, next, in gup_pud_range()
191 } while (pudp++, addr = next, addr != end); in gup_pud_range()
/Linux-v4.19/include/trace/events/
Dxen.h223 TP_PROTO(pud_t *pudp, pud_t pudval),
224 TP_ARGS(pudp, pudval),
226 __field(pud_t *, pudp)
229 TP_fast_assign(__entry->pudp = pudp;
232 __entry->pudp,
258 TP_PROTO(pud_t *pudp, pud_t pudval),
259 TP_ARGS(pudp, pudval),
261 __field(pud_t *, pudp)
264 TP_fast_assign(__entry->pudp = pudp;
267 __entry->pudp,
/Linux-v4.19/arch/arm64/kernel/
Dhibernate.c206 pud_t *pudp; in create_safe_exec_page() local
221 pudp = allocator(mask); in create_safe_exec_page()
222 if (!pudp) { in create_safe_exec_page()
226 pgd_populate(&init_mm, pgdp, pudp); in create_safe_exec_page()
229 pudp = pud_offset(pgdp, dst_addr); in create_safe_exec_page()
230 if (pud_none(READ_ONCE(*pudp))) { in create_safe_exec_page()
236 pud_populate(&init_mm, pudp, pmdp); in create_safe_exec_page()
239 pmdp = pmd_offset(pudp, dst_addr); in create_safe_exec_page()
/Linux-v4.19/arch/powerpc/include/asm/nohash/64/
Dpgtable.h122 static inline void pud_set(pud_t *pudp, unsigned long val) in pud_set() argument
124 *pudp = __pud(val); in pud_set()
127 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
129 *pudp = __pud(0); in pud_clear()
165 #define pmd_offset(pudp,addr) \ argument
166 (((pmd_t *) pud_page_vaddr(*(pudp))) + (((addr) >> PMD_SHIFT) & (PTRS_PER_PMD - 1)))
/Linux-v4.19/arch/arm/include/asm/
Dpgtable-3level.h150 #define pud_clear(pudp) \ argument
152 *pudp = __pud(0); \
153 clean_pmd_entry(pudp); \
156 #define set_pud(pudp, pud) \ argument
158 *pudp = pud; \
159 flush_pmd_entry(pudp); \
/Linux-v4.19/arch/sh/mm/
Dgup.c144 pud_t *pudp; in gup_pud_range() local
146 pudp = pud_offset(&pgd, addr); in gup_pud_range()
148 pud_t pud = *pudp; in gup_pud_range()
155 } while (pudp++, addr = next, addr != end); in gup_pud_range()
/Linux-v4.19/mm/
Dpgtable-generic.c137 pud_t *pudp) in pudp_huge_clear_flush() argument
142 VM_BUG_ON(!pud_trans_huge(*pudp) && !pud_devmap(*pudp)); in pudp_huge_clear_flush()
143 pud = pudp_huge_get_and_clear(vma->vm_mm, address, pudp); in pudp_huge_clear_flush()
/Linux-v4.19/arch/x86/mm/
Dpgtable.c197 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() argument
203 set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT)); in pud_populate()
531 pud_t *pudp, pud_t entry, int dirty) in pudp_set_access_flags() argument
533 int changed = !pud_same(*pudp, entry); in pudp_set_access_flags()
538 set_pud(pudp, entry); in pudp_set_access_flags()
576 unsigned long addr, pud_t *pudp) in pudp_test_and_clear_young() argument
580 if (pud_young(*pudp)) in pudp_test_and_clear_young()
582 (unsigned long *)pudp); in pudp_test_and_clear_young()

123