_PAGE_PFN_SHIFT
#define PFN_PTE_SHIFT (PAGE_SHIFT - 12 + _PAGE_PFN_SHIFT)
set_pmd(pmd, __pmd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
set_pmd(pmd, __pmd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
set_pud(pud, __pud((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
set_p4d(p4d, __p4d((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
__p4d((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
set_pgd(pgd, __pgd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
__pgd((pfn << _PAGE_PFN_SHIFT) | _PAGE_TABLE));
#define napot_cont_order(val) (__builtin_ctzl((val.pte >> _PAGE_PFN_SHIFT) << 1))
return __pud((pfn << _PAGE_PFN_SHIFT) | pgprot_val(prot));
return __pmd((pfn << _PAGE_PFN_SHIFT) | prot_val);
return __p4d((pfn << _PAGE_PFN_SHIFT) | pgprot_val(prot));
#define __page_val_to_pfn(_val) (((_val) & _PAGE_PFN_MASK) >> _PAGE_PFN_SHIFT)
return __pgd((pfn << _PAGE_PFN_SHIFT) | prot_val);
int pos = order - 1 + _PAGE_PFN_SHIFT;
unsigned long napot_mask = ~GENMASK(pos, _PAGE_PFN_SHIFT);
return __pte((pfn << _PAGE_PFN_SHIFT) | prot_val);
#define PFN_PTE_SHIFT _PAGE_PFN_SHIFT
pte_val(pteval) += 1 << _PAGE_PFN_SHIFT;
#define _io_pte_entry(pn, prot) ((_PAGE_PFN_MASK & ((pn) << _PAGE_PFN_SHIFT)) | (prot))