| /linux/arch/riscv/mm/ |
| H A D | kasan_init.c | 142 static void __init kasan_populate_pgd(pgd_t *pgdp, in kasan_populate_pgd() argument 151 if (pgd_none(pgdp_get(pgdp)) && IS_ALIGNED(vaddr, PGDIR_SIZE) && in kasan_populate_pgd() 155 set_pgd(pgdp, pfn_pgd(PFN_DOWN(phys_addr), PAGE_KERNEL)); in kasan_populate_pgd() 161 kasan_populate_p4d(pgdp, vaddr, next); in kasan_populate_pgd() 162 } while (pgdp++, vaddr = next, vaddr != end); in kasan_populate_pgd() 190 static void __init kasan_early_clear_p4d(pgd_t *pgdp, in kasan_early_clear_p4d() argument 197 p4dp = (p4d_t *)pgdp; in kasan_early_clear_p4d() 199 base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp)))); in kasan_early_clear_p4d() 216 static void __init kasan_early_clear_pgd(pgd_t *pgdp, in kasan_early_clear_pgd() argument 226 pgd_clear(pgdp); in kasan_early_clear_pgd() [all …]
|
| H A D | fault.c | 30 pgd_t *pgdp, pgd; in show_pte() local 44 pgdp = pgd_offset(mm, addr); in show_pte() 45 pgd = pgdp_get(pgdp); in show_pte() 50 p4dp = p4d_offset(pgdp, addr); in show_pte()
|
| /linux/arch/arm64/mm/ |
| H A D | kasan_init.c | 102 static p4d_t *__init kasan_p4d_offset(pgd_t *pgdp, unsigned long addr, int node, in kasan_p4d_offset() argument 105 if (pgd_none(READ_ONCE(*pgdp))) { in kasan_p4d_offset() 109 __pgd_populate(pgdp, p4d_phys, PGD_TYPE_TABLE); in kasan_p4d_offset() 112 return early ? p4d_offset_kimg(pgdp, addr) : p4d_offset(pgdp, addr); in kasan_p4d_offset() 156 static void __init kasan_p4d_populate(pgd_t *pgdp, unsigned long addr, in kasan_p4d_populate() argument 160 p4d_t *p4dp = kasan_p4d_offset(pgdp, addr, node, early); in kasan_p4d_populate() 172 pgd_t *pgdp; in kasan_pgd_populate() local 174 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 177 kasan_p4d_populate(pgdp, addr, next, node, early); in kasan_pgd_populate() 178 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate() [all …]
|
| H A D | hugetlbpage.c | 85 pgd_t *pgdp = pgd_offset(mm, addr); in find_num_contig() local 91 p4dp = p4d_offset(pgdp, addr); in find_num_contig() 243 pgd_t *pgdp; in huge_pte_alloc() local 249 pgdp = pgd_offset(mm, addr); in huge_pte_alloc() 250 p4dp = p4d_alloc(mm, pgdp, addr); in huge_pte_alloc() 284 pgd_t *pgdp; in huge_pte_offset() local 289 pgdp = pgd_offset(mm, addr); in huge_pte_offset() 290 if (!pgd_present(READ_ONCE(*pgdp))) in huge_pte_offset() 293 p4dp = p4d_offset(pgdp, addr); in huge_pte_offset()
|
| /linux/arch/loongarch/mm/ |
| H A D | kasan_init.c | 155 static p4d_t *__init kasan_p4d_offset(pgd_t *pgdp, unsigned long addr, int node, bool early) in kasan_p4d_offset() argument 157 if (__pgd_none(early, pgdp_get(pgdp))) { in kasan_p4d_offset() 162 pgd_populate(&init_mm, pgdp, (p4d_t *)__va(p4d_phys)); in kasan_p4d_offset() 165 return p4d_offset(pgdp, addr); in kasan_p4d_offset() 207 static void __init kasan_p4d_populate(pgd_t *pgdp, unsigned long addr, in kasan_p4d_populate() argument 211 p4d_t *p4dp = kasan_p4d_offset(pgdp, addr, node, early); in kasan_p4d_populate() 223 pgd_t *pgdp; in kasan_pgd_populate() local 225 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 229 kasan_p4d_populate(pgdp, addr, next, node, early); in kasan_pgd_populate() 230 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate() [all …]
|
| /linux/arch/arm64/kernel/pi/ |
| H A D | map_kernel.c | 43 phys_addr_t pgdp = (phys_addr_t)init_pg_dir + PAGE_SIZE; in map_kernel() local 85 map_segment(init_pg_dir, &pgdp, va_offset, _text, _stext, data_prot, in map_kernel() 87 map_segment(init_pg_dir, &pgdp, va_offset, _stext, _etext, prot, in map_kernel() 89 map_segment(init_pg_dir, &pgdp, va_offset, __start_rodata, in map_kernel() 91 map_segment(init_pg_dir, &pgdp, va_offset, __inittext_begin, in map_kernel() 93 map_segment(init_pg_dir, &pgdp, va_offset, __initdata_begin, in map_kernel() 95 map_segment(init_pg_dir, &pgdp, va_offset, _data, _end, data_prot, in map_kernel()
|
| /linux/arch/arm/mm/ |
| H A D | kasan_init.c | 127 pgd_t *pgdp; in kasan_pgd_populate() local 131 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 138 if (!early && pgd_none(*pgdp)) { in kasan_pgd_populate() 146 pgd_populate(&init_mm, pgdp, p); in kasan_pgd_populate() 155 p4dp = p4d_offset(pgdp, addr); in kasan_pgd_populate() 159 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate()
|
| /linux/arch/sparc/mm/ |
| H A D | srmmu.c | 110 static inline void srmmu_ctxd_set(ctxd_t *ctxp, pgd_t *pgdp) in srmmu_ctxd_set() argument 114 pte = __pte((SRMMU_ET_PTD | (__nocache_pa(pgdp) >> 4))); in srmmu_ctxd_set() 489 pgd_t *pgdp; in srmmu_mapioaddr() local 497 pgdp = pgd_offset_k(virt_addr); in srmmu_mapioaddr() 498 p4dp = p4d_offset(pgdp, virt_addr); in srmmu_mapioaddr() 528 pgd_t *pgdp; in srmmu_unmapioaddr() local 535 pgdp = pgd_offset_k(virt_addr); in srmmu_unmapioaddr() 536 p4dp = p4d_offset(pgdp, virt_addr); in srmmu_unmapioaddr() 675 pgd_t *pgdp; in srmmu_early_allocate_ptable_skeleton() local 682 pgdp = pgd_offset_k(start); in srmmu_early_allocate_ptable_skeleton() [all …]
|
| H A D | fault_64.c | 81 pgd_t *pgdp = pgd_offset(current->mm, tpc); in get_user_insn() local 89 if (pgd_none(*pgdp) || unlikely(pgd_bad(*pgdp))) in get_user_insn() 91 p4dp = p4d_offset(pgdp, tpc); in get_user_insn()
|
| /linux/arch/arm64/include/asm/ |
| H A D | pgtable.h | 854 extern void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd); 1102 #define pud_set_fixmap_offset(pgdp, addr) ((pud_t *)pgdp) argument 1133 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd) in set_pgd() argument 1135 if (in_swapper_pgdir(pgdp)) { in set_pgd() 1136 set_swapper_pgd(pgdp, __pgd(pgd_val(pgd))); in set_pgd() 1140 WRITE_ONCE(*pgdp, pgd); in set_pgd() 1144 static inline void pgd_clear(pgd_t *pgdp) in pgd_clear() argument 1147 set_pgd(pgdp, __pgd(0)); in pgd_clear() 1157 static inline p4d_t *pgd_to_folded_p4d(pgd_t *pgdp, unsigned long addr) in pgd_to_folded_p4d() argument 1160 VM_BUG_ON(((addr >> PGDIR_SHIFT) ^ ((u64)pgdp >> 3)) % PTRS_PER_PGD); in pgd_to_folded_p4d() [all …]
|
| /linux/arch/x86/mm/ |
| H A D | pgtable.c | 219 static void mop_up_one_pmd(struct mm_struct *mm, pgd_t *pgdp) in mop_up_one_pmd() argument 221 pgd_t pgd = *pgdp; in mop_up_one_pmd() 226 pgd_clear(pgdp); in mop_up_one_pmd() 234 static void pgd_mop_up_pmds(struct mm_struct *mm, pgd_t *pgdp) in pgd_mop_up_pmds() argument 239 mop_up_one_pmd(mm, &pgdp[i]); in pgd_mop_up_pmds() 246 pgdp = kernel_to_user_pgdp(pgdp); in pgd_mop_up_pmds() 249 mop_up_one_pmd(mm, &pgdp[i + KERNEL_PGD_BOUNDARY]); in pgd_mop_up_pmds()
|
| H A D | pti.c | 131 pgd_t __pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in __pti_set_user_pgtbl() argument 142 if (!pgdp_maps_userspace(pgdp) || (pgd.pgd & _PAGE_NOPTISHADOW)) in __pti_set_user_pgtbl() 149 kernel_to_user_pgdp(pgdp)->pgd = pgd.pgd; in __pti_set_user_pgtbl()
|
| /linux/arch/powerpc/mm/kasan/ |
| H A D | init_book3e_64.c | 34 pgd_t *pgdp; in kasan_map_kernel_page() local 40 pgdp = pgd_offset_k(ea); in kasan_map_kernel_page() 41 p4dp = p4d_offset(pgdp, ea); in kasan_map_kernel_page()
|
| /linux/arch/x86/include/asm/ |
| H A D | pgtable.h | 76 #define set_pgd(pgdp, pgd) native_set_pgd(pgdp, pgd) argument 912 pgd_t __pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd); 919 static inline pgd_t pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in pti_set_user_pgtbl() argument 923 return __pti_set_user_pgtbl(pgdp, pgd); in pti_set_user_pgtbl() 926 static inline pgd_t pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in pti_set_user_pgtbl() argument 1434 static inline pgd_t *kernel_to_user_pgdp(pgd_t *pgdp) in kernel_to_user_pgdp() argument 1436 return ptr_set_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in kernel_to_user_pgdp() 1439 static inline pgd_t *user_to_kernel_pgdp(pgd_t *pgdp) in user_to_kernel_pgdp() argument 1441 return ptr_clear_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in user_to_kernel_pgdp() 1738 #define set_pgd_safe(pgdp, pgd) \ argument [all …]
|
| /linux/arch/s390/mm/ |
| H A D | pageattr.c | 319 pgd_t *pgdp; in change_page_attr() local 321 pgdp = pgd_offset_k(addr); in change_page_attr() 323 if (pgd_none(*pgdp)) in change_page_attr() 326 rc = walk_p4d_level(pgdp, addr, next, flags); in change_page_attr() 330 } while (pgdp++, addr = next, addr < end && !rc); in change_page_attr()
|
| /linux/arch/powerpc/mm/ |
| H A D | pgtable.c | 431 pgd_t *pgdp; in __find_linux_pte() local 456 pgdp = pgdir + pgd_index(ea); in __find_linux_pte() 458 p4dp = p4d_offset(pgdp, ea); in __find_linux_pte() 489 pmdp = pmd_offset(pud_offset(p4d_offset(pgdp, ea), ea), ea); in __find_linux_pte()
|
| /linux/mm/ |
| H A D | debug_vm_pgtable.c | 49 pgd_t *pgdp; member 569 pgd_t pgd = pgdp_get(args->pgdp); in pgd_clear_tests() 576 pgd_clear(args->pgdp); in pgd_clear_tests() 577 pgd = pgdp_get(args->pgdp); in pgd_clear_tests() 594 pgd_clear(args->pgdp); in pgd_populate_tests() 595 pgd_populate(args->mm, args->pgdp, args->start_p4dp); in pgd_populate_tests() 596 pgd = pgdp_get(args->pgdp); in pgd_populate_tests() 1036 pgd_clear(args->pgdp); in destroy_args() 1193 args->pgdp = pgd_offset(args->mm, args->vaddr); in init_args() 1194 args->p4dp = p4d_alloc(args->mm, args->pgdp, args->vaddr); in init_args() [all …]
|
| /linux/arch/riscv/include/asm/ |
| H A D | pgtable-64.h | 343 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd) in set_pgd() argument 346 WRITE_ONCE(*pgdp, pgd); in set_pgd() 348 set_p4d((p4d_t *)pgdp, (p4d_t){ pgd_val(pgd) }); in set_pgd()
|
| H A D | mmu.h | 41 void __meminit create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phys_addr_t sz,
|
| /linux/arch/powerpc/mm/book3s64/ |
| H A D | radix_pgtable.c | 78 pgd_t *pgdp; in early_map_kernel_page() local 84 pgdp = pgd_offset_k(ea); in early_map_kernel_page() 85 p4dp = p4d_offset(pgdp, ea); in early_map_kernel_page() 130 pgd_t *pgdp; in __map_kernel_page() local 153 pgdp = pgd_offset_k(ea); in __map_kernel_page() 154 p4dp = p4d_offset(pgdp, ea); in __map_kernel_page() 191 pgd_t *pgdp; in radix__change_memory_range() local 204 pgdp = pgd_offset_k(idx); in radix__change_memory_range() 205 p4dp = p4d_offset(pgdp, idx); in radix__change_memory_range()
|
| /linux/arch/powerpc/lib/ |
| H A D | code-patching.c | 252 pgd_t *pgdp; in unmap_patch_area() local 254 pgdp = pgd_offset_k(addr); in unmap_patch_area() 255 if (WARN_ON(pgd_none(*pgdp))) in unmap_patch_area() 258 p4dp = p4d_offset(pgdp, addr); in unmap_patch_area()
|
| /linux/arch/m68k/include/asm/ |
| H A D | pgtable_no.h | 22 #define pgd_clear(pgdp) argument
|
| H A D | mcf_pgtable.h | 107 static inline void pgd_set(pgd_t *pgdp, pmd_t *pmdp) in pgd_set() argument 109 pgd_val(*pgdp) = virt_to_phys(pmdp); in pgd_set()
|
| /linux/arch/arm/include/asm/ |
| H A D | pgtable-nommu.h | 23 #define pgd_clear(pgdp) argument
|
| /linux/arch/mips/mm/ |
| H A D | tlb-r4k.c | 298 pgd_t *pgdp; in __update_tlb() local 321 pgdp = pgd_offset(vma->vm_mm, address); in __update_tlb() 325 p4dp = p4d_offset(pgdp, address); in __update_tlb()
|