mon_kpfret(): return from a kernel page fault
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 30 Sep 2014 18:41:16 +0000 (11:41 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 30 Sep 2014 18:41:16 +0000 (11:41 -0700)
commitd442ce1d43cbec6cf41039dfb9067c2e893c50b0
treebc1ea2a5421663e0c8e9fe904558ad6dd7a015fd
parent19eb5f42223afd2be2968fef4dd50b940045ac90
mon_kpfret(): return from a kernel page fault

In the off chance the kernel faults and you want to try to recover, pass kpfret
the HW tf pointer.  It'll try to smp_idle, abandoning the kernel context.  This
means that any locks that were held are still locked, so you might deadlock.

This can't handle a nested fault (like if you fault while trying to run
kpfret).
kern/include/monitor.h
kern/src/monitor.c