Module Name: src Committed By: matt Date: Fri Mar 19 23:16:47 UTC 2010
Modified Files: src/sys/arch/mips/mips [matt-nb5-mips64]: cpu_subr.c Log Message: When booting the secondary processors, try to make the cpu_counter is close to cpu0's counter. To generate a diff of this commit: cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/sys/arch/mips/mips/cpu_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/mips/cpu_subr.c diff -u src/sys/arch/mips/mips/cpu_subr.c:1.1.2.4 src/sys/arch/mips/mips/cpu_subr.c:1.1.2.5 --- src/sys/arch/mips/mips/cpu_subr.c:1.1.2.4 Thu Mar 11 08:19:01 2010 +++ src/sys/arch/mips/mips/cpu_subr.c Fri Mar 19 23:16:47 2010 @@ -32,7 +32,7 @@ #include "opt_multiprocessor.h" #include "opt_sa.h" -__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.1.2.4 2010/03/11 08:19:01 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.1.2.5 2010/03/19 23:16:47 matt Exp $"); #include <sys/param.h> #include <sys/cpu.h> @@ -628,6 +628,9 @@ while ((cpus_running & cpu_mask) == 0) { /* spin, spin, spin */ } + mips3_cp0_count_write(ci->ci_data.cpu_cc_skew); + mips3_cp0_compare_write(ci->ci_data.cpu_cc_skew + ci->ci_cycles_per_hz); + ci->ci_data.cpu_cc_skew = 0; /* * Now turn on interrupts. @@ -656,6 +659,7 @@ if ((cpus_hatched & cpu_mask) == 0) continue; + ci->ci_data.cpu_cc_skew = mips3_cp0_count_read(); atomic_or_ulong(&ci->ci_flags, CPUF_RUNNING); atomic_or_ulong(&cpus_running, cpu_mask); }