Home
last modified time | relevance | path

Searched refs:p4d (Results 1 – 25 of 155) sorted by relevance

1234567

/linux/include/asm-generic/
A Dpgtable-nopud.h16 typedef struct { p4d_t p4d; } pud_t; member
28 static inline int p4d_none(p4d_t p4d) { return 0; } in p4d_none() argument
29 static inline int p4d_bad(p4d_t p4d) { return 0; } in p4d_bad() argument
30 static inline int p4d_present(p4d_t p4d) { return 1; } in p4d_present() argument
31 static inline void p4d_clear(p4d_t *p4d) { } in p4d_clear() argument
32 #define pud_ERROR(pud) (p4d_ERROR((pud).p4d))
34 #define p4d_populate(mm, p4d, pud) do { } while (0) argument
44 return (pud_t *)p4d; in pud_offset()
48 #define pud_val(x) (p4d_val((x).p4d))
51 #define p4d_page(p4d) (pud_page((pud_t){ p4d })) argument
[all …]
/linux/mm/kasan/
A Dinit.c206 p4d_populate(&init_mm, p4d, in zero_p4d_populate()
217 if (p4d_none(*p4d)) { in zero_p4d_populate()
254 p4d_t *p4d; in kasan_populate_early_shadow() local
340 p4d_clear(p4d); in kasan_free_pud()
345 p4d_t *p4d; in kasan_free_p4d() local
349 p4d = p4d_start + i; in kasan_free_p4d()
350 if (!p4d_none(*p4d)) in kasan_free_p4d()
443 if (!p4d_present(*p4d)) in kasan_remove_p4d_table()
449 p4d_clear(p4d); in kasan_remove_p4d_table()
455 kasan_free_pud(pud_offset(p4d, 0), p4d); in kasan_remove_p4d_table()
[all …]
/linux/arch/powerpc/include/asm/nohash/64/
A Dpgtable-4k.h56 #define p4d_none(p4d) (!p4d_val(p4d)) argument
57 #define p4d_bad(p4d) (p4d_val(p4d) == 0) argument
58 #define p4d_present(p4d) (p4d_val(p4d) != 0) argument
62 static inline pud_t *p4d_pgtable(p4d_t p4d) in p4d_pgtable() argument
64 return (pud_t *) (p4d_val(p4d) & ~P4D_MASKED_BITS); in p4d_pgtable()
72 static inline pte_t p4d_pte(p4d_t p4d) in p4d_pte() argument
74 return __pte(p4d_val(p4d)); in p4d_pte()
81 extern struct page *p4d_page(p4d_t p4d);
/linux/arch/riscv/include/asm/
A Dpgtable-64.h46 unsigned long p4d; member
49 #define p4d_val(x) ((x).p4d)
279 WRITE_ONCE(*p4dp, p4d); in set_p4d()
284 static inline int p4d_none(p4d_t p4d) in p4d_none() argument
287 return (p4d_val(p4d) == 0); in p4d_none()
292 static inline int p4d_present(p4d_t p4d) in p4d_present() argument
295 return (p4d_val(p4d) & _PAGE_PRESENT); in p4d_present()
300 static inline int p4d_bad(p4d_t p4d) in p4d_bad() argument
303 return !p4d_present(p4d); in p4d_bad()
311 set_p4d(p4d, __p4d(0)); in p4d_clear()
[all …]
A Dpgalloc.h56 set_p4d(p4d, __p4d((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE)); in p4d_populate()
66 set_p4d_safe(p4d, in p4d_populate_safe()
74 unsigned long pfn = virt_to_pfn(p4d); in pgd_populate()
81 p4d_t *p4d) in pgd_populate_safe() argument
84 unsigned long pfn = virt_to_pfn(p4d); in pgd_populate_safe()
132 static inline void __p4d_free(struct mm_struct *mm, p4d_t *p4d) in __p4d_free() argument
134 BUG_ON((unsigned long)p4d & (PAGE_SIZE-1)); in __p4d_free()
135 free_page((unsigned long)p4d); in __p4d_free()
139 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) in p4d_free() argument
142 __p4d_free(mm, p4d); in p4d_free()
[all …]
/linux/arch/x86/mm/
A Dident_map.c34 pud_t *pud = pud_offset(p4d, 0); in free_pud()
52 p4d_t *p4d = p4d_offset(pgd, 0); in free_p4d() local
56 if (!p4d_present(p4d[i])) in free_p4d()
59 free_pud(info, &p4d[i]); in free_p4d()
63 info->free_pgt_page(p4d, info->context); in free_p4d()
161 if (p4d_present(*p4d)) { in ident_p4d_init()
162 pud = pud_offset(p4d, 0); in ident_p4d_init()
200 p4d_t *p4d; in kernel_ident_mapping_init() local
207 p4d = p4d_offset(pgd, 0); in kernel_ident_mapping_init()
215 if (!p4d) in kernel_ident_mapping_init()
[all …]
A Dinit_64.c88 DEFINE_ENTRY(p4d, p4d, init)
192 p4d_t *p4d; in sync_global_pgds_l4() local
346 p4d_t *p4d; in populate_extra_pmd() local
370 p4d_t *p4d; in __init_extra_mapping() local
749 p4d_t *p4d; in __kernel_physical_mapping_init() local
1065 p4d_clear(p4d); in free_pud_table()
1201 p4d_t *p4d; in remove_p4d_table() local
1235 p4d_t *p4d; in remove_pagetable() local
1303 p4d_t *p4d; in preallocate_vmalloc_pages() local
1308 if (!p4d) in preallocate_vmalloc_pages()
[all …]
A Dkasan_init_64.c109 if (p4d_none(*p4d)) { in kasan_populate_p4d()
115 pud = pud_offset(p4d, addr); in kasan_populate_p4d()
127 p4d_t *p4d; in kasan_populate_pgd() local
135 p4d = p4d_offset(pgd, addr); in kasan_populate_pgd()
194 unsigned long p4d; in early_p4d_offset() local
209 p4d_t *p4d, p4d_entry; in kasan_early_p4d_populate() local
222 if (!p4d_none(*p4d)) in kasan_early_p4d_populate()
227 set_p4d(p4d, p4d_entry); in kasan_early_p4d_populate()
228 } while (p4d++, addr = next, addr != end && p4d_none(*p4d)); in kasan_early_p4d_populate()
249 p4d_t *p4d; in kasan_shallow_populate_p4ds() local
[all …]
A Dpti.c202 p4d_t *p4d; in pti_user_pagetable_walk_pmd() local
205 p4d = pti_user_pagetable_walk_p4d(address); in pti_user_pagetable_walk_pmd()
206 if (!p4d) in pti_user_pagetable_walk_pmd()
209 BUILD_BUG_ON(p4d_leaf(*p4d) != 0); in pti_user_pagetable_walk_pmd()
210 if (p4d_none(*p4d)) { in pti_user_pagetable_walk_pmd()
215 set_p4d(p4d, __p4d(_KERNPG_TABLE | __pa(new_pud_page))); in pti_user_pagetable_walk_pmd()
218 pud = pud_offset(p4d, address); in pti_user_pagetable_walk_pmd()
321 p4d_t *p4d; in pti_clone_pgtable() local
331 p4d = p4d_offset(pgd, addr); in pti_clone_pgtable()
332 if (WARN_ON(p4d_none(*p4d))) in pti_clone_pgtable()
[all …]
/linux/arch/x86/include/asm/
A Dpgalloc.h116 set_p4d(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate()
122 set_p4d_safe(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate_safe()
138 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate()
139 set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate()
146 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate_safe()
147 set_pgd_safe(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate_safe()
159 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) in p4d_free() argument
164 BUG_ON((unsigned long)p4d & (PAGE_SIZE-1)); in p4d_free()
165 free_page((unsigned long)p4d); in p4d_free()
168 extern void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d);
[all …]
A Dpgtable_types.h342 typedef struct { p4dval_t p4d; } p4d_t; member
349 static inline p4dval_t native_p4d_val(p4d_t p4d) in native_p4d_val() argument
351 return p4d.p4d; in native_p4d_val()
361 static inline p4dval_t native_p4d_val(p4d_t p4d) in native_p4d_val() argument
363 return native_pgd_val(p4d.pgd); in native_p4d_val()
389 return native_pgd_val(pud.p4d.pgd); in native_pud_val()
413 return native_pgd_val(pmd.pud.p4d.pgd); in native_pmd_val()
417 static inline p4dval_t p4d_pfn_mask(p4d_t p4d) in p4d_pfn_mask() argument
425 return ~p4d_pfn_mask(p4d); in p4d_flags_mask()
428 static inline p4dval_t p4d_flags(p4d_t p4d) in p4d_flags() argument
[all …]
/linux/arch/sh/mm/
A Dhugetlbpage.c28 p4d_t *p4d; in huge_pte_alloc() local
35 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc()
36 if (p4d) { in huge_pte_alloc()
37 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
53 p4d_t *p4d; in huge_pte_offset() local
60 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
61 if (p4d) { in huge_pte_offset()
62 pud = pud_offset(p4d, addr); in huge_pte_offset()
/linux/arch/s390/mm/
A Dvmem.c329 pud = pud_offset(p4d, addr); in modify_pud_table()
383 p4d_clear(p4d); in try_free_pud_table()
391 p4d_t *p4d; in modify_p4d_table() local
398 if (p4d_none(*p4d)) in modify_p4d_table()
419 p4d_t *p4d; in try_free_p4d_table() local
424 if (!p4d_none(*p4d)) in try_free_p4d_table()
437 p4d_t *p4d; in modify_pagetable() local
453 if (!p4d) in modify_pagetable()
574 p4d_t *p4d; in vmem_get_alloc_pte() local
584 if (!p4d) in vmem_get_alloc_pte()
[all …]
/linux/arch/mips/include/asm/
A Dpgtable-64.h184 static inline int p4d_none(p4d_t p4d) in p4d_none() argument
186 return p4d_val(p4d) == (unsigned long)invalid_pud_table; in p4d_none()
189 static inline int p4d_bad(p4d_t p4d) in p4d_bad() argument
191 if (unlikely(p4d_val(p4d) & ~PAGE_MASK)) in p4d_bad()
197 static inline int p4d_present(p4d_t p4d) in p4d_present() argument
207 static inline pud_t *p4d_pgtable(p4d_t p4d) in p4d_pgtable() argument
209 return (pud_t *)p4d_val(p4d); in p4d_pgtable()
212 #define p4d_phys(p4d) virt_to_phys((void *)p4d_val(p4d)) argument
213 #define p4d_page(p4d) (pfn_to_page(p4d_phys(p4d) >> PAGE_SHIFT)) argument
217 static inline void set_p4d(p4d_t *p4d, p4d_t p4dval) in set_p4d() argument
[all …]
/linux/arch/mips/mm/
A Dhugetlbpage.c28 p4d_t *p4d; in huge_pte_alloc() local
33 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc()
34 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
45 p4d_t *p4d; in huge_pte_offset() local
51 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
52 if (p4d_present(*p4d)) { in huge_pte_offset()
53 pud = pud_offset(p4d, addr); in huge_pte_offset()
/linux/arch/arm/mm/
A Dpgd.c145 p4d_t *p4d; in pgd_free() local
157 p4d = p4d_offset(pgd, 0); in pgd_free()
158 if (p4d_none_or_clear_bad(p4d)) in pgd_free()
161 pud = pud_offset(p4d, 0); in pgd_free()
178 p4d_clear(p4d); in pgd_free()
182 p4d_free(mm, p4d); in pgd_free()
193 p4d = p4d_offset(pgd, 0); in pgd_free()
194 if (p4d_none_or_clear_bad(p4d)) in pgd_free()
196 pud = pud_offset(p4d, 0); in pgd_free()
203 p4d_clear(p4d); in pgd_free()
[all …]
/linux/arch/loongarch/mm/
A Dhugetlbpage.c20 p4d_t *p4d; in huge_pte_alloc() local
25 p4d = p4d_alloc(mm, pgd, addr); in huge_pte_alloc()
26 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
37 p4d_t *p4d; in huge_pte_offset() local
43 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
44 if (p4d_present(p4dp_get(p4d))) { in huge_pte_offset()
45 pud = pud_offset(p4d, addr); in huge_pte_offset()
A Dpageattr.c40 static int pageattr_p4d_entry(p4d_t *p4d, unsigned long addr, in pageattr_p4d_entry() argument
43 p4d_t val = p4dp_get(p4d); in pageattr_p4d_entry()
47 set_p4d(p4d, val); in pageattr_p4d_entry()
163 p4d_t *p4d; in kernel_page_present() local
178 p4d = p4d_offset(pgd, addr); in kernel_page_present()
179 if (p4d_none(p4dp_get(p4d))) in kernel_page_present()
181 if (p4d_leaf(p4dp_get(p4d))) in kernel_page_present()
184 pud = pud_offset(p4d, addr); in kernel_page_present()
/linux/arch/x86/power/
A Dhibernate_64.c32 p4d_t *p4d = NULL; in set_up_temporary_text_mapping() local
55 p4d = (p4d_t *)get_safe_page(GFP_ATOMIC); in set_up_temporary_text_mapping()
56 if (!p4d) in set_up_temporary_text_mapping()
72 if (p4d) { in set_up_temporary_text_mapping()
74 pgd_t new_pgd = __pgd(__pa(p4d) | pgprot_val(pgtable_prot)); in set_up_temporary_text_mapping()
76 set_p4d(p4d + p4d_index(restore_jump_address), new_p4d); in set_up_temporary_text_mapping()
/linux/mm/
A Dsparse-vmemmap.c210 pud_t *pud = pud_offset(p4d, addr); in vmemmap_pud_populate()
227 p4d_t *p4d = p4d_offset(pgd, addr); in vmemmap_p4d_populate() local
228 if (p4d_none(*p4d)) { in vmemmap_p4d_populate()
233 p4d_populate(&init_mm, p4d, p); in vmemmap_p4d_populate()
235 return p4d; in vmemmap_p4d_populate()
255 p4d_t *p4d; in vmemmap_populate_address() local
263 p4d = vmemmap_p4d_populate(pgd, addr, node); in vmemmap_populate_address()
264 if (!p4d) in vmemmap_populate_address()
266 pud = vmemmap_pud_populate(p4d, addr, node); in vmemmap_populate_address()
320 p4d_t *p4d; in vmemmap_populate_hugepages() local
[all …]
/linux/arch/sparc/mm/
A Dhugetlbpage.c282 p4d_t *p4d; in huge_pte_alloc() local
287 p4d = p4d_offset(pgd, addr); in huge_pte_alloc()
305 p4d_t *p4d; in huge_pte_offset() local
312 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
313 if (p4d_none(*p4d)) in huge_pte_offset()
315 pud = pud_offset(p4d, addr); in huge_pte_offset()
463 pud = pud_offset(p4d, addr); in hugetlb_free_pud_range()
486 pud = pud_offset(p4d, start); in hugetlb_free_pud_range()
487 p4d_clear(p4d); in hugetlb_free_pud_range()
497 p4d_t *p4d; in hugetlb_free_pgd_range() local
[all …]
/linux/arch/um/kernel/
A Dtlb.c123 static inline int update_pud_range(p4d_t *p4d, unsigned long addr, in update_pud_range() argument
131 pud = pud_offset(p4d, addr); in update_pud_range()
150 p4d_t *p4d; in update_p4d_range() local
154 p4d = p4d_offset(pgd, addr); in update_p4d_range()
157 if (!p4d_present(*p4d)) { in update_p4d_range()
158 if (p4d_newpage(*p4d)) { in update_p4d_range()
161 p4d_mkuptodate(*p4d); in update_p4d_range()
164 ret = update_pud_range(p4d, addr, next, ops); in update_p4d_range()
165 } while (p4d++, addr = next, ((addr < end) && !ret)); in update_p4d_range()
/linux/arch/x86/kernel/acpi/
A Dmadt_wakeup.c83 p4d_t *p4d; in init_transition_pgtable() local
91 p4d = (p4d_t *)alloc_pgt_page(NULL); in init_transition_pgtable()
92 if (!p4d) in init_transition_pgtable()
94 set_pgd(pgd, __pgd(__pa(p4d) | _KERNPG_TABLE)); in init_transition_pgtable()
96 p4d = p4d_offset(pgd, vaddr); in init_transition_pgtable()
97 if (!p4d_present(*p4d)) { in init_transition_pgtable()
101 set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE)); in init_transition_pgtable()
103 pud = pud_offset(p4d, vaddr); in init_transition_pgtable()
/linux/arch/parisc/mm/
A Dhugetlbpage.c51 p4d_t *p4d; in huge_pte_alloc() local
64 p4d = p4d_offset(pgd, addr); in huge_pte_alloc()
65 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
78 p4d_t *p4d; in huge_pte_offset() local
87 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
88 if (!p4d_none(*p4d)) { in huge_pte_offset()
89 pud = pud_offset(p4d, addr); in huge_pte_offset()
/linux/arch/x86/kernel/
A Dhead64.c150 p4dval_t *p4d; in __startup_64() local
182 p4d = (p4dval_t *)&RIP_REL_REF(level4_kernel_pgt); in __startup_64()
183 p4d[MAX_PTRS_PER_P4D - 1] += load_delta; in __startup_64()
208 p4d = &early_pgts[RIP_REL_REF(next_early_pgt)++]->pmd; in __startup_64()
211 pgd[i + 0] = (pgdval_t)p4d + pgtable_flags; in __startup_64()
212 pgd[i + 1] = (pgdval_t)p4d + pgtable_flags; in __startup_64()
215 p4d[(i + 0) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags; in __startup_64()
216 p4d[(i + 1) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags; in __startup_64()
286 p4dval_t p4d, *p4d_p; in __early_make_pgtable() local
318 p4d = *p4d_p; in __early_make_pgtable()
[all …]

Completed in 51 milliseconds

1234567