Lines Matching full:pte

111 /* PTE bits which are the same in SUN4U and SUN4V format.  */
118 /* SUN4U pte bits... */
149 /* SUN4V pte bits... */
233 pte_t pte = pfn_pte(page_nr, pgprot); in pfn_pmd() local
235 return __pmd(pte_val(pte)); in pfn_pmd()
241 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
254 : "r" (pte_val(pte)), in pte_pfn()
262 static inline pte_t pte_modify(pte_t pte, pgprot_t prot) in pte_modify() argument
317 return __pte((pte_val(pte) & mask) | (pgprot_val(prot) & ~mask)); in pte_modify()
323 pte_t pte = __pte(pmd_val(pmd)); in pmd_modify() local
325 pte = pte_modify(pte, newprot); in pmd_modify()
327 return __pmd(pte_val(pte)); in pmd_modify()
361 static inline unsigned long pte_dirty(pte_t pte) in pte_dirty() argument
376 return (pte_val(pte) & mask); in pte_dirty()
379 static inline unsigned long pte_write(pte_t pte) in pte_write() argument
394 return (pte_val(pte) & mask); in pte_write()
418 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge() argument
420 return __pte(pte_val(pte) | __pte_default_huge_mask()); in pte_mkhuge()
423 static inline bool is_default_hugetlb_pte(pte_t pte) in is_default_hugetlb_pte() argument
427 return (pte_val(pte) & mask) == mask; in is_default_hugetlb_pte()
443 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkhuge() local
445 pte = pte_mkhuge(pte); in pmd_mkhuge()
446 pte_val(pte) |= _PAGE_PMD_HUGE; in pmd_mkhuge()
448 return __pmd(pte_val(pte)); in pmd_mkhuge()
452 static inline bool is_hugetlb_pte(pte_t pte) in is_hugetlb_pte() argument
458 static inline pte_t __pte_mkhwwrite(pte_t pte) in __pte_mkhwwrite() argument
460 unsigned long val = pte_val(pte); in __pte_mkhwwrite()
478 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty() argument
480 unsigned long val = pte_val(pte), mask; in pte_mkdirty()
493 pte = __pte(val | mask); in pte_mkdirty()
494 return pte_write(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkdirty()
497 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
499 unsigned long val = pte_val(pte), tmp; in pte_mkclean()
521 static inline pte_t pte_mkwrite_novma(pte_t pte) in pte_mkwrite_novma() argument
523 unsigned long val = pte_val(pte), mask; in pte_mkwrite_novma()
536 pte = __pte(val | mask); in pte_mkwrite_novma()
537 return pte_dirty(pte) ? __pte_mkhwwrite(pte) : pte; in pte_mkwrite_novma()
540 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
542 unsigned long val = pte_val(pte), tmp; in pte_wrprotect()
564 static inline pte_t pte_mkold(pte_t pte) in pte_mkold() argument
581 return __pte(pte_val(pte) & ~mask); in pte_mkold()
584 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung() argument
601 return __pte(pte_val(pte) | mask); in pte_mkyoung()
604 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
606 pte_val(pte) |= _PAGE_SPECIAL; in pte_mkspecial()
607 return pte; in pte_mkspecial()
610 static inline pte_t pte_mkmcd(pte_t pte) in pte_mkmcd() argument
612 pte_val(pte) |= _PAGE_MCD_4V; in pte_mkmcd()
613 return pte; in pte_mkmcd()
616 static inline pte_t pte_mknotmcd(pte_t pte) in pte_mknotmcd() argument
618 pte_val(pte) &= ~_PAGE_MCD_4V; in pte_mknotmcd()
619 return pte; in pte_mknotmcd()
622 static inline unsigned long pte_young(pte_t pte) in pte_young() argument
637 return (pte_val(pte) & mask); in pte_young()
640 static inline unsigned long pte_exec(pte_t pte) in pte_exec() argument
653 return (pte_val(pte) & mask); in pte_exec()
656 static inline unsigned long pte_present(pte_t pte) in pte_present() argument
658 unsigned long val = pte_val(pte); in pte_present()
678 static inline unsigned long pte_special(pte_t pte) in pte_special() argument
680 return pte_val(pte) & _PAGE_SPECIAL; in pte_special()
686 pte_t pte = __pte(pmd_val(pmd)); in pmd_leaf() local
688 return pte_val(pte) & _PAGE_PMD_HUGE; in pmd_leaf()
693 pte_t pte = __pte(pmd_val(pmd)); in pmd_pfn() local
695 return pte_pfn(pte); in pmd_pfn()
701 pte_t pte = __pte(pmd_val(pmd)); in pmd_write() local
703 return pte_write(pte); in pmd_write()
712 pte_t pte = __pte(pmd_val(pmd)); in pmd_dirty() local
714 return pte_dirty(pte); in pmd_dirty()
720 pte_t pte = __pte(pmd_val(pmd)); in pmd_young() local
722 return pte_young(pte); in pmd_young()
727 pte_t pte = __pte(pmd_val(pmd)); in pmd_trans_huge() local
729 return pte_val(pte) & _PAGE_PMD_HUGE; in pmd_trans_huge()
734 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkold() local
736 pte = pte_mkold(pte); in pmd_mkold()
738 return __pmd(pte_val(pte)); in pmd_mkold()
743 pte_t pte = __pte(pmd_val(pmd)); in pmd_wrprotect() local
745 pte = pte_wrprotect(pte); in pmd_wrprotect()
747 return __pmd(pte_val(pte)); in pmd_wrprotect()
752 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkdirty() local
754 pte = pte_mkdirty(pte); in pmd_mkdirty()
756 return __pmd(pte_val(pte)); in pmd_mkdirty()
761 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkclean() local
763 pte = pte_mkclean(pte); in pmd_mkclean()
765 return __pmd(pte_val(pte)); in pmd_mkclean()
770 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkyoung() local
772 pte = pte_mkyoung(pte); in pmd_mkyoung()
774 return __pmd(pte_val(pte)); in pmd_mkyoung()
779 pte_t pte = __pte(pmd_val(pmd)); in pmd_mkwrite_novma() local
781 pte = pte_mkwrite_novma(pte); in pmd_mkwrite_novma()
783 return __pmd(pte_val(pte)); in pmd_mkwrite_novma()
803 * very simple, it's just the physical address. PTE tables are of
840 pte_t pte = __pte(pmd_val(pmd)); in pmd_page_vaddr() local
843 pfn = pte_pfn(pte); in pmd_page_vaddr()
850 pte_t pte = __pte(pud_val(pud)); in pud_pgtable() local
853 pfn = pte_pfn(pte); in pud_pgtable()
874 pte_t pte = __pte(pud_val(pud)); in pud_leaf() local
876 return pte_val(pte) & _PAGE_PMD_HUGE; in pud_leaf()
882 pte_t pte = __pte(pud_val(pud)); in pud_pfn() local
884 return pte_pfn(pte); in pud_pfn()
888 #define pte_none(pte) (!pte_val(pte)) argument
896 /* Actual page table PTE updates. */
909 * and SUN4V pte layout, so this inline test is fine. in maybe_tlb_batch_add()
926 pte_t *ptep, pte_t pte, int fullmm) in __set_pte_at() argument
930 *ptep = pte; in __set_pte_at()
937 pte_t *ptep, pte_t pte, unsigned int nr) in set_ptes() argument
940 __set_pte_at(mm, addr, ptep, pte, 0); in set_ptes()
944 pte_val(pte) += PAGE_SIZE; in set_ptes()
959 #define move_pte(pte, old_addr, new_addr) \ argument
961 pte_t newpte = (pte); \
962 if (tlb_type != hypervisor && pte_present(pte)) { \
963 unsigned long this_pfn = pte_pfn(pte); \
1025 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
1028 static inline int pte_swp_exclusive(pte_t pte) in pte_swp_exclusive() argument
1030 return pte_val(pte) & _PAGE_SWP_EXCLUSIVE; in pte_swp_exclusive()
1033 static inline pte_t pte_swp_mkexclusive(pte_t pte) in pte_swp_mkexclusive() argument
1035 return __pte(pte_val(pte) | _PAGE_SWP_EXCLUSIVE); in pte_swp_mkexclusive()
1038 static inline pte_t pte_swp_clear_exclusive(pte_t pte) in pte_swp_clear_exclusive() argument
1040 return __pte(pte_val(pte) & ~_PAGE_SWP_EXCLUSIVE); in pte_swp_clear_exclusive()
1057 unsigned long addr, pte_t pte);
1066 pte_t pte, pte_t oldpte) in arch_do_swap_page() argument
1075 if (adi_state.enabled && (pte_val(pte) & _PAGE_MCD_4V)) in arch_do_swap_page()
1076 adi_restore_tags(mm, vma, addr, pte); in arch_do_swap_page()
1126 static inline bool pte_access_permitted(pte_t pte, bool write) in pte_access_permitted() argument
1140 return (pte_val(pte) & (prot | _PAGE_SPECIAL)) == prot; in pte_access_permitted()
1178 extern unsigned long pte_leaf_size(pte_t pte);