Lines Matching defs:pmd
102 * set a new huge pmd. We should not be called for updating
103 * an existing pmd entry. That should go via pmd_hugepage_update.
106 pmd_t *pmdp, pmd_t pmd)
116 WARN_ON(!(pmd_leaf(pmd)));
118 trace_hugepage_set_pmd(addr, pmd_val(pmd));
119 return set_pte_at(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd));
152 * pmd_t we want to prevent transit from pmd pointing to page table
153 * to pmd pointing to huge page (and back) while interrupts are disabled.
154 * We clear pmd to possibly replace it with page table pointer in
166 * hugepte to regular pmd entry.
181 pmd_t pmd;
185 pmd = pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp);
193 return pmd;
215 static pmd_t pmd_set_protbits(pmd_t pmd, pgprot_t pgprot)
217 return __pmd(pmd_val(pmd) | pgprot_val(pgprot));
228 * other archs to mark the pmd huge in pfn_pmd()
253 pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
257 pmdv = pmd_val(pmd);
428 pmd_t *pmd;
430 pmd = get_pmd_from_cache(mm);
431 if (pmd)
432 return pmd;
437 void pmd_fragment_free(unsigned long *pmd)
439 struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
548 * information and they are stored at PTRS_PER_PMD offset from related pmd
549 * location. Hence a pmd move requires deposit and withdraw.
551 * For radix translation with split pmd ptl, we store the deposited table in the
552 * pmd page. Hence if we have different pmd page we need to withdraw during pmd