diff options
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/init_64.c | 2 | ||||
-rw-r--r-- | arch/powerpc/mm/slb.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 611ad084b7e7..c78dc912411f 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c | |||
@@ -209,9 +209,10 @@ static int __init htab_dt_scan_seg_sizes(unsigned long node, | |||
209 | if (prop[0] == 40) { | 209 | if (prop[0] == 40) { |
210 | DBG("1T segment support detected\n"); | 210 | DBG("1T segment support detected\n"); |
211 | cur_cpu_spec->cpu_features |= CPU_FTR_1T_SEGMENT; | 211 | cur_cpu_spec->cpu_features |= CPU_FTR_1T_SEGMENT; |
212 | return 1; | ||
212 | } | 213 | } |
213 | return 1; | ||
214 | } | 214 | } |
215 | cur_cpu_spec->cpu_features &= ~CPU_FTR_NO_SLBIE_B; | ||
215 | return 0; | 216 | return 0; |
216 | } | 217 | } |
217 | 218 | ||
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index e91da675bb3b..d9c82d3d6482 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c | |||
@@ -240,7 +240,7 @@ int __meminit vmemmap_populate(struct page *start_page, | |||
240 | return -ENOMEM; | 240 | return -ENOMEM; |
241 | 241 | ||
242 | printk(KERN_WARNING "vmemmap %08lx allocated at %p, " | 242 | printk(KERN_WARNING "vmemmap %08lx allocated at %p, " |
243 | "physical %p.\n", start, p, __pa(p)); | 243 | "physical %08lx.\n", start, p, __pa(p)); |
244 | 244 | ||
245 | mapped = htab_bolt_mapping(start, start + page_size, | 245 | mapped = htab_bolt_mapping(start, start + page_size, |
246 | __pa(p), mode_rw, mmu_linear_psize, | 246 | __pa(p), mode_rw, mmu_linear_psize, |
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index 6c164cec9d2c..bbd2c512ee05 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c | |||
@@ -157,7 +157,8 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm) | |||
157 | unsigned long stack = KSTK_ESP(tsk); | 157 | unsigned long stack = KSTK_ESP(tsk); |
158 | unsigned long unmapped_base; | 158 | unsigned long unmapped_base; |
159 | 159 | ||
160 | if (offset <= SLB_CACHE_ENTRIES) { | 160 | if (!cpu_has_feature(CPU_FTR_NO_SLBIE_B) && |
161 | offset <= SLB_CACHE_ENTRIES) { | ||
161 | int i; | 162 | int i; |
162 | asm volatile("isync" : : : "memory"); | 163 | asm volatile("isync" : : : "memory"); |
163 | for (i = 0; i < offset; i++) { | 164 | for (i = 0; i < offset; i++) { |