Lines Matching defs:pgdp

816 extern void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd);
1068 #define pud_set_fixmap_offset(pgdp, addr) ((pud_t *)pgdp)
1099 static inline void set_pgd(pgd_t *pgdp, pgd_t pgd)
1101 if (in_swapper_pgdir(pgdp)) {
1102 set_swapper_pgd(pgdp, __pgd(pgd_val(pgd)));
1106 WRITE_ONCE(*pgdp, pgd);
1110 static inline void pgd_clear(pgd_t *pgdp)
1113 set_pgd(pgdp, __pgd(0));
1123 static inline p4d_t *pgd_to_folded_p4d(pgd_t *pgdp, unsigned long addr)
1125 /* Ensure that 'pgdp' indexes a page table according to 'addr' */
1126 VM_BUG_ON(((addr >> PGDIR_SHIFT) ^ ((u64)pgdp >> 3)) % PTRS_PER_PGD);
1128 return (p4d_t *)PTR_ALIGN_DOWN(pgdp, PAGE_SIZE) + p4d_index(addr);
1131 static inline phys_addr_t p4d_offset_phys(pgd_t *pgdp, unsigned long addr)
1135 return pgd_page_paddr(READ_ONCE(*pgdp)) + p4d_index(addr) * sizeof(p4d_t);
1139 p4d_t *p4d_offset_lockless(pgd_t *pgdp, pgd_t pgd, unsigned long addr)
1142 return pgd_to_folded_p4d(pgdp, addr);
1147 static inline p4d_t *p4d_offset(pgd_t *pgdp, unsigned long addr)
1149 return p4d_offset_lockless(pgdp, READ_ONCE(*pgdp), addr);
1159 static inline p4d_t *p4d_set_fixmap_offset(pgd_t *pgdp, unsigned long addr)
1162 return pgd_to_folded_p4d(pgdp, addr);
1163 return p4d_set_fixmap(p4d_offset_phys(pgdp, addr));
1173 static inline p4d_t *p4d_offset_kimg(pgd_t *pgdp, u64 addr)
1176 return pgd_to_folded_p4d(pgdp, addr);
1177 return (p4d_t *)__phys_to_kimg(p4d_offset_phys(pgdp, addr));
1196 p4d_t *p4d_offset_lockless_folded(pgd_t *pgdp, pgd_t pgd, unsigned long addr)
1204 * pointer in 'pgdp' to construct the p4d pointer instead of
1213 return p4d_offset(pgdp, addr);