Lines Matching refs:pud

276 unsigned long pud_leaf_size(pud_t pud) { return 1UL << tte_to_shift(*(pte_t *)&pud); }  in pud_leaf_size()  argument
285 pud_t *pud; in huge_pte_alloc() local
290 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
291 if (!pud) in huge_pte_alloc()
294 return (pte_t *)pud; in huge_pte_alloc()
295 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc()
308 pud_t *pud; in huge_pte_offset() local
317 pud = pud_offset(p4d, addr); in huge_pte_offset()
318 if (pud_none(*pud)) in huge_pte_offset()
320 if (is_hugetlb_pud(*pud)) in huge_pte_offset()
321 return (pte_t *)pud; in huge_pte_offset()
322 pmd = pmd_offset(pud, addr); in huge_pte_offset()
409 int pud_huge(pud_t pud) in pud_huge() argument
411 return !pud_none(pud) && in pud_huge()
412 (pud_val(pud) & (_PAGE_VALID|_PAGE_PUD_HUGE)) != _PAGE_VALID; in pud_huge()
425 static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, in hugetlb_free_pmd_range() argument
434 pmd = pmd_offset(pud, addr); in hugetlb_free_pmd_range()
456 pmd = pmd_offset(pud, start); in hugetlb_free_pmd_range()
457 pud_clear(pud); in hugetlb_free_pmd_range()
466 pud_t *pud; in hugetlb_free_pud_range() local
471 pud = pud_offset(p4d, addr); in hugetlb_free_pud_range()
474 if (pud_none_or_clear_bad(pud)) in hugetlb_free_pud_range()
476 if (is_hugetlb_pud(*pud)) in hugetlb_free_pud_range()
477 pud_clear(pud); in hugetlb_free_pud_range()
479 hugetlb_free_pmd_range(tlb, pud, addr, next, floor, in hugetlb_free_pud_range()
481 } while (pud++, addr = next, addr != end); in hugetlb_free_pud_range()
494 pud = pud_offset(p4d, start); in hugetlb_free_pud_range()
496 pud_free_tlb(tlb, pud, start); in hugetlb_free_pud_range()