[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:
Bob Breuer
2006-03-23 22:36:19 -08:00
committed by David S. Miller
parent 674a396c6d
commit a54123e277
11 changed files with 211 additions and 180 deletions

View File

@@ -81,16 +81,9 @@ static inline int smp_call_function(void (*func)(void *info), void *info, int no
return 0;
}
extern __volatile__ int __cpu_number_map[NR_CPUS];
extern __volatile__ int __cpu_logical_map[NR_CPUS];
static inline int cpu_logical_map(int cpu)
{
return __cpu_logical_map[cpu];
}
static inline int cpu_number_map(int cpu)
{
return __cpu_number_map[cpu];
return cpu;
}
static inline int hard_smp4m_processor_id(void)