svn commit: r212559 - head/sys/powerpc/powerpc

Nathan Whitehorn nwhitehorn at FreeBSD.org
Mon Sep 13 15:36:42 UTC 2010


Author: nwhitehorn
Date: Mon Sep 13 15:36:42 2010
New Revision: 212559
URL: http://svn.freebsd.org/changeset/base/212559

Log:
  Fix a subtle bug uncovered by the recent one-shot timer import in which
  any spin locks acquired between the enabling of interrupts in
  machdep_ap_bootstrap() and the invocation of the scheduler would fail to
  have interrupts disabled due to the fake spinlock already held by the
  idle thread. sched_throw(NULL) will enable interrupts by itself when
  exiting this spinlock, so just let it do that and don't enable interrupts
  here.

Modified:
  head/sys/powerpc/powerpc/mp_machdep.c

Modified: head/sys/powerpc/powerpc/mp_machdep.c
==============================================================================
--- head/sys/powerpc/powerpc/mp_machdep.c	Mon Sep 13 15:30:09 2010	(r212558)
+++ head/sys/powerpc/powerpc/mp_machdep.c	Mon Sep 13 15:36:42 2010	(r212559)
@@ -94,9 +94,6 @@ machdep_ap_bootstrap(void)
 	/* Start per-CPU event timers. */
 	cpu_initclocks_ap();
 
-	/* Let the DEC and external interrupts go */
-	mtmsr(mfmsr() | PSL_EE);
-
 	/* Announce ourselves awake, and enter the scheduler */
 	sched_throw(NULL);
 }


More information about the svn-src-all mailing list