diff options
| -rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 2 | ||||
| -rw-r--r-- | include/asm-powerpc/cputable.h | 13 |
3 files changed, 6 insertions, 11 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 1915661c2c81..c0d2a694fa30 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
| @@ -277,7 +277,7 @@ static void __init htab_init_page_sizes(void) | |||
| 277 | * Not in the device-tree, let's fallback on known size | 277 | * Not in the device-tree, let's fallback on known size |
| 278 | * list for 16M capable GP & GR | 278 | * list for 16M capable GP & GR |
| 279 | */ | 279 | */ |
| 280 | if (cpu_has_feature(CPU_FTR_16M_PAGE) && !machine_is(iseries)) | 280 | if (cpu_has_feature(CPU_FTR_16M_PAGE)) |
| 281 | memcpy(mmu_psize_defs, mmu_psize_defaults_gp, | 281 | memcpy(mmu_psize_defs, mmu_psize_defaults_gp, |
| 282 | sizeof(mmu_psize_defaults_gp)); | 282 | sizeof(mmu_psize_defaults_gp)); |
| 283 | found: | 283 | found: |
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 1796644ec7dc..bdf2afbb60c1 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c | |||
| @@ -643,6 +643,8 @@ static int __init iseries_probe(void) | |||
| 643 | return 0; | 643 | return 0; |
| 644 | 644 | ||
| 645 | hpte_init_iSeries(); | 645 | hpte_init_iSeries(); |
| 646 | /* iSeries does not support 16M pages */ | ||
| 647 | cur_cpu_spec->cpu_features &= ~CPU_FTR_16M_PAGE; | ||
| 646 | 648 | ||
| 647 | return 1; | 649 | return 1; |
| 648 | } | 650 | } |
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h index 354f66da9dcf..6fe5c9d4ca3b 100644 --- a/include/asm-powerpc/cputable.h +++ b/include/asm-powerpc/cputable.h | |||
| @@ -155,16 +155,9 @@ extern void do_feature_fixups(unsigned long value, void *fixup_start, | |||
| 155 | 155 | ||
| 156 | #ifndef __ASSEMBLY__ | 156 | #ifndef __ASSEMBLY__ |
| 157 | 157 | ||
| 158 | #define CPU_FTR_PPCAS_ARCH_V2_BASE (CPU_FTR_SLB | \ | 158 | #define CPU_FTR_PPCAS_ARCH_V2 (CPU_FTR_SLB | \ |
| 159 | CPU_FTR_TLBIEL | CPU_FTR_NOEXECUTE | \ | 159 | CPU_FTR_TLBIEL | CPU_FTR_NOEXECUTE | \ |
| 160 | CPU_FTR_NODSISRALIGN) | 160 | CPU_FTR_NODSISRALIGN | CPU_FTR_16M_PAGE) |
| 161 | |||
| 162 | /* iSeries doesn't support large pages */ | ||
| 163 | #ifdef CONFIG_PPC_ISERIES | ||
| 164 | #define CPU_FTR_PPCAS_ARCH_V2 (CPU_FTR_PPCAS_ARCH_V2_BASE) | ||
| 165 | #else | ||
| 166 | #define CPU_FTR_PPCAS_ARCH_V2 (CPU_FTR_PPCAS_ARCH_V2_BASE | CPU_FTR_16M_PAGE) | ||
| 167 | #endif /* CONFIG_PPC_ISERIES */ | ||
| 168 | 161 | ||
| 169 | /* We only set the altivec features if the kernel was compiled with altivec | 162 | /* We only set the altivec features if the kernel was compiled with altivec |
| 170 | * support | 163 | * support |
