PUD_SHIFT
#define PUD_SIZE BIT(PUD_SHIFT)
#define PTRS_PER_PUD BIT(PGDIR_SHIFT - PUD_SHIFT)
#define PTRS_PER_PMD BIT(PUD_SHIFT - PMD_SHIFT)
#ifndef PUD_SHIFT
#define IOREMAP_MAX_ORDER (PUD_SHIFT)
#define PUD_SIZE (_AC(1, UL) << PUD_SHIFT)
#define pud_index(addr) (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))
return PUD_SHIFT;
case PUD_SHIFT:
SPAN_NR_ENTRIES(FIXADDR_TOT_START, FIXADDR_TOP, PUD_SHIFT)
return PUD_SHIFT - PAGE_SHIFT;
hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
#define ARM64_MEMSTART_SHIFT PUD_SHIFT
#define PUD_SIZE (1UL << PUD_SHIFT)
#define PGDIR_SHIFT (PUD_SHIFT + (PAGE_SHIFT - PTRLOG))
pud_i = PUD_SHIFT;
#define PUD_SIZE (1UL << PUD_SHIFT)
#define PGDIR_SHIFT (PUD_SHIFT + (PAGE_SHIFT + PUD_TABLE_ORDER - 3))
uasm_i_dsrl_safe(p, scratch, tmp, PUD_SHIFT - 3);
uasm_i_dsrl_safe(p, tmp, tmp, PUD_SHIFT - 3); /* get pud offset in bytes */
#define PUD_SIZE (1UL << PUD_SHIFT)
#define PGDIR_SHIFT (PUD_SHIFT + PUD_INDEX_SIZE)
return PUD_SHIFT;
if (mmu_psize_defs[MMU_PAGE_1G].shift == PUD_SHIFT)
#define PUD_SIZE (1UL << PUD_SHIFT)
#define PGDIR_SHIFT (PUD_SHIFT + PUD_INDEX_SIZE)
shift = PUD_SHIFT;
else if (shift == PUD_SHIFT)
0, pte_val(pte), hgpa, PUD_SHIFT);
kvmppc_unmap_pte(kvm, (pte_t *)pud, hgpa, PUD_SHIFT, NULL,
if (large_enable && shift == PUD_SHIFT &&
return PUD_SHIFT;
if (shift == PUD_SHIFT)
if (hugeshift == PUD_SHIFT && psize == MMU_PAGE_16G)
return PUD_SHIFT - PAGE_SHIFT;
pdshift = PUD_SHIFT;
#define pud_index(addr) (((addr) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))
#define PUD_SIZE (_AC(1, UL) << PUD_SHIFT)
#define IOREMAP_MAX_ORDER (PUD_SHIFT)
hugepage_shift = PUD_SHIFT;
hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
return PUD_SHIFT - PAGE_SHIFT;
BUG_ON((va - kernel_map.virt_addr) >> PUD_SHIFT);
#define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
return PUD_SHIFT - PAGE_SHIFT;
#define PUD_SIZE (_AC(1,UL) << PUD_SHIFT)
#define PGDIR_SHIFT (PUD_SHIFT + PUD_BITS)
sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
sllx VADDR, 64 - (PUD_SHIFT + PUD_BITS), REG2; \
shift = PUD_SHIFT;
shift = PUD_SHIFT;
#define PUD_SIZE (1UL << PUD_SHIFT)
gb_huge_pages = (pud_end - pud_start) >> PUD_SHIFT;
pud_end = pud_start + (max_gb_huge_pages << PUD_SHIFT);
i = physaddr >> PUD_SHIFT;
#define IOREMAP_MAX_ORDER (PUD_SHIFT)
#define pud_index(x) (((x) >> PUD_SHIFT) & (PTRS_PER_PUD - 1))
#define PUD_SIZE (_AC(1, UL) << PUD_SHIFT)
hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
return PUD_SHIFT - PAGE_SHIFT;
nr_pamt_entries = tdmr->size >> PUD_SHIFT;
n_pmd = roundup(size, PUD_SIZE) >> PUD_SHIFT;
#define PMD_SHIFT PUD_SHIFT
#define PUD_SIZE (1UL << PUD_SHIFT)
return PUD_SHIFT;
#define HPAGE_PUD_SHIFT PUD_SHIFT
(huge_page_shift(h) == PUD_SHIFT) ||
return (address >> PUD_SHIFT) & (PTRS_PER_PUD - 1);
#define PUD_ORDER (PUD_SHIFT - PAGE_SHIFT)
else if (hmm_pfn_to_map_order(entry) + PAGE_SHIFT == PUD_SHIFT)
hmm_pfn_flags_order(PUD_SHIFT - PAGE_SHIFT);
return PUD_SHIFT;
if (max_page_shift < PUD_SHIFT)