| /linux/arch/riscv/mm/ |
| H A D | kasan_init.c | 115 p4d_t *p4dp, *p; in kasan_populate_p4d() local 123 p4dp = p4d_offset(pgd, vaddr); in kasan_populate_p4d() 128 if (p4d_none(p4dp_get(p4dp)) && IS_ALIGNED(vaddr, P4D_SIZE) && in kasan_populate_p4d() 132 set_p4d(p4dp, pfn_p4d(PFN_DOWN(phys_addr), PAGE_KERNEL)); in kasan_populate_p4d() 138 kasan_populate_pud(p4dp, vaddr, next); in kasan_populate_p4d() 139 } while (p4dp++, vaddr = next, vaddr != end); in kasan_populate_p4d() 165 static void __init kasan_early_clear_pud(p4d_t *p4dp, in kasan_early_clear_pud() argument 172 pudp = (pud_t *)p4dp; in kasan_early_clear_pud() 174 base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp)))); in kasan_early_clear_pud() 193 p4d_t *p4dp, *base_p4d; in kasan_early_clear_p4d() local [all …]
|
| H A D | fault.c | 31 p4d_t *p4dp, p4d; in show_pte() local 50 p4dp = p4d_offset(pgdp, addr); in show_pte() 51 p4d = p4dp_get(p4dp); in show_pte() 56 pudp = pud_offset(p4dp, addr); in show_pte()
|
| H A D | init.c | 620 static void __meminit create_p4d_mapping(p4d_t *p4dp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, in create_p4d_mapping() argument 628 if (p4d_val(p4dp[p4d_index]) == 0) in create_p4d_mapping() 629 p4dp[p4d_index] = pfn_p4d(PFN_DOWN(pa), prot); in create_p4d_mapping() 633 if (p4d_val(p4dp[p4d_index]) == 0) { in create_p4d_mapping() 635 p4dp[p4d_index] = pfn_p4d(PFN_DOWN(next_phys), PAGE_TABLE); in create_p4d_mapping() 639 next_phys = PFN_PHYS(_p4d_pfn(p4dp[p4d_index])); in create_p4d_mapping() 1658 p4d_t *p4dp, p4d; in remove_p4d_mapping() local 1663 p4dp = p4d_base + p4d_index(addr); in remove_p4d_mapping() 1664 p4d = p4dp_get(p4dp); in remove_p4d_mapping() 1670 p4d_clear(p4dp); in remove_p4d_mapping() [all …]
|
| /linux/arch/arm64/mm/ |
| H A D | kasan_init.c | 89 static pud_t *__init kasan_pud_offset(p4d_t *p4dp, unsigned long addr, int node, in kasan_pud_offset() argument 92 if (p4d_none(READ_ONCE(*p4dp))) { in kasan_pud_offset() 96 __p4d_populate(p4dp, pud_phys, P4D_TYPE_TABLE); in kasan_pud_offset() 99 return early ? pud_offset_kimg(p4dp, addr) : pud_offset(p4dp, addr); in kasan_pud_offset() 144 static void __init kasan_pud_populate(p4d_t *p4dp, unsigned long addr, in kasan_pud_populate() argument 148 pud_t *pudp = kasan_pud_offset(p4dp, addr, node, early); in kasan_pud_populate() 160 p4d_t *p4dp = kasan_p4d_offset(pgdp, addr, node, early); in kasan_p4d_populate() local 164 kasan_pud_populate(p4dp, addr, next, node, early); in kasan_p4d_populate() 165 } while (p4dp++, addr = next, addr != end && p4d_none(READ_ONCE(*p4dp))); in kasan_p4d_populate()
|
| H A D | fault.c | 160 p4d_t *p4dp, p4d; in show_pte() local 168 p4dp = p4d_offset(pgdp, addr); in show_pte() 169 p4d = READ_ONCE(*p4dp); in show_pte() 174 pudp = pud_offset(p4dp, addr); in show_pte()
|
| /linux/arch/powerpc/mm/kasan/ |
| H A D | init_book3e_64.c | 35 p4d_t *p4dp; in kasan_map_kernel_page() local 41 p4dp = p4d_offset(pgdp, ea); in kasan_map_kernel_page() 42 if (kasan_pud_table(*p4dp)) { in kasan_map_kernel_page() 45 p4d_populate(&init_mm, p4dp, pudp); in kasan_map_kernel_page() 47 pudp = pud_offset(p4dp, ea); in kasan_map_kernel_page()
|
| /linux/arch/arm64/include/asm/ |
| H A D | pgtable.h | 971 static inline void set_p4d(p4d_t *p4dp, p4d_t p4d) in set_p4d() argument 973 if (in_swapper_pgdir(p4dp)) { in set_p4d() 974 set_swapper_pgd((pgd_t *)p4dp, __pgd(p4d_val(p4d))); in set_p4d() 978 WRITE_ONCE(*p4dp, p4d); in set_p4d() 982 static inline void p4d_clear(p4d_t *p4dp) in p4d_clear() argument 985 set_p4d(p4dp, __p4d(0)); in p4d_clear() 995 static inline pud_t *p4d_to_folded_pud(p4d_t *p4dp, unsigned long addr) in p4d_to_folded_pud() argument 998 VM_BUG_ON(((addr >> P4D_SHIFT) ^ ((u64)p4dp >> 3)) % PTRS_PER_P4D); in p4d_to_folded_pud() 1000 return (pud_t *)PTR_ALIGN_DOWN(p4dp, PAGE_SIZE) + pud_index(addr); in p4d_to_folded_pud() 1008 static inline phys_addr_t pud_offset_phys(p4d_t *p4dp, unsigned long addr) in pud_offset_phys() argument [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | pgtable_64.h | 138 static inline void native_set_p4d(p4d_t *p4dp, p4d_t p4d) in native_set_p4d() argument 144 WRITE_ONCE(*p4dp, p4d); in native_set_p4d() 149 pgd = pti_set_user_pgtbl((pgd_t *)p4dp, pgd); in native_set_p4d() 150 WRITE_ONCE(*p4dp, native_make_p4d(native_pgd_val(pgd))); in native_set_p4d()
|
| H A D | pgtable.h | 73 # define set_p4d(p4dp, p4d) native_set_p4d(p4dp, p4d) argument 1437 static inline p4d_t *kernel_to_user_p4dp(p4d_t *p4dp) in kernel_to_user_p4dp() argument 1439 return ptr_set_bit(p4dp, PTI_PGTABLE_SWITCH_BIT); in kernel_to_user_p4dp() 1442 static inline p4d_t *user_to_kernel_p4dp(p4d_t *p4dp) in user_to_kernel_p4dp() argument 1444 return ptr_clear_bit(p4dp, PTI_PGTABLE_SWITCH_BIT); in user_to_kernel_p4dp() 1725 #define set_p4d_safe(p4dp, p4d) \ argument 1727 WARN_ON_ONCE(p4d_present(*p4dp) && !p4d_same(*p4dp, p4d)); \ 1728 set_p4d(p4dp, p4d); \
|
| /linux/arch/sparc/mm/ |
| H A D | fault_64.c | 82 p4d_t *p4dp; in get_user_insn() local 91 p4dp = p4d_offset(pgdp, tpc); in get_user_insn() 92 if (p4d_none(*p4dp) || unlikely(p4d_bad(*p4dp))) in get_user_insn() 94 pudp = pud_offset(p4dp, tpc); in get_user_insn()
|
| /linux/arch/powerpc/include/asm/nohash/64/ |
| H A D | pgtable-4k.h | 67 static inline void p4d_clear(p4d_t *p4dp) in p4d_clear() argument 69 *p4dp = __p4d(0); in p4d_clear()
|
| /linux/include/trace/events/ |
| H A D | xen.h | 224 TP_PROTO(p4d_t *p4dp, p4d_t *user_p4dp, p4d_t p4dval), 225 TP_ARGS(p4dp, user_p4dp, p4dval), 227 __field(p4d_t *, p4dp) 231 TP_fast_assign(__entry->p4dp = p4dp; 235 __entry->p4dp, __entry->user_p4dp,
|
| /linux/arch/arm/mm/ |
| H A D | kasan_init.c | 128 p4d_t *p4dp; in kasan_pgd_populate() local 155 p4dp = p4d_offset(pgdp, addr); in kasan_pgd_populate() 156 pudp = pud_offset(p4dp, addr); in kasan_pgd_populate()
|
| /linux/arch/x86/boot/compressed/ |
| H A D | ident_map_64.c | 260 p4d_t *p4dp; in set_clr_page_flags() local 283 p4dp = p4d_offset(pgdp, address); in set_clr_page_flags() 284 pudp = pud_offset(p4dp, address); in set_clr_page_flags()
|
| /linux/arch/arc/include/asm/ |
| H A D | pgtable-levels.h | 113 #define set_p4d(p4dp, p4d) (*(p4dp) = p4d) argument
|
| /linux/arch/riscv/include/asm/ |
| H A D | pgtable-64.h | 276 static inline void set_p4d(p4d_t *p4dp, p4d_t p4d) in set_p4d() argument 279 WRITE_ONCE(*p4dp, p4d); in set_p4d() 281 set_pud((pud_t *)p4dp, (pud_t){ p4d_val(p4d) }); in set_p4d()
|
| H A D | pgtable.h | 1275 #define set_p4d_safe(p4dp, p4d) \ argument 1277 WARN_ON_ONCE(p4d_present(*p4dp) && !p4d_same(*p4dp, p4d)); \ 1278 set_p4d(p4dp, p4d); \
|
| /linux/arch/powerpc/lib/ |
| H A D | code-patching.c | 251 p4d_t *p4dp; in unmap_patch_area() local 258 p4dp = p4d_offset(pgdp, addr); in unmap_patch_area() 259 if (WARN_ON(p4d_none(*p4dp))) in unmap_patch_area() 262 pudp = pud_offset(p4dp, addr); in unmap_patch_area()
|
| /linux/drivers/misc/sgi-gru/ |
| H A D | grufault.c | 209 p4d_t *p4dp; in atomic_pte_lookup() local 218 p4dp = p4d_offset(pgdp, vaddr); in atomic_pte_lookup() 219 if (unlikely(p4d_none(*p4dp))) in atomic_pte_lookup() 222 pudp = pud_offset(p4dp, vaddr); in atomic_pte_lookup()
|
| /linux/mm/ |
| H A D | pagewalk.c | 909 p4d_t *p4dp; in folio_walk_start() local 921 p4dp = p4d_offset(pgdp, addr); in folio_walk_start() 922 if (p4d_none_or_clear_bad(p4dp)) in folio_walk_start() 925 pudp = pud_offset(p4dp, addr); in folio_walk_start()
|
| H A D | migrate_device.c | 981 p4d_t *p4dp; in migrate_vma_insert_page() local 992 p4dp = p4d_alloc(mm, pgdp, addr); in migrate_vma_insert_page() 993 if (!p4dp) in migrate_vma_insert_page() 995 pudp = pud_alloc(mm, p4dp, addr); in migrate_vma_insert_page()
|
| /linux/arch/s390/include/asm/ |
| H A D | pgtable.h | 966 static inline void set_p4d(p4d_t *p4dp, p4d_t p4d) in set_p4d() argument 968 WRITE_ONCE(*p4dp, p4d); in set_p4d() 1437 static inline pud_t *pud_offset_lockless(p4d_t *p4dp, p4d_t p4d, unsigned long address) in pud_offset_lockless() argument 1441 return (pud_t *) p4dp; in pud_offset_lockless() 1445 static inline pud_t *pud_offset(p4d_t *p4dp, unsigned long address) in pud_offset() argument 1447 return pud_offset_lockless(p4dp, *p4dp, address); in pud_offset()
|
| /linux/arch/mips/mm/ |
| H A D | tlb-r4k.c | 301 p4d_t *p4dp; in __update_tlb() local 327 p4dp = p4d_offset(pgdp, address); in __update_tlb() 328 pudp = pud_offset(p4dp, address); in __update_tlb()
|
| /linux/arch/sparc/kernel/ |
| H A D | signal32.c | 300 p4d_t *p4dp; in flush_signal_insns() local 320 p4dp = p4d_offset(pgdp, address); in flush_signal_insns() 321 if (p4d_none(*p4dp)) in flush_signal_insns() 323 pudp = pud_offset(p4dp, address); in flush_signal_insns()
|
| /linux/arch/loongarch/include/asm/ |
| H A D | pgtable.h | 182 static inline void p4d_clear(p4d_t *p4dp) in p4d_clear() argument 184 set_p4d(p4dp, __p4d((unsigned long)invalid_pud_table)); in p4d_clear()
|