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