svn commit: r213976 - stable/7/sys/sparc64/sparc64

Marius Strobl marius at FreeBSD.org
Sun Oct 17 14:25:01 UTC 2010


Author: marius
Date: Sun Oct 17 14:25:01 2010
New Revision: 213976
URL: http://svn.freebsd.org/changeset/base/213976

Log:
  MFC: r213868
  
  - In the spirit of r212559 add a comment describing what will eventually
    lower the PIL.
  - Just as with the AP ensure that the (S)TICK timer(s) are in a known
    state when starting BSPs.

Modified:
  stable/7/sys/sparc64/sparc64/mp_machdep.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/sparc64/sparc64/mp_machdep.c
==============================================================================
--- stable/7/sys/sparc64/sparc64/mp_machdep.c	Sun Oct 17 13:47:03 2010	(r213975)
+++ stable/7/sys/sparc64/sparc64/mp_machdep.c	Sun Oct 17 14:25:01 2010	(r213976)
@@ -423,6 +423,12 @@ cpu_mp_bootstrap(struct pcpu *pc)
 	 */
 	cache_enable(pc->pc_impl);
 
+	/*
+	 * Clear (S)TICK timer(s) (including NPT) and ensure they are stopped.
+	 */
+	tick_clear(pc->pc_impl);
+	tick_stop(pc->pc_impl);
+
 	/* Lock the kernel TSB in the TLB. */
 	pmap_map_tsb();
 
@@ -435,7 +441,11 @@ cpu_mp_bootstrap(struct pcpu *pc)
 	/* Initialize global registers. */
 	cpu_setregs(pc);
 
-	/* Enable interrupts. */
+	/*
+	 * Enable interrupts.
+	 * Note that the PIL we be lowered indirectly via sched_throw(NULL)
+	 * when fake spinlock held by the idle thread eventually is released.
+	 */
 	wrpr(pstate, 0, PSTATE_KERNEL);
 
 	/* Start the (S)TICK interrupts. */


More information about the svn-src-stable-7 mailing list