pte_basic_t
__pte(((pte_basic_t)(pfn) << PFN_PTE_SHIFT) | pgprot_val(prot))
static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, pte_t *p,
pte_basic_t old;
*p = __pte((old & ~(pte_basic_t)clr) | set);
return __pte(((pte_basic_t)(pfn) << PTE_RPN_SHIFT) |
return __pte(((pte_basic_t)pfn << PAGE_SHIFT) | pgprot_val(pgprot) | _PAGE_PTE);
static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, pte_t *ptep,
pte_basic_t val = pte_val(pte);
static inline int number_of_cells_per_pte(pmd_t *pmd, pte_basic_t val, int huge)
static inline pte_basic_t __pte_update(struct mm_struct *mm, unsigned long addr, pte_t *p,
pte_basic_t *entry = (pte_basic_t *)p;
pte_basic_t old = pte_val(*p);
pte_basic_t new = (old & ~(pte_basic_t)clr) | set;
static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, pte_t *ptep,
pte_basic_t old;
pte_basic_t val = READ_ONCE(ptep->pte);
pte_basic_t val = (tsize << _PAGE_PSIZE_SHIFT) & _PAGE_PSIZE_MSK;
return __pte((pte_val(entry) & ~(pte_basic_t)_PAGE_PSIZE_MSK) | val);
return __pte(((pte_basic_t)(pfn) << PTE_RPN_SHIFT) |
static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, pte_t *p,
static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, pte_t *p,
pte_basic_t old = pte_val(*p);
pte_basic_t new = (old & ~(pte_basic_t)clr) | set;
pte_basic_t val = pte_val(pte);
typedef struct { pte_basic_t pte, pte1, pte2, pte3; } pte_t;
typedef struct { pte_basic_t pte; } pte_t;
typedef pte_basic_t pte_t;
static inline pte_basic_t pte_val(pte_t x)
static inline pte_basic_t pte_val(pte_t x)
#define PTE_T_ORDER (__builtin_ffs(sizeof(pte_basic_t)) - \
static pte_basic_t pte_update_delta(pte_t *ptep, unsigned long addr,
static void __set_huge_pte_at(pmd_t *pmd, pte_t *ptep, pte_basic_t val)
pte_basic_t *entry = (pte_basic_t *)ptep;