Searched refs:pmd (Results 51 - 75 of 300) sorted by relevance

1234567891011>>

/linux-master/arch/powerpc/include/asm/book3s/64/
H A Dpgtable-4k.h9 static inline int pmd_huge(pmd_t pmd) argument
15 return !!(pmd_raw(pmd) & cpu_to_be64(_PAGE_PTE));
30 * With radix , we have hugepage ptes in the pud and pmd entries. We don't
H A Dpgalloc.h69 * If we share the same slab cache with the pmd or pud level table,
131 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
133 *pud = __pud(__pgtable_ptr_val(pmd) | PUD_VAL_BITS);
147 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
149 pmd_fragment_free((unsigned long *)pmd);
152 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, argument
155 return pgtable_free_tlb(tlb, pmd, PMD_INDEX);
158 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument
161 *pmd = __pmd(__pgtable_ptr_val(pte) | PMD_VAL_BITS);
164 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
[all...]
/linux-master/arch/x86/include/asm/
H A Dpgtable-3level.h16 pr_err("%s:%d: bad pmd %p(%016Lx)\n", \
48 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) argument
50 pxx_xchg64(pmd, pmdp, native_pmd_val(pmd));
110 return pxx_xchg64(pmd, pmdp, 0ULL);
126 unsigned long address, pmd_t *pmdp, pmd_t pmd)
131 * If pmd has present bit cleared we can get away without expensive
135 if (!(pmd_val(pmd) & _PAGE_PRESENT)) {
137 old.pmd_low = xchg(&pmdp->pmd_low, pmd.pmd_low);
139 WRITE_ONCE(pmdp->pmd_high, pmd
125 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument
[all...]
H A Dpgalloc.h65 pmd_t *pmd, pte_t *pte)
68 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE));
72 pmd_t *pmd, pte_t *pte)
75 set_pmd_safe(pmd, __pmd(__pa(pte) | _PAGE_TABLE));
78 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
84 set_pmd(pmd, __pmd(((pteval_t)pfn << PAGE_SHIFT) | _PAGE_TABLE));
88 extern void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd);
90 static inline void __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, argument
93 ___pmd_free_tlb(tlb, pmd);
97 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd);
64 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) argument
71 pmd_populate_kernel_safe(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) argument
99 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
105 pud_populate_safe(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
[all...]
/linux-master/arch/m68k/include/asm/
H A Dmcf_pgtable.h97 #define pmd_pgtable(pmd) pfn_to_virt(pmd_val(pmd) >> PAGE_SHIFT)
119 #define pmd_page_vaddr(pmd) ((unsigned long) (pmd_val(pmd)))
139 static inline int pmd_none2(pmd_t *pmd) { return !pmd_val(*pmd); } argument
140 #define pmd_none(pmd) pmd_none2(&(pmd))
141 static inline int pmd_bad2(pmd_t *pmd) { return 0; } argument
142 #define pmd_bad(pmd) pmd_bad
[all...]
H A Dsun3_pgtable.h96 static inline unsigned long pmd_page_vaddr(pmd_t pmd) argument
98 return (unsigned long)__va(pmd_val(pmd) & PAGE_MASK);
114 #define pmd_pfn(pmd) (pmd_val(pmd) >> PAGE_SHIFT)
115 #define pmd_page(pmd) virt_to_page((void *)pmd_page_vaddr(pmd))
118 static inline int pmd_none2 (pmd_t *pmd) { return !pmd_val (*pmd); } argument
119 #define pmd_none(pmd) pmd_none2(&(pmd))
121 pmd_bad2(pmd_t *pmd) argument
123 pmd_present2(pmd_t *pmd) argument
[all...]
/linux-master/arch/riscv/include/asm/
H A Dpgtable.h210 static inline int pmd_present(pmd_t pmd) argument
218 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE | _PAGE_LEAF));
221 static inline int pmd_present(pmd_t pmd) argument
223 return (pmd_val(pmd) & (_PAGE_PRESENT | _PAGE_PROT_NONE));
227 static inline int pmd_none(pmd_t pmd) argument
229 return (pmd_val(pmd) == 0);
232 static inline int pmd_bad(pmd_t pmd) argument
234 return !pmd_present(pmd) || (pmd_val(pmd) & _PAGE_LEAF);
238 static inline bool pmd_leaf(pmd_t pmd) argument
243 set_pmd(pmd_t *pmdp, pmd_t pmd) argument
267 pmd_page(pmd_t pmd) argument
272 pmd_page_vaddr(pmd_t pmd) argument
277 pmd_pte(pmd_t pmd) argument
451 pmd_protnone(pmd_t pmd) argument
632 pmd_mkhuge(pmd_t pmd) argument
637 pmd_mkinvalid(pmd_t pmd) argument
644 pmd_pfn(pmd_t pmd) argument
656 pmd_modify(pmd_t pmd, pgprot_t newprot) argument
662 pmd_write(pmd_t pmd) argument
674 pmd_dirty(pmd_t pmd) argument
680 pmd_young(pmd_t pmd) argument
685 pmd_user(pmd_t pmd) argument
690 pmd_mkold(pmd_t pmd) argument
695 pmd_mkyoung(pmd_t pmd) argument
700 pmd_mkwrite_novma(pmd_t pmd) argument
705 pmd_wrprotect(pmd_t pmd) argument
710 pmd_mkclean(pmd_t pmd) argument
715 pmd_mkdirty(pmd_t pmd) argument
720 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument
740 pmd_user_accessible_page(pmd_t pmd) argument
752 pmd_trans_huge(pmd_t pmd) argument
776 pmd_t pmd = __pmd(atomic_long_xchg((atomic_long_t *)pmdp, 0)); local
791 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument
[all...]
/linux-master/arch/sh/mm/
H A Dinit.c52 pmd_t *pmd; local
72 pmd = pmd_alloc(NULL, pud, addr);
73 if (unlikely(!pmd)) {
74 pmd_ERROR(*pmd);
78 return pte_offset_kernel(pmd, addr);
138 pmd_t *pmd; local
140 pmd = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
141 if (!pmd)
144 pud_populate(&init_mm, pud, pmd);
145 BUG_ON(pmd !
151 one_page_table_init(pmd_t *pmd) argument
167 page_table_kmap_check(pte_t *pte, pmd_t *pmd, unsigned long vaddr, pte_t *lastpte) argument
178 pmd_t *pmd; local
[all...]
H A Dtlbex_32.c28 pmd_t *pmd; local
52 pmd = pmd_offset(pud, address);
53 if (pmd_none_or_clear_bad(pmd))
55 pte = pte_offset_kernel(pmd, address);
H A Dpgtable.c43 void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument
45 set_pud(pud, __pud((unsigned long)pmd));
53 void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
55 kmem_cache_free(pmd_cachep, pmd);
/linux-master/arch/x86/mm/
H A Dpgtable.c61 void ___pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd) argument
63 struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
64 paravirt_release_pmd(__pa(pmd) >> PAGE_SHIFT);
159 * kernel pmd is shared. If PAE were not to share the pmd a similar
175 * Also, if we're in a paravirt environment where the kernel pmd is
191 void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) argument
193 paravirt_alloc_pmd(mm, __pa(pmd) >> PAGE_SHIFT);
196 reserved at the pmd (PDPT) level. */
197 set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESEN
242 pmd_t *pmd = NULL; local
279 pmd_t *pmd = (pmd_t *)pgd_page_vaddr(pgd); local
318 pmd_t *pmd = pmds[i]; local
345 pmd_t *pmd = pmds[i]; local
751 pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot) argument
793 pmd_clear_huge(pmd_t *pmd) argument
816 pmd_t *pmd, *pmd_sv; local
859 pmd_free_pte_page(pmd_t *pmd, unsigned long addr) argument
880 pmd_free_pte_page(pmd_t *pmd, unsigned long addr) argument
898 pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) argument
921 arch_check_zapped_pmd(struct vm_area_struct *vma, pmd_t pmd) argument
[all...]
H A Dident_map.c12 pmd_t *pmd = pmd_page + pmd_index(addr); local
14 if (pmd_present(*pmd))
17 set_pmd(pmd, __pmd((addr - info->offset) | info->page_flag));
28 pmd_t *pmd; local
47 pmd = pmd_offset(pud, 0);
48 ident_pmd_init(info, pmd, addr, next);
51 pmd = (pmd_t *)info->alloc_pgt_page(info->context);
52 if (!pmd)
54 ident_pmd_init(info, pmd, addr, next);
55 set_pud(pud, __pud(__pa(pmd) | inf
[all...]
/linux-master/mm/
H A Ddebug_vm_pgtable.c184 pmd_t pmd; local
190 pmd = pfn_pmd(args->fixed_pmd_pfn, prot);
199 WARN_ON(pmd_dirty(pmd_wrprotect(pmd)));
202 WARN_ON(!pmd_same(pmd, pmd));
203 WARN_ON(!pmd_young(pmd_mkyoung(pmd_mkold(pmd))));
204 WARN_ON(!pmd_dirty(pmd_mkdirty(pmd_mkclean(pmd))));
205 WARN_ON(!pmd_write(pmd_mkwrite(pmd_wrprotect(pmd), args->vma)));
206 WARN_ON(pmd_young(pmd_mkold(pmd_mkyoung(pmd))));
207 WARN_ON(pmd_dirty(pmd_mkclean(pmd_mkdirty(pmd))));
221 pmd_t pmd; local
283 pmd_t pmd; local
444 pmd_t pmd; local
649 pmd_t pmd = READ_ONCE(*args->pmdp); local
661 pmd_t pmd; local
699 pmd_t pmd; local
728 pmd_t pmd; local
790 pmd_t pmd; local
806 pmd_t pmd; local
875 pmd_t pmd; local
961 pmd_t pmd; local
[all...]
H A Dpgalloc-track.h46 #define pte_alloc_kernel_track(pmd, address, mask) \
47 ((unlikely(pmd_none(*(pmd))) && \
48 (__pte_alloc_kernel(pmd) || ({*(mask)|=PGTBL_PMD_MODIFIED;0;})))?\
49 NULL: pte_offset_kernel(pmd, address))
/linux-master/include/asm-generic/
H A Dpgtable-nopmd.h14 * Having the pmd type consist of a pud gets the size right, and allows
15 * us to conceptually access the pud entry that this pmd is folded into
27 * setup: the pmd is never bad, and a pmd always exists (as it's folded
36 #define pmd_ERROR(pmd) (pud_ERROR((pmd).pud))
38 #define pud_populate(mm, pmd, pte) do { } while (0)
59 * allocating and freeing a pmd is trivial: the 1-entry pmd is
63 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) argument
[all...]
/linux-master/arch/openrisc/include/asm/
H A Dpgalloc.h28 #define pmd_populate_kernel(mm, pmd, pte) \
29 set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte)))
31 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
34 set_pmd(pmd, __pmd(_KERNPG_TABLE +
/linux-master/arch/csky/include/asm/
H A Dpgalloc.h13 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument
16 set_pmd(pmd, __pmd(__pa(pte)));
19 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
22 set_pmd(pmd, __pmd(__pa(page_address(pte))));
H A Dpgtable.h32 #define pmd_pfn(pmd) (pmd_phys(pmd) >> PAGE_SHIFT)
33 #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))
95 static inline pte_t *pmd_page_vaddr(pmd_t pmd) argument
99 ptr = pmd_val(pmd);
104 #define pmd_phys(pmd) pmd_val(pmd)
106 static inline void set_pmd(pmd_t *p, pmd_t pmd) argument
108 *p = pmd;
117 pmd_none(pmd_t pmd) argument
124 pmd_present(pmd_t pmd) argument
[all...]
/linux-master/arch/sparc/mm/
H A Dtlb.c148 pmd_t pmd)
153 pte = pte_offset_map(&pmd, vaddr);
171 pmd_t orig, pmd_t pmd)
176 if ((pmd_val(pmd) ^ pmd_val(orig)) & _PAGE_PMD_HUGE) {
185 if (pmd_val(pmd) & _PAGE_PMD_HUGE) {
186 if (is_huge_zero_page(pmd_page(pmd)))
223 pmd_t *pmdp, pmd_t pmd)
227 *pmdp = pmd;
228 __set_pmd_acct(mm, addr, orig, pmd);
232 unsigned long address, pmd_t *pmdp, pmd_t pmd)
147 tlb_batch_pmd_scan(struct mm_struct *mm, unsigned long vaddr, pmd_t pmd) argument
170 __set_pmd_acct(struct mm_struct *mm, unsigned long addr, pmd_t orig, pmd_t pmd) 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
[all...]
H A Dhugetlbpage.c278 unsigned long pmd_leaf_size(pmd_t pmd) { return 1UL << tte_to_shift(*(pte_t *)&pmd); } argument
287 pmd_t *pmd; local
296 pmd = pmd_alloc(mm, pud, addr);
297 if (!pmd)
300 return (pte_t *)pmd;
301 return pte_alloc_huge(mm, pmd, addr);
310 pmd_t *pmd; local
323 pmd = pmd_offset(pud, addr);
324 if (pmd_none(*pmd))
410 pmd_huge(pmd_t pmd) argument
422 hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, unsigned long addr) argument
436 pmd_t *pmd; local
[all...]
/linux-master/arch/nios2/include/asm/
H A Dpgtable.h158 static inline int pmd_present(pmd_t pmd) argument
160 return (pmd_val(pmd) != (unsigned long) invalid_pte_table)
161 && (pmd_val(pmd) != 0UL);
199 static inline int pmd_none(pmd_t pmd) argument
201 return (pmd_val(pmd) ==
202 (unsigned long) invalid_pte_table) || (pmd_val(pmd) == 0UL);
205 #define pmd_bad(pmd) (pmd_val(pmd) & ~PAGE_MASK)
227 #define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd))
231 pmd_page_vaddr(pmd_t pmd) argument
[all...]
/linux-master/include/linux/
H A Dpgtable.h50 #define pmd_pgtable(pmd) pmd_page(pmd)
92 static inline pte_t *pte_offset_kernel(pmd_t *pmd, unsigned long address) argument
94 return (pte_t *)pmd_page_vaddr(*pmd) + pte_index(address);
100 #define __pte_map(pmd, address) \
101 ((pte_t *)kmap_local_page(pmd_page(*(pmd))) + pte_index((address)))
107 static inline pte_t *__pte_map(pmd_t *pmd, unsigned long address) argument
109 return pte_offset_kernel(pmd, address);
175 pmd_t *pmd = pmd_off_k(vaddr); local
177 return pmd_none(*pmd)
181 pmd_young(pmd_t pmd) argument
188 pmd_dirty(pmd_t pmd) argument
370 pmd_t pmd = *pmdp; local
444 arch_check_zapped_pmd(struct vm_area_struct *vma, pmd_t pmd) argument
515 pmd_t pmd; local
557 pmd_t pmd = *pmdp; local
734 pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) argument
867 generic_pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument
1179 pmd_none_or_clear_bad(pmd_t *pmd) argument
1318 pmd_swp_mksoft_dirty(pmd_t pmd) argument
1323 pmd_swp_soft_dirty(pmd_t pmd) argument
1328 pmd_swp_clear_soft_dirty(pmd_t pmd) argument
1339 pmd_soft_dirty(pmd_t pmd) argument
1349 pmd_mksoft_dirty(pmd_t pmd) argument
1359 pmd_clear_soft_dirty(pmd_t pmd) argument
1379 pmd_swp_mksoft_dirty(pmd_t pmd) argument
1384 pmd_swp_soft_dirty(pmd_t pmd) argument
1389 pmd_swp_clear_soft_dirty(pmd_t pmd) argument
1500 pmd_trans_huge(pmd_t pmd) argument
1505 pmd_write(pmd_t pmd) argument
1522 pmd_devmap(pmd_t pmd) argument
1578 pmd_protnone(pmd_t pmd) argument
1615 pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot) argument
1624 pmd_clear_huge(pmd_t *pmd) argument
1636 pmd_free_pte_page(pmd_t *pmd, unsigned long addr) argument
[all...]
/linux-master/arch/arm64/include/asm/
H A Dpgtable.h165 #define pmd_access_permitted(pmd, write) \
166 (pte_access_permitted(pmd_pte(pmd), (write)))
182 static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot) argument
184 pmd_val(pmd) &= ~pgprot_val(prot);
185 return pmd;
188 static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot) argument
190 pmd_val(pmd) |= pgprot_val(prot);
191 return pmd;
264 static inline pmd_t pmd_mkcont(pmd_t pmd) argument
266 return __pmd(pmd_val(pmd) | PMD_SECT_CON
431 pmd_pte(pmd_t pmd) argument
475 pmd_protnone(pmd_t pmd) argument
483 pmd_present(pmd_t pmd) argument
493 pmd_trans_huge(pmd_t pmd) argument
512 pmd_mkinvalid(pmd_t pmd) argument
529 pmd_mkdevmap(pmd_t pmd) argument
560 set_pmd_at(struct mm_struct *mm, unsigned long addr, pmd_t *pmdp, pmd_t pmd) argument
654 set_pmd(pmd_t *pmdp, pmd_t pmd) argument
676 pmd_page_paddr(pmd_t pmd) argument
681 pmd_page_vaddr(pmd_t pmd) argument
1046 pmd_modify(pmd_t pmd, pgprot_t newprot) argument
1082 pmd_user_accessible_page(pmd_t pmd) argument
1189 pmd_t pmd = __pmd(xchg_relaxed(&pmd_val(*pmdp), 0)); local
1239 pmdp_establish(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t pmd) argument
[all...]
/linux-master/arch/loongarch/mm/
H A Dhugetlbpage.c39 pmd_t *pmd = NULL; local
47 pmd = pmd_offset(pud, addr);
50 return (pte_t *) pmd;
53 int pmd_huge(pmd_t pmd) argument
55 return (pmd_val(pmd) & _PAGE_HUGE) != 0;
/linux-master/arch/s390/mm/
H A Dvmem.c162 static int __ref modify_pte_table(pmd_t *pmd, unsigned long addr, argument
174 pte = pte_offset_kernel(pmd, addr);
204 static void try_free_pte_table(pmd_t *pmd, unsigned long start) argument
210 pte = pte_offset_kernel(pmd, start);
215 vmem_pte_free((unsigned long *) pmd_deref(*pmd));
216 pmd_clear(pmd);
226 pmd_t *pmd; local
233 pmd = pmd_offset(pud, addr);
234 for (; addr < end; addr = next, pmd++) {
237 if (pmd_none(*pmd))
304 pmd_t *pmd; local
321 pmd_t *pmd; local
573 pmd_t *pmd; local
[all...]

Completed in 226 milliseconds

1234567891011>>