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()
777 pmd_t *pmdp, pmd; in kern_addr_valid() local
800 pmdp = pmd_offset(pudp, addr); in kern_addr_valid()
801 pmd = READ_ONCE(*pmdp); in kern_addr_valid()
808 ptep = pte_offset_kernel(pmdp, addr); in kern_addr_valid()
852 static void unmap_hotplug_pte_range(pmd_t *pmdp, unsigned long addr, in unmap_hotplug_pte_range() argument
859 ptep = pte_offset_kernel(pmdp, addr); in unmap_hotplug_pte_range()
878 pmd_t *pmdp, pmd; in unmap_hotplug_pmd_range() local
882 pmdp = pmd_offset(pudp, addr); in unmap_hotplug_pmd_range()
883 pmd = READ_ONCE(*pmdp); in unmap_hotplug_pmd_range()
889 pmd_clear(pmdp); in unmap_hotplug_pmd_range()
902 unmap_hotplug_pte_range(pmdp, addr, next, free_mapped, altmap); in unmap_hotplug_pmd_range()
984 static void free_empty_pte_table(pmd_t *pmdp, unsigned long addr, in free_empty_pte_table() argument
992 ptep = pte_offset_kernel(pmdp, addr); in free_empty_pte_table()
1010 ptep = pte_offset_kernel(pmdp, 0UL); in free_empty_pte_table()
1016 pmd_clear(pmdp); in free_empty_pte_table()
1025 pmd_t *pmdp, pmd; in free_empty_pmd_table() local
1030 pmdp = pmd_offset(pudp, addr); in free_empty_pmd_table()
1031 pmd = READ_ONCE(*pmdp); in free_empty_pmd_table()
1036 free_empty_pte_table(pmdp, addr, next, floor, ceiling); in free_empty_pmd_table()
1050 pmdp = pmd_offset(pudp, 0UL); in free_empty_pmd_table()
1052 if (!pmd_none(READ_ONCE(pmdp[i]))) in free_empty_pmd_table()
1058 free_hotplug_pgtable_page(virt_to_page(pmdp)); in free_empty_pmd_table()
1155 pmd_t *pmdp; in vmemmap_populate() local
1172 pmdp = pmd_offset(pudp, addr); in vmemmap_populate()
1173 if (pmd_none(READ_ONCE(*pmdp))) { in vmemmap_populate()
1183 pmd_set_huge(pmdp, __pa(p), __pgprot(PROT_SECT_NORMAL)); in vmemmap_populate()
1185 vmemmap_verify((pte_t *)pmdp, node, addr, next); in vmemmap_populate()
1240 pmd_t *pmdp; in early_fixmap_init() local
1262 pmdp = fixmap_pmd(addr); in early_fixmap_init()
1263 __pmd_populate(pmdp, __pa_symbol(bm_pte), PMD_TYPE_TABLE); in early_fixmap_init()
1272 if ((pmdp != fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN))) in early_fixmap_init()
1273 || pmdp != fixmap_pmd(fix_to_virt(FIX_BTMAP_END))) { in early_fixmap_init()
1276 pmdp, fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)), in early_fixmap_init()
1398 int pmd_set_huge(pmd_t *pmdp, phys_addr_t phys, pgprot_t prot) in pmd_set_huge() argument
1403 if (!pgattr_change_is_safe(READ_ONCE(pmd_val(*pmdp)), in pmd_set_huge()
1408 set_pmd(pmdp, new_pmd); in pmd_set_huge()
1420 int pmd_clear_huge(pmd_t *pmdp) in pmd_clear_huge() argument
1422 if (!pmd_sect(READ_ONCE(*pmdp))) in pmd_clear_huge()
1424 pmd_clear(pmdp); in pmd_clear_huge()
1428 int pmd_free_pte_page(pmd_t *pmdp, unsigned long addr) in pmd_free_pte_page() argument
1433 pmd = READ_ONCE(*pmdp); in pmd_free_pte_page()
1440 table = pte_offset_kernel(pmdp, addr); in pmd_free_pte_page()
1441 pmd_clear(pmdp); in pmd_free_pte_page()
1450 pmd_t *pmdp; in pud_free_pmd_page() local
1462 pmdp = table; in pud_free_pmd_page()
1466 pmd_free_pte_page(pmdp, next); in pud_free_pmd_page()
1467 } while (pmdp++, next += PMD_SIZE, next != end); in pud_free_pmd_page()