From: James S. <jsi...@us...> - 2002-05-30 20:42:44
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv29100/arch/mips/kernel Modified Files: irq.c proc.c smp.c Log Message: Updated Mips 64 to OSS tree. Index: irq.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/irq.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- irq.c 18 Mar 2002 22:38:02 -0000 1.11 +++ irq.c 30 May 2002 20:42:08 -0000 1.12 @@ -76,13 +76,13 @@ int get_irq_list(char *buf) { + int i, j; struct irqaction * action; char *p = buf; - int i; p += sprintf(p, " "); - for (i=0; i < 1 /*smp_num_cpus*/; i++) - p += sprintf(p, "CPU%d ", i); + for (j=0; j<smp_num_cpus; j++) + p += sprintf(p, "CPU%d ",j); *p++ = '\n'; for (i = 0 ; i < NR_IRQS ; i++) { @@ -90,7 +90,13 @@ if (!action) continue; p += sprintf(p, "%3d: ",i); +#ifndef CONFIG_SMP p += sprintf(p, "%10u ", kstat_irqs(i)); +#else + for (j = 0; j < smp_num_cpus; j++) + p += sprintf(p, "%10u ", + kstat.irqs[cpu_logical_map(j)][i]); +#endif p += sprintf(p, " %14s", irq_desc[i].handler->typename); p += sprintf(p, " %s", action->name); @@ -98,7 +104,8 @@ p += sprintf(p, ", %s", action->name); *p++ = '\n'; } - p += sprintf(p, "ERR: %10lu\n", atomic_read(&irq_err_count)); + p += sprintf(p, "\n"); + p += sprintf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); return p - buf; } Index: proc.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/proc.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- proc.c 29 Apr 2002 23:05:11 -0000 1.17 +++ proc.c 30 May 2002 20:42:08 -0000 1.18 @@ -59,17 +59,15 @@ [CPU_TX3912] "TX3912", [CPU_TX3922] "TX3922", [CPU_TX3927] "TX3927", - [CPU_AU1000] "Au1000", + [CPU_AU1000] "Au1000", [CPU_AU1500] "Au1500", - [CPU_AU1100] "Au1100", [CPU_4KEC] "MIPS 4KEc", [CPU_4KSC] "MIPS 4KSc", [CPU_VR41XX] "NEC Vr41xx", [CPU_R5500] "R5500", [CPU_TX49XX] "TX49xx", - [CPU_TX39XX] "TX39xx", - [CPU_R5900] "R5900", - [CPU_RC32300] "RC32300" + [CPU_TX39XX] "TX39xx", + [CPU_20KC] "MIPS 20Kc" }; @@ -81,7 +79,7 @@ char fmt [64]; #ifdef CONFIG_SMP - if (!(cpu_online_map & (1<<n))) + if (!CPUMASK_TSTB(cpu_online_map, n)) return 0; #endif Index: smp.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/smp.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- smp.c 24 Apr 2002 17:33:03 -0000 1.17 +++ smp.c 30 May 2002 20:42:08 -0000 1.18 @@ -18,7 +18,6 @@ * Copyright (C) 2000, 2001 Silicon Graphics, Inc. * Copyright (C) 2000, 2001 Broadcom Corporation */ -#include <linux/config.h> #include <linux/cache.h> #include <linux/init.h> #include <linux/spinlock.h> @@ -43,8 +42,11 @@ /* Ze Big Kernel Lock! */ spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED; int smp_threads_ready; +atomic_t smp_commenced = ATOMIC_INIT(0); int smp_num_cpus = 1; /* Number that came online. */ cpumask_t cpu_online_map; /* Bitmask of currently online CPUs */ +int __cpu_number_map[NR_CPUS]; +int __cpu_logical_map[NR_CPUS]; struct cpuinfo_mips cpu_data[NR_CPUS]; void (*volatile smp_cpu0_finalize)(void); @@ -107,7 +109,8 @@ void __init smp_commence(void) { - /* Not sure what to do here yet */ + wmb(); + atomic_set(&smp_commenced, 1); } void smp_send_reschedule(int cpu) |