Home
last modified time | relevance | path

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

123456

/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);
/arch/riscv/include/asm/
A Dpgtable-64.h46 unsigned long p4d; member
49 #define p4d_val(x) ((x).p4d)
277 WRITE_ONCE(*p4dp, p4d); in set_p4d()
282 static inline int p4d_none(p4d_t p4d) in p4d_none() argument
285 return (p4d_val(p4d) == 0); in p4d_none()
290 static inline int p4d_present(p4d_t p4d) in p4d_present() argument
293 return (p4d_val(p4d) & _PAGE_PRESENT); in p4d_present()
298 static inline int p4d_bad(p4d_t p4d) in p4d_bad() argument
301 return !p4d_present(p4d); in p4d_bad()
309 set_p4d(p4d, __p4d(0)); in p4d_clear()
[all …]
A Dpgalloc.h42 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument
47 set_p4d(p4d, __p4d((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE)); in p4d_populate()
51 static inline void p4d_populate_safe(struct mm_struct *mm, p4d_t *p4d, in p4d_populate_safe() argument
57 set_p4d_safe(p4d, in p4d_populate_safe()
62 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument
65 unsigned long pfn = virt_to_pfn(p4d); in pgd_populate()
72 p4d_t *p4d) in pgd_populate_safe() argument
75 unsigned long pfn = virt_to_pfn(p4d); in pgd_populate_safe()
96 static inline void __p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, in __p4d_free_tlb() argument
100 tlb_remove_ptdesc(tlb, virt_to_ptdesc(p4d)); in __p4d_free_tlb()
/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()
156 if (p4d_present(*p4d)) { in ident_p4d_init()
157 pud = pud_offset(p4d, 0); in ident_p4d_init()
195 p4d_t *p4d; in kernel_ident_mapping_init() local
199 p4d = p4d_offset(pgd, 0); in kernel_ident_mapping_init()
207 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
741 p4d_t *p4d; in __kernel_physical_mapping_init() local
1079 p4d_clear(p4d); in free_pud_table()
1212 p4d_t *p4d; in remove_p4d_table() local
1246 p4d_t *p4d; in remove_pagetable() local
1314 p4d_t *p4d; in preallocate_vmalloc_pages() local
1319 if (!p4d) in preallocate_vmalloc_pages()
[all …]
A Dkasan_init_64.c108 if (p4d_none(*p4d)) { in kasan_populate_p4d()
114 pud = pud_offset(p4d, addr); in kasan_populate_p4d()
126 p4d_t *p4d; in kasan_populate_pgd() local
134 p4d = p4d_offset(pgd, addr); in kasan_populate_pgd()
193 unsigned long p4d; in early_p4d_offset() local
208 p4d_t *p4d, p4d_entry; in kasan_early_p4d_populate() local
221 if (!p4d_none(*p4d)) in kasan_early_p4d_populate()
226 set_p4d(p4d, p4d_entry); in kasan_early_p4d_populate()
227 } while (p4d++, addr = next, addr != end && p4d_none(*p4d)); in kasan_early_p4d_populate()
248 p4d_t *p4d; in kasan_shallow_populate_p4ds() local
[all …]
A Dpgtable_32.c30 p4d_t *p4d; in set_pte_vaddr() local
40 p4d = p4d_offset(pgd, vaddr); in set_pte_vaddr()
41 if (p4d_none(*p4d)) { in set_pte_vaddr()
45 pud = pud_offset(p4d, vaddr); in set_pte_vaddr()
/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()
A Dtlbex_32.c27 p4d_t *p4d; in handle_tlbmiss() local
47 p4d = p4d_offset(pgd, address); in handle_tlbmiss()
48 if (p4d_none_or_clear_bad(p4d)) in handle_tlbmiss()
50 pud = pud_offset(p4d, address); in handle_tlbmiss()
/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()
/arch/x86/include/asm/
A Dpgalloc.h111 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument
114 set_p4d(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate()
120 set_p4d_safe(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate_safe()
132 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument
136 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate()
137 set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate()
144 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate_safe()
145 set_pgd_safe(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate_safe()
148 extern void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d);
150 static inline void __p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, in __p4d_free_tlb() argument
[all …]
/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.c41 static int pageattr_p4d_entry(p4d_t *p4d, unsigned long addr, in pageattr_p4d_entry() argument
44 p4d_t val = p4dp_get(p4d); in pageattr_p4d_entry()
48 set_p4d(p4d, val); in pageattr_p4d_entry()
164 p4d_t *p4d; in kernel_page_present() local
179 p4d = p4d_offset(pgd, addr); in kernel_page_present()
180 if (p4d_none(p4dp_get(p4d))) in kernel_page_present()
182 if (p4d_leaf(p4dp_get(p4d))) in kernel_page_present()
185 pud = pud_offset(p4d, addr); in kernel_page_present()
/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 …]
/arch/s390/mm/
A Dvmem.c321 pud = pud_offset(p4d, addr); in modify_pud_table()
375 p4d_clear(p4d); in try_free_pud_table()
383 p4d_t *p4d; in modify_p4d_table() local
390 if (p4d_none(*p4d)) in modify_p4d_table()
411 p4d_t *p4d; in try_free_p4d_table() local
416 if (!p4d_none(*p4d)) in try_free_p4d_table()
429 p4d_t *p4d; in modify_pagetable() local
445 if (!p4d) in modify_pagetable()
566 p4d_t *p4d; in vmem_get_alloc_pte() local
576 if (!p4d) in vmem_get_alloc_pte()
[all …]
/arch/arm/mm/
A Dpgd.c143 p4d_t *p4d; in pgd_free() local
155 p4d = p4d_offset(pgd, 0); in pgd_free()
156 if (p4d_none_or_clear_bad(p4d)) in pgd_free()
159 pud = pud_offset(p4d, 0); in pgd_free()
176 p4d_clear(p4d); in pgd_free()
180 p4d_free(mm, p4d); in pgd_free()
191 p4d = p4d_offset(pgd, 0); in pgd_free()
192 if (p4d_none_or_clear_bad(p4d)) in pgd_free()
194 pud = pud_offset(p4d, 0); in pgd_free()
201 p4d_clear(p4d); in pgd_free()
[all …]
/arch/um/include/asm/
A Dpgtable-4level.h69 #define p4d_populate(mm, p4d, pud) \ argument
70 set_p4d(p4d, __p4d(_PAGE_TABLE + __pa(pud)))
89 static inline void p4d_clear (p4d_t *p4d) in p4d_clear() argument
91 set_p4d(p4d, __p4d(_PAGE_NEEDSYNC)); in p4d_clear()
97 #define p4d_page(p4d) phys_to_page(p4d_val(p4d) & PAGE_MASK) argument
98 #define p4d_pgtable(p4d) ((pud_t *) __va(p4d_val(p4d) & PAGE_MASK)) argument
/arch/x86/boot/startup/
A Dmap_kernel.c96 p4dval_t *p4d; in __startup_64() local
130 p4d = (p4dval_t *)rip_rel_ptr(level4_kernel_pgt); in __startup_64()
131 p4d[MAX_PTRS_PER_P4D - 1] += load_delta; in __startup_64()
133 pgd[pgd_index(__START_KERNEL_map)] = (pgdval_t)p4d | _PAGE_TABLE; in __startup_64()
156 p4d = &early_pgts[next_early_pgt++]->pmd; in __startup_64()
159 pgd[i + 0] = (pgdval_t)p4d + pgtable_flags; in __startup_64()
160 pgd[i + 1] = (pgdval_t)p4d + pgtable_flags; in __startup_64()
163 p4d[(i + 0) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags; in __startup_64()
164 p4d[(i + 1) % PTRS_PER_P4D] = (pgdval_t)pud + pgtable_flags; in __startup_64()
/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()
A Dhibernate.c157 p4d_t *p4d; in relocate_restore_code() local
171 p4d = p4d_offset(pgd, relocated_restore_code); in relocate_restore_code()
172 if (p4d_leaf(*p4d)) { in relocate_restore_code()
173 set_p4d(p4d, __p4d(p4d_val(*p4d) & ~_PAGE_NX)); in relocate_restore_code()
176 pud = pud_offset(p4d, relocated_restore_code); in relocate_restore_code()
/arch/parisc/mm/
A Dhugetlbpage.c30 p4d_t *p4d; in huge_pte_alloc() local
43 p4d = p4d_offset(pgd, addr); in huge_pte_alloc()
44 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
57 p4d_t *p4d; in huge_pte_offset() local
66 p4d = p4d_offset(pgd, addr); in huge_pte_offset()
67 if (!p4d_none(*p4d)) { in huge_pte_offset()
68 pud = pud_offset(p4d, addr); in huge_pte_offset()
/arch/um/kernel/
A Dtlb.c115 static inline int update_pud_range(p4d_t *p4d, unsigned long addr, in update_pud_range() argument
123 pud = pud_offset(p4d, addr); in update_pud_range()
142 p4d_t *p4d; in update_p4d_range() local
146 p4d = p4d_offset(pgd, addr); in update_p4d_range()
149 if (!p4d_present(*p4d)) { in update_p4d_range()
150 if (p4d_needsync(*p4d)) { in update_p4d_range()
153 p4d_mkuptodate(*p4d); in update_p4d_range()
156 ret = update_pud_range(p4d, addr, next, ops); in update_p4d_range()
157 } while (p4d++, addr = next, ((addr < end) && !ret)); in update_p4d_range()
A Dmem.c113 static void __init one_ud_table_init(p4d_t *p4d) in one_ud_table_init() argument
121 set_p4d(p4d, __p4d(_KERNPG_TABLE + (unsigned long) __pa(pud_table))); in one_ud_table_init()
122 BUG_ON(pud_table != pud_offset(p4d, 0)); in one_ud_table_init()
130 p4d_t *p4d; in fixrange_init() local
142 p4d = p4d_offset(pgd, vaddr); in fixrange_init()
143 if (p4d_none(*p4d)) in fixrange_init()
144 one_ud_table_init(p4d); in fixrange_init()
145 pud = pud_offset(p4d, vaddr); in fixrange_init()
/arch/powerpc/mm/
A Dpgtable_64.c101 struct page *p4d_page(p4d_t p4d) in p4d_page() argument
103 if (p4d_leaf(p4d)) { in p4d_page()
105 VM_WARN_ON(!p4d_leaf(p4d)); in p4d_page()
106 return pte_page(p4d_pte(p4d)); in p4d_page()
108 return virt_to_page(p4d_pgtable(p4d)); in p4d_page()
/arch/s390/include/asm/
A Dpgalloc.h63 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) in p4d_free() argument
68 pagetable_dtor(virt_to_ptdesc(p4d)); in p4d_free()
69 crst_table_free(mm, (unsigned long *) p4d); in p4d_free()
115 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument
117 set_pgd(pgd, __pgd(_REGION1_ENTRY | __pa(p4d))); in pgd_populate()
120 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument
122 set_p4d(p4d, __p4d(_REGION2_ENTRY | __pa(pud))); in p4d_populate()

Completed in 55 milliseconds

123456