Use the macro for getting the trap type from the trapframe. Only set sticks (and acquire sched_lock) on entry from user mode. Add handlers for all kinds of mmu misses, and for interrupts from user mode. Acquire Giant before calling into the vm system so this runs with invariants. Try to get the restrictions for page faults on user memory from kernel mode right. Only set pcb_onfault and return to the alternate return code if this is actually a fault on user memory from kernel mode.
Use the macro for getting the trap type from the trapframe.
Only set sticks (and acquire sched_lock) on entry from user mode.
Add handlers for all kinds of mmu misses, and for interrupts from
user mode.
Acquire Giant before calling into the vm system so this runs with
invariants.
Try to get the restrictions for page faults on user memory from
kernel mode right.
Only set pcb_onfault and return to the alternate return code if
this is actually a fault on user memory from kernel mode.

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase