[SPARC]: Try to start getting SMP back into shape.
Todo items: - IRQ_INPROGRESS flag - use sparc64 irq buckets, or generic irq_desc? - sun4d - re-indent large chunks of sun4m_smp.c - some places assume sequential cpu numbering (i.e. 0,1 instead of 0,2) Last I checked (with 2.6.14), random programs segfault with dual HyperSPARC. And with SuperSPARC II's, it seems stable but will eventually die from a write lock error (wrong lock owner or something). I haven't tried the HyperSPARC + highmem combination recently, so that may still be a problem. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
674a396c6d
commit
a54123e277
@@ -1302,7 +1302,12 @@ void __init srmmu_paging_init(void)
|
||||
|
||||
flush_cache_all();
|
||||
srmmu_set_ctable_ptr((unsigned long)srmmu_ctx_table_phys);
|
||||
#ifdef CONFIG_SMP
|
||||
/* Stop from hanging here... */
|
||||
local_flush_tlb_all();
|
||||
#else
|
||||
flush_tlb_all();
|
||||
#endif
|
||||
poke_srmmu();
|
||||
|
||||
#ifdef CONFIG_SUN_IO
|
||||
@@ -1419,6 +1424,7 @@ static void __init init_vac_layout(void)
|
||||
max_size = vac_cache_size;
|
||||
if(vac_line_size < min_line_size)
|
||||
min_line_size = vac_line_size;
|
||||
//FIXME: cpus not contiguous!!
|
||||
cpu++;
|
||||
if (cpu >= NR_CPUS || !cpu_online(cpu))
|
||||
break;
|
||||
|
Reference in New Issue
Block a user