Lines Matching refs:ptep
3043 unsigned long address, pte_t *ptep) in set_huge_ptep_writable() argument
3047 entry = huge_pte_mkwrite(huge_pte_mkdirty(huge_ptep_get(ptep))); in set_huge_ptep_writable()
3048 if (huge_ptep_set_access_flags(vma, address, ptep, entry, 1)) in set_huge_ptep_writable()
3049 update_mmu_cache(vma, address, ptep); in set_huge_ptep_writable()
3163 pte_t *ptep; in __unmap_hugepage_range() local
3181 ptep = huge_pte_offset(mm, address); in __unmap_hugepage_range()
3182 if (!ptep) in __unmap_hugepage_range()
3185 ptl = huge_pte_lock(h, mm, ptep); in __unmap_hugepage_range()
3186 if (huge_pmd_unshare(mm, &address, ptep)) in __unmap_hugepage_range()
3189 pte = huge_ptep_get(ptep); in __unmap_hugepage_range()
3198 huge_pte_clear(mm, address, ptep); in __unmap_hugepage_range()
3220 pte = huge_ptep_get_and_clear(mm, address, ptep); in __unmap_hugepage_range()
3221 tlb_remove_tlb_entry(tlb, ptep, address); in __unmap_hugepage_range()
3351 unsigned long address, pte_t *ptep, pte_t pte, in hugetlb_cow() argument
3367 set_huge_ptep_writable(vma, address, ptep); in hugetlb_cow()
3407 ptep = huge_pte_offset(mm, address & huge_page_mask(h)); in hugetlb_cow()
3408 if (likely(ptep && in hugetlb_cow()
3409 pte_same(huge_ptep_get(ptep), pte))) in hugetlb_cow()
3446 ptep = huge_pte_offset(mm, address & huge_page_mask(h)); in hugetlb_cow()
3447 if (likely(ptep && pte_same(huge_ptep_get(ptep), pte))) { in hugetlb_cow()
3451 huge_ptep_clear_flush(vma, address, ptep); in hugetlb_cow()
3453 set_huge_pte_at(mm, address, ptep, in hugetlb_cow()
3523 unsigned long address, pte_t *ptep, unsigned int flags) in hugetlb_no_page() argument
3611 ptl = huge_pte_lockptr(h, mm, ptep); in hugetlb_no_page()
3618 if (!huge_pte_none(huge_ptep_get(ptep))) in hugetlb_no_page()
3628 set_huge_pte_at(mm, address, ptep, new_pte); in hugetlb_no_page()
3633 ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page, ptl); in hugetlb_no_page()
3687 pte_t *ptep, entry; in hugetlb_fault() local
3700 ptep = huge_pte_offset(mm, address); in hugetlb_fault()
3701 if (ptep) { in hugetlb_fault()
3702 entry = huge_ptep_get(ptep); in hugetlb_fault()
3704 migration_entry_wait_huge(vma, mm, ptep); in hugetlb_fault()
3710 ptep = huge_pte_alloc(mm, address, huge_page_size(h)); in hugetlb_fault()
3711 if (!ptep) in hugetlb_fault()
3726 entry = huge_ptep_get(ptep); in hugetlb_fault()
3728 ret = hugetlb_no_page(mm, vma, mapping, idx, address, ptep, flags); in hugetlb_fault()
3765 ptl = huge_pte_lock(h, mm, ptep); in hugetlb_fault()
3768 if (unlikely(!pte_same(entry, huge_ptep_get(ptep)))) in hugetlb_fault()
3787 ret = hugetlb_cow(mm, vma, address, ptep, entry, in hugetlb_fault()
3794 if (huge_ptep_set_access_flags(vma, address, ptep, entry, in hugetlb_fault()
3796 update_mmu_cache(vma, address, ptep); in hugetlb_fault()
3936 pte_t *ptep; in hugetlb_change_protection() local
3948 ptep = huge_pte_offset(mm, address); in hugetlb_change_protection()
3949 if (!ptep) in hugetlb_change_protection()
3951 ptl = huge_pte_lock(h, mm, ptep); in hugetlb_change_protection()
3952 if (huge_pmd_unshare(mm, &address, ptep)) { in hugetlb_change_protection()
3957 pte = huge_ptep_get(ptep); in hugetlb_change_protection()
3970 set_huge_pte_at(mm, address, ptep, newpte); in hugetlb_change_protection()
3977 pte = huge_ptep_get_and_clear(mm, address, ptep); in hugetlb_change_protection()
3980 set_huge_pte_at(mm, address, ptep, pte); in hugetlb_change_protection()
4250 int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep) in huge_pmd_unshare() argument
4255 BUG_ON(page_count(virt_to_page(ptep)) == 0); in huge_pmd_unshare()
4256 if (page_count(virt_to_page(ptep)) == 1) in huge_pmd_unshare()
4260 put_page(virt_to_page(ptep)); in huge_pmd_unshare()
4272 int huge_pmd_unshare(struct mm_struct *mm, unsigned long *addr, pte_t *ptep) in huge_pmd_unshare() argument