PMD_SHIFT
pmd_t *ret = pud_pgtable(*dir) + ((address >> PMD_SHIFT) & (PTRS_PER_PAGE - 1));
#define PMD_SIZE (1UL << PMD_SHIFT)
#define HPAGE_SHIFT PMD_SHIFT
#define PMD_SIZE BIT(PMD_SHIFT)
#define PTRS_PER_PMD BIT(PUD_SHIFT - PMD_SHIFT)
#define PTRS_PER_PTE BIT(PMD_SHIFT - PAGE_SHIFT)
#ifndef PMD_SHIFT
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PMD_MASK (~((1 << PMD_SHIFT) - 1))
#define HPAGE_SHIFT PMD_SHIFT
BUILD_BUG_ON((__fix_to_virt(__end_of_early_ioremap_region) >> PMD_SHIFT)
!= FIXADDR_TOP >> PMD_SHIFT);
#define SWAPPER_BLOCK_SHIFT PMD_SHIFT
#define IOREMAP_MAX_ORDER (PMD_SHIFT)
#define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
#define CONT_PMD_SHIFT (CONFIG_ARM64_CONT_PMD_SHIFT + PMD_SHIFT)
#define CONT_PMDS (1 << (CONT_PMD_SHIFT - PMD_SHIFT))
#define HPAGE_SHIFT PMD_SHIFT
return PMD_SHIFT;
vma_shift = PMD_SHIFT;
case PMD_SHIFT:
SPAN_NR_ENTRIES(FIXADDR_TOT_START, FIXADDR_TOP, PMD_SHIFT)
#define BM_PTE_TABLE_IDX(addr) __BM_TABLE_IDX(addr, PMD_SHIFT)
hugetlb_add_hstate(PMD_SHIFT - PAGE_SHIFT);
#define ARM64_MEMSTART_SHIFT PMD_SHIFT
#define KPTI_NG_TEMP_VA (-(1UL << PMD_SHIFT))
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PGDIR_SHIFT (PMD_SHIFT + (PAGE_SHIFT - PTRLOG))
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PUD_SHIFT (PMD_SHIFT + (PAGE_SHIFT - PTRLOG))
DEFINE(_PMD_SHIFT, PMD_SHIFT);
pmd_i = PMD_SHIFT;
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PMD_SIZE (1UL << PMD_SHIFT)
# define PGDIR_SHIFT (PMD_SHIFT + (PAGE_SHIFT + PMD_TABLE_ORDER - 3))
#define PUD_SHIFT (PMD_SHIFT + (PAGE_SHIFT + PMD_TABLE_ORDER - 3))
DEFINE(_PMD_SHIFT, PMD_SHIFT);
uasm_i_dsrl_safe(p, scratch, tmp, PMD_SHIFT - 3);
pgd_w = PGDIR_SHIFT - PMD_SHIFT + PGD_TABLE_ORDER;
pmd_i = PMD_SHIFT; /* 2nd level PMD */
pmd_w = PMD_SHIFT - PAGE_SHIFT;
pwfield |= PMD_SHIFT << MIPS_PWFIELD_MDI_SHIFT;
uasm_i_dsrl_safe(p, tmp, tmp, PMD_SHIFT-3); /* get pmd offset in bytes */
(((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1))
#define HPAGE_SHIFT PMD_SHIFT /* fixed for transparent huge pages */
#define PMD_SIZE (1UL << PMD_SHIFT)
DEFINE(ASM_PMD_SHIFT, PMD_SHIFT);
DEFINE(ASM_PMD_ENTRY, ((PAGE_OFFSET & PMD_MASK) >> PMD_SHIFT));
start_pmd = ((start_vaddr >> PMD_SHIFT) & (PTRS_PER_PMD - 1));
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PUD_SHIFT (PMD_SHIFT + PMD_INDEX_SIZE)
if (mmu_psize_defs[MMU_PAGE_2M].shift == PMD_SHIFT)
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PUD_SHIFT (PMD_SHIFT + PMD_INDEX_SIZE)
shift = PMD_SHIFT;
if (shift == PMD_SHIFT)
PMD_SHIFT, NULL, lpid);
0, pte_val(pte), lgpa, PMD_SHIFT);
kvmppc_unmap_pte(kvm, pmdp_ptep(pmd), lgpa, PMD_SHIFT, NULL,
} else if (large_enable && shift == PMD_SHIFT &&
return PMD_SHIFT;
if (shift == PMD_SHIFT)
if (PMD_SHIFT < l1_shift)
actual_shift = PMD_SHIFT;
max_hpte_count = 1U << (PMD_SHIFT - shift);
if (mmu_psize_defs[MMU_PAGE_16M].shift != PMD_SHIFT)
if (hugeshift == PMD_SHIFT && psize == MMU_PAGE_16M)
pdshift = PMD_SHIFT;
max_hpte_count = 1U << (PMD_SHIFT - shift);
#define HPAGE_SHIFT PMD_SHIFT
#define pmd_index(addr) (((addr) >> PMD_SHIFT) & (PTRS_PER_PMD - 1))
#define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
hugepage_shift = PMD_SHIFT;
BUG_ON((__fix_to_virt(FIX_BTMAP_BEGIN) >> PMD_SHIFT)
!= (__fix_to_virt(FIX_BTMAP_END) >> PMD_SHIFT));
#define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1))
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PMD_SIZE (1UL << PMD_SHIFT)
#define PMD_SIZE (_AC(1,UL) << PMD_SHIFT)
#define PUD_SHIFT (PMD_SHIFT + PMD_BITS)
#if (PMD_SHIFT != HPAGE_SHIFT)
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
698: sllx VADDR, 64 - PMD_SHIFT, REG2; \
sllx VADDR, 64 - (PMD_SHIFT + PMD_BITS), REG2; \
sllx VADDR, 64 - PMD_SHIFT, REG2; \
shift = PMD_SHIFT;
shift = PMD_SHIFT;
#define PMD_SIZE (1UL << PMD_SHIFT)
int idx = i + (physaddr >> PMD_SHIFT);
# define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT
#define FIXADDR_TOP (round_up(VSYSCALL_ADDR + PAGE_SIZE, 1<<PMD_SHIFT) - \
#define HPAGE_SHIFT PMD_SHIFT
#define IOREMAP_MAX_ORDER (PMD_SHIFT)
# define PMD_SIZE (1UL << PMD_SHIFT)
.quad (START) + (i << PMD_SHIFT) + (PERM) ; \
#define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
return step_size << (PMD_SHIFT - PAGE_SHIFT - 1);
int pmd_idx_kmap_begin = fix_to_virt(FIX_KMAP_END) >> PMD_SHIFT;
int pmd_idx_kmap_end = fix_to_virt(FIX_KMAP_BEGIN) >> PMD_SHIFT;
if ((vaddr >> PMD_SHIFT) >= pmd_idx_kmap_begin &&
(vaddr >> PMD_SHIFT) <= pmd_idx_kmap_end)
int pmd_idx_kmap_begin = fix_to_virt(FIX_KMAP_END) >> PMD_SHIFT;
int pmd_idx_kmap_end = fix_to_virt(FIX_KMAP_BEGIN) >> PMD_SHIFT;
&& (vaddr >> PMD_SHIFT) >= pmd_idx_kmap_begin
&& (vaddr >> PMD_SHIFT) <= pmd_idx_kmap_end) {
BUILD_BUG_ON((fix_to_virt(0) + PAGE_SIZE) & ((1 << PMD_SHIFT) - 1));
WARN_ON((fix_to_virt(0) + PAGE_SIZE) & ((1 << PMD_SHIFT) - 1));
BUILD_BUG_ON((__fix_to_virt(FIX_BTMAP_BEGIN) >> PMD_SHIFT)
!= (__fix_to_virt(FIX_BTMAP_END) >> PMD_SHIFT));
LPS = (1 << PMD_SHIFT),
LPS = (1 << PMD_SHIFT),
__FIXADDR_TOP = round_down(-reserve, 1 << PMD_SHIFT) - PAGE_SIZE;
bool pmd = info->stride_shift == PMD_SHIFT;
if (info->stride_shift <= PMD_SHIFT) {
#define PFN_PMD_MASK GENMASK_ULL(63, PMD_SHIFT - PAGE_SHIFT)
nr_pamt_entries = tdmr->size >> PMD_SHIFT;
n_pt = roundup(size, PMD_SIZE) >> PMD_SHIFT;
#define VMW_BALLOON_2M_ORDER (PMD_SHIFT - PAGE_SHIFT)
#define PMD_SIZE (1UL << PMD_SHIFT)
return PMD_SHIFT;
#define HPAGE_PMD_SHIFT PMD_SHIFT
if ((huge_page_shift(h) == PMD_SHIFT) ||
return (address >> PMD_SHIFT) & (PTRS_PER_PMD - 1);
#define PMD_ORDER (PMD_SHIFT - PAGE_SHIFT)
if (hmm_pfn_to_map_order(entry) + PAGE_SHIFT == PMD_SHIFT)
#define COMPACTION_HPAGE_ORDER (PMD_SHIFT - PAGE_SHIFT)
pte = arch_make_huge_pte(pte, PMD_SHIFT, VM_ACCESS_FLAGS);
hmm_pfn_flags_order(PMD_SHIFT - PAGE_SHIFT);
hmm_pfn_flags_order(PMD_SHIFT - PAGE_SHIFT);
return PMD_SHIFT;
if (max_page_shift < PMD_SHIFT)
shift = PMD_SHIFT;