diff -x .svn -I '$FreeBSD.*$' -Naur head/sys/kern/kern_clocksource.c armv6/sys/kern/kern_clocksource.c --- head/sys/kern/kern_clocksource.c 2012-08-08 13:43:36.266724036 -0700 +++ armv6/sys/kern/kern_clocksource.c 2012-08-09 12:08:29.630724614 -0700 @@ -317,14 +317,16 @@ nonidle = !state->idle; if ((timer->et_flags & ET_FLAGS_PERCPU) == 0) { #ifdef SMP - CPU_FOREACH(cpu) { - if (curcpu == cpu) - continue; - state = DPCPU_ID_PTR(cpu, timerstate); - nonidle += !state->idle; - if (bintime_cmp(event, &state->nextevent, >)) { - *event = state->nextevent; - c = cpu; + if (smp_started) { + CPU_FOREACH(cpu) { + if (curcpu == cpu) + continue; + state = DPCPU_ID_PTR(cpu, timerstate); + nonidle += !state->idle; + if (bintime_cmp(event, &state->nextevent, >)) { + *event = state->nextevent; + c = cpu; + } } } #endif