Vcore mapping and idle core management
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 31 Aug 2009 20:48:13 +0000 (13:48 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 1 Sep 2009 17:41:10 +0000 (10:41 -0700)
commit329670f9fe227a2f236f31fbaed94a028b6cd296
treec9b315d537bc2b9c48c87393bcb7645ce8fa1b9d
parent1abe0bb8ba5cc5c528de97fa4c2a855895834db5
Vcore mapping and idle core management

Infrastructure for tracking idle cores (needed becauses processes can
kill themselves).  In general, the vcoremap (and idlecoremap) are set
before proc_run(), and deallocated/fixed up *during* proc_destroy.

Also this makes __startcore and __death (somewhat) arch independent.
__startcore now sets the vcoreid (instead of just 1 to signal an extra
core), which is easy with active messages.

If you run it with deputy on, try backtracing or kfs_running
roslib_spawn.
16 files changed:
kern/arch/i386/env.c
kern/arch/i386/process.c
kern/arch/sparc/env.c
kern/arch/sparc/env.c.save [deleted file]
kern/arch/sparc/env.c.save.1 [deleted file]
kern/include/env.h
kern/include/monitor.h
kern/include/process.h
kern/src/env.c
kern/src/init.c
kern/src/manager.c
kern/src/monitor.c
kern/src/pmap.c
kern/src/process.c
kern/src/string.c
user/roslib/src/i386/entry.S