/linux-6.6.21/arch/arm64/mm/ |
D | mmu.c | 79 void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd) in set_swapper_pgd() argument 84 fixmap_pgdp = pgd_set_fixmap(__pa_symbol(pgdp)); in set_swapper_pgd() 313 static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end, in alloc_init_pud() argument 320 p4d_t *p4dp = p4d_offset(pgdp, addr); in alloc_init_pud() 376 pgd_t *pgdp = pgd_offset_pgd(pgdir, virt); in __create_pgd_mapping_locked() local 391 alloc_init_pud(pgdp, addr, next, phys, prot, pgtable_alloc, in __create_pgd_mapping_locked() 394 } while (pgdp++, addr = next, addr != end); in __create_pgd_mapping_locked() 495 static void __init __map_memblock(pgd_t *pgdp, phys_addr_t start, in __map_memblock() argument 498 __create_pgd_mapping(pgdp, start, __phys_to_virt(start), end - start, in __map_memblock() 547 static void __init arm64_kfence_map_pool(phys_addr_t kfence_pool, pgd_t *pgdp) in arm64_kfence_map_pool() argument [all …]
|
D | kasan_init.c | 143 static void __init kasan_p4d_populate(pgd_t *pgdp, unsigned long addr, in kasan_p4d_populate() argument 147 p4d_t *p4dp = p4d_offset(pgdp, addr); in kasan_p4d_populate() 159 pgd_t *pgdp; in kasan_pgd_populate() local 161 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 164 kasan_p4d_populate(pgdp, addr, next, node, early); in kasan_pgd_populate() 165 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate() 192 pgd_t *pgdp, *pgdp_new, *pgdp_end; in kasan_copy_shadow() local 194 pgdp = pgd_offset_k(KASAN_SHADOW_START); in kasan_copy_shadow() 198 set_pgd(pgdp_new, READ_ONCE(*pgdp)); in kasan_copy_shadow() 199 } while (pgdp++, pgdp_new++, pgdp != pgdp_end); in kasan_copy_shadow()
|
D | hugetlbpage.c | 106 pgd_t *pgdp = pgd_offset(mm, addr); in find_num_contig() local 112 p4dp = p4d_offset(pgdp, addr); in find_num_contig() 279 pgd_t *pgdp; in huge_pte_alloc() local 285 pgdp = pgd_offset(mm, addr); in huge_pte_alloc() 286 p4dp = p4d_offset(pgdp, addr); in huge_pte_alloc() 317 pgd_t *pgdp; in huge_pte_offset() local 322 pgdp = pgd_offset(mm, addr); in huge_pte_offset() 323 if (!pgd_present(READ_ONCE(*pgdp))) in huge_pte_offset() 326 p4dp = p4d_offset(pgdp, addr); in huge_pte_offset()
|
D | pageattr.c | 215 pgd_t *pgdp; in kernel_page_present() local 225 pgdp = pgd_offset_k(addr); in kernel_page_present() 226 if (pgd_none(READ_ONCE(*pgdp))) in kernel_page_present() 229 p4dp = p4d_offset(pgdp, addr); in kernel_page_present()
|
D | fixmap.c | 103 pgd_t *pgdp = pgd_offset_k(addr); in early_fixmap_init() local 104 p4d_t *p4dp = p4d_offset(pgdp, addr); in early_fixmap_init()
|
/linux-6.6.21/arch/riscv/mm/ |
D | kasan_init.c | 139 static void __init kasan_populate_pgd(pgd_t *pgdp, in kasan_populate_pgd() argument 148 if (pgd_none(*pgdp) && IS_ALIGNED(vaddr, PGDIR_SIZE) && in kasan_populate_pgd() 152 set_pgd(pgdp, pfn_pgd(PFN_DOWN(phys_addr), PAGE_KERNEL)); in kasan_populate_pgd() 158 kasan_populate_p4d(pgdp, vaddr, next); in kasan_populate_pgd() 159 } while (pgdp++, vaddr = next, vaddr != end); in kasan_populate_pgd() 187 static void __init kasan_early_clear_p4d(pgd_t *pgdp, in kasan_early_clear_p4d() argument 194 p4dp = (p4d_t *)pgdp; in kasan_early_clear_p4d() 196 base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(*pgdp))); in kasan_early_clear_p4d() 213 static void __init kasan_early_clear_pgd(pgd_t *pgdp, in kasan_early_clear_pgd() argument 223 pgd_clear(pgdp); in kasan_early_clear_pgd() [all …]
|
D | pageattr.c | 180 static int __split_linear_mapping_p4d(pgd_t *pgdp, in __split_linear_mapping_p4d() argument 187 p4dp = p4d_offset(pgdp, vaddr); in __split_linear_mapping_p4d() 238 static int __split_linear_mapping_pgd(pgd_t *pgdp, in __split_linear_mapping_pgd() argument 248 ret = __split_linear_mapping_p4d(pgdp, vaddr, next); in __split_linear_mapping_pgd() 251 } while (pgdp++, vaddr = next, vaddr != end); in __split_linear_mapping_pgd()
|
/linux-6.6.21/arch/powerpc/mm/nohash/ |
D | book3e_pgtable.c | 76 pgd_t *pgdp; in map_kernel_page() local 84 pgdp = pgd_offset_k(ea); in map_kernel_page() 85 p4dp = p4d_offset(pgdp, ea); in map_kernel_page() 96 pgdp = pgd_offset_k(ea); in map_kernel_page() 97 p4dp = p4d_offset(pgdp, ea); in map_kernel_page()
|
/linux-6.6.21/arch/loongarch/mm/ |
D | kasan_init.c | 184 static void __init kasan_p4d_populate(pgd_t *pgdp, unsigned long addr, in kasan_p4d_populate() argument 188 p4d_t *p4dp = p4d_offset(pgdp, addr); in kasan_p4d_populate() 200 pgd_t *pgdp; in kasan_pgd_populate() local 202 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 206 kasan_p4d_populate(pgdp, addr, next, node, early); in kasan_pgd_populate() 207 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate() 224 static inline void kasan_set_pgd(pgd_t *pgdp, pgd_t pgdval) in kasan_set_pgd() argument 226 WRITE_ONCE(*pgdp, pgdval); in kasan_set_pgd()
|
/linux-6.6.21/arch/arm/mm/ |
D | kasan_init.c | 121 pgd_t *pgdp; in kasan_pgd_populate() local 125 pgdp = pgd_offset_k(addr); in kasan_pgd_populate() 132 if (!early && pgd_none(*pgdp)) { in kasan_pgd_populate() 140 pgd_populate(&init_mm, pgdp, p); in kasan_pgd_populate() 149 p4dp = p4d_offset(pgdp, addr); in kasan_pgd_populate() 153 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate()
|
/linux-6.6.21/arch/s390/mm/ |
D | hugetlbpage.c | 194 pgd_t *pgdp; in huge_pte_alloc() local 199 pgdp = pgd_offset(mm, addr); in huge_pte_alloc() 200 p4dp = p4d_alloc(mm, pgdp, addr); in huge_pte_alloc() 216 pgd_t *pgdp; in huge_pte_offset() local 221 pgdp = pgd_offset(mm, addr); in huge_pte_offset() 222 if (pgd_present(*pgdp)) { in huge_pte_offset() 223 p4dp = p4d_offset(pgdp, addr); in huge_pte_offset()
|
D | pageattr.c | 325 pgd_t *pgdp; in change_page_attr() local 327 pgdp = pgd_offset_k(addr); in change_page_attr() 329 if (pgd_none(*pgdp)) in change_page_attr() 332 rc = walk_p4d_level(pgdp, addr, next, flags); in change_page_attr() 336 } while (pgdp++, addr = next, addr < end && !rc); in change_page_attr()
|
/linux-6.6.21/arch/sparc/mm/ |
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() 497 pgd_t *pgdp; in srmmu_mapioaddr() local 505 pgdp = pgd_offset_k(virt_addr); in srmmu_mapioaddr() 506 p4dp = p4d_offset(pgdp, virt_addr); in srmmu_mapioaddr() 536 pgd_t *pgdp; in srmmu_unmapioaddr() local 543 pgdp = pgd_offset_k(virt_addr); in srmmu_unmapioaddr() 544 p4dp = p4d_offset(pgdp, virt_addr); in srmmu_unmapioaddr() 683 pgd_t *pgdp; in srmmu_early_allocate_ptable_skeleton() local 690 pgdp = pgd_offset_k(start); in srmmu_early_allocate_ptable_skeleton() [all …]
|
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-6.6.21/arch/x86/mm/ |
D | pgtable.c | 271 static void mop_up_one_pmd(struct mm_struct *mm, pgd_t *pgdp) in mop_up_one_pmd() argument 273 pgd_t pgd = *pgdp; in mop_up_one_pmd() 278 pgd_clear(pgdp); in mop_up_one_pmd() 286 static void pgd_mop_up_pmds(struct mm_struct *mm, pgd_t *pgdp) in pgd_mop_up_pmds() argument 291 mop_up_one_pmd(mm, &pgdp[i]); in pgd_mop_up_pmds() 298 pgdp = kernel_to_user_pgdp(pgdp); in pgd_mop_up_pmds() 301 mop_up_one_pmd(mm, &pgdp[i + KERNEL_PGD_BOUNDARY]); in pgd_mop_up_pmds()
|
D | pti.c | 124 pgd_t __pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in __pti_set_user_pgtbl() argument 135 if (!pgdp_maps_userspace(pgdp)) in __pti_set_user_pgtbl() 142 kernel_to_user_pgdp(pgdp)->pgd = pgd.pgd; in __pti_set_user_pgtbl()
|
/linux-6.6.21/arch/arm64/include/asm/ |
D | mmu_context.h | 155 static inline void cpu_replace_ttbr1(pgd_t *pgdp, pgd_t *idmap) in cpu_replace_ttbr1() argument 163 phys_addr_t ttbr1 = phys_to_ttbr(virt_to_phys(pgdp)); in cpu_replace_ttbr1() 165 if (system_supports_cnp() && !WARN_ON(pgdp != lm_alias(swapper_pg_dir))) { in cpu_replace_ttbr1()
|
/linux-6.6.21/arch/powerpc/mm/kasan/ |
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-6.6.21/arch/x86/include/asm/ |
D | pgtable_64.h | 161 static inline void native_set_pgd(pgd_t *pgdp, pgd_t pgd) in native_set_pgd() argument 163 WRITE_ONCE(*pgdp, pti_set_user_pgtbl(pgdp, pgd)); in native_set_pgd()
|
D | paravirt.h | 507 static inline void __set_pgd(pgd_t *pgdp, pgd_t pgd) in __set_pgd() argument 509 PVOP_VCALL2(mmu.set_pgd, pgdp, native_pgd_val(pgd)); in __set_pgd() 512 #define set_pgd(pgdp, pgdval) do { \ argument 514 __set_pgd(pgdp, pgdval); \ 516 set_p4d((p4d_t *)(pgdp), (p4d_t) { (pgdval).pgd }); \ 519 #define pgd_clear(pgdp) do { \ argument 521 set_pgd(pgdp, native_make_pgd(0)); \
|
D | pgtable.h | 77 #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 1452 static inline pgd_t *kernel_to_user_pgdp(pgd_t *pgdp) in kernel_to_user_pgdp() argument 1454 return ptr_set_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in kernel_to_user_pgdp() 1457 static inline pgd_t *user_to_kernel_pgdp(pgd_t *pgdp) in user_to_kernel_pgdp() argument 1459 return ptr_clear_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in user_to_kernel_pgdp()
|
/linux-6.6.21/arch/powerpc/lib/ |
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-6.6.21/mm/ |
D | debug_vm_pgtable.c | 64 pgd_t *pgdp; member 578 pgd_t pgd = READ_ONCE(*(args->pgdp)); in pgd_clear_tests() 585 WRITE_ONCE(*args->pgdp, pgd); in pgd_clear_tests() 586 pgd_clear(args->pgdp); in pgd_clear_tests() 587 pgd = READ_ONCE(*args->pgdp); in pgd_clear_tests() 604 pgd_clear(args->pgdp); in pgd_populate_tests() 605 pgd_populate(args->mm, args->pgdp, args->start_p4dp); in pgd_populate_tests() 606 pgd = READ_ONCE(*args->pgdp); in pgd_populate_tests() 1240 args->pgdp = pgd_offset(args->mm, args->vaddr); in init_args() 1241 args->p4dp = p4d_alloc(args->mm, args->pgdp, args->vaddr); in init_args() [all …]
|
/linux-6.6.21/arch/riscv/include/asm/ |
D | pgtable-64.h | 347 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd) in set_pgd() argument 350 *pgdp = pgd; in set_pgd() 352 set_p4d((p4d_t *)pgdp, (p4d_t){ pgd_val(pgd) }); in set_pgd()
|
D | mmu.h | 29 void __init create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa,
|