diff options
Diffstat (limited to 'arch/powerpc/mm/hash_utils_64.c')
-rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index b2f3dbca6952..f15dfb92dec0 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -329,12 +329,14 @@ static void __init htab_init_page_sizes(void) | |||
329 | */ | 329 | */ |
330 | if (mmu_psize_defs[MMU_PAGE_16M].shift) | 330 | if (mmu_psize_defs[MMU_PAGE_16M].shift) |
331 | mmu_huge_psize = MMU_PAGE_16M; | 331 | mmu_huge_psize = MMU_PAGE_16M; |
332 | /* With 4k/4level pagetables, we can't (for now) cope with a | ||
333 | * huge page size < PMD_SIZE */ | ||
332 | else if (mmu_psize_defs[MMU_PAGE_1M].shift) | 334 | else if (mmu_psize_defs[MMU_PAGE_1M].shift) |
333 | mmu_huge_psize = MMU_PAGE_1M; | 335 | mmu_huge_psize = MMU_PAGE_1M; |
334 | 336 | ||
335 | /* Calculate HPAGE_SHIFT and sanity check it */ | 337 | /* Calculate HPAGE_SHIFT and sanity check it */ |
336 | if (mmu_psize_defs[mmu_huge_psize].shift > 16 && | 338 | if (mmu_psize_defs[mmu_huge_psize].shift > MIN_HUGEPTE_SHIFT && |
337 | mmu_psize_defs[mmu_huge_psize].shift < 28) | 339 | mmu_psize_defs[mmu_huge_psize].shift < SID_SHIFT) |
338 | HPAGE_SHIFT = mmu_psize_defs[mmu_huge_psize].shift; | 340 | HPAGE_SHIFT = mmu_psize_defs[mmu_huge_psize].shift; |
339 | else | 341 | else |
340 | HPAGE_SHIFT = 0; /* No huge pages dude ! */ | 342 | HPAGE_SHIFT = 0; /* No huge pages dude ! */ |