REAL_HPAGE_SHIFT
DEFINE(HUGEPAGE_SIZE, 1UL << REAL_HPAGE_SHIFT);
1 << (REAL_HPAGE_SHIFT - 20), 1 << (HPAGE_SHIFT - 20));
BUILD_BUG_ON(REAL_HPAGE_SHIFT > HPAGE_SHIFT);
for (i = 0; i < (1 << (HPAGE_SHIFT-REAL_HPAGE_SHIFT)); i++) {
addr += (1UL << REAL_HPAGE_SHIFT);
#define REAL_HPAGE_SIZE (_AC(1,UL) << REAL_HPAGE_SHIFT)
#define REAL_HPAGE_PER_HPAGE (_AC(1,UL) << (HPAGE_SHIFT - REAL_HPAGE_SHIFT))
#if REAL_HPAGE_SHIFT != 22
shift = REAL_HPAGE_SHIFT;
shift = REAL_HPAGE_SHIFT;
pte |= (addr & (1UL << REAL_HPAGE_SHIFT));
__update_mmu_tsb_insert(mm, MM_TSB_HUGE, REAL_HPAGE_SHIFT,
pte_val(pte) |= (address & (1UL << REAL_HPAGE_SHIFT));
REAL_HPAGE_SHIFT, address, pte_val(pte));
tlb_batch_add_one(mm, addr, exec, REAL_HPAGE_SHIFT);
REAL_HPAGE_SHIFT);
if (tb->hugepage_shift < REAL_HPAGE_SHIFT) {
__flush_huge_tsb_one(tb, REAL_HPAGE_SHIFT, base, nentries,
if (hugepage_shift < REAL_HPAGE_SHIFT) {
__flush_huge_tsb_one_entry(base, vaddr, REAL_HPAGE_SHIFT,
PAGE_SHIFT : REAL_HPAGE_SHIFT);