Handle page faults within the virtual kernel process itself (what would be
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 7 Jan 2007 05:45:06 +0000 (05:45 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 7 Jan 2007 05:45:06 +0000 (05:45 +0000)
commit6092278a4d7e57ce66cc05ba47f4d099b19e175b
treeb1baf4316115df10b9d11320564e912699fd4e05
parentacc8e7c4b76af6f4af9c5d63611e109288621dbf
Handle page faults within the virtual kernel process itself (what would be
called kernel mode page faults in a real kernel).  Fortunately the system
trapframe is a subset of the ucontext supplied to userland signal function.

Since user vs kernel addresses and trap types cannot be discerned by looking
at the frame (because they are in entirely different VM spaces), separate
trap() into user_trap() and kern_trap().

Implement a poor-man's (really kludgy) version of copyin, copyout, and related
functions.

Implement and process T_PAGEFLT virtual kernel traps.  They work about 85% of
the time.

UFS is now able to mount the root filesystem.
sys/platform/vkernel/conf/files
sys/platform/vkernel/i386/exception.c [copied from sys/platform/vkernel/include/md_var.h with 63% similarity]
sys/platform/vkernel/i386/trap.c
sys/platform/vkernel/include/md_var.h
sys/platform/vkernel/platform/console.c
sys/platform/vkernel/platform/copyio.c
sys/platform/vkernel/platform/init.c