Vcore states for preemption recovery (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 9 Nov 2011 23:12:01 +0000 (15:12 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Dec 2011 22:48:40 +0000 (14:48 -0800)
commit901aa5cfb181f3964251be5851eeaeb2ec811eae
treefaae0188508afe7866984e3f4afbbc2c05332fa9
parentd66c69e111ca7902040c5cad76465af7e9d1e581
Vcore states for preemption recovery (XCC)

The kernel writes the states, and userspace will CAS with the kernel
whenever it needs to make decisions / sync on the flags.  I'll use this
more in the future.

Side note: having the kernel set the K_LOCK prevents userspace from
thinking a vcore wasn't preempted.  Ex: it receives a message, but
__preempt hasn't happened yet.  The preempt recovery handler will
(eventually) check/spin on the K_LOCK, which gets cleared once the vcore
is fully preempted.

Reinstall your kernel header(s).
kern/include/ros/event.h
kern/src/process.c
user/parlib/include/vcore.h