x86 interrupts are disabled til cur_tf is set
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 27 Sep 2011 21:27:36 +0000 (14:27 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:07 +0000 (17:36 -0700)
commit36cf731cafad7d48a3615d1d53e53fab408cf6fb
treefe464fd0f7bf450b2aac854f8a2d9b3331982714
parentc5acee2797d75f661c2474a5c3f8bdb535df5631
x86 interrupts are disabled til cur_tf is set

Whenever we're in the kernel with interrupts enabled, if there is a
process that is running (or should be running) on the core, current and
cur_tf should both be set.  On the first time into the kernel (syscall,
trap, etc) from userspace, cur_tf needs to get set.

Also remember that a 0'd cur_tf means that we should no longer run a
context (which happens after a kthread returns from blocking if the
process is no longer present).  In those situations, it is still okay to
have current set.  That is just which process's context we have loaded.
kern/arch/i686/trap.c
kern/arch/i686/trapentry.S