Lines Matching defs:pmd
22 * pte/pmd/pgd, it converts the passed pfn into an mfn. Conversely,
23 * when reading the content back with __(pgd|pmd|pte)_val, it converts
383 __visible pmdval_t xen_pmd_val(pmd_t pmd)
385 return pte_mfn_to_pfn(pmd.pmd);
421 __visible pmd_t xen_make_pmd(pmdval_t pmd)
423 pmd = pte_pfn_to_mfn(pmd);
424 return native_make_pmd(pmd);
533 static void xen_pmd_walk(struct mm_struct *mm, pmd_t *pmd,
542 if (!pmd_none(pmd[i]))
543 (*func)(mm, pmd_page(pmd[i]), PT_PTE);
556 pmd_t *pmd;
561 pmd = pmd_offset(&pud[i], 0);
563 (*func)(mm, virt_to_page(pmd), PT_PMD);
564 xen_pmd_walk(mm, pmd, func, last && i == nr - 1, limit);
1001 pmd_t *pmd = level2_kernel_pgt + pmd_index(vaddr);
1005 for (; vaddr <= vaddr_end && (pmd < (level2_kernel_pgt + PTRS_PER_PMD));
1006 pmd++, vaddr += PMD_SIZE) {
1007 if (pmd_none(*pmd))
1010 set_pmd(pmd, __pmd(0));
1041 static void __init xen_cleanmfnmap_pmd(pmd_t *pmd, bool unpin)
1047 if (pmd_large(*pmd)) {
1048 pa = pmd_val(*pmd) & PHYSICAL_PAGE_MASK;
1053 pte_tbl = pte_offset_kernel(pmd, 0);
1060 set_pmd(pmd, __pmd(0));
1465 /* Used for pmd and pud */
1817 pmd_t pmd;
1835 pmd = native_make_pmd(xen_read_phys_ulong(pa + pmd_index(vaddr) *
1836 sizeof(pmd)));
1837 if (!pmd_present(pmd))
1839 pa = pmd_val(pmd) & PTE_PFN_MASK;
1840 if (pmd_large(pmd))
1862 pmd_t *pmd;
1900 pmd = early_memremap(pmd_phys, PAGE_SIZE);
1901 clear_page(pmd);
1918 pmd[idx_pt] = __pmd(_PAGE_TABLE | pt_phys);
1922 early_memunmap(pmd, PAGE_SIZE);