/kernel/linux/linux-5.10/include/asm-generic/ |
H A D | pgtable-nopud.h | 12 * Having the pud type consist of a p4d gets the size right, and allows 13 * us to conceptually access the p4d entry that this pud is folded into 16 typedef struct { p4d_t p4d; } pud_t; member 26 * into the p4d entry) 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, pu 42 pud_offset(p4d_t *p4d, unsigned long address) pud_offset() argument [all...] |
/kernel/linux/linux-6.6/include/asm-generic/ |
H A D | pgtable-nopud.h | 12 * Having the pud type consist of a p4d gets the size right, and allows 13 * us to conceptually access the p4d entry that this pud is folded into 16 typedef struct { p4d_t p4d; } pud_t; member 26 * into the p4d entry) 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, pu 42 pud_offset(p4d_t *p4d, unsigned long address) pud_offset() argument [all...] |
/kernel/linux/linux-6.6/arch/riscv/include/asm/ |
H A D | pgtable-64.h | 27 /* p4d is folded into pgd in case of 4-level page table */ 48 unsigned long p4d; member 51 #define p4d_val(x) ((x).p4d) 272 pr_err("%s:%d: bad p4d %016lx.\n", __FILE__, __LINE__, p4d_val(e)) 274 static inline void set_p4d(p4d_t *p4dp, p4d_t p4d) in set_p4d() argument 277 *p4dp = p4d; in set_p4d() 279 set_pud((pud_t *)p4dp, (pud_t){ p4d_val(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 298 p4d_bad(p4d_t p4d) p4d_bad() argument 306 p4d_clear(p4d_t *p4d) p4d_clear() argument 317 _p4d_pfn(p4d_t p4d) _p4d_pfn() argument 322 p4d_pgtable(p4d_t p4d) p4d_pgtable() argument 331 p4d_page(p4d_t p4d) p4d_page() argument 339 pud_offset(p4d_t *p4d, unsigned long address) pud_offset() argument [all...] |
H A D | pgalloc.h | 42 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() 75 unsigned long pfn = virt_to_pfn(p4d); in pgd_populate_safe() 114 static inline void __p4d_free(struct mm_struct *mm, p4d_t *p4d) in __p4d_free() argument 116 BUG_ON((unsigned long)p4d in __p4d_free() 71 pgd_populate_safe(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) pgd_populate_safe() argument 121 p4d_free(struct mm_struct *mm, p4d_t *p4d) p4d_free() argument [all...] |
/kernel/linux/linux-5.10/mm/kasan/ |
H A D | init.c | 50 static inline bool kasan_pud_table(p4d_t p4d) in kasan_pud_table() argument 52 return p4d_page(p4d) == virt_to_page(lm_alias(kasan_early_shadow_pud)); in kasan_pud_table() 55 static inline bool kasan_pud_table(p4d_t p4d) in kasan_pud_table() argument 146 static int __ref zero_pud_populate(p4d_t *p4d, unsigned long addr, in zero_pud_populate() argument 149 pud_t *pud = pud_offset(p4d, addr); in zero_pud_populate() 189 p4d_t *p4d = p4d_offset(pgd, addr); in zero_p4d_populate() local 198 p4d_populate(&init_mm, p4d, in zero_p4d_populate() 200 pud = pud_offset(p4d, addr); in zero_p4d_populate() 209 if (p4d_none(*p4d)) { in zero_p4d_populate() 213 p = pud_alloc(&init_mm, p4d, add in zero_p4d_populate() 248 p4d_t *p4d; kasan_populate_early_shadow() local 322 kasan_free_pud(pud_t *pud_start, p4d_t *p4d) kasan_free_pud() argument 339 p4d_t *p4d; kasan_free_p4d() local 424 kasan_remove_p4d_table(p4d_t *p4d, unsigned long addr, unsigned long end) kasan_remove_p4d_table() argument 464 p4d_t *p4d; kasan_remove_zero_shadow() local [all...] |
/kernel/linux/linux-6.6/mm/kasan/ |
H A D | init.c | 45 static inline bool kasan_pud_table(p4d_t p4d) in kasan_pud_table() argument 47 return p4d_page(p4d) == virt_to_page(lm_alias(kasan_early_shadow_pud)); in kasan_pud_table() 50 static inline bool kasan_pud_table(p4d_t p4d) in kasan_pud_table() argument 146 static int __ref zero_pud_populate(p4d_t *p4d, unsigned long addr, in zero_pud_populate() argument 149 pud_t *pud = pud_offset(p4d, addr); in zero_pud_populate() 191 p4d_t *p4d = p4d_offset(pgd, addr); in zero_p4d_populate() local 200 p4d_populate(&init_mm, p4d, in zero_p4d_populate() 202 pud = pud_offset(p4d, addr); in zero_p4d_populate() 211 if (p4d_none(*p4d)) { in zero_p4d_populate() 215 p = pud_alloc(&init_mm, p4d, add in zero_p4d_populate() 248 p4d_t *p4d; kasan_populate_early_shadow() local 322 kasan_free_pud(pud_t *pud_start, p4d_t *p4d) kasan_free_pud() argument 339 p4d_t *p4d; kasan_free_p4d() local 427 kasan_remove_p4d_table(p4d_t *p4d, unsigned long addr, unsigned long end) kasan_remove_p4d_table() argument 466 p4d_t *p4d; kasan_remove_zero_shadow() local [all...] |
/kernel/linux/linux-5.10/arch/powerpc/include/asm/nohash/64/ |
H A D | pgtable-4k.h | 56 #define p4d_none(p4d) (!p4d_val(p4d)) 57 #define p4d_bad(p4d) (p4d_val(p4d) == 0) 58 #define p4d_present(p4d) (p4d_val(p4d) != 0) 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() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/include/asm/nohash/64/ |
H A D | pgtable-4k.h | 56 #define p4d_none(p4d) (!p4d_val(p4d)) 57 #define p4d_bad(p4d) (p4d_val(p4d) == 0) 58 #define p4d_present(p4d) (p4d_val(p4d) != 0) 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() [all...] |
/kernel/linux/linux-5.10/arch/x86/mm/ |
H A D | init_64.c | 72 DEFINE_POPULATE(p4d_populate, p4d, pud, init) 73 DEFINE_POPULATE(pgd_populate, pgd, p4d, init) 87 DEFINE_ENTRY(p4d, p4d, init) 174 * With folded p4d, pgd_none() is always false, we need to in sync_global_pgds_l4() 175 * handle synchonization on p4d level. in sync_global_pgds_l4() 186 p4d_t *p4d; in sync_global_pgds_l4() local 190 p4d = p4d_offset(pgd, addr); in sync_global_pgds_l4() 195 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d)) in sync_global_pgds_l4() 196 BUG_ON(p4d_pgtable(*p4d) in sync_global_pgds_l4() 246 p4d_t *p4d = (p4d_t *)spp_getpage(); fill_p4d() local 255 fill_pud(p4d_t *p4d, unsigned long vaddr) fill_pud() argument 306 p4d_t *p4d = p4d_page + p4d_index(vaddr); set_pte_vaddr_p4d() local 340 p4d_t *p4d; populate_extra_pmd() local 364 p4d_t *p4d; __init_extra_mapping() local 688 p4d_t *p4d = p4d_page + p4d_index(vaddr); phys_p4d_init() local 740 p4d_t *p4d; __kernel_physical_mapping_init() local 941 free_pud_table(pud_t *pud_start, p4d_t *p4d) free_pud_table() argument 1147 p4d_t *p4d; remove_p4d_table() local 1181 p4d_t *p4d; remove_pagetable() local 1247 p4d_t *p4d; preallocate_vmalloc_pages() local 1379 p4d_t *p4d; kern_addr_valid() local 1498 p4d_t *p4d; vmemmap_populate_hugepages() local 1582 p4d_t *p4d; register_page_bootmem_memmap() local [all...] |
H A D | ident_map.c | 81 p4d_t *p4d = p4d_page + p4d_index(addr); in ident_p4d_init() local 88 if (p4d_present(*p4d)) { in ident_p4d_init() 89 pud = pud_offset(p4d, 0); in ident_p4d_init() 104 set_p4d(p4d, __p4d(__pa(pud) | info->kernpg_flag)); in ident_p4d_init() 127 p4d_t *p4d; in kernel_ident_mapping_init() local 134 p4d = p4d_offset(pgd, 0); in kernel_ident_mapping_init() 135 result = ident_p4d_init(info, p4d, addr, next); in kernel_ident_mapping_init() 141 p4d = (p4d_t *)info->alloc_pgt_page(info->context); in kernel_ident_mapping_init() 142 if (!p4d) in kernel_ident_mapping_init() 144 result = ident_p4d_init(info, p4d, add in kernel_ident_mapping_init() [all...] |
H A D | kasan_init_64.c | 105 static void __init kasan_populate_p4d(p4d_t *p4d, unsigned long addr, in kasan_populate_p4d() argument 111 if (p4d_none(*p4d)) { in kasan_populate_p4d() 114 p4d_populate(&init_mm, p4d, p); in kasan_populate_p4d() 117 pud = pud_offset(p4d, addr); in kasan_populate_p4d() 129 p4d_t *p4d; in kasan_populate_pgd() local 137 p4d = p4d_offset(pgd, addr); in kasan_populate_pgd() 140 kasan_populate_p4d(p4d, addr, next, nid); in kasan_populate_pgd() 141 } while (p4d++, addr = next, addr != end); in kasan_populate_pgd() 180 * With folded p4d, pgd_clear() is nop, use p4d_clear() in clear_pgds() 196 unsigned long p4d; in early_p4d_offset() local 211 p4d_t *p4d, p4d_entry; kasan_early_p4d_populate() local 251 p4d_t *p4d; kasan_shallow_populate_p4ds() local [all...] |
/kernel/linux/linux-6.6/arch/x86/mm/ |
H A D | init_64.c | 73 DEFINE_POPULATE(p4d_populate, p4d, pud, init) 74 DEFINE_POPULATE(pgd_populate, pgd, p4d, init) 88 DEFINE_ENTRY(p4d, p4d, init) 180 * With folded p4d, pgd_none() is always false, we need to in sync_global_pgds_l4() 181 * handle synchronization on p4d level. in sync_global_pgds_l4() 192 p4d_t *p4d; in sync_global_pgds_l4() local 196 p4d = p4d_offset(pgd, addr); in sync_global_pgds_l4() 201 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d)) in sync_global_pgds_l4() 202 BUG_ON(p4d_pgtable(*p4d) in sync_global_pgds_l4() 252 p4d_t *p4d = (p4d_t *)spp_getpage(); fill_p4d() local 261 fill_pud(p4d_t *p4d, unsigned long vaddr) fill_pud() argument 312 p4d_t *p4d = p4d_page + p4d_index(vaddr); set_pte_vaddr_p4d() local 346 p4d_t *p4d; populate_extra_pmd() local 370 p4d_t *p4d; __init_extra_mapping() local 689 p4d_t *p4d = p4d_page + p4d_index(vaddr); phys_p4d_init() local 741 p4d_t *p4d; __kernel_physical_mapping_init() local 1041 free_pud_table(pud_t *pud_start, p4d_t *p4d) free_pud_table() argument 1191 p4d_t *p4d; remove_p4d_table() local 1225 p4d_t *p4d; remove_pagetable() local 1293 p4d_t *p4d; preallocate_vmalloc_pages() local 1566 p4d_t *p4d; register_page_bootmem_memmap() local [all...] |
H A D | ident_map.c | 81 p4d_t *p4d = p4d_page + p4d_index(addr); in ident_p4d_init() local 88 if (p4d_present(*p4d)) { in ident_p4d_init() 89 pud = pud_offset(p4d, 0); in ident_p4d_init() 104 set_p4d(p4d, __p4d(__pa(pud) | info->kernpg_flag)); in ident_p4d_init() 127 p4d_t *p4d; in kernel_ident_mapping_init() local 134 p4d = p4d_offset(pgd, 0); in kernel_ident_mapping_init() 135 result = ident_p4d_init(info, p4d, addr, next); in kernel_ident_mapping_init() 141 p4d = (p4d_t *)info->alloc_pgt_page(info->context); in kernel_ident_mapping_init() 142 if (!p4d) in kernel_ident_mapping_init() 144 result = ident_p4d_init(info, p4d, add in kernel_ident_mapping_init() [all...] |
H A D | kasan_init_64.c | 103 static void __init kasan_populate_p4d(p4d_t *p4d, unsigned long addr, in kasan_populate_p4d() argument 109 if (p4d_none(*p4d)) { in kasan_populate_p4d() 112 p4d_populate(&init_mm, p4d, p); 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() 138 kasan_populate_p4d(p4d, addr, next, nid); in kasan_populate_pgd() 139 } while (p4d++, addr = next, addr != end); in kasan_populate_pgd() 178 * With folded p4d, pgd_clear() is nop, use p4d_clear() in clear_pgds() 194 unsigned long p4d; in early_p4d_offset() local 209 p4d_t *p4d, p4d_entry; kasan_early_p4d_populate() local 249 p4d_t *p4d; kasan_shallow_populate_p4ds() local [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | pgalloc.h | 115 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument 118 set_p4d(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate() 121 static inline void p4d_populate_safe(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate_safe() argument 124 set_p4d_safe(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate_safe() 136 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument 140 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate() 141 set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate() 144 static inline void pgd_populate_safe(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate_safe() argument 148 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate_safe() 149 set_pgd_safe(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate_safe() 161 p4d_free(struct mm_struct *mm, p4d_t *p4d) p4d_free() argument 172 __p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, unsigned long address) __p4d_free_tlb() argument [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | pgalloc.h | 113 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument 116 set_p4d(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate() 119 static inline void p4d_populate_safe(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate_safe() argument 122 set_p4d_safe(p4d, __p4d(_PAGE_TABLE | __pa(pud))); in p4d_populate_safe() 134 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument 138 paravirt_alloc_p4d(mm, __pa(p4d) >> PAGE_SHIFT); in pgd_populate() 139 set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(p4d))); in pgd_populate() 142 static inline void pgd_populate_safe(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate_safe() argument 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 p4d_free(struct mm_struct *mm, p4d_t *p4d) p4d_free() argument 170 __p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, unsigned long address) __p4d_free_tlb() argument [all...] |
/kernel/linux/linux-5.10/arch/mips/include/asm/ |
H A D | pgtable-64.h | 190 static inline int p4d_none(p4d_t p4d) in p4d_none() argument 192 return p4d_val(p4d) == (unsigned long)invalid_pud_table; in p4d_none() 195 static inline int p4d_bad(p4d_t p4d) in p4d_bad() argument 197 if (unlikely(p4d_val(p4d) & ~PAGE_MASK)) in p4d_bad() 203 static inline int p4d_present(p4d_t p4d) in p4d_present() argument 205 return p4d_val(p4d) != (unsigned long)invalid_pud_table; in p4d_present() 213 static inline pud_t *p4d_pgtable(p4d_t p4d) in p4d_pgtable() argument 215 return (pud_t *)p4d_val(p4d); in p4d_pgtable() 218 #define p4d_phys(p4d) virt_to_phys((void *)p4d_val(p4d)) 223 set_p4d(p4d_t *p4d, p4d_t p4dval) set_p4d() argument [all...] |
/kernel/linux/linux-6.6/arch/mips/include/asm/ |
H A D | pgtable-64.h | 184 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 199 return p4d_val(p4d) != (unsigned long)invalid_pud_table; in p4d_present() 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)) 217 set_p4d(p4d_t *p4d, p4d_t p4dval) set_p4d() argument [all...] |
/kernel/linux/linux-5.10/arch/sh/mm/ |
H A D | hugetlbpage.c | 28 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()
|
/kernel/linux/linux-6.6/arch/sh/mm/ |
H A D | hugetlbpage.c | 28 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()
|
/kernel/linux/linux-6.6/arch/s390/mm/ |
H A D | vmem.c | 308 static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end, in modify_pud_table() argument 319 pud = pud_offset(p4d, addr); in modify_pud_table() 362 static void try_free_pud_table(p4d_t *p4d, unsigned long start) in try_free_pud_table() argument 367 pud = pud_offset(p4d, start); in try_free_pud_table() 372 vmem_free_pages(p4d_deref(*p4d), CRST_ALLOC_ORDER); in try_free_pud_table() 373 p4d_clear(p4d); in try_free_pud_table() 381 p4d_t *p4d; in modify_p4d_table() local 384 p4d = p4d_offset(pgd, addr); in modify_p4d_table() 385 for (; addr < end; addr = next, p4d++) { in modify_p4d_table() 388 if (p4d_none(*p4d)) in modify_p4d_table() 409 p4d_t *p4d; try_free_p4d_table() local 427 p4d_t *p4d; modify_pagetable() local 558 p4d_t *p4d; vmem_get_alloc_pte() local [all...] |
/kernel/linux/linux-5.10/arch/arm/mm/ |
H A D | pgd.c | 145 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...] |
/kernel/linux/linux-6.6/arch/arm/mm/ |
H A D | pgd.c | 145 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...] |
/kernel/linux/linux-5.10/arch/s390/mm/ |
H A D | vmem.c | 310 static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end, in modify_pud_table() argument 321 pud = pud_offset(p4d, addr); in modify_pud_table() 364 static void try_free_pud_table(p4d_t *p4d, unsigned long start) in try_free_pud_table() argument 378 pud = pud_offset(p4d, start); in try_free_pud_table() 383 vmem_free_pages(p4d_deref(*p4d), CRST_ALLOC_ORDER); in try_free_pud_table() 384 p4d_clear(p4d); in try_free_pud_table() 392 p4d_t *p4d; in modify_p4d_table() local 395 p4d = p4d_offset(pgd, addr); in modify_p4d_table() 396 for (; addr < end; addr = next, p4d++) { in modify_p4d_table() 399 if (p4d_none(*p4d)) in modify_p4d_table() 421 p4d_t *p4d; try_free_p4d_table() local 447 p4d_t *p4d; modify_pagetable() local [all...] |
/kernel/linux/linux-5.10/mm/ |
H A D | ioremap.c | 152 static inline int ioremap_pud_range(p4d_t *p4d, unsigned long addr, in ioremap_pud_range() argument 159 pud = pud_alloc_track(&init_mm, p4d, addr, mask); in ioremap_pud_range() 176 static int ioremap_try_huge_p4d(p4d_t *p4d, unsigned long addr, in ioremap_try_huge_p4d() argument 192 if (p4d_present(*p4d) && !p4d_free_pud_page(p4d, addr)) in ioremap_try_huge_p4d() 195 return p4d_set_huge(p4d, phys_addr, prot); in ioremap_try_huge_p4d() 202 p4d_t *p4d; in ioremap_p4d_range() local 205 p4d = p4d_alloc_track(&init_mm, pgd, addr, mask); in ioremap_p4d_range() 206 if (!p4d) in ioremap_p4d_range() 211 if (ioremap_try_huge_p4d(p4d, add in ioremap_p4d_range() [all...] |