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-all
mailing list