/linux-master/arch/powerpc/include/asm/ |
H A D | pgtable.h | 109 pte_t *early_pte_alloc_kernel(pmd_t *pmdp, unsigned long va);
|
/linux-master/arch/powerpc/kvm/ |
H A D | book3s_64_mmu_radix.c | 417 static void kvmppc_pmd_free(pmd_t *pmdp) argument 419 kmem_cache_free(kvm_pmd_cache, pmdp); 1314 pmd_t pmd, *pmdp; local 1404 pmdp = pmd_offset(&pud, gpa); 1405 pmd = READ_ONCE(*pmdp);
|
/linux-master/arch/powerpc/lib/ |
H A D | code-patching.c | 247 pmd_t *pmdp; local 264 pmdp = pmd_offset(pudp, addr); 265 if (WARN_ON(pmd_none(*pmdp))) 268 ptep = pte_offset_kernel(pmdp, addr);
|
/linux-master/arch/powerpc/mm/book3s64/ |
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 | 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_utils.c | 1953 pmd_t *pmdp, unsigned int psize, int ssize, 1963 hpte_slot_array = get_hpte_slot_array(pmdp); 1952 flush_hash_hugepage(unsigned long vsid, unsigned long addr, pmd_t *pmdp, unsigned int psize, int ssize, unsigned long flags) 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/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/powerpc/mm/nohash/ |
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...] |
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...] |
/linux-master/arch/powerpc/mm/ |
H A D | pgtable.c | 229 pmd_t *pmdp = pmd_off_k(va); local 230 pte_t *ptep = pte_offset_kernel(pmdp, va); 387 pmd_t pmd, *pmdp; local 446 pmdp = pmd_offset(&pud, ea); 447 pmd = READ_ONCE(*pmdp); 470 ret_pte = (pte_t *)pmdp; 475 ret_pte = (pte_t *)pmdp;
|
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/arch/powerpc/xmon/ |
H A D | xmon.c | 3309 pmd_t *pmdp; local 3364 pmdp = pmd_offset(pudp, addr); 3366 if (pmd_none(*pmdp)) { 3371 if (pmd_leaf(*pmdp)) { 3372 format_pte(pmdp, pmd_val(*pmdp)); 3375 printf("pmdp @ 0x%px = 0x%016lx\n", pmdp, pmd_val(*pmdp)); 3377 ptep = pte_offset_map(pmdp, add [all...] |
/linux-master/arch/riscv/include/asm/ |
H A D | pgtable.h | 246 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) argument 248 WRITE_ONCE(*pmdp, pmd); 251 static inline void pmd_clear(pmd_t *pmdp) argument 253 set_pmd(pmdp, __pmd(0)); 496 unsigned long address, pmd_t *pmdp) 498 pte_t *ptep = (pte_t *)pmdp; 725 pmd_t *pmdp, pmd_t pmd) 727 page_table_check_pmd_set(mm, pmdp, pmd); 728 return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd)); 763 unsigned long address, pmd_t *pmdp, 495 update_mmu_cache_pmd(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 723 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument 761 pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t entry, int dirty) argument 769 pmdp_test_and_clear_young(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument 776 pmdp_huge_get_and_clear(struct mm_struct *mm, unsigned long address, pmd_t *pmdp) argument 787 pmdp_set_wrprotect(struct mm_struct *mm, unsigned long address, pmd_t *pmdp) argument 794 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument [all...] |
/linux-master/arch/riscv/mm/ |
H A D | init.c | 454 static void __init create_pmd_mapping(pmd_t *pmdp, argument 463 if (pmd_none(pmdp[pmd_idx])) 464 pmdp[pmd_idx] = pfn_pmd(PFN_DOWN(pa), prot); 468 if (pmd_none(pmdp[pmd_idx])) { 470 pmdp[pmd_idx] = pfn_pmd(PFN_DOWN(pte_phys), PAGE_TABLE); 474 pte_phys = PFN_PHYS(_pmd_pfn(pmdp[pmd_idx])); 1408 int __meminit vmemmap_check_pmd(pmd_t *pmdp, int node, argument 1411 vmemmap_verify((pte_t *)pmdp, node, addr, next);
|
H A D | kasan_init.c | 53 pmd_t *pmdp, *p; local 61 pmdp = pmd_offset(pud, vaddr); 66 if (pmd_none(pmdp_get(pmdp)) && IS_ALIGNED(vaddr, PMD_SIZE) && 70 set_pmd(pmdp, pfn_pmd(PFN_DOWN(phys_addr), PAGE_KERNEL)); 76 kasan_populate_pte(pmdp, vaddr, next); 77 } while (pmdp++, vaddr = next, vaddr != end);
|
H A D | pageattr.c | 99 pmd_t *pmdp; local 102 pmdp = pmd_offset(pudp, vaddr); 111 if (pmd_leaf(pmdp_get(pmdp))) { 113 unsigned long pfn = _pmd_pfn(pmdp_get(pmdp)); 114 pgprot_t prot = __pgprot(pmd_val(pmdp_get(pmdp)) & ~_PAGE_PFN_MASK); 128 set_pmd(pmdp, pfn_pmd(page_to_pfn(pte_page), PAGE_TABLE)); 130 } while (pmdp++, vaddr = next, vaddr != end);
|
H A D | pgtable.c | 127 unsigned long address, pmd_t *pmdp) 129 pmd_t pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp); 132 VM_BUG_ON(pmd_trans_huge(pmdp_get(pmdp))); 126 pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument
|
/linux-master/arch/s390/include/asm/ |
H A D | pgtable.h | 955 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) argument 957 WRITE_ONCE(*pmdp, pmd); 983 static inline void pmd_clear(pmd_t *pmdp) argument 985 set_pmd(pmdp, __pmd(_SEGMENT_ENTRY_EMPTY)); 1629 static inline void __pmdp_csp(pmd_t *pmdp) 1631 csp((unsigned int *)pmdp + 1, pmd_val(*pmdp), 1632 pmd_val(*pmdp) | _SEGMENT_ENTRY_INVALID); 1642 static __always_inline void __pmdp_idte(unsigned long addr, pmd_t *pmdp, 1648 sto = __pa(pmdp) 1628 __pmdp_csp(pmd_t *pmdp) argument 1641 __pmdp_idte(unsigned long addr, pmd_t *pmdp, unsigned long opt, unsigned long asce, int local) argument 1708 pmdp_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp, pmd_t entry, int dirty) argument 1724 pmdp_test_and_clear_young(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) argument 1734 pmdp_clear_flush_young(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) argument 1741 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t entry) argument 1757 pmdp_huge_get_and_clear(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 1764 pmdp_huge_get_and_clear_full(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp, int full) argument 1777 pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) argument 1784 pmdp_invalidate(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) argument 1793 pmdp_set_wrprotect(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp) argument 1802 pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) argument [all...] |
/linux-master/arch/s390/mm/ |
H A D | gmap.c | 930 pmd_t *pmdp; local 933 pmdp = (pmd_t *) gmap_table_walk(gmap, gaddr, 1); 934 if (!pmdp) 939 return pmd_none(*pmdp) ? NULL : pmdp; 942 if (pmd_none(*pmdp)) { 948 if (!pmd_leaf(*pmdp)) 950 return pmdp; 956 * @pmdp: pointer to the pmd 958 static inline void gmap_pmd_op_end(struct gmap *gmap, pmd_t *pmdp) argument 978 gmap_protect_pmd(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) argument 1023 gmap_protect_pte(struct gmap *gmap, unsigned long gaddr, pmd_t *pmdp, int prot, unsigned long bits) argument 1063 pmd_t *pmdp; local 2301 pmdp_notify_gmap(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) argument 2318 gmap_pmdp_xchg(struct gmap *gmap, pmd_t *pmdp, pmd_t new, unsigned long gaddr) argument 2337 pmd_t *pmdp; local 2392 pmd_t *pmdp; local 2427 pmd_t *pmdp; local 2464 gmap_test_and_clear_dirty_pmd(struct gmap *gmap, pmd_t *pmdp, unsigned long gaddr) argument 2495 pmd_t *pmdp; local [all...] |
H A D | hugetlbpage.c | 181 pmd_t *pmdp = (pmd_t *) ptep; local 187 pmdp_xchg_direct(mm, addr, pmdp, __pmd(_SEGMENT_ENTRY_EMPTY)); 197 pmd_t *pmdp = NULL; local 207 pmdp = pmd_alloc(mm, pudp, addr); 210 return (pte_t *) pmdp; 219 pmd_t *pmdp = NULL; local 229 pmdp = pmd_offset(pudp, addr); 233 return (pte_t *) pmdp;
|
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...] |