cvs commit: src/sys/machine/vkernel/conf files src/sys/machine/vkernel/i386 exception.c trap.c src/sys/machine/vkernel/include md_var.h src/sys/machine/vkernel/platform console.c copyio.c init.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jan 6 21:46:04 PST 2007
dillon 2007/01/06 21:45:06 PST
DragonFly src repository
Modified files:
sys/machine/vkernel/conf files
sys/machine/vkernel/i386 trap.c
sys/machine/vkernel/include md_var.h
sys/machine/vkernel/platform console.c copyio.c init.c
Added files:
sys/machine/vkernel/i386 exception.c
Log:
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.
Revision Changes Path
1.11 +2 -9 src/sys/machine/vkernel/conf/files
1.3 +338 -525 src/sys/machine/vkernel/i386/trap.c
1.7 +5 -0 src/sys/machine/vkernel/include/md_var.h
1.2 +8 -3 src/sys/machine/vkernel/platform/console.c
1.5 +126 -25 src/sys/machine/vkernel/platform/copyio.c
1.12 +11 -0 src/sys/machine/vkernel/platform/init.c
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/conf/files.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/i386/trap.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/include/md_var.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/platform/console.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/platform/copyio.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/platform/init.c.diff?r1=1.11&r2=1.12&f=u
More information about the Commits
mailing list