Home
last modified time | relevance | path

Searched refs:pmdp (Results 1 – 25 of 69) sorted by relevance

123

/linux/arch/x86/include/asm/
H A Dpgtable-3level.h48 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() argument
50 pxx_xchg64(pmd, pmdp, native_pmd_val(pmd)); in native_set_pmd()
74 static inline void native_pmd_clear(pmd_t *pmdp) in native_pmd_clear() argument
76 WRITE_ONCE(pmdp->pmd_low, 0); in native_pmd_clear()
78 WRITE_ONCE(pmdp->pmd_high, 0); in native_pmd_clear()
108 static inline pmd_t native_pmdp_get_and_clear(pmd_t *pmdp) in native_pmdp_get_and_clear() argument
110 return pxx_xchg64(pmd, pmdp, 0ULL); in native_pmdp_get_and_clear()
126 unsigned long address, pmd_t *pmdp, pmd_t pmd) in pmdp_establish() argument
137 old.pmd_low = xchg(&pmdp->pmd_low, pmd.pmd_low); in pmdp_establish()
138 old.pmd_high = READ_ONCE(pmdp->pmd_high); in pmdp_establish()
[all …]
H A Dpgtable.h65 #define set_pmd(pmdp, pmd) native_set_pmd(pmdp, pmd) argument
1190 static inline pmd_t native_local_pmdp_get_and_clear(pmd_t *pmdp) in native_local_pmdp_get_and_clear() argument
1192 pmd_t res = *pmdp; in native_local_pmdp_get_and_clear()
1194 native_pmd_clear(pmdp); in native_local_pmdp_get_and_clear()
1207 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
1209 page_table_check_pmd_set(mm, addr, pmdp, pmd); in set_pmd_at()
1210 set_pmd(pmdp, pmd); in set_pmd_at()
1303 unsigned long address, pmd_t *pmdp,
1311 unsigned long addr, pmd_t *pmdp); in pmdp_huge_get_and_clear()
1310 pmdp_huge_get_and_clear(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp) pmdp_huge_get_and_clear() argument
1332 pmdp_set_wrprotect(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp) pmdp_set_wrprotect() argument
1350 pmdp_establish(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp,pmd_t pmd) pmdp_establish() argument
1713 set_pmd_safe(pmdp,pmd) global() argument
[all...]
H A Dpgtable-2level.h20 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) in native_set_pmd() argument
22 *pmdp = pmd; in native_set_pmd()
34 static inline void native_pmd_clear(pmd_t *pmdp) in native_pmd_clear() argument
36 native_set_pmd(pmdp, __pmd(0)); in native_pmd_clear()
/linux/arch/powerpc/include/asm/nohash/32/
H A Dpgalloc.h17 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, in pmd_populate_kernel() argument
21 *pmdp = __pmd((unsigned long)pte | _PMD_PRESENT); in pmd_populate_kernel()
23 *pmdp = __pmd(__pa(pte) | _PMD_PRESENT); in pmd_populate_kernel()
26 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp, in pmd_populate() argument
30 *pmdp = __pmd((unsigned long)pte_page | _PMD_PRESENT); in pmd_populate()
32 *pmdp = __pmd(__pa(pte_page) | _PMD_USER | _PMD_PRESENT); in pmd_populate()
/linux/arch/arm/include/asm/
H A Dpgalloc.h107 static inline void __pmd_populate(pmd_t *pmdp, phys_addr_t pte, in __pmd_populate() argument
111 pmdp[0] = __pmd(pmdval); in __pmd_populate()
113 pmdp[1] = __pmd(pmdval + 256 * sizeof(pte_t)); in __pmd_populate()
115 flush_pmd_entry(pmdp); in __pmd_populate()
125 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, pte_t *ptep) in pmd_populate_kernel() argument
130 __pmd_populate(pmdp, __pa(ptep), _PAGE_KERNEL_TABLE); in pmd_populate_kernel()
134 pmd_populate(struct mm_struct *mm, pmd_t *pmdp, pgtable_t ptep) in pmd_populate() argument
144 __pmd_populate(pmdp, page_to_phys(ptep), prot); in pmd_populate()
H A Dpgtable-3level.h148 #define pmd_clear(pmdp) \ argument
150 *pmdp = __pmd(0); \
151 clean_pmd_entry(pmdp); \
231 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
244 *pmdp = __pmd(pmd_val(pmd) | PMD_SECT_nG); in set_pmd_at()
245 flush_pmd_entry(pmdp); in set_pmd_at()
/linux/mm/
H A Dmigrate_device.c126 * @pmdp: pointer to pmd entry
132 * Collect the huge pmd entry at @pmdp for migration and set the
136 static int migrate_vma_collect_huge_pmd(pmd_t *pmdp, unsigned long start, in migrate_vma_collect_huge_pmd() argument
147 ptl = pmd_lock(mm, pmdp); in migrate_vma_collect_huge_pmd()
148 if (pmd_none(*pmdp)) { in migrate_vma_collect_huge_pmd()
153 if (pmd_trans_huge(*pmdp)) { in migrate_vma_collect_huge_pmd()
159 folio = pmd_folio(*pmdp); in migrate_vma_collect_huge_pmd()
164 if (pmd_write(*pmdp)) in migrate_vma_collect_huge_pmd()
166 } else if (!pmd_present(*pmdp)) { in migrate_vma_collect_huge_pmd()
167 const softleaf_t entry = softleaf_from_pmd(*pmdp); in migrate_vma_collect_huge_pmd()
241 migrate_vma_collect_pmd(pmd_t * pmdp,unsigned long start,unsigned long end,struct mm_walk * walk) migrate_vma_collect_pmd() argument
791 migrate_vma_insert_huge_pmd_page(struct migrate_vma * migrate,unsigned long addr,struct page * page,unsigned long * src,pmd_t * pmdp) migrate_vma_insert_huge_pmd_page() argument
934 migrate_vma_insert_huge_pmd_page(struct migrate_vma * migrate,unsigned long addr,struct page * page,unsigned long * src,pmd_t * pmdp) migrate_vma_insert_huge_pmd_page() argument
983 pmd_t *pmdp; migrate_vma_insert_page() local
[all...]
/linux/arch/powerpc/mm/kasan/
H A Dinit_book3e_64.c37 pmd_t *pmdp; in kasan_map_kernel_page() local
49 pmdp = memblock_alloc_or_panic(PMD_TABLE_SIZE, PMD_TABLE_SIZE); in kasan_map_kernel_page()
50 memcpy(pmdp, kasan_early_shadow_pmd, PMD_TABLE_SIZE); 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()
54 if (kasan_pte_table(*pmdp)) { in kasan_map_kernel_page()
57 pmd_populate_kernel(&init_mm, pmdp, ptep); in kasan_map_kernel_page()
59 ptep = pte_offset_kernel(pmdp, ea); in kasan_map_kernel_page()
/linux/arch/s390/include/asm/
H A Dpgtable.h976 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in set_pmd() argument
978 WRITE_ONCE(*pmdp, pmd); in set_pmd()
993 static inline pmd_t pmdp_get(pmd_t *pmdp) in p4d_clear()
995 return READ_ONCE(*pmdp); in p4d_clear()
1021 static inline void pmd_clear(pmd_t *pmdp) in pte_modify()
1023 set_pmd(pmdp, __pmd(_SEGMENT_ENTRY_EMPTY)); in pte_modify()
1625 static inline void __pmdp_cspg(pmd_t *pmdp) in __pmdp_idte()
1627 cspg((unsigned long *)pmdp, pmd_val(*pmdp), in __pmdp_idte()
1628 pmd_val(*pmdp) | _SEGMENT_ENTRY_INVALI in __pmdp_idte()
1004 pmd_clear(pmd_t * pmdp) pmd_clear() argument
1598 __pmdp_cspg(pmd_t * pmdp) __pmdp_cspg() argument
1611 __pmdp_idte(unsigned long addr,pmd_t * pmdp,unsigned long opt,unsigned long asce,int local) __pmdp_idte() argument
1679 pmdp_set_access_flags(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp,pmd_t entry,int dirty) pmdp_set_access_flags() argument
1695 pmdp_test_and_clear_young(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp) pmdp_test_and_clear_young() argument
1705 pmdp_clear_flush_young(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp) pmdp_clear_flush_young() argument
1712 set_pmd_at(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp,pmd_t entry) set_pmd_at() argument
1727 pmdp_huge_get_and_clear(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp) pmdp_huge_get_and_clear() argument
1739 pmdp_huge_get_and_clear_full(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp,int full) pmdp_huge_get_and_clear_full() argument
1756 pmdp_huge_clear_flush(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp) pmdp_huge_clear_flush() argument
1763 pmdp_invalidate(struct vm_area_struct * vma,unsigned long addr,pmd_t * pmdp) pmdp_invalidate() argument
1779 pmdp_set_wrprotect(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp) pmdp_set_wrprotect() argument
1789 pmdp_collapse_flush(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp) pmdp_collapse_flush() argument
[all...]
/linux/arch/powerpc/mm/
H A Dpgtable_32.c42 pmd_t *pmdp = pmd_off_k(addr); in early_ioremap_init() local
45 addr += PGDIR_SIZE, ptep += PTRS_PER_PTE, pmdp++) in early_ioremap_init()
46 pmd_populate_kernel(&init_mm, pmdp, ptep); in early_ioremap_init()
57 pte_t __init *early_pte_alloc_kernel(pmd_t *pmdp, unsigned long va) in early_pte_alloc_kernel() argument
59 if (pmd_none(*pmdp)) { in early_pte_alloc_kernel()
62 pmd_populate_kernel(&init_mm, pmdp, ptep); in early_pte_alloc_kernel()
64 return pte_offset_kernel(pmdp, va); in early_pte_alloc_kernel()
/linux/arch/powerpc/include/asm/book3s/64/
H A Dpgtable.h803 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() argument
810 WARN_ON((pmd_val(*pmdp) & (H_PAGE_HASHPTE | _PAGE_PTE)) == (H_PAGE_HASHPTE | _PAGE_PTE)); in pmd_clear()
812 *pmdp = __pmd(0); in pmd_clear()
1110 pmd_t *pmdp, pmd_t pmd);
1142 pmd_hugepage_update(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, in pmd_hugepage_update() argument
1146 return radix__pmd_hugepage_update(mm, addr, pmdp, clr, set); in pmd_hugepage_update()
1147 return hash__pmd_hugepage_update(mm, addr, pmdp, clr, set); in pmd_hugepage_update()
1165 unsigned long addr, pmd_t *pmdp) in __pmdp_test_and_clear_young() argument
1169 if ((pmd_raw(*pmdp) & cpu_to_be64(_PAGE_ACCESSED | H_PAGE_HASHPTE)) == 0) in __pmdp_test_and_clear_young()
1171 old = pmd_hugepage_update(mm, addr, pmdp, _PAGE_ACCESSED, 0); in __pmdp_test_and_clear_young()
[all …]
H A Dhash-4k.h122 static inline char *get_hpte_slot_array(pmd_t *pmdp) in get_hpte_slot_array() argument
159 unsigned long addr, pmd_t *pmdp,
162 unsigned long address, pmd_t *pmdp);
163 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
165 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
167 unsigned long addr, pmd_t *pmdp);
H A Dhash-64k.h202 static inline char *get_hpte_slot_array(pmd_t *pmdp) in get_hpte_slot_array() argument
211 return *(char **)(pmdp + PTRS_PER_PMD); in get_hpte_slot_array()
272 unsigned long addr, pmd_t *pmdp,
275 unsigned long address, pmd_t *pmdp);
276 extern void hash__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
278 extern pgtable_t hash__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
280 unsigned long addr, pmd_t *pmdp);
H A Dradix.h286 pmd_t *pmdp, unsigned long clr,
292 unsigned long address, pmd_t *pmdp);
293 extern void radix__pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
295 extern pgtable_t radix__pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
297 unsigned long addr, pmd_t *pmdp);
/linux/arch/arm/mm/
H A Dkasan_init.c43 static void __init kasan_pte_populate(pmd_t *pmdp, unsigned long addr, in kasan_pte_populate() argument
47 pte_t *ptep = pte_offset_kernel(pmdp, addr); in kasan_pte_populate()
97 pmd_t *pmdp = pmd_offset(pudp, addr); in kasan_pmd_populate() local
100 if (pmd_none(*pmdp)) { in kasan_pmd_populate()
114 pmd_populate_kernel(&init_mm, pmdp, p); in kasan_pmd_populate()
115 flush_pmd_entry(pmdp); in kasan_pmd_populate()
119 kasan_pte_populate(pmdp, addr, next, early); in kasan_pmd_populate()
120 } while (pmdp++, addr = next, addr != end); in kasan_pmd_populate()
/linux/arch/arm64/mm/
H A Dkasan_init.c62 static pte_t *__init kasan_pte_offset(pmd_t *pmdp, unsigned long addr, int node, in kasan_pte_offset() argument
65 if (pmd_none(READ_ONCE(*pmdp))) { in kasan_pte_offset()
69 __pmd_populate(pmdp, pte_phys, PMD_TYPE_TABLE); in kasan_pte_offset()
72 return early ? pte_offset_kimg(pmdp, addr) in kasan_pte_offset()
73 : pte_offset_kernel(pmdp, addr); in kasan_pte_offset()
115 static void __init kasan_pte_populate(pmd_t *pmdp, unsigned long addr, in kasan_pte_populate() argument
119 pte_t *ptep = kasan_pte_offset(pmdp, addr, node, early); in kasan_pte_populate()
136 pmd_t *pmdp = kasan_pmd_offset(pudp, addr, node, early); in kasan_pmd_populate() local
140 kasan_pte_populate(pmdp, addr, next, node, early); in kasan_pmd_populate()
141 } while (pmdp in kasan_pmd_populate()
[all...]
/linux/arch/riscv/include/asm/
H A Dpgtable.h240 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd) in pfn_pgd()
242 WRITE_ONCE(*pmdp, pmd); in pfn_pgd()
245 static inline void pmd_clear(pmd_t *pmdp) in pfn_pgd()
247 set_pmd(pmdp, __pmd(0)); in pfn_pgd()
597 unsigned long address, pmd_t *pmdp) in pte_same()
599 pte_t *ptep = (pte_t *)pmdp;
968 pmd_t *pmdp, pmd_t pmd) in set_pud_at()
970 page_table_check_pmd_set(mm, addr, pmdp, pmd);
971 return __set_pte_at(mm, (pte_t *)pmdp, pmd_pte(pmd));
1006 unsigned long address, pmd_t *pmdp, in pmdp_test_and_clear_young()
230 set_pmd(pmd_t * pmdp,pmd_t pmd) set_pmd() argument
235 pmd_clear(pmd_t * pmdp) pmd_clear() argument
587 update_mmu_cache_pmd(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp) update_mmu_cache_pmd() argument
958 set_pmd_at(struct mm_struct * mm,unsigned long addr,pmd_t * pmdp,pmd_t pmd) set_pmd_at() argument
996 pmdp_set_access_flags(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp,pmd_t entry,int dirty) pmdp_set_access_flags() argument
1004 pmdp_test_and_clear_young(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp) pmdp_test_and_clear_young() argument
1011 pmdp_huge_get_and_clear(struct mm_struct * mm,unsigned long address,pmd_t * pmdp) pmdp_huge_get_and_clear() argument
1028 pmdp_set_wrprotect(struct mm_struct * mm,unsigned long address,pmd_t * pmdp) pmdp_set_wrprotect() argument
1035 pmdp_establish(struct vm_area_struct * vma,unsigned long address,pmd_t * pmdp,pmd_t pmd) pmdp_establish() argument
[all...]
/linux/arch/powerpc/include/asm/book3s/32/
H A Dpgalloc.h34 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmdp, in pmd_populate_kernel() argument
37 *pmdp = __pmd(__pa(pte) | _PMD_PRESENT); in pmd_populate_kernel()
40 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmdp, in pmd_populate() argument
43 *pmdp = __pmd(__pa(pte_page) | _PMD_PRESENT); in pmd_populate()
/linux/arch/x86/boot/compressed/
H A Dident_map_64.c193 pmd_t *pmdp, unsigned long __address) in split_large_pmd() argument
225 set_pmd(pmdp, pmd); in split_large_pmd()
262 pmd_t *pmdp; in set_clr_page_flags() local
285 pmdp = pmd_offset(pudp, address); in set_clr_page_flags()
287 if (pmd_leaf(*pmdp)) in set_clr_page_flags()
288 ptep = split_large_pmd(info, pmdp, address); in set_clr_page_flags()
290 ptep = pte_offset_kernel(pmdp, address); in set_clr_page_flags()
/linux/include/trace/events/
H A Dxen.h158 TP_PROTO(pmd_t *pmdp, pmd_t pmdval),
159 TP_ARGS(pmdp, pmdval),
161 __field(pmd_t *, pmdp)
164 TP_fast_assign(__entry->pmdp = pmdp;
166 TP_printk("pmdp %p pmdval %0*llx (raw %0*llx)",
167 __entry->pmdp,
/linux/arch/m68k/include/asm/
H A Dmotorola_pgtable.h90 static inline void pmd_set(pmd_t *pmdp, pte_t *ptep) in pmd_set() argument
92 pmd_val(*pmdp) = virt_to_phys(ptep) | _PAGE_TABLE | _PAGE_ACCESSED; in pmd_set()
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()
117 #define pmd_clear(pmdp) ({ pmd_val(*pmdp) = 0; }) argument
H A Dmcf_pgtable.h105 #define pmd_set(pmdp, ptep) do {} while (0) argument
107 static inline void pgd_set(pgd_t *pgdp, pmd_t *pmdp) in pgd_set() argument
109 pgd_val(*pgdp) = virt_to_phys(pmdp); in pgd_set()
138 static inline void pmd_clear(pmd_t *pmdp) { pmd_val(*pmdp) = 0; } in pmd_clear() argument
/linux/arch/s390/mm/
H A Dgmap_helpers.c44 pmd_t *pmdp, pmd, pmdval; in try_get_locked_pte() local
62 pmdp = pmd_offset_lockless(pudp, pud, vmaddr); in try_get_locked_pte()
63 pmd = pmdp_get_lockless(pmdp); in try_get_locked_pte()
66 ptep = pte_offset_map_rw_nolock(mm, pmdp, vmaddr, &pmdval, ptl); in try_get_locked_pte()
71 if (unlikely(!pmd_same(pmdval, pmdp_get_lockless(pmdp)))) { in try_get_locked_pte()
/linux/arch/loongarch/include/asm/
H A Dpgtable.h129 #define pmdp_get(pmdp) READ_ONCE(*(pmdp)) argument
264 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() argument
266 set_pmd(pmdp, __pmd((unsigned long)invalid_pte_table)); in pmd_clear()
277 extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd);
493 unsigned long address, pmd_t *pmdp) in update_mmu_cache_pmd() argument
495 __update_tlb(vma, address, (pte_t *)pmdp); in update_mmu_cache_pmd()
611 unsigned long address, pmd_t *pmdp) in pmdp_huge_get_and_clear() argument
613 pmd_t old = pmdp_get(pmdp); in pmdp_huge_get_and_clear()
615 pmd_clear(pmdp); in pmdp_huge_get_and_clear()
/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
31 unsigned long pa = __nocache_pa(pmdp); in pud_set()
55 void pmd_set(pmd_t *pmdp, pte_t *ptep);

123