diff options
Diffstat (limited to 'arch/powerpc/mm/hugetlbpage.c')
| -rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index ed0aab0208a6..f1c2d55b4377 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
| @@ -736,14 +736,21 @@ static int __init hugetlbpage_init(void) | |||
| 736 | 736 | ||
| 737 | if (!cpu_has_feature(CPU_FTR_16M_PAGE)) | 737 | if (!cpu_has_feature(CPU_FTR_16M_PAGE)) |
| 738 | return -ENODEV; | 738 | return -ENODEV; |
| 739 | |||
| 739 | /* Add supported huge page sizes. Need to change HUGE_MAX_HSTATE | 740 | /* Add supported huge page sizes. Need to change HUGE_MAX_HSTATE |
| 740 | * and adjust PTE_NONCACHE_NUM if the number of supported huge page | 741 | * and adjust PTE_NONCACHE_NUM if the number of supported huge page |
| 741 | * sizes changes. | 742 | * sizes changes. |
| 742 | */ | 743 | */ |
| 743 | set_huge_psize(MMU_PAGE_16M); | 744 | set_huge_psize(MMU_PAGE_16M); |
| 744 | set_huge_psize(MMU_PAGE_64K); | ||
| 745 | set_huge_psize(MMU_PAGE_16G); | 745 | set_huge_psize(MMU_PAGE_16G); |
| 746 | 746 | ||
| 747 | /* Temporarily disable support for 64K huge pages when 64K SPU local | ||
| 748 | * store support is enabled as the current implementation conflicts. | ||
| 749 | */ | ||
| 750 | #ifndef CONFIG_SPU_FS_64K_LS | ||
| 751 | set_huge_psize(MMU_PAGE_64K); | ||
| 752 | #endif | ||
| 753 | |||
| 747 | for (psize = 0; psize < MMU_PAGE_COUNT; ++psize) { | 754 | for (psize = 0; psize < MMU_PAGE_COUNT; ++psize) { |
| 748 | if (mmu_huge_psizes[psize]) { | 755 | if (mmu_huge_psizes[psize]) { |
| 749 | huge_pgtable_cache(psize) = kmem_cache_create( | 756 | huge_pgtable_cache(psize) = kmem_cache_create( |
