Process management via active messages
authorBarret Rhoden <brho@cs.berkeley.edu>
Sat, 22 Aug 2009 01:19:16 +0000 (18:19 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 31 Aug 2009 21:10:35 +0000 (14:10 -0700)
commit1abe0bb8ba5cc5c528de97fa4c2a855895834db5
treedd7098210d7b0d480d351e73557bfc9c485146c4
parent3f84028e6219c4e2fef8461a6a9a8f8b657d0d51
Process management via active messages

Replaces those horribly hackish send_ipi's with active messages.  Note
that the messages are being sent with the sync wrapper, which is just a
while(send) cpu_relax().  Meaning that it can deadlock the system,
especially when sending to yourself.  We need to do something a little
more intelligent for these situations (which is an arch-independent
issue).

Also fixed the x86 active messages to handle functions that don't return
(which was the point of all this in the first place).
kern/arch/i386/process.c
kern/arch/i386/trap.c
kern/arch/i386/trap.h
kern/arch/i386/trapentry.S
kern/include/env.h
kern/include/process.h
kern/include/smp.h
kern/include/trap.h
kern/src/manager.c
kern/src/process.c
kern/src/smp.c