Lines Matching refs:pmdp

154 static void init_pte(pmd_t *pmdp, unsigned long addr, unsigned long end,
159 ptep = pte_set_fixmap_offset(pmdp, addr);
178 static void alloc_init_cont_pte(pmd_t *pmdp, unsigned long addr,
185 pmd_t pmd = READ_ONCE(*pmdp);
192 __pmd_populate(pmdp, pte_phys, PMD_TYPE_TABLE);
193 pmd = READ_ONCE(*pmdp);
207 init_pte(pmdp, addr, next, phys, __prot);
218 pmd_t *pmdp;
220 pmdp = pmd_set_fixmap_offset(pudp, addr);
222 pmd_t old_pmd = READ_ONCE(*pmdp);
229 pmd_set_huge(pmdp, phys, prot);
236 READ_ONCE(pmd_val(*pmdp))));
238 alloc_init_cont_pte(pmdp, addr, next, phys, prot,
242 pmd_val(old_pmd) != READ_ONCE(pmd_val(*pmdp)));
245 } while (pmdp++, addr = next, addr != end);
776 pmd_t *pmdp, pmd;
799 pmdp = pmd_offset(pudp, addr);
800 pmd = READ_ONCE(*pmdp);
807 ptep = pte_offset_kernel(pmdp, addr);
851 static void unmap_hotplug_pte_range(pmd_t *pmdp, unsigned long addr,
858 ptep = pte_offset_kernel(pmdp, addr);
877 pmd_t *pmdp, pmd;
881 pmdp = pmd_offset(pudp, addr);
882 pmd = READ_ONCE(*pmdp);
888 pmd_clear(pmdp);
901 unmap_hotplug_pte_range(pmdp, addr, next, free_mapped, altmap);
983 static void free_empty_pte_table(pmd_t *pmdp, unsigned long addr,
991 ptep = pte_offset_kernel(pmdp, addr);
1009 ptep = pte_offset_kernel(pmdp, 0UL);
1015 pmd_clear(pmdp);
1024 pmd_t *pmdp, pmd;
1029 pmdp = pmd_offset(pudp, addr);
1030 pmd = READ_ONCE(*pmdp);
1035 free_empty_pte_table(pmdp, addr, next, floor, ceiling);
1049 pmdp = pmd_offset(pudp, 0UL);
1051 if (!pmd_none(READ_ONCE(pmdp[i])))
1057 free_hotplug_pgtable_page(virt_to_page(pmdp));
1154 pmd_t *pmdp;
1171 pmdp = pmd_offset(pudp, addr);
1172 if (pmd_none(READ_ONCE(*pmdp))) {
1179 pmd_set_huge(pmdp, __pa(p), __pgprot(PROT_SECT_NORMAL));
1181 vmemmap_verify((pte_t *)pmdp, node, addr, next);
1236 pmd_t *pmdp;
1258 pmdp = fixmap_pmd(addr);
1259 __pmd_populate(pmdp, __pa_symbol(bm_pte), PMD_TYPE_TABLE);
1268 if ((pmdp != fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)))
1269 || pmdp != fixmap_pmd(fix_to_virt(FIX_BTMAP_END))) {
1271 pr_warn("pmdp %p != %p, %p\n",
1272 pmdp, fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)),
1394 int pmd_set_huge(pmd_t *pmdp, phys_addr_t phys, pgprot_t prot)
1399 if (!pgattr_change_is_safe(READ_ONCE(pmd_val(*pmdp)),
1404 set_pmd(pmdp, new_pmd);
1416 int pmd_clear_huge(pmd_t *pmdp)
1418 if (!pmd_sect(READ_ONCE(*pmdp)))
1420 pmd_clear(pmdp);
1424 int pmd_free_pte_page(pmd_t *pmdp, unsigned long addr)
1429 pmd = READ_ONCE(*pmdp);
1436 table = pte_offset_kernel(pmdp, addr);
1437 pmd_clear(pmdp);
1446 pmd_t *pmdp;
1458 pmdp = table;
1462 pmd_free_pte_page(pmdp, next);
1463 } while (pmdp++, next += PMD_SIZE, next != end);