Home
last modified time | relevance | path

Searched refs:pgdp (Results 1 – 25 of 52) sorted by relevance

123

/linux-6.12.1/arch/riscv/mm/
Dkasan_init.c142 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 …]
Dpageattr.c180 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.12.1/arch/arm64/mm/
Dkasan_init.c102 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 …]
Dmmu.c72 void noinstr set_swapper_pgd(pgd_t *pgdp, pgd_t pgd) in set_swapper_pgd() argument
81 WRITE_ONCE(*pgdp, pgd); in set_swapper_pgd()
88 fixmap_pgdp = pgd_set_fixmap(__pa_symbol(pgdp)); in set_swapper_pgd()
384 static void alloc_init_p4d(pgd_t *pgdp, unsigned long addr, unsigned long end, in alloc_init_p4d() argument
390 pgd_t pgd = READ_ONCE(*pgdp); in alloc_init_p4d()
404 __pgd_populate(pgdp, p4d_phys, pgdval); in alloc_init_p4d()
407 p4dp = p4d_set_fixmap_offset(pgdp, addr); in alloc_init_p4d()
434 pgd_t *pgdp = pgd_offset_pgd(pgdir, virt); in __create_pgd_mapping_locked() local
449 alloc_init_p4d(pgdp, addr, next, phys, prot, pgtable_alloc, in __create_pgd_mapping_locked()
452 } while (pgdp++, addr = next, addr != end); in __create_pgd_mapping_locked()
[all …]
Dhugetlbpage.c85 pgd_t *pgdp = pgd_offset(mm, addr); in find_num_contig() local
91 p4dp = p4d_offset(pgdp, addr); in find_num_contig()
258 pgd_t *pgdp; in huge_pte_alloc() local
264 pgdp = pgd_offset(mm, addr); in huge_pte_alloc()
265 p4dp = p4d_alloc(mm, pgdp, addr); in huge_pte_alloc()
299 pgd_t *pgdp; in huge_pte_offset() local
304 pgdp = pgd_offset(mm, addr); in huge_pte_offset()
305 if (!pgd_present(READ_ONCE(*pgdp))) in huge_pte_offset()
308 p4dp = p4d_offset(pgdp, addr); in huge_pte_offset()
Dpageattr.c215 pgd_t *pgdp; in kernel_page_present() local
222 pgdp = pgd_offset_k(addr); in kernel_page_present()
223 if (pgd_none(READ_ONCE(*pgdp))) in kernel_page_present()
226 p4dp = p4d_offset(pgdp, addr); in kernel_page_present()
Dfixmap.c106 pgd_t *pgdp = pgd_offset_k(addr); in early_fixmap_init() local
107 p4d_t *p4dp = p4d_offset_kimg(pgdp, addr); in early_fixmap_init()
/linux-6.12.1/arch/loongarch/mm/
Dkasan_init.c157 static p4d_t *__init kasan_p4d_offset(pgd_t *pgdp, unsigned long addr, int node, bool early) in kasan_p4d_offset() argument
159 if (__pgd_none(early, pgdp_get(pgdp))) { in kasan_p4d_offset()
164 pgd_populate(&init_mm, pgdp, (p4d_t *)__va(p4d_phys)); in kasan_p4d_offset()
167 return p4d_offset(pgdp, addr); in kasan_p4d_offset()
209 static void __init kasan_p4d_populate(pgd_t *pgdp, unsigned long addr, in kasan_p4d_populate() argument
213 p4d_t *p4dp = kasan_p4d_offset(pgdp, addr, node, early); in kasan_p4d_populate()
225 pgd_t *pgdp; in kasan_pgd_populate() local
227 pgdp = pgd_offset_k(addr); in kasan_pgd_populate()
231 kasan_p4d_populate(pgdp, addr, next, node, early); in kasan_pgd_populate()
232 } while (pgdp++, addr = next, addr != end); in kasan_pgd_populate()
[all …]
/linux-6.12.1/arch/powerpc/mm/nohash/
Dbook3e_pgtable.c76 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.12.1/arch/arm64/include/asm/
Dpgalloc.h74 static inline void __pgd_populate(pgd_t *pgdp, phys_addr_t p4dp, pgdval_t prot) in __pgd_populate() argument
77 set_pgd(pgdp, __pgd(__phys_to_pgd_val(p4dp) | prot)); in __pgd_populate()
80 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgdp, p4d_t *p4dp) in pgd_populate() argument
85 __pgd_populate(pgdp, __pa(p4dp), pgdval); in pgd_populate()
107 static inline void __pgd_populate(pgd_t *pgdp, phys_addr_t p4dp, pgdval_t prot) in __pgd_populate() argument
114 extern void pgd_free(struct mm_struct *mm, pgd_t *pgdp);
Dpgtable.h745 extern void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd);
998 #define pud_set_fixmap_offset(pgdp, addr) ((pud_t *)pgdp) argument
1027 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd) in set_pgd() argument
1029 if (in_swapper_pgdir(pgdp)) { in set_pgd()
1030 set_swapper_pgd(pgdp, __pgd(pgd_val(pgd))); in set_pgd()
1034 WRITE_ONCE(*pgdp, pgd); in set_pgd()
1039 static inline void pgd_clear(pgd_t *pgdp) in pgd_clear() argument
1042 set_pgd(pgdp, __pgd(0)); in pgd_clear()
1052 static inline p4d_t *pgd_to_folded_p4d(pgd_t *pgdp, unsigned long addr) in pgd_to_folded_p4d() argument
1054 return (p4d_t *)PTR_ALIGN_DOWN(pgdp, PAGE_SIZE) + p4d_index(addr); in pgd_to_folded_p4d()
[all …]
Dmmu_context.h144 void __cpu_replace_ttbr1(pgd_t *pgdp, bool cnp);
151 static inline void cpu_replace_ttbr1(pgd_t *pgdp) in cpu_replace_ttbr1() argument
158 __cpu_replace_ttbr1(pgdp, false); in cpu_replace_ttbr1()
/linux-6.12.1/arch/arm/mm/
Dkasan_init.c127 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-6.12.1/arch/arm64/kernel/pi/
Dmap_kernel.c43 u64 pgdp = (u64)init_pg_dir + PAGE_SIZE; in map_kernel() local
81 map_segment(init_pg_dir, &pgdp, va_offset, _stext, _etext, prot, in map_kernel()
83 map_segment(init_pg_dir, &pgdp, va_offset, __start_rodata, in map_kernel()
85 map_segment(init_pg_dir, &pgdp, va_offset, __inittext_begin, in map_kernel()
87 map_segment(init_pg_dir, &pgdp, va_offset, __initdata_begin, in map_kernel()
89 map_segment(init_pg_dir, &pgdp, va_offset, _data, _end, data_prot, in map_kernel()
/linux-6.12.1/arch/s390/mm/
Dhugetlbpage.c194 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()
Dpageattr.c325 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.12.1/arch/sparc/mm/
Dsrmmu.c110 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 …]
Dfault_64.c81 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.12.1/arch/x86/mm/
Dpgtable.c274 static void mop_up_one_pmd(struct mm_struct *mm, pgd_t *pgdp) in mop_up_one_pmd() argument
276 pgd_t pgd = *pgdp; in mop_up_one_pmd()
281 pgd_clear(pgdp); in mop_up_one_pmd()
289 static void pgd_mop_up_pmds(struct mm_struct *mm, pgd_t *pgdp) in pgd_mop_up_pmds() argument
294 mop_up_one_pmd(mm, &pgdp[i]); in pgd_mop_up_pmds()
301 pgdp = kernel_to_user_pgdp(pgdp); in pgd_mop_up_pmds()
304 mop_up_one_pmd(mm, &pgdp[i + KERNEL_PGD_BOUNDARY]); in pgd_mop_up_pmds()
/linux-6.12.1/arch/powerpc/mm/kasan/
Dinit_book3e_64.c34 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.12.1/arch/x86/include/asm/
Dparavirt.h505 static inline void __set_pgd(pgd_t *pgdp, pgd_t pgd) in __set_pgd() argument
507 PVOP_VCALL2(mmu.set_pgd, pgdp, native_pgd_val(pgd)); in __set_pgd()
510 #define set_pgd(pgdp, pgdval) do { \ argument
512 __set_pgd(pgdp, pgdval); \
514 set_p4d((p4d_t *)(pgdp), (p4d_t) { (pgdval).pgd }); \
517 #define pgd_clear(pgdp) do { \ argument
519 set_pgd(pgdp, native_make_pgd(0)); \
Dpgtable_64.h162 static inline void native_set_pgd(pgd_t *pgdp, pgd_t pgd) in native_set_pgd() argument
164 WRITE_ONCE(*pgdp, pti_set_user_pgtbl(pgdp, pgd)); in native_set_pgd()
Dpgtable.h76 #define set_pgd(pgdp, pgd) native_set_pgd(pgdp, pgd) argument
956 pgd_t __pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd);
963 static inline pgd_t pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in pti_set_user_pgtbl() argument
967 return __pti_set_user_pgtbl(pgdp, pgd); in pti_set_user_pgtbl()
970 static inline pgd_t pti_set_user_pgtbl(pgd_t *pgdp, pgd_t pgd) in pti_set_user_pgtbl() argument
1506 static inline pgd_t *kernel_to_user_pgdp(pgd_t *pgdp) in kernel_to_user_pgdp() argument
1508 return ptr_set_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in kernel_to_user_pgdp()
1511 static inline pgd_t *user_to_kernel_pgdp(pgd_t *pgdp) in user_to_kernel_pgdp() argument
1513 return ptr_clear_bit(pgdp, PTI_PGTABLE_SWITCH_BIT); in user_to_kernel_pgdp()
/linux-6.12.1/arch/powerpc/mm/
Dpgtable.c431 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-6.12.1/arch/riscv/include/asm/
Dpgtable-64.h343 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()

123