_PAGE_HUGE
static inline int kvm_pte_huge(kvm_pte_t pte) { return pte & _PAGE_HUGE; }
return pte | _PAGE_HUGE;
return pte & ~_PAGE_HUGE;
#define _HPAGE_CHG_MASK (_PAGE_MODIFIED | _PAGE_SPECIAL | _PFN_MASK | _CACHE_MASK | _PAGE_PLV | _PAGE_HUGE)
if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
#define __swp_entry_to_pmd(x) __pmd((x).val | _PAGE_HUGE)
static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; }
pte_val(pte) |= _PAGE_HUGE;
return !!(pmd_val(pmd) & _PAGE_HUGE) && pmd_present(pmd);
pmd_val(pmd) |= _PAGE_HUGE;
#define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0)
#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
val = pmd_val ^ _PAGE_HUGE;
pmd_val(entry) |= _PAGE_HUGE | _PAGE_HGLOBAL;
int huge = pmd_val(pmdp_get(pmd)) & _PAGE_HUGE;
if (pte_val(*ptep) & _PAGE_HUGE) {
if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
if (unlikely(pmd_val(pmd) & _PAGE_HUGE))
static inline int pte_huge(pte_t pte) { return pte_val(pte) & _PAGE_HUGE; }
pte_val(pte) |= _PAGE_HUGE;
if (pmd_val(pmd) & _PAGE_HUGE)
return !!(pmd_val(pmd) & _PAGE_HUGE);
pmd_val(pmd) |= _PAGE_HUGE;
pmd_val(pmd) = (pmd_val(pmd) & (_PAGE_CHG_MASK | _PAGE_HUGE)) |
#ifdef _PAGE_HUGE
#define pmd_leaf(pmd) ((pmd_val(pmd) & _PAGE_HUGE) != 0)
#define pud_leaf(pud) ((pud_val(pud) & _PAGE_HUGE) != 0)
uasm_il_bbit1(p, r, scratch, ilog2(_PAGE_HUGE), label_tlb_huge_update);
psn = ilog2(_PAGE_HUGE); /* bit used to indicate huge page */
uasm_il_bbit1(p, r, tmp, ilog2(_PAGE_HUGE), lid);
uasm_i_andi(p, tmp, tmp, _PAGE_HUGE);
#define pte_huge(pte) (pte_val(pte) & _PAGE_HUGE)
(parisc_requires_coherency() ? 0 : _PAGE_HUGE)))
return __pte(pte_val(entry) | _PAGE_SPS | _PAGE_HUGE);
return __pte(pte_val(pte) | _PAGE_SPS | _PAGE_HUGE);
if (val & _PAGE_HUGE)
else if (IS_ENABLED(CONFIG_PPC_4K_PAGES) && !(val & _PAGE_HUGE))
.mask = _PAGE_HUGE,
.val = _PAGE_HUGE,