- 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.
This commit is contained in:
Marius Strobl 2010-10-14 21:34:53 +00:00
parent 4d0056a865
commit 45c347bed0

View File

@ -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++;