Lines Matching refs:ptep
2623 unsigned long address, pte_t *ptep) in set_huge_ptep_writable() argument
2627 entry = huge_pte_mkwrite(huge_pte_mkdirty(huge_ptep_get(ptep))); in set_huge_ptep_writable()
2628 if (huge_ptep_set_access_flags(vma, address, ptep, entry, 1)) in set_huge_ptep_writable()
2629 update_mmu_cache(vma, address, ptep); in set_huge_ptep_writable()
2742 pte_t *ptep; in __unmap_hugepage_range() local
2760 ptep = huge_pte_offset(mm, address); in __unmap_hugepage_range()
2761 if (!ptep) in __unmap_hugepage_range()
2764 ptl = huge_pte_lock(h, mm, ptep); in __unmap_hugepage_range()
2765 if (huge_pmd_unshare(mm, &address, ptep)) in __unmap_hugepage_range()
2768 pte = huge_ptep_get(ptep); in __unmap_hugepage_range()
2777 huge_pte_clear(mm, address, ptep); in __unmap_hugepage_range()
2799 pte = huge_ptep_get_and_clear(mm, address, ptep); in __unmap_hugepage_range()
2800 tlb_remove_tlb_entry(tlb, ptep, address); in __unmap_hugepage_range()
2929 unsigned long address, pte_t *ptep, pte_t pte, in hugetlb_cow() argument
2945 set_huge_ptep_writable(vma, address, ptep); in hugetlb_cow()
2985 ptep = huge_pte_offset(mm, address & huge_page_mask(h)); in hugetlb_cow()
2986 if (likely(ptep && in hugetlb_cow()
2987 pte_same(huge_ptep_get(ptep), pte))) in hugetlb_cow()
3024 ptep = huge_pte_offset(mm, address & huge_page_mask(h)); in hugetlb_cow()
3025 if (likely(ptep && pte_same(huge_ptep_get(ptep), pte))) { in hugetlb_cow()
3029 huge_ptep_clear_flush(vma, address, ptep); in hugetlb_cow()
3031 set_huge_pte_at(mm, address, ptep, in hugetlb_cow()
3084 unsigned long address, pte_t *ptep, unsigned int flags) in hugetlb_no_page() argument
3177 ptl = huge_pte_lockptr(h, mm, ptep); in hugetlb_no_page()
3184 if (!huge_pte_none(huge_ptep_get(ptep))) in hugetlb_no_page()
3194 set_huge_pte_at(mm, address, ptep, new_pte); in hugetlb_no_page()
3198 ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page, ptl); in hugetlb_no_page()
3252 pte_t *ptep, entry; in hugetlb_fault() local
3265 ptep = huge_pte_offset(mm, address); in hugetlb_fault()
3266 if (ptep) { in hugetlb_fault()
3267 entry = huge_ptep_get(ptep); in hugetlb_fault()
3269 migration_entry_wait_huge(vma, mm, ptep); in hugetlb_fault()
3276 ptep = huge_pte_alloc(mm, address, huge_page_size(h)); in hugetlb_fault()
3277 if (!ptep) in hugetlb_fault()
3291 entry = huge_ptep_get(ptep); in hugetlb_fault()
3293 ret = hugetlb_no_page(mm, vma, mapping, idx, address, ptep, flags); in hugetlb_fault()
3328 ptl = huge_pte_lock(h, mm, ptep); in hugetlb_fault()
3331 if (unlikely(!pte_same(entry, huge_ptep_get(ptep)))) in hugetlb_fault()
3350 ret = hugetlb_cow(mm, vma, address, ptep, entry, in hugetlb_fault()
3357 if (huge_ptep_set_access_flags(vma, address, ptep, entry, in hugetlb_fault()
3359 update_mmu_cache(vma, address, ptep); in hugetlb_fault()
3499 pte_t *ptep; in hugetlb_change_protection() local
3511 ptep = huge_pte_offset(mm, address); in hugetlb_change_protection()
3512 if (!ptep) in hugetlb_change_protection()
3514 ptl = huge_pte_lock(h, mm, ptep); in hugetlb_change_protection()
3515 if (huge_pmd_unshare(mm, &address, ptep)) { in hugetlb_change_protection()
3520 pte = huge_ptep_get(ptep); in hugetlb_change_protection()
3533 set_huge_pte_at(mm, address, ptep, newpte); in hugetlb_change_protection()
3540 pte = huge_ptep_get_and_clear(mm, address, ptep); in hugetlb_change_protection()
3543 set_huge_pte_at(mm, address, ptep, pte); in hugetlb_change_protection()
3783 int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep) in huge_pmd_unshare() argument
3788 BUG_ON(page_count(virt_to_page(ptep)) == 0); in huge_pmd_unshare()
3789 if (page_count(virt_to_page(ptep)) == 1) in huge_pmd_unshare()
3793 put_page(virt_to_page(ptep)); in huge_pmd_unshare()