Allow sys_halt_core() to monitor notif_pending
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 20 Nov 2017 19:20:08 +0000 (14:20 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 22 Nov 2017 16:49:34 +0000 (11:49 -0500)
commit4a21f7b57e99664c7b109456da93d40fe0cf045b
tree96f761b62b3f94e1bd6963f76b5426b40cf4a55d
parentbb8124cb3291791bd7aaeeb847de4d8228b9f38c
Allow sys_halt_core() to monitor notif_pending

This lets the 2LS halt the core and wait for someone to touch
notif_pending, which is touched for any event delivery to the vcore.

2LSs that want to wake vcores without sending a full event will need to use
wake_vcore().  The force_ipi is to help them break out of spinning
uthreads.  We'll see if that's needed or not.  Some of this ties into the
long range 2LS changes I've been planning.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/riscv/arch.h
kern/arch/x86/arch.h
kern/arch/x86/idle.c
kern/src/syscall.c
user/parlib/include/parlib/riscv/arch.h
user/parlib/include/parlib/vcore.h
user/parlib/include/parlib/x86/arch.h
user/parlib/vcore.c