Protects cur_tf by disabling interrupts
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 28 Sep 2011 20:58:06 +0000 (13:58 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:07 +0000 (17:36 -0700)
commit4deac229d2320d5736a3bbb587b28f9bfa22cbac
tree86f4463e418fafffaecac4d2b747544ea215c68c
parent808d7ae273a02f552de3ade1fc0a06a36c190a95
Protects cur_tf by disabling interrupts

Disable interrupts to keep cur_tf or its contents from changing out from
under you.  This doesn't happen yet, since all kmsgs that change cur_tf
are still routine.

proc_yield() needs to be careful due to concurrent notifications.
proc_yield() is a lot like the other blocks of code that adjust a
process's state on a core (__startcore, __preempt, etc): it should be
run with interrupts disabled to avoid any interleavings.

The changes to _S code (fork/exec) are there just in case we muck with
cur_tf in the future.
kern/src/process.c
kern/src/resource.c
kern/src/smp.c
kern/src/syscall.c