| /arch/powerpc/mm/nohash/ |
| A D | book3e_pgtable.c | 78 pud_t *pudp; in map_kernel_page() local 86 pudp = pud_alloc(&init_mm, p4dp, ea); in map_kernel_page() 87 if (!pudp) in map_kernel_page() 89 pmdp = pmd_alloc(&init_mm, pudp, ea); in map_kernel_page() 99 pudp = early_alloc_pgtable(PUD_TABLE_SIZE); in map_kernel_page() 100 p4d_populate(&init_mm, p4dp, pudp); in map_kernel_page() 102 pudp = pud_offset(p4dp, ea); in map_kernel_page() 103 if (pud_none(*pudp)) { in map_kernel_page() 105 pud_populate(&init_mm, pudp, pmdp); in map_kernel_page() 107 pmdp = pmd_offset(pudp, ea); in map_kernel_page()
|
| /arch/arm64/include/asm/ |
| A D | pgalloc.h | 24 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) in __pud_populate() argument 26 set_pud(pudp, __pud(__phys_to_pud_val(pmdp) | prot)); in __pud_populate() 29 static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp) in pud_populate() argument 34 __pud_populate(pudp, __pa(pmdp), pudval); in pud_populate() 37 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) in __pud_populate() argument 45 static inline void __p4d_populate(p4d_t *p4dp, phys_addr_t pudp, p4dval_t prot) in __p4d_populate() argument 48 set_p4d(p4dp, __p4d(__phys_to_p4d_val(pudp) | prot)); in __p4d_populate() 51 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4dp, pud_t *pudp) in p4d_populate() argument 56 __p4d_populate(p4dp, __pa(pudp), p4dval); in p4d_populate() 66 static inline void __p4d_populate(p4d_t *p4dp, phys_addr_t pudp, p4dval_t prot) in __p4d_populate() argument
|
| /arch/s390/mm/ |
| A D | hugetlbpage.c | 197 pud_t *pudp = (pud_t *) ptep; in __huge_ptep_get_and_clear() local 211 pud_t *pudp; in huge_pte_alloc() local 217 pudp = pud_alloc(mm, p4dp, addr); in huge_pte_alloc() 218 if (pudp) { in huge_pte_alloc() 220 return (pte_t *) pudp; in huge_pte_alloc() 222 pmdp = pmd_alloc(mm, pudp, addr); in huge_pte_alloc() 233 pud_t *pudp; in huge_pte_offset() local 240 pudp = pud_offset(p4dp, addr); in huge_pte_offset() 242 return (pte_t *)pudp; in huge_pte_offset() 243 if (pud_present(*pudp)) in huge_pte_offset() [all …]
|
| A D | pageattr.c | 181 pmdp = pmd_offset(pudp, addr); in walk_pmd_level() 219 pmd_addr = pud_pfn(*pudp) << PAGE_SHIFT; in split_pud_page() 221 nx = !!(pud_val(*pudp) & _REGION_ENTRY_NOEXEC); in split_pud_page() 241 pud_t new = *pudp; in modify_pud_page() 265 pud_t *pudp; in walk_pud_level() local 268 pudp = pud_offset(p4d, addr); in walk_pud_level() 270 if (pud_none(*pudp)) in walk_pud_level() 273 if (pud_leaf(*pudp)) { in walk_pud_level() 278 rc = split_pud_page(pudp, addr); in walk_pud_level() 283 modify_pud_page(pudp, addr, flags); in walk_pud_level() [all …]
|
| /arch/powerpc/mm/kasan/ |
| A D | init_book3e_64.c | 36 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()
|
| /arch/x86/include/asm/ |
| A D | pgtable-3level.h | 53 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()
|
| A D | pgtable.h | 89 # define set_pud(pudp, pud) native_set_pud(pudp, pud) argument 1207 pud_t res = *pudp; in native_local_pudp_get_and_clear() 1209 native_pud_clear(pudp); in native_local_pudp_get_and_clear() 1221 pud_t *pudp, pud_t pud) in set_pud_at() argument 1224 native_set_pud(pudp, pud); in set_pud_at() 1376 return xchg(pudp, pud); in pudp_establish() 1378 pud_t old = *pudp; in pudp_establish() 1379 WRITE_ONCE(*pudp, pud); in pudp_establish() 1390 pud_t *pudp); 1728 WARN_ON_ONCE(pud_present(*pudp) && !pud_same(*pudp, pud)); \ [all …]
|
| /arch/arm64/mm/ |
| A D | kasan_init.c | 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() 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 262 memcpy(pud, pudp, PAGE_SIZE); in clone_next_level() 284 pud_t *pudp = (pud_t *)__phys_to_kimg(__pgd_to_phys(pgd)); in clear_next_level() local [all …]
|
| A D | hugetlbpage.c | 87 pud_t *pudp; in find_num_contig() local 92 pudp = pud_offset(p4dp, addr); in find_num_contig() 93 pmdp = pmd_offset(pudp, addr); in find_num_contig() 245 pud_t *pudp; in huge_pte_alloc() local 255 if (!pudp) in huge_pte_alloc() 259 ptep = (pte_t *)pudp; in huge_pte_alloc() 286 pud_t *pudp, pud; in huge_pte_offset() local 297 pudp = pud_offset(p4dp, addr); in huge_pte_offset() 298 pud = READ_ONCE(*pudp); in huge_pte_offset() 303 return (pte_t *)pudp; in huge_pte_offset() [all …]
|
| A D | fixmap.c | 55 static void __init early_fixmap_init_pmd(pud_t *pudp, unsigned long addr, in early_fixmap_init_pmd() argument 59 pud_t pud = READ_ONCE(*pudp); in early_fixmap_init_pmd() 63 __pud_populate(pudp, __pa_symbol(bm_pmd), in early_fixmap_init_pmd() 66 pmdp = pmd_offset_kimg(pudp, addr); in early_fixmap_init_pmd() 78 pud_t *pudp; in early_fixmap_init_pud() local 94 pudp = pud_offset_kimg(p4dp, addr); in early_fixmap_init_pud() 95 early_fixmap_init_pmd(pudp, addr, end); in early_fixmap_init_pud()
|
| A D | mmu.c | 342 pud_t *pudp; in alloc_init_pud() local 354 pudp += pud_index(addr); in alloc_init_pud() 933 pud_t *pudp, pud; in unmap_hotplug_pud_range() local 938 pud = READ_ONCE(*pudp); in unmap_hotplug_pud_range() 944 pud_clear(pudp); in unmap_hotplug_pud_range() 1078 pud_clear(pudp); in free_empty_pmd_table() 1087 pud_t *pudp, pud; in free_empty_pud_table() local 1231 set_pud(pudp, new_pud); in pud_set_huge() 1259 pud_clear(pudp); in pud_clear_huge() 1297 pud = READ_ONCE(*pudp); in pud_free_pmd_page() [all …]
|
| /arch/powerpc/mm/book3s64/ |
| A D | pgtable.c | 81 pud_t *pudp, pud_t entry, int dirty) in pudp_set_access_flags() argument 85 assert_spin_locked(pud_lockptr(vma->vm_mm, pudp)); in pudp_set_access_flags() 87 changed = !pud_same(*(pudp), entry); in pudp_set_access_flags() 93 __ptep_set_access_flags(vma, pudp_ptep(pudp), in pudp_set_access_flags() 107 unsigned long address, pud_t *pudp) in pudp_test_and_clear_young() argument 134 pud_t *pudp, pud_t pud) in set_pud_at() argument 142 WARN_ON(pte_hw_valid(pud_pte(*pudp))); in set_pud_at() 143 assert_spin_locked(pud_lockptr(mm, pudp)); in set_pud_at() 191 pud_t *pudp) in pudp_invalidate() argument 195 VM_WARN_ON_ONCE(!pud_present(*pudp)); in pudp_invalidate() [all …]
|
| A D | radix_pgtable.c | 80 pud_t *pudp; in early_map_kernel_page() local 91 pudp = pud_offset(p4dp, ea); in early_map_kernel_page() 93 ptep = (pte_t *)pudp; in early_map_kernel_page() 96 if (pud_none(*pudp)) { in early_map_kernel_page() 132 pud_t *pudp; in __map_kernel_page() local 156 if (!pudp) in __map_kernel_page() 159 ptep = (pte_t *)pudp; in __map_kernel_page() 193 pud_t *pudp; in radix__change_memory_range() local 207 if (!pudp) in radix__change_memory_range() 209 if (pud_leaf(*pudp)) { in radix__change_memory_range() [all …]
|
| /arch/arc/include/asm/ |
| A D | pgalloc.h | 70 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4dp, pud_t *pudp) in p4d_populate() argument 72 set_p4d(p4dp, __p4d((unsigned long)pudp)); in p4d_populate() 81 static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp) in pud_populate() argument 83 set_pud(pudp, __pud((unsigned long)pmdp)); in pud_populate()
|
| /arch/riscv/mm/ |
| A D | kasan_init.c | 84 pud_t *pudp, *p; in kasan_populate_pud() local 92 pudp = pud_offset(p4d, vaddr); 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() 238 pud_t *pudp, *base_pud; in kasan_early_populate_pud() local 243 pudp = (pud_t *)p4dp; in kasan_early_populate_pud() [all …]
|
| A D | pageattr.c | 96 static int __split_linear_mapping_pmd(pud_t *pudp, in __split_linear_mapping_pmd() argument 102 pmdp = pmd_offset(pudp, vaddr); in __split_linear_mapping_pmd() 138 pud_t *pudp; in __split_linear_mapping_pud() local 142 pudp = pud_offset(p4dp, vaddr); in __split_linear_mapping_pud() 151 if (pud_leaf(pudp_get(pudp))) { in __split_linear_mapping_pud() 153 unsigned long pfn = _pud_pfn(pudp_get(pudp)); in __split_linear_mapping_pud() 154 pgprot_t prot = __pgprot(pud_val(pudp_get(pudp)) & ~_PAGE_PFN_MASK); in __split_linear_mapping_pud() 169 set_pud(pudp, pfn_pud(page_to_pfn(pmd_page), PAGE_TABLE)); in __split_linear_mapping_pud() 172 ret = __split_linear_mapping_pmd(pudp, vaddr, next); in __split_linear_mapping_pud() 175 } while (pudp++, vaddr = next, vaddr != end); in __split_linear_mapping_pud()
|
| A D | pgtable.c | 159 pud_t *pudp) in pudp_invalidate() argument 161 VM_WARN_ON_ONCE(!pud_present(*pudp)); in pudp_invalidate() 162 pud_t old = pudp_establish(vma, address, pudp, pud_mkinvalid(*pudp)); in pudp_invalidate()
|
| /arch/loongarch/mm/ |
| A D | kasan_init.c | 131 static pmd_t *__init kasan_pmd_offset(pud_t *pudp, unsigned long addr, int node, bool early) in kasan_pmd_offset() argument 133 if (__pud_none(early, pudp_get(pudp))) { in kasan_pmd_offset() 138 pud_populate(&init_mm, pudp, (pmd_t *)__va(pmd_phys)); in kasan_pmd_offset() 141 return pmd_offset(pudp, addr); in kasan_pmd_offset() 185 static void __init kasan_pmd_populate(pud_t *pudp, unsigned long addr, in kasan_pmd_populate() argument 189 pmd_t *pmdp = kasan_pmd_offset(pudp, addr, node, early); in kasan_pmd_populate() 201 pud_t *pudp = kasan_pud_offset(p4dp, addr, node, early); in kasan_pud_populate() local 205 kasan_pmd_populate(pudp, addr, next, node, early); in kasan_pud_populate() 206 } while (pudp++, addr = next, addr != end && __pud_none(early, READ_ONCE(*pudp))); in kasan_pud_populate()
|
| /arch/arm/include/asm/ |
| A D | pgtable-3level.h | 123 #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); \
|
| /arch/x86/mm/ |
| A D | pgtable.c | 137 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 …]
|
| /arch/arm/mm/ |
| A D | kasan_init.c | 93 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()
|
| /arch/powerpc/include/asm/book3s/64/ |
| A D | pgtable.h | 843 static inline void pud_clear(pud_t *pudp) in pud_clear() argument 852 *pudp = __pud(0); in pud_clear() 1085 pud_t *pudp, pud_t pud); 1130 return pud_val(*pudp); in pud_hugepage_update() 1169 pud_t *pudp) in pudp_set_wrprotect() argument 1171 if (pud_write(*pudp)) in pudp_set_wrprotect() 1272 unsigned long address, pud_t *pudp, 1294 unsigned long addr, pud_t *pudp) in pudp_huge_get_and_clear() argument 1299 return *pudp; in pudp_huge_get_and_clear() 1319 pud_t *pudp, int full); [all …]
|
| /arch/powerpc/include/asm/nohash/64/ |
| A D | pgtable.h | 109 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()
|
| /arch/sparc/mm/ |
| A D | srmmu.c | 491 pud_t *pudp; in srmmu_mapioaddr() local 499 pudp = pud_offset(p4dp, virt_addr); in srmmu_mapioaddr() 530 pud_t *pudp; in srmmu_unmapioaddr() local 677 pud_t *pudp; in srmmu_early_allocate_ptable_skeleton() local 684 pudp = pud_offset(p4dp, start); in srmmu_early_allocate_ptable_skeleton() 712 pud_t *pudp; in srmmu_allocate_ptable_skeleton() local 719 pudp = pud_offset(p4dp, start); in srmmu_allocate_ptable_skeleton() 720 if (pud_none(*pudp)) { in srmmu_allocate_ptable_skeleton() 727 pmdp = pmd_offset(pudp, start); in srmmu_allocate_ptable_skeleton() 771 pud_t *pudp; in srmmu_inherit_prom_mappings() local [all …]
|
| /arch/m68k/include/asm/ |
| A D | motorola_pgtable.h | 95 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
|