Cleans up the kernel's view of SCPs
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 14 Jul 2015 22:49:45 +0000 (18:49 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jul 2015 20:07:53 +0000 (16:07 -0400)
commit43b755a984ed08a7f889cb93f32bd41007fc1905
treedd73e321c9a5f90ba159ddacbb66f03206f32084
parent2b9d7984120d920864bf9ee433c86e2a781bb3a6
Cleans up the kernel's view of SCPs

For a number of years, the kernel has used Vcore 0 as the SCPs fake
vcore.  This is now official: no more TODO VC#!

While documenting this, I noticed a couple places where we were not
consistent with our treatment of VC 0.  For instance, SCPs didn't always
have VC 0 unmapped (ksched tick, proc_destroy()).  Likewise, some places
unmapped, but didn't toggle the seqctr (sys_exec()).

While none of those things mattered for the SCPs, since there is no
guarantee that the seqctr will be toggled, and once an SCP isn't
running, it's mapping probably doesn't matter much, it still needed to
be consistent.
kern/src/process.c
kern/src/schedule.c
kern/src/syscall.c