Lines Matching full:pte

299 static inline unsigned long pte_napot(pte_t pte)  in pte_napot()  argument
301 return pte_val(pte) & _PAGE_NAPOT; in pte_napot()
304 static inline pte_t pte_mknapot(pte_t pte, unsigned int order) in pte_mknapot() argument
310 return __pte((pte_val(pte) & napot_mask) | napot_bit | _PAGE_NAPOT); in pte_mknapot()
317 static inline unsigned long pte_napot(pte_t pte) in pte_napot() argument
325 static inline unsigned long pte_pfn(pte_t pte) in pte_pfn() argument
327 unsigned long res = __page_val_to_pfn(pte_val(pte)); in pte_pfn()
329 if (has_svnapot() && pte_napot(pte)) in pte_pfn()
348 static inline pgprot_t pte_pgprot(pte_t pte) in pte_pgprot() argument
350 unsigned long pfn = pte_pfn(pte); in pte_pgprot()
352 return __pgprot(pte_val(pfn_pte(pfn, __pgprot(0))) ^ pte_val(pte)); in pte_pgprot()
355 static inline int pte_present(pte_t pte) in pte_present() argument
357 return (pte_val(pte) & (_PAGE_PRESENT | _PAGE_PROT_NONE)); in pte_present()
373 static inline int pte_none(pte_t pte) in pte_none() argument
375 return (pte_val(pte) == 0); in pte_none()
378 static inline int pte_write(pte_t pte) in pte_write() argument
380 return pte_val(pte) & _PAGE_WRITE; in pte_write()
383 static inline int pte_exec(pte_t pte) in pte_exec() argument
385 return pte_val(pte) & _PAGE_EXEC; in pte_exec()
388 static inline int pte_user(pte_t pte) in pte_user() argument
390 return pte_val(pte) & _PAGE_USER; in pte_user()
393 static inline int pte_huge(pte_t pte) in pte_huge() argument
395 return pte_present(pte) && (pte_val(pte) & _PAGE_LEAF); in pte_huge()
398 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
400 return pte_val(pte) & _PAGE_DIRTY; in pte_dirty()
403 static inline int pte_young(pte_t pte) in pte_young() argument
405 return pte_val(pte) & _PAGE_ACCESSED; in pte_young()
408 static inline int pte_special(pte_t pte) in pte_special() argument
410 return pte_val(pte) & _PAGE_SPECIAL; in pte_special()
413 /* static inline pte_t pte_rdprotect(pte_t pte) */
415 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
417 return __pte(pte_val(pte) & ~(_PAGE_WRITE)); in pte_wrprotect()
424 static inline bool pte_uffd_wp(pte_t pte) in pte_uffd_wp() argument
426 return !!(pte_val(pte) & _PAGE_UFFD_WP); in pte_uffd_wp()
429 static inline pte_t pte_mkuffd_wp(pte_t pte) in pte_mkuffd_wp() argument
431 return pte_wrprotect(__pte(pte_val(pte) | _PAGE_UFFD_WP)); in pte_mkuffd_wp()
434 static inline pte_t pte_clear_uffd_wp(pte_t pte) in pte_clear_uffd_wp() argument
436 return __pte(pte_val(pte) & ~(_PAGE_UFFD_WP)); in pte_clear_uffd_wp()
439 static inline bool pte_swp_uffd_wp(pte_t pte) in pte_swp_uffd_wp() argument
441 return !!(pte_val(pte) & _PAGE_SWP_UFFD_WP); in pte_swp_uffd_wp()
444 static inline pte_t pte_swp_mkuffd_wp(pte_t pte) in pte_swp_mkuffd_wp() argument
446 return __pte(pte_val(pte) | _PAGE_SWP_UFFD_WP); in pte_swp_mkuffd_wp()
449 static inline pte_t pte_swp_clear_uffd_wp(pte_t pte) in pte_swp_clear_uffd_wp() argument
451 return __pte(pte_val(pte) & ~(_PAGE_SWP_UFFD_WP)); in pte_swp_clear_uffd_wp()
455 /* static inline pte_t pte_mkread(pte_t pte) */
457 static inline pte_t pte_mkwrite_novma(pte_t pte) in pte_mkwrite_novma() argument
459 return __pte(pte_val(pte) | _PAGE_WRITE); in pte_mkwrite_novma()
462 /* static inline pte_t pte_mkexec(pte_t pte) */
464 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty() argument
466 return __pte(pte_val(pte) | _PAGE_DIRTY | _PAGE_SOFT_DIRTY); in pte_mkdirty()
469 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
471 return __pte(pte_val(pte) & ~(_PAGE_DIRTY)); in pte_mkclean()
474 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung() argument
476 return __pte(pte_val(pte) | _PAGE_ACCESSED); in pte_mkyoung()
479 static inline pte_t pte_mkold(pte_t pte) in pte_mkold() argument
481 return __pte(pte_val(pte) & ~(_PAGE_ACCESSED)); in pte_mkold()
484 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
486 return __pte(pte_val(pte) | _PAGE_SPECIAL); in pte_mkspecial()
489 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge() argument
491 return pte; in pte_mkhuge()
499 static inline bool pte_soft_dirty(pte_t pte) in pte_soft_dirty() argument
501 return !!(pte_val(pte) & _PAGE_SOFT_DIRTY); in pte_soft_dirty()
504 static inline pte_t pte_mksoft_dirty(pte_t pte) in pte_mksoft_dirty() argument
506 return __pte(pte_val(pte) | _PAGE_SOFT_DIRTY); in pte_mksoft_dirty()
509 static inline pte_t pte_clear_soft_dirty(pte_t pte) in pte_clear_soft_dirty() argument
511 return __pte(pte_val(pte) & ~(_PAGE_SOFT_DIRTY)); in pte_clear_soft_dirty()
514 static inline bool pte_swp_soft_dirty(pte_t pte) in pte_swp_soft_dirty() argument
516 return !!(pte_val(pte) & _PAGE_SWP_SOFT_DIRTY); in pte_swp_soft_dirty()
519 static inline pte_t pte_swp_mksoft_dirty(pte_t pte) in pte_swp_mksoft_dirty() argument
521 return __pte(pte_val(pte) | _PAGE_SWP_SOFT_DIRTY); in pte_swp_mksoft_dirty()
524 static inline pte_t pte_swp_clear_soft_dirty(pte_t pte) in pte_swp_clear_soft_dirty() argument
526 return __pte(pte_val(pte) & ~(_PAGE_SWP_SOFT_DIRTY)); in pte_swp_clear_soft_dirty()
531 #define pte_leaf_size(pte) (pte_napot(pte) ? \ argument
532 napot_cont_size(napot_cont_order(pte)) :\
540 static inline int pte_protnone(pte_t pte) in pte_protnone() argument
542 return (pte_val(pte) & (_PAGE_PRESENT | _PAGE_PROT_NONE)) == _PAGE_PROT_NONE; in pte_protnone()
552 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
558 return __pte((pte_val(pte) & _PAGE_CHG_MASK) | newprot_val); in pte_modify()
571 * Svvptc guarantees that the new valid pte will be visible within in update_mmu_cache_range()
619 void flush_icache_pte(struct mm_struct *mm, pte_t pte);
663 pte_t pte = __pte(atomic_long_xchg((atomic_long_t *)ptep, 0)); in ptep_get_and_clear() local
665 page_table_check_pte_clear(mm, pte); in ptep_get_and_clear()
667 return pte; in ptep_get_and_clear()
730 * Both Svade and Svadu control the hardware behavior when the PTE A/D bits need to be set. By
743 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() argument
745 return __pmd(pte_val(pte)); in pte_pmd()
748 static inline pud_t pte_pud(pte_t pte) in pte_pud() argument
750 return __pud(pte_val(pte)); in pte_pud()
959 static inline bool pte_user_accessible_page(pte_t pte) in pte_user_accessible_page() argument
961 return pte_present(pte) && pte_user(pte); in pte_user_accessible_page()
1140 * Format of swap PTE:
1164 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
1167 static inline bool pte_swp_exclusive(pte_t pte) in pte_swp_exclusive() argument
1169 return pte_val(pte) & _PAGE_SWP_EXCLUSIVE; in pte_swp_exclusive()
1172 static inline pte_t pte_swp_mkexclusive(pte_t pte) in pte_swp_mkexclusive() argument
1174 return __pte(pte_val(pte) | _PAGE_SWP_EXCLUSIVE); in pte_swp_mkexclusive()
1177 static inline pte_t pte_swp_clear_exclusive(pte_t pte) in pte_swp_clear_exclusive() argument
1179 return __pte(pte_val(pte) & ~_PAGE_SWP_EXCLUSIVE); in pte_swp_clear_exclusive()