/linux-master/arch/powerpc/include/asm/nohash/32/ |
H A D | pgalloc.h | 17 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, argument 21 *pmdp = __pmd((unsigned long)pte | _PMD_PRESENT); 23 *pmdp = __pmd(__pa(pte) | _PMD_PRESENT); 26 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp, argument 30 *pmdp = __pmd((unsigned long)pte_page | _PMD_PRESENT); 32 *pmdp = __pmd(__pa(pte_page) | _PMD_USER | _PMD_PRESENT);
|
/linux-master/arch/xtensa/include/asm/ |
H A D | pgalloc.h | 24 #define pmd_populate_kernel(mm, pmdp, ptep) \ 25 (pmd_val(*(pmdp)) = ((unsigned long)ptep)) 26 #define pmd_populate(mm, pmdp, page) \ 27 (pmd_val(*(pmdp)) = ((unsigned long)page_to_virt(page)))
|
/linux-master/arch/powerpc/mm/nohash/ |
H A D | book3e_pgtable.c | 79 pmd_t *pmdp; local 89 pmdp = pmd_alloc(&init_mm, pudp, ea); 90 if (!pmdp) 92 ptep = pte_alloc_kernel(pmdp, ea); 104 pmdp = early_alloc_pgtable(PMD_TABLE_SIZE); 105 pud_populate(&init_mm, pudp, pmdp); 107 pmdp = pmd_offset(pudp, ea); 108 if (!pmd_present(*pmdp)) { 110 pmd_populate_kernel(&init_mm, pmdp, ptep); 112 ptep = pte_offset_kernel(pmdp, e [all...] |
H A D | 40x.c | 111 pmd_t *pmdp; local 114 pmdp = pmd_off_k(v); 115 *pmdp++ = __pmd(val); 116 *pmdp++ = __pmd(val); 117 *pmdp++ = __pmd(val); 118 *pmdp++ = __pmd(val); 126 pmd_t *pmdp; local 129 pmdp = pmd_off_k(v); 130 *pmdp = __pmd(val);
|
H A D | 8xx.c | 51 static pte_t __init *early_hugepd_alloc_kernel(hugepd_t *pmdp, unsigned long va) argument 53 if (hpd_val(*pmdp) == 0) { 59 hugepd_populate_kernel((hugepd_t *)pmdp, ptep, PAGE_SHIFT_8M); 60 hugepd_populate_kernel((hugepd_t *)pmdp + 1, ptep, PAGE_SHIFT_8M); 62 return hugepte_offset(*(hugepd_t *)pmdp, va, PGDIR_SHIFT); 68 pmd_t *pmdp = pmd_off_k(va); local 79 ptep = early_pte_alloc_kernel(pmdp, va); 81 ptep = early_hugepd_alloc_kernel((hugepd_t *)pmdp, va); 84 ptep = pte_offset_kernel(pmdp, va); 86 ptep = hugepte_offset(*(hugepd_t *)pmdp, v [all...] |
/linux-master/arch/powerpc/mm/book3s64/ |
H A D | hash_pgtable.c | 152 pmd_t *pmdp; local 162 pmdp = pmd_alloc(&init_mm, pudp, ea); 163 if (!pmdp) 165 ptep = pte_alloc_kernel(pmdp, ea); 191 pmd_t *pmdp, unsigned long clr, 198 WARN_ON(!hash__pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 199 assert_spin_locked(pmd_lockptr(mm, pmdp)); 210 : "=&r" (old_be), "=&r" (tmp), "=m" (*pmdp) 211 : "r" (pmdp), " 190 hash__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, unsigned long clr, unsigned long set) argument 223 hash__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 267 hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) argument 287 hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) argument 312 hpte_do_hugepage_flush(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, unsigned long old_pmd) argument 345 hash__pmdp_huge_get_and_clear(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument [all...] |
H A D | hash_hugepage.c | 22 pmd_t *pmdp, unsigned long trap, unsigned long flags, 36 pmd_t pmd = READ_ONCE(*pmdp); 52 } while (!pmd_xchg(pmdp, __pmd(old_pmd), __pmd(new_pmd))); 77 hpte_slot_array = get_hpte_slot_array(pmdp); 85 flush_hash_hugepage(vsid, ea, pmdp, MMU_PAGE_64K, 162 *pmdp = __pmd(old_pmd); 186 *pmdp = __pmd(new_pmd & ~H_PAGE_BUSY); 21 __hash_page_thp(unsigned long ea, unsigned long access, unsigned long vsid, pmd_t *pmdp, unsigned long trap, unsigned long flags, int ssize, unsigned int psize) argument
|
H A D | pgtable.c | 49 pmd_t *pmdp, pmd_t entry, int dirty) 53 WARN_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp)); 54 assert_spin_locked(pmd_lockptr(vma->vm_mm, pmdp)); 56 changed = !pmd_same(*(pmdp), entry); 62 __ptep_set_access_flags(vma, pmdp_ptep(pmdp), 90 unsigned long address, pmd_t *pmdp) 92 return __pmdp_test_and_clear_young(vma->vm_mm, address, pmdp); 106 pmd_t *pmdp, pmd_t pmd) 114 WARN_ON(pte_hw_valid(pmd_pte(*pmdp)) 48 pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t entry, int dirty) argument 89 pmdp_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 105 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument 168 pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 178 pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp, int full) argument [all...] |
H A D | radix_pgtable.c | 79 pmd_t *pmdp; local 95 pmdp = early_alloc_pgtable(PAGE_SIZE, nid, region_start, 97 pud_populate(&init_mm, pudp, pmdp); 99 pmdp = pmd_offset(pudp, ea); 101 ptep = pmdp_ptep(pmdp); 104 if (!pmd_present(*pmdp)) { 107 pmd_populate_kernel(&init_mm, pmdp, ptep); 109 ptep = pte_offset_kernel(pmdp, ea); 131 pmd_t *pmdp; local 160 pmdp 192 pmd_t *pmdp; local 924 vmemmap_check_pmd(pmd_t *pmdp, int node, unsigned long addr, unsigned long next) argument 935 vmemmap_set_pmd(pmd_t *pmdp, void *p, int node, unsigned long addr, unsigned long next) argument 949 radix__vmemmap_pte_populate(pmd_t *pmdp, unsigned long addr, int node, struct vmem_altmap *altmap, struct page *reuse) argument 1030 vmemmap_pte_alloc(pmd_t *pmdp, int node, unsigned long address) argument 1344 radix__pmd_hugepage_update(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, unsigned long clr, unsigned long set) argument 1378 radix__pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 1404 radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) argument 1419 radix__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) argument 1443 radix__pmdp_huge_get_and_clear(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument [all...] |
/linux-master/mm/ |
H A D | pgtable-generic.c | 110 unsigned long address, pmd_t *pmdp, 113 int changed = !pmd_same(*pmdp, entry); 116 set_pmd_at(vma->vm_mm, address, pmdp, entry); 125 unsigned long address, pmd_t *pmdp) 129 young = pmdp_test_and_clear_young(vma, address, pmdp); 138 pmd_t *pmdp) 142 VM_BUG_ON(pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) && 143 !pmd_devmap(*pmdp)); 144 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); 109 pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t entry, int dirty) argument 124 pmdp_clear_flush_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 137 pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 165 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) argument 181 pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) argument 198 pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 208 pmdp_invalidate_ad(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 216 pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument [all...] |
/linux-master/arch/x86/include/asm/ |
H A D | pgtable-3level.h | 48 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) argument 50 pxx_xchg64(pmd, pmdp, native_pmd_val(pmd)); 74 static inline void native_pmd_clear(pmd_t *pmdp) argument 76 WRITE_ONCE(pmdp->pmd_low, 0); 78 WRITE_ONCE(pmdp->pmd_high, 0); 108 static inline pmd_t native_pmdp_get_and_clear(pmd_t *pmdp) argument 110 return pxx_xchg64(pmd, pmdp, 0ULL); 126 unsigned long address, pmd_t *pmdp, pmd_t pmd) 132 * cmpxchg64: we can update pmdp half-by-half without racing with 137 old.pmd_low = xchg(&pmdp 125 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument [all...] |
/linux-master/arch/arm/include/asm/ |
H A D | pgalloc.h | 107 static inline void __pmd_populate(pmd_t *pmdp, phys_addr_t pte, argument 111 pmdp[0] = __pmd(pmdval); 113 pmdp[1] = __pmd(pmdval + 256 * sizeof(pte_t)); 115 flush_pmd_entry(pmdp); 119 * Populate the pmdp entry with a pointer to the pte. This pmd is part 125 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep) argument 130 __pmd_populate(pmdp, __pa(ptep), _PAGE_KERNEL_TABLE); 134 pmd_populate(struct mm_struct *mm, pmd_t *pmdp, pgtable_t ptep) argument 144 __pmd_populate(pmdp, page_to_phys(ptep), prot);
|
H A D | tlb.h | 59 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) argument 62 struct ptdesc *ptdesc = virt_to_ptdesc(pmdp);
|
/linux-master/arch/arm64/include/asm/ |
H A D | pgalloc.h | 24 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) argument 26 set_pud(pudp, __pud(__phys_to_pud_val(pmdp) | prot)); 29 static inline void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmdp) argument 34 __pud_populate(pudp, __pa(pmdp), pudval); 37 static inline void __pud_populate(pud_t *pudp, phys_addr_t pmdp, pudval_t prot) argument 116 static inline void __pmd_populate(pmd_t *pmdp, phys_addr_t ptep, argument 119 set_pmd(pmdp, __pmd(__phys_to_pmd_val(ptep) | prot)); 123 * Populate the pmdp entry with a pointer to the pte. This pmd is part 127 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep) argument 130 __pmd_populate(pmdp, __p 134 pmd_populate(struct mm_struct *mm, pmd_t *pmdp, pgtable_t ptep) argument [all...] |
/linux-master/arch/sparc/mm/ |
H A D | tlb.c | 223 pmd_t *pmdp, pmd_t pmd) 225 pmd_t orig = *pmdp; 227 *pmdp = pmd; 232 unsigned long address, pmd_t *pmdp, pmd_t pmd) 237 old = *pmdp; 238 } while (cmpxchg64(&pmdp->pmd, old.pmd, pmd.pmd) != old.pmd); 248 pmd_t *pmdp) 252 entry = __pmd(pmd_val(*pmdp) & ~_PAGE_VALID); 253 old = pmdp_establish(vma, address, pmdp, entry); 268 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, argument 222 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument 231 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument 247 pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 283 pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) argument [all...] |
/linux-master/arch/powerpc/include/asm/book3s/32/ |
H A D | pgalloc.h | 28 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, argument 31 *pmdp = __pmd(__pa(pte) | _PMD_PRESENT); 34 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp, argument 37 *pmdp = __pmd(__pa(pte_page) | _PMD_PRESENT);
|
/linux-master/arch/powerpc/include/asm/book3s/64/ |
H A D | hash-4k.h | 109 static inline char *get_hpte_slot_array(pmd_t *pmdp) argument 146 unsigned long addr, pmd_t *pmdp, 149 unsigned long address, pmd_t *pmdp); 150 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, 152 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp); 154 unsigned long addr, pmd_t *pmdp);
|
/linux-master/arch/powerpc/mm/kasan/ |
H A D | init_book3e_64.c | 37 pmd_t *pmdp; local 49 pmdp = memblock_alloc(PMD_TABLE_SIZE, PMD_TABLE_SIZE); 50 memcpy(pmdp, kasan_early_shadow_pmd, PMD_TABLE_SIZE); 51 pud_populate(&init_mm, pudp, pmdp); 53 pmdp = pmd_offset(pudp, ea); 54 if (kasan_pte_table(*pmdp)) { 57 pmd_populate_kernel(&init_mm, pmdp, ptep); 59 ptep = pte_offset_kernel(pmdp, ea);
|
/linux-master/arch/sh/include/asm/ |
H A D | pgalloc.h | 20 #define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp))
|
/linux-master/arch/s390/mm/ |
H A D | pageattr.c | 86 static int walk_pte_level(pmd_t *pmdp, unsigned long addr, unsigned long end, argument 93 ptep = pte_offset_kernel(pmdp, addr); 122 static int split_pmd_page(pmd_t *pmdp, unsigned long addr) argument 132 pte_addr = pmd_pfn(*pmdp) << PAGE_SHIFT; 133 ro = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_PROTECT); 134 nx = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_NOEXEC); 145 pgt_set((unsigned long *)pmdp, pmd_val(new), addr, CRDTE_DTT_SEGMENT); 151 static void modify_pmd_page(pmd_t *pmdp, unsigned long addr, argument 154 pmd_t new = *pmdp; 172 pgt_set((unsigned long *)pmdp, pmd_va 180 pmd_t *pmdp; local 214 pmd_t *pm_dir, *pmdp; local [all...] |
H A D | pgtable.c | 377 unsigned long addr, pmd_t *pmdp) 380 __pmdp_idte(addr, pmdp, IDTE_NODAT | IDTE_GUEST_ASCE, 383 __pmdp_idte(addr, pmdp, 0, 0, IDTE_LOCAL); 389 unsigned long addr, pmd_t *pmdp) 392 __pmdp_idte(addr, pmdp, IDTE_NODAT | IDTE_GUEST_ASCE, 397 __pmdp_idte(addr, pmdp, 0, 0, IDTE_GLOBAL); 401 __pmdp_csp(pmdp); 408 unsigned long addr, pmd_t *pmdp) 412 old = *pmdp; 418 pmdp_idte_local(mm, addr, pmdp); 376 pmdp_idte_local(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 388 pmdp_idte_global(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 407 pmdp_flush_direct(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 425 pmdp_flush_lazy(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 448 pmd_lookup(struct mm_struct *mm, unsigned long addr, pmd_t **pmdp) argument 481 pmdp_xchg_direct(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t new) argument 494 pmdp_xchg_lazy(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t new) argument 565 pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, pgtable_t pgtable) argument 580 pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp) argument 808 pmd_t *pmdp; local 918 pmd_t *pmdp; local 981 pmd_t *pmdp; local [all...] |
/linux-master/arch/arm64/mm/ |
H A D | fixmap.c | 43 static void __init early_fixmap_init_pte(pmd_t *pmdp, unsigned long addr) argument 45 pmd_t pmd = READ_ONCE(*pmdp); 50 __pmd_populate(pmdp, __pa_symbol(ptep), PMD_TYPE_TABLE); 59 pmd_t *pmdp; local 64 pmdp = pmd_offset_kimg(pudp, addr); 67 early_fixmap_init_pte(pmdp, addr); 68 } while (pmdp++, addr = next, addr != end);
|
H A D | mmu.c | 175 static void init_pte(pmd_t *pmdp, unsigned long addr, unsigned long end, argument 180 ptep = pte_set_fixmap_offset(pmdp, addr); 199 static void alloc_init_cont_pte(pmd_t *pmdp, unsigned long addr, argument 206 pmd_t pmd = READ_ONCE(*pmdp); 217 __pmd_populate(pmdp, pte_phys, pmdval); 218 pmd = READ_ONCE(*pmdp); 232 init_pte(pmdp, addr, next, phys, __prot); 243 pmd_t *pmdp; local 245 pmdp = pmd_set_fixmap_offset(pudp, addr); 247 pmd_t old_pmd = READ_ONCE(*pmdp); 839 unmap_hotplug_pte_range(pmd_t *pmdp, unsigned long addr, unsigned long end, bool free_mapped, struct vmem_altmap *altmap) argument 865 pmd_t *pmdp, pmd; local 971 free_empty_pte_table(pmd_t *pmdp, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling) argument 1012 pmd_t *pmdp, pmd; local 1147 vmemmap_set_pmd(pmd_t *pmdp, void *p, int node, unsigned long addr, unsigned long next) argument 1153 vmemmap_check_pmd(pmd_t *pmdp, int node, unsigned long addr, unsigned long next) argument 1196 pmd_set_huge(pmd_t *pmdp, phys_addr_t phys, pgprot_t prot) argument 1224 pmd_clear_huge(pmd_t *pmdp) argument 1232 pmd_free_pte_page(pmd_t *pmdp, unsigned long addr) argument 1254 pmd_t *pmdp; local [all...] |
/linux-master/arch/powerpc/mm/ |
H A D | pgtable_32.c | 42 pmd_t *pmdp = pmd_off_k(addr); local 45 addr += PGDIR_SIZE, ptep += PTRS_PER_PTE, pmdp++) 46 pmd_populate_kernel(&init_mm, pmdp, ptep); 62 pte_t __init *early_pte_alloc_kernel(pmd_t *pmdp, unsigned long va) argument 64 if (pmd_none(*pmdp)) { 67 pmd_populate_kernel(&init_mm, pmdp, ptep); 69 return pte_offset_kernel(pmdp, va);
|
/linux-master/include/linux/ |
H A D | pgtable.h | 291 unsigned long address, pmd_t *pmdp, 298 unsigned long address, pmd_t *pmdp, 322 static inline pmd_t pmdp_get(pmd_t *pmdp) argument 324 return READ_ONCE(*pmdp); 368 pmd_t *pmdp) 370 pmd_t pmd = *pmdp; 375 set_pmd_at(vma->vm_mm, address, pmdp, pmd_mkold(pmd)); 381 pmd_t *pmdp) 397 unsigned long address, pmd_t *pmdp); 404 unsigned long address, pmd_t *pmdp) 297 pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t entry, int dirty) argument 366 pmdp_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 379 pmdp_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 403 pmdp_clear_flush_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 513 pmdp_get_lockless(pmd_t *pmdp) argument 542 pmdp_get_lockless(pmd_t *pmdp) argument 553 pmdp_huge_get_and_clear(struct mm_struct *mm, unsigned long address, pmd_t *pmdp) argument 582 pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, int full) argument 798 pmdp_set_wrprotect(struct mm_struct *mm, unsigned long address, pmd_t *pmdp) argument 805 pmdp_set_wrprotect(struct mm_struct *mm, unsigned long address, pmd_t *pmdp) argument 837 pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 867 generic_pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument [all...] |