Home
last modified time | relevance | path

Searched refs:pudp (Results 1 – 25 of 51) sorted by relevance

123

/linux/arch/arm64/mm/
H A Dkasan_init.c76 static pmd_t *__init kasan_pmd_offset(pud_t *pudp, unsigned long addr, int node, in kasan_pmd_offset() argument
79 if (pud_none(READ_ONCE(*pudp))) { in kasan_pmd_offset()
83 __pud_populate(pudp, pmd_phys, PUD_TYPE_TABLE); in kasan_pmd_offset()
86 return early ? pmd_offset_kimg(pudp, addr) : pmd_offset(pudp, addr); in kasan_pmd_offset()
132 static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, in kasan_pmd_populate() argument
136 pmd_t *pmdp = kasan_pmd_offset(pudp, addr, node, early); in kasan_pmd_populate()
148 pud_t *pudp = kasan_pud_offset(p4dp, addr, node, early); in kasan_pud_populate() local
152 kasan_pmd_populate(pudp, addr, next, node, early); in kasan_pud_populate()
153 } while (pudp++, addr = next, addr != end && pud_none(READ_ONCE(*pudp))); in kasan_pud_populate()
260 pud_t *pudp = (pud_t *)__phys_to_kimg(__pgd_to_phys(pgd)); in clone_next_level() local
[all …]
H A Dmmu.c292 static int alloc_init_cont_pmd(pud_t *pudp, unsigned long addr, in alloc_init_cont_pmd() argument
300 pud_t pud = READ_ONCE(*pudp); in alloc_init_cont_pmd()
320 __pud_populate(pudp, pmd_phys, pudval); in alloc_init_cont_pmd()
323 pmdp = pmd_set_fixmap_offset(pudp, addr); in alloc_init_cont_pmd()
358 pud_t *pudp; in alloc_init_pud() local
370 pudp = pud_set_fixmap(pud_phys); in alloc_init_pud()
371 init_clear_pgtable(pudp); in alloc_init_pud()
372 pudp += pud_index(addr); in alloc_init_pud()
376 pudp = pud_set_fixmap_offset(p4dp, addr); in alloc_init_pud()
380 pud_t old_pud = READ_ONCE(*pudp); in alloc_init_pud()
[all …]
H A Dpageattr.c390 pud_t *pudp, pud; in kernel_page_present() local
403 pudp = pud_offset(p4dp, addr); in kernel_page_present()
404 pud = READ_ONCE(*pudp); in kernel_page_present()
410 pmdp = pmd_offset(pudp, addr); in kernel_page_present()
/linux/arch/powerpc/mm/kasan/
H A Dinit_book3e_64.c36 pud_t *pudp; in kasan_map_kernel_page() local
43 pudp = memblock_alloc_or_panic(PUD_TABLE_SIZE, PUD_TABLE_SIZE); in kasan_map_kernel_page()
44 memcpy(pudp, kasan_early_shadow_pud, PUD_TABLE_SIZE); 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()
48 if (kasan_pmd_table(*pudp)) { in kasan_map_kernel_page()
51 pud_populate(&init_mm, pudp, pmdp); in kasan_map_kernel_page()
53 pmdp = pmd_offset(pudp, ea); in kasan_map_kernel_page()
/linux/arch/x86/include/asm/
H A Dpgtable-3level.h53 static inline void native_set_pud(pud_t *pudp, pud_t pud) in native_set_pud() argument
56 pud.p4d.pgd = pti_set_user_pgtbl(&pudp->p4d.pgd, pud.p4d.pgd); in native_set_pud()
58 pxx_xchg64(pud, pudp, native_pud_val(pud)); in native_set_pud()
81 static inline void native_pud_clear(pud_t *pudp) in native_pud_clear() argument
85 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
87 set_pud(pudp, __pud(0)); in pud_clear()
113 static inline pud_t native_pudp_get_and_clear(pud_t *pudp) in native_pudp_get_and_clear() argument
115 return pxx_xchg64(pud, pudp, 0ULL); in native_pudp_get_and_clear()
H A Dpgtable-2level.h25 static inline void native_set_pud(pud_t *pudp, pud_t pud) in native_set_pud() argument
39 static inline void native_pud_clear(pud_t *pudp) in native_pud_clear() argument
/linux/arch/riscv/mm/
H A Dkasan_init.c84 pud_t *pudp, *p; in kasan_populate_pud() local
92 pudp = pud_offset(p4d, vaddr); in kasan_populate_pud()
97 if (pud_none(pudp_get(pudp)) && IS_ALIGNED(vaddr, PUD_SIZE) && in kasan_populate_pud()
101 set_pud(pudp, pfn_pud(PFN_DOWN(phys_addr), PAGE_KERNEL)); in kasan_populate_pud()
107 kasan_populate_pmd(pudp, vaddr, next); in kasan_populate_pud()
108 } while (pudp++, vaddr = next, vaddr != end); in kasan_populate_pud()
168 pud_t *pudp, *base_pud; in kasan_early_clear_pud() local
172 pudp = (pud_t *)p4dp; in kasan_early_clear_pud()
175 pudp = base_pud + pud_index(vaddr); in kasan_early_clear_pud()
182 pud_clear(pudp); in kasan_early_clear_pud()
[all …]
H A Dfault.c32 pud_t *pudp, pud; in show_pte() local
56 pudp = pud_offset(p4dp, addr); in show_pte()
57 pud = pudp_get(pudp); in show_pte()
62 pmdp = pmd_offset(pudp, addr); in show_pte()
/linux/mm/
H A Ddebug_vm_pgtable.c51 pud_t *pudp; member
366 set_pud_at(args->mm, vaddr, args->pudp, pud); in pud_advanced_tests()
368 pudp_set_wrprotect(args->mm, vaddr, args->pudp); in pud_advanced_tests()
369 pud = pudp_get(args->pudp); in pud_advanced_tests()
373 pudp_huge_get_and_clear(args->mm, vaddr, args->pudp); in pud_advanced_tests()
374 pud = pudp_get(args->pudp); in pud_advanced_tests()
380 set_pud_at(args->mm, vaddr, args->pudp, pud); in pud_advanced_tests()
384 pudp_set_access_flags(args->vma, vaddr, args->pudp, pud, 1); in pud_advanced_tests()
385 pud = pudp_get(args->pudp); in pud_advanced_tests()
389 pudp_huge_get_and_clear_full(args->vma, vaddr, args->pudp, in pud_advanced_tests()
[all...]
H A Dgup.c650 unsigned long addr, pud_t *pudp, in follow_huge_pud() argument
655 pud_t pud = *pudp; in follow_huge_pud()
659 assert_spin_locked(pud_lockptr(mm, pudp)); in follow_huge_pud()
748 unsigned long addr, pud_t *pudp, in follow_huge_pud() argument
899 unsigned long address, pud_t *pudp, in follow_pmd_mask() argument
908 pmd = pmd_offset(pudp, address); in follow_pmd_mask()
947 pud_t *pudp, pud; in follow_pud_mask() local
952 pudp = pud_offset(p4dp, address); in follow_pud_mask()
953 pud = pudp_get(pudp); in follow_pud_mask()
957 ptl = pud_lock(mm, pudp); in follow_pud_mask()
2978 gup_fast_pud_leaf(pud_t orig,pud_t * pudp,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pud_leaf() argument
3022 gup_fast_pmd_range(pud_t * pudp,pud_t pud,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pmd_range() argument
3059 pud_t *pudp; gup_fast_pud_range() local
[all...]
H A Dpagewalk.c890 pud_t *pudp, pud; in folio_walk_start()
911 pudp = pud_offset(p4dp, addr); in folio_walk_start()
912 pud = pudp_get(pudp); in folio_walk_start()
917 ptl = pud_lock(vma->vm_mm, pudp); in folio_walk_start()
918 pud = pudp_get(pudp); in folio_walk_start()
922 fw->pudp = pudp; in folio_walk_start()
946 pmdp = pmd_offset(pudp, addr); in folio_walk_start()
889 pud_t *pudp, pud; folio_walk_start() local
H A Dmprotect.c526 pud_t *pudp, pud; in change_pud_range() local
532 pudp = pud_offset(p4d, addr); in change_pud_range()
536 ret = change_prepare(vma, pudp, pmd, addr, cp_flags); in change_pud_range()
542 pud = pudp_get(pudp); in change_pud_range()
556 __split_huge_pud(vma, pudp, addr); in change_pud_range()
559 ret = change_huge_pud(tlb, vma, pudp, in change_pud_range()
570 pages += change_pmd_range(tlb, vma, pudp, addr, next, newprot, in change_pud_range()
572 } while (pudp++, addr = next, addr != end); in change_pud_range()
/linux/include/trace/events/
H A Dxen.h207 TP_PROTO(pud_t *pudp, pud_t pudval),
208 TP_ARGS(pudp, pudval),
210 __field(pud_t *, pudp)
213 TP_fast_assign(__entry->pudp = pudp;
216 __entry->pudp,
242 TP_PROTO(pud_t *pudp, pud_t pudval),
243 TP_ARGS(pudp, pudval),
245 __field(pud_t *, pudp)
248 TP_fast_assign(__entry->pudp = pudp;
251 __entry->pudp,
/linux/arch/x86/mm/
H A Dpgtable.c137 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) in pud_populate() argument
143 set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT)); in pud_populate()
426 pud_t *pudp, pud_t entry, int dirty) in pudp_set_access_flags() argument
428 int changed = !pud_same(*pudp, entry); in pudp_set_access_flags()
433 set_pud(pudp, entry); in pudp_set_access_flags()
474 unsigned long addr, pud_t *pudp) in pudp_test_and_clear_young() argument
478 if (pud_young(*pudp)) in pudp_test_and_clear_young()
480 (unsigned long *)pudp); in pudp_test_and_clear_young()
536 pud_t *pudp) in pudp_invalidate() argument
538 VM_WARN_ON_ONCE(!pud_present(*pudp)); in pudp_invalidate()
[all …]
/linux/arch/arm/include/asm/
H A Dpgtable-3level.h123 #define pud_clear(pudp) \ argument
125 *pudp = __pud(0); \
126 clean_pmd_entry(pudp); \
129 #define set_pud(pudp, pud) \ argument
131 *pudp = pud; \
132 flush_pmd_entry(pudp); \
/linux/arch/riscv/include/asm/
H A Dpgtable.h980 pud_t *pudp, pud_t pud) in set_pud_at() argument
982 page_table_check_pud_set(mm, addr, pudp, pud); in set_pud_at()
983 return __set_pte_at(mm, (pte_t *)pudp, pud_pte(pud)); in set_pud_at()
1106 unsigned long address, pud_t *pudp, in pudp_set_access_flags() argument
1109 return ptep_set_access_flags(vma, address, (pte_t *)pudp, pud_pte(entry), dirty); in pudp_set_access_flags()
1113 unsigned long address, pud_t *pudp) in pudp_test_and_clear_young() argument
1115 return ptep_test_and_clear_young(vma, address, (pte_t *)pudp); in pudp_test_and_clear_young()
1120 unsigned long address, pud_t *pudp) in pudp_huge_get_and_clear() argument
1123 pud_t pud = __pud(xchg(&pudp->pud, 0)); in pudp_huge_get_and_clear()
1125 pud_t pud = *pudp; in pudp_huge_get_and_clear()
[all …]
H A Dpgtable-64.h203 static inline void set_pud(pud_t *pudp, pud_t pud) in set_pud() argument
205 WRITE_ONCE(*pudp, pud); in set_pud()
208 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
210 set_pud(pudp, __pud(0)); in pud_clear()
/linux/arch/arm/mm/
H A Dkasan_init.c93 static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, in kasan_pmd_populate() argument
97 pmd_t *pmdp = pmd_offset(pudp, addr); in kasan_pmd_populate()
129 pud_t *pudp; in kasan_pgd_populate() local
156 pudp = pud_offset(p4dp, addr); in kasan_pgd_populate()
158 kasan_pmd_populate(pudp, addr, next, early); in kasan_pgd_populate()
/linux/include/asm-generic/
H A Dtlb.h714 #define __tlb_remove_pud_tlb_entry(tlb, pudp, address) do {} while (0) argument
717 #define tlb_remove_pud_tlb_entry(tlb, pudp, address) \ argument
720 __tlb_remove_pud_tlb_entry(tlb, pudp, address); \
760 #define pud_free_tlb(tlb, pudp, address) \ argument
764 __pud_free_tlb(tlb, pudp, address); \
769 #define p4d_free_tlb(tlb, pudp, address) \ argument
773 __p4d_free_tlb(tlb, pudp, address); \
/linux/arch/powerpc/include/asm/nohash/64/
H A Dpgtable.h109 static inline void pud_set(pud_t *pudp, unsigned long val) in pud_set() argument
111 *pudp = __pud(val); in pud_set()
114 static inline void pud_clear(pud_t *pudp) in pud_clear() argument
116 *pudp = __pud(0); in pud_clear()
/linux/include/linux/
H A Dpgtable.h438 unsigned long address, pud_t *pudp,
449 unsigned long address, pud_t *pudp, in pudp_set_access_flags() argument
473 static inline pud_t pudp_get(pud_t *pudp) in pudp_get() argument
475 return READ_ONCE(*pudp); in pudp_get()
780 pud_t *pudp) in pudp_huge_get_and_clear() argument
782 pud_t pud = *pudp; in pudp_huge_get_and_clear()
784 pud_clear(pudp); in pudp_huge_get_and_clear()
804 unsigned long address, pud_t *pudp, in pudp_huge_get_and_clear_full() argument
807 return pudp_huge_get_and_clear(vma->vm_mm, address, pudp); in pudp_huge_get_and_clear_full()
1014 pud_t *pudp);
[all …]
/linux/arch/m68k/include/asm/
H A Dmotorola_pgtable.h95 static inline void pud_set(pud_t *pudp, pmd_t *pmdp) in pud_set() argument
97 pud_val(*pudp) = _PAGE_TABLE | _PAGE_ACCESSED | __pa(pmdp); in pud_set()
131 #define pud_clear(pudp) ({ pud_val(*pudp) = 0; }) argument
/linux/arch/sparc/mm/
H A Dfault_64.c83 pud_t *pudp; in get_user_insn() local
94 pudp = pud_offset(p4dp, tpc); in get_user_insn()
95 if (pud_none(*pudp) || unlikely(pud_bad(*pudp))) in get_user_insn()
101 pmdp = pmd_offset(pudp, tpc); in get_user_insn()
/linux/arch/sparc/include/asm/
H A Dpgalloc_32.h29 static inline void pud_set(pud_t * pudp, pmd_t * pmdp) in pud_set() argument
33 set_pte((pte_t *)pudp, __pte((SRMMU_ET_PTD | (pa >> 4)))); in pud_set()
/linux/arch/x86/boot/compressed/
H A Dident_map_64.c261 pud_t *pudp; in set_clr_page_flags() local
284 pudp = pud_offset(p4dp, address); in set_clr_page_flags()
285 pmdp = pmd_offset(pudp, address); in set_clr_page_flags()

123