Lines Matching full:pte
111 /* PTE bits which are the same in SUN4U and SUN4V format. */
118 /* SUN4U pte bits... */
149 /* SUN4V pte bits... */
232 pte_t pte = pfn_pte(page_nr, pgprot); in pfn_pmd() local
234 return __pmd(pte_val(pte)); in pfn_pmd()
239 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
252 : "r" (pte_val(pte)), in pte_pfn()
260 static inline pte_t pte_modify(pte_t pte, pgprot_t prot) in pte_modify() argument
315 return __pte((pte_val(pte) & mask) | (pgprot_val(prot) & ~mask)); in pte_modify()
321 pte_t pte = __pte(pmd_val(pmd)); in pmd_modify() local
323 pte = pte_modify(pte, newprot); in pmd_modify()
325 return __pmd(pte_val(pte)); in pmd_modify()
359 static inline unsigned long pte_dirty(pte_t pte) in pte_dirty() argument
374 return (pte_val(pte) & mask); in pte_dirty()
377 static inline unsigned long pte_write(pte_t pte) in pte_write() argument
392 return (pte_val(pte) & mask); in pte_write()
416 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge() argument
418 return __pte(pte_val(pte) | __pte_default_huge_mask()); in pte_mkhuge()
421 static inline bool is_default_hugetlb_pte(pte_t pte) in is_default_hugetlb_pte() argument
425 return (pte_val(pte) & mask) == mask; in is_default_hugetlb_pte()
441 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkhuge() local
443 pte = pte_mkhuge(pte); in pmd_mkhuge()
444 pte_val(pte) |= _PAGE_PMD_HUGE; in pmd_mkhuge()
446 return __pmd(pte_val(pte)); in pmd_mkhuge()
450 static inline bool is_hugetlb_pte(pte_t pte) in is_hugetlb_pte() argument
456 static inline pte_t __pte_mkhwwrite(pte_t pte) in __pte_mkhwwrite() argument
458 unsigned long val = pte_val(pte); in __pte_mkhwwrite()
476 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty() argument
478 unsigned long val = pte_val(pte), mask; in pte_mkdirty()
491 pte = __pte(val | mask); in pte_mkdirty()
492 return pte_write(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkdirty()
495 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
497 unsigned long val = pte_val(pte), tmp; in pte_mkclean()
519 static inline pte_t pte_mkwrite_novma(pte_t pte) in pte_mkwrite_novma() argument
521 unsigned long val = pte_val(pte), mask; in pte_mkwrite_novma()
534 pte = __pte(val | mask); in pte_mkwrite_novma()
535 return pte_dirty(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkwrite_novma()
538 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
540 unsigned long val = pte_val(pte), tmp; in pte_wrprotect()
562 static inline pte_t pte_mkold(pte_t pte) in pte_mkold() argument
579 return __pte(pte_val(pte) & ~mask); in pte_mkold()
582 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung() argument
599 return __pte(pte_val(pte) | mask); in pte_mkyoung()
602 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
604 pte_val(pte) |= _PAGE_SPECIAL; in pte_mkspecial()
605 return pte; in pte_mkspecial()
608 static inline pte_t pte_mkmcd(pte_t pte) in pte_mkmcd() argument
610 pte_val(pte) |= _PAGE_MCD_4V; in pte_mkmcd()
611 return pte; in pte_mkmcd()
614 static inline pte_t pte_mknotmcd(pte_t pte) in pte_mknotmcd() argument
616 pte_val(pte) &= ~_PAGE_MCD_4V; in pte_mknotmcd()
617 return pte; in pte_mknotmcd()
620 static inline unsigned long pte_young(pte_t pte) in pte_young() argument
635 return (pte_val(pte) & mask); in pte_young()
638 static inline unsigned long pte_exec(pte_t pte) in pte_exec() argument
651 return (pte_val(pte) & mask); in pte_exec()
654 static inline unsigned long pte_present(pte_t pte) in pte_present() argument
656 unsigned long val = pte_val(pte); in pte_present()
676 static inline unsigned long pte_special(pte_t pte) in pte_special() argument
678 return pte_val(pte) & _PAGE_SPECIAL; in pte_special()
684 pte_t pte = __pte(pmd_val(pmd)); in pmd_leaf() local
686 return pte_val(pte) & _PAGE_PMD_HUGE; in pmd_leaf()
691 pte_t pte = __pte(pmd_val(pmd)); in pmd_pfn() local
693 return pte_pfn(pte); in pmd_pfn()
699 pte_t pte = __pte(pmd_val(pmd)); in pmd_write() local
701 return pte_write(pte); in pmd_write()
710 pte_t pte = __pte(pmd_val(pmd)); in pmd_dirty() local
712 return pte_dirty(pte); in pmd_dirty()
718 pte_t pte = __pte(pmd_val(pmd)); in pmd_young() local
720 return pte_young(pte); in pmd_young()
725 pte_t pte = __pte(pmd_val(pmd)); in pmd_trans_huge() local
727 return pte_val(pte) & _PAGE_PMD_HUGE; in pmd_trans_huge()
732 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkold() local
734 pte = pte_mkold(pte); in pmd_mkold()
736 return __pmd(pte_val(pte)); in pmd_mkold()
741 pte_t pte = __pte(pmd_val(pmd)); in pmd_wrprotect() local
743 pte = pte_wrprotect(pte); in pmd_wrprotect()
745 return __pmd(pte_val(pte)); in pmd_wrprotect()
750 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkdirty() local
752 pte = pte_mkdirty(pte); in pmd_mkdirty()
754 return __pmd(pte_val(pte)); in pmd_mkdirty()
759 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkclean() local
761 pte = pte_mkclean(pte); in pmd_mkclean()
763 return __pmd(pte_val(pte)); in pmd_mkclean()
768 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkyoung() local
770 pte = pte_mkyoung(pte); in pmd_mkyoung()
772 return __pmd(pte_val(pte)); in pmd_mkyoung()
777 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkwrite_novma() local
779 pte = pte_mkwrite_novma(pte); in pmd_mkwrite_novma()
781 return __pmd(pte_val(pte)); in pmd_mkwrite_novma()
801 * very simple, it's just the physical address. PTE tables are of
838 pte_t pte = __pte(pmd_val(pmd)); in pmd_page_vaddr() local
841 pfn = pte_pfn(pte); in pmd_page_vaddr()
848 pte_t pte = __pte(pud_val(pud)); in pud_pgtable() local
851 pfn = pte_pfn(pte); in pud_pgtable()
872 pte_t pte = __pte(pud_val(pud)); in pud_leaf() local
874 return pte_val(pte) & _PAGE_PMD_HUGE; in pud_leaf()
880 pte_t pte = __pte(pud_val(pud)); in pud_pfn() local
882 return pte_pfn(pte); in pud_pfn()
886 #define pte_none(pte) (!pte_val(pte)) argument
894 /* Actual page table PTE updates. */
907 * and SUN4V pte layout, so this inline test is fine. in maybe_tlb_batch_add()
924 pte_t *ptep, pte_t pte, int fullmm) in __set_pte_at() argument
928 *ptep = pte; in __set_pte_at()
935 pte_t *ptep, pte_t pte, unsigned int nr) in set_ptes() argument
938 __set_pte_at(mm, addr, ptep, pte, 0); in set_ptes()
942 pte_val(pte) += PAGE_SIZE; in set_ptes()
957 #define move_pte(pte, old_addr, new_addr) \ argument
959 pte_t newpte = (pte); \
960 if (tlb_type != hypervisor && pte_present(pte)) { \
961 unsigned long this_pfn = pte_pfn(pte); \
1023 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
1026 static inline bool pte_swp_exclusive(pte_t pte) in pte_swp_exclusive() argument
1028 return pte_val(pte) & _PAGE_SWP_EXCLUSIVE; in pte_swp_exclusive()
1031 static inline pte_t pte_swp_mkexclusive(pte_t pte) in pte_swp_mkexclusive() argument
1033 return __pte(pte_val(pte) | _PAGE_SWP_EXCLUSIVE); in pte_swp_mkexclusive()
1036 static inline pte_t pte_swp_clear_exclusive(pte_t pte) in pte_swp_clear_exclusive() argument
1038 return __pte(pte_val(pte) & ~_PAGE_SWP_EXCLUSIVE); in pte_swp_clear_exclusive()
1052 unsigned long addr, pte_t pte);
1061 pte_t pte, pte_t oldpte) in arch_do_swap_page() argument
1070 if (adi_state.enabled && (pte_val(pte) & _PAGE_MCD_4V)) in arch_do_swap_page()
1071 adi_restore_tags(mm, vma, addr, pte); in arch_do_swap_page()
1120 static inline bool pte_access_permitted(pte_t pte, bool write) in pte_access_permitted() argument
1134 return (pte_val(pte) & (prot | _PAGE_SPECIAL)) == prot; in pte_access_permitted()
1172 extern unsigned long pte_leaf_size(pte_t pte);