Author: marius
Date: Thu Oct 14 21:34:53 2010
New Revision: 213868
URL: http://svn.freebsd.org/changeset/base/213868

Log:
  - 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:
  head/sys/sparc64/sparc64/mp_machdep.c

Modified: head/sys/sparc64/sparc64/mp_machdep.c
==============================================================================
--- head/sys/sparc64/sparc64/mp_machdep.c       Thu Oct 14 21:30:13 2010        
(r213867)
+++ head/sys/sparc64/sparc64/mp_machdep.c       Thu Oct 14 21:34:53 2010        
(r213868)
@@ -433,6 +433,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();
 
@@ -445,7 +451,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);
 
        smp_cpus++;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to