Public VCPD mboxes (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 5 Dec 2011 23:32:58 +0000 (15:32 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Dec 2011 22:48:41 +0000 (14:48 -0800)
commit3b2ac1496f33af749955db733bc46b95b3c159b5
treeb7c56ed4381b91da419c1969b741bf2a7ff6da37
parent04b0f89e918f0f14df2bc6fdc196019a46a5e9c0
Public VCPD mboxes (XCC)

Each vcore has two mboxes, one for public messages (meaning they can be
read by any vcore) and one for private (specific to that vcore only).
Both are checked by handle_events().  We need this because there are
situations where we will need to read another vcores messages
(preemption recovery) to make sure we get certain messages
(specifically, INDIRs and preemption notices) regardless of preemption,
yielding, etc.

Check the Documentation for more info.  We don't use these yet for much
(there's no ev_q flag, for instance), and preemptions still use INDIRs.
That'll change shortly.

Reinstall your kernel headers.
14 files changed:
Documentation/async_events.txt
kern/include/event.h
kern/include/ros/event.h
kern/src/event.c
kern/src/monitor.c
kern/src/syscall.c
tests/eth_audio.c
tests/mhello.c
tests/msr_dumb_while.c
user/c3po/threads/vcore.c
user/parlib/event.c
user/parlib/include/event.h
user/parlib/vcore.c
user/pthread/pthread.c