Home
last modified time | relevance | path

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

123

/linux/arch/arm64/mm/
H A Dmmu.c196 static int alloc_init_cont_pte(pmd_t *pmdp, unsigned long addr, in alloc_init_cont_pte() argument
203 pmd_t pmd = READ_ONCE(*pmdp); in alloc_init_cont_pte()
220 __pmd_populate(pmdp, pte_phys, pmdval); in alloc_init_cont_pte()
223 ptep = pte_set_fixmap_offset(pmdp, addr); in alloc_init_cont_pte()
253 static int init_pmd(pmd_t *pmdp, unsigned long addr, unsigned long end, in init_pmd() argument
260 pmd_t old_pmd = READ_ONCE(*pmdp); in init_pmd()
268 WARN_ON(!pmd_set_huge(pmdp, phys, prot)); in init_pmd()
275 READ_ONCE(pmd_val(*pmdp)))); in init_pmd()
279 ret = alloc_init_cont_pte(pmdp, addr, next, phys, prot, in init_pmd()
285 pmd_val(old_pmd) != READ_ONCE(pmd_val(*pmdp))); in init_pmd()
[all …]
H A Dhugetlbpage.c84 pmd_t *pmdp; in find_num_contig() local
89 pmdp = pmd_offset(pudp, addr); in find_num_contig()
90 if ((pte_t *)PTR_ALIGN_DOWN(pmdp, sizeof(*pmdp) * CONT_PMDS) == ptep) { in find_num_contig()
243 pmd_t *pmdp; in huge_pte_alloc() local
258 pmdp = pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
259 if (!pmdp) in huge_pte_alloc()
263 ptep = pte_alloc_huge(mm, pmdp, addr); in huge_pte_alloc()
270 pmdp = pmd_alloc(mm, pudp, addr); in huge_pte_alloc()
272 return (pte_t *)pmdp; in huge_pte_alloc()
284 pmd_t *pmdp, pmd; in huge_pte_offset() local
[all …]
/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-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/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/sparc/mm/
H A Dsrmmu.c137 void pmd_set(pmd_t *pmdp, pte_t *ptep) in pmd_set() argument
140 set_pte((pte_t *)&pmd_val(*pmdp), __pte(SRMMU_ET_PTD | ptp)); in pmd_set()
492 pmd_t *pmdp; in srmmu_mapioaddr() local
500 pmdp = pmd_offset(pudp, virt_addr); in srmmu_mapioaddr()
501 ptep = pte_offset_kernel(pmdp, virt_addr); in srmmu_mapioaddr()
531 pmd_t *pmdp; in srmmu_unmapioaddr() local
538 pmdp = pmd_offset(pudp, virt_addr); in srmmu_unmapioaddr()
539 ptep = pte_offset_kernel(pmdp, virt_addr); in srmmu_unmapioaddr()
649 pmd_t *pmdp; in srmmu_early_allocate_ptable_skeleton() local
657 pmdp = __srmmu_get_nocache( in srmmu_early_allocate_ptable_skeleton()
[all …]
H A Dfault_64.c84 pmd_t *pmdp; in get_user_insn() local
101 pmdp = pmd_offset(pudp, tpc); in get_user_insn()
103 if (pmd_none(*pmdp) || unlikely(pmd_bad(*pmdp))) in get_user_insn()
107 if (is_hugetlb_pmd(*pmdp)) { in get_user_insn()
108 pa = pmd_pfn(*pmdp) << PAGE_SHIFT; in get_user_insn()
118 ptep = pte_offset_map(pmdp, tpc); in get_user_insn()
/linux/arch/powerpc/include/asm/book3s/64/
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/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/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
H A Dsun3_pgtable.h85 #define pmd_set(pmdp,ptep) do {} while (0) argument
120 static inline void pmd_clear (pmd_t *pmdp) { pmd_val (*pmdp) = 0; } in pmd_clear() argument
/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);
/linux/arch/loongarch/include/asm/
H A Dpgtable.h136 #define pmdp_get(pmdp) READ_ONCE(*(pmdp)) argument
271 static inline void pmd_clear(pmd_t *pmdp) in pmd_clear() argument
273 set_pmd(pmdp, __pmd((unsigned long)invalid_pte_table)); in pmd_clear()
284 extern void set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd);
502 unsigned long address, pmd_t *pmdp) in update_mmu_cache_pmd() argument
504 __update_tlb(vma, address, (pte_t *)pmdp); in update_mmu_cache_pmd()
622 unsigned long address, pmd_t *pmdp) in pmdp_huge_get_and_clear() argument
624 pmd_t old = pmdp_get(pmdp); in pmdp_huge_get_and_clear()
626 pmd_clear(pmdp); in pmdp_huge_get_and_clear()
/linux/arch/sh/include/asm/
H A Dpgalloc.h20 #define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp)) argument
/linux/arch/mips/mm/
H A Dpgtable-32.c35 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
37 *pmdp = pmd; in set_pmd_at()
H A Dc-r3k.c242 pmd_t *pmdp; in r3k_flush_cache_page() local
252 pmdp = pmd_off(mm, addr); in r3k_flush_cache_page()
253 ptep = pte_offset_kernel(pmdp, addr); in r3k_flush_cache_page()
H A Dpgtable-64.c94 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
96 *pmdp = pmd; in set_pmd_at()
/linux/arch/arc/include/asm/
H A Dhugepage.h57 pmd_t *pmdp, pmd_t pmd) in set_pmd_at() argument
59 *pmdp = pmd; in set_pmd_at()

123