diff options
Diffstat (limited to 'arch/sparc/mm/srmmu.c')
-rw-r--r-- | arch/sparc/mm/srmmu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 27b0e0ba8581..58c65cc8d0d3 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
@@ -1302,7 +1302,12 @@ void __init srmmu_paging_init(void) | |||
1302 | 1302 | ||
1303 | flush_cache_all(); | 1303 | flush_cache_all(); |
1304 | srmmu_set_ctable_ptr((unsigned long)srmmu_ctx_table_phys); | 1304 | srmmu_set_ctable_ptr((unsigned long)srmmu_ctx_table_phys); |
1305 | #ifdef CONFIG_SMP | ||
1306 | /* Stop from hanging here... */ | ||
1307 | local_flush_tlb_all(); | ||
1308 | #else | ||
1305 | flush_tlb_all(); | 1309 | flush_tlb_all(); |
1310 | #endif | ||
1306 | poke_srmmu(); | 1311 | poke_srmmu(); |
1307 | 1312 | ||
1308 | #ifdef CONFIG_SUN_IO | 1313 | #ifdef CONFIG_SUN_IO |
@@ -1419,6 +1424,7 @@ static void __init init_vac_layout(void) | |||
1419 | max_size = vac_cache_size; | 1424 | max_size = vac_cache_size; |
1420 | if(vac_line_size < min_line_size) | 1425 | if(vac_line_size < min_line_size) |
1421 | min_line_size = vac_line_size; | 1426 | min_line_size = vac_line_size; |
1427 | //FIXME: cpus not contiguous!! | ||
1422 | cpu++; | 1428 | cpu++; |
1423 | if (cpu >= NR_CPUS || !cpu_online(cpu)) | 1429 | if (cpu >= NR_CPUS || !cpu_online(cpu)) |
1424 | break; | 1430 | break; |