Index: trunk/minix/kernel/system/.depend
===================================================================
--- trunk/minix/kernel/system/.depend	(revision 9)
+++ 	(revision )
@@ -1,966 +1,0 @@
-
-do_abort.o:	../config.h
-do_abort.o:	../const.h
-do_abort.o:	../debug.h
-do_abort.o:	../glo.h
-do_abort.o:	../ipc.h
-do_abort.o:	../kernel.h
-do_abort.o:	../priv.h
-do_abort.o:	../proc.h
-do_abort.o:	../protect.h
-do_abort.o:	../proto.h
-do_abort.o:	../system.h
-do_abort.o:	../type.h
-do_abort.o:	/usr/include/ansi.h
-do_abort.o:	/usr/include/errno.h
-do_abort.o:	/usr/include/ibm/bios.h
-do_abort.o:	/usr/include/ibm/cpu.h
-do_abort.o:	/usr/include/ibm/interrupt.h
-do_abort.o:	/usr/include/ibm/portio.h
-do_abort.o:	/usr/include/ibm/ports.h
-do_abort.o:	/usr/include/limits.h
-do_abort.o:	/usr/include/minix/com.h
-do_abort.o:	/usr/include/minix/config.h
-do_abort.o:	/usr/include/minix/const.h
-do_abort.o:	/usr/include/minix/ipc.h
-do_abort.o:	/usr/include/minix/sys_config.h
-do_abort.o:	/usr/include/minix/type.h
-do_abort.o:	/usr/include/sys/dir.h
-do_abort.o:	/usr/include/sys/types.h
-do_abort.o:	/usr/include/timers.h
-do_abort.o:	/usr/include/unistd.h
-do_abort.o:	do_abort.c
-
-do_copy.o:	../config.h
-do_copy.o:	../const.h
-do_copy.o:	../debug.h
-do_copy.o:	../glo.h
-do_copy.o:	../ipc.h
-do_copy.o:	../kernel.h
-do_copy.o:	../priv.h
-do_copy.o:	../proc.h
-do_copy.o:	../protect.h
-do_copy.o:	../proto.h
-do_copy.o:	../system.h
-do_copy.o:	../type.h
-do_copy.o:	/usr/include/ansi.h
-do_copy.o:	/usr/include/errno.h
-do_copy.o:	/usr/include/ibm/bios.h
-do_copy.o:	/usr/include/ibm/cpu.h
-do_copy.o:	/usr/include/ibm/interrupt.h
-do_copy.o:	/usr/include/ibm/portio.h
-do_copy.o:	/usr/include/ibm/ports.h
-do_copy.o:	/usr/include/limits.h
-do_copy.o:	/usr/include/minix/com.h
-do_copy.o:	/usr/include/minix/config.h
-do_copy.o:	/usr/include/minix/const.h
-do_copy.o:	/usr/include/minix/ipc.h
-do_copy.o:	/usr/include/minix/sys_config.h
-do_copy.o:	/usr/include/minix/type.h
-do_copy.o:	/usr/include/sys/dir.h
-do_copy.o:	/usr/include/sys/types.h
-do_copy.o:	/usr/include/timers.h
-do_copy.o:	do_copy.c
-
-do_devio.o:	../config.h
-do_devio.o:	../const.h
-do_devio.o:	../debug.h
-do_devio.o:	../glo.h
-do_devio.o:	../ipc.h
-do_devio.o:	../kernel.h
-do_devio.o:	../priv.h
-do_devio.o:	../proc.h
-do_devio.o:	../protect.h
-do_devio.o:	../proto.h
-do_devio.o:	../system.h
-do_devio.o:	../type.h
-do_devio.o:	/usr/include/ansi.h
-do_devio.o:	/usr/include/errno.h
-do_devio.o:	/usr/include/ibm/bios.h
-do_devio.o:	/usr/include/ibm/cpu.h
-do_devio.o:	/usr/include/ibm/interrupt.h
-do_devio.o:	/usr/include/ibm/portio.h
-do_devio.o:	/usr/include/ibm/ports.h
-do_devio.o:	/usr/include/limits.h
-do_devio.o:	/usr/include/minix/com.h
-do_devio.o:	/usr/include/minix/config.h
-do_devio.o:	/usr/include/minix/const.h
-do_devio.o:	/usr/include/minix/devio.h
-do_devio.o:	/usr/include/minix/endpoint.h
-do_devio.o:	/usr/include/minix/ipc.h
-do_devio.o:	/usr/include/minix/sys_config.h
-do_devio.o:	/usr/include/minix/type.h
-do_devio.o:	/usr/include/sys/dir.h
-do_devio.o:	/usr/include/sys/types.h
-do_devio.o:	/usr/include/timers.h
-do_devio.o:	do_devio.c
-
-do_endksig.o:	../config.h
-do_endksig.o:	../const.h
-do_endksig.o:	../debug.h
-do_endksig.o:	../glo.h
-do_endksig.o:	../ipc.h
-do_endksig.o:	../kernel.h
-do_endksig.o:	../priv.h
-do_endksig.o:	../proc.h
-do_endksig.o:	../protect.h
-do_endksig.o:	../proto.h
-do_endksig.o:	../system.h
-do_endksig.o:	../type.h
-do_endksig.o:	/usr/include/ansi.h
-do_endksig.o:	/usr/include/errno.h
-do_endksig.o:	/usr/include/ibm/bios.h
-do_endksig.o:	/usr/include/ibm/cpu.h
-do_endksig.o:	/usr/include/ibm/interrupt.h
-do_endksig.o:	/usr/include/ibm/portio.h
-do_endksig.o:	/usr/include/ibm/ports.h
-do_endksig.o:	/usr/include/limits.h
-do_endksig.o:	/usr/include/minix/com.h
-do_endksig.o:	/usr/include/minix/config.h
-do_endksig.o:	/usr/include/minix/const.h
-do_endksig.o:	/usr/include/minix/ipc.h
-do_endksig.o:	/usr/include/minix/sys_config.h
-do_endksig.o:	/usr/include/minix/type.h
-do_endksig.o:	/usr/include/signal.h
-do_endksig.o:	/usr/include/sys/dir.h
-do_endksig.o:	/usr/include/sys/sigcontext.h
-do_endksig.o:	/usr/include/sys/types.h
-do_endksig.o:	/usr/include/timers.h
-do_endksig.o:	do_endksig.c
-
-do_exec.o:	../config.h
-do_exec.o:	../const.h
-do_exec.o:	../debug.h
-do_exec.o:	../glo.h
-do_exec.o:	../ipc.h
-do_exec.o:	../kernel.h
-do_exec.o:	../priv.h
-do_exec.o:	../proc.h
-do_exec.o:	../protect.h
-do_exec.o:	../proto.h
-do_exec.o:	../system.h
-do_exec.o:	../type.h
-do_exec.o:	/usr/include/ansi.h
-do_exec.o:	/usr/include/errno.h
-do_exec.o:	/usr/include/ibm/bios.h
-do_exec.o:	/usr/include/ibm/cpu.h
-do_exec.o:	/usr/include/ibm/interrupt.h
-do_exec.o:	/usr/include/ibm/portio.h
-do_exec.o:	/usr/include/ibm/ports.h
-do_exec.o:	/usr/include/limits.h
-do_exec.o:	/usr/include/minix/com.h
-do_exec.o:	/usr/include/minix/config.h
-do_exec.o:	/usr/include/minix/const.h
-do_exec.o:	/usr/include/minix/endpoint.h
-do_exec.o:	/usr/include/minix/ipc.h
-do_exec.o:	/usr/include/minix/sys_config.h
-do_exec.o:	/usr/include/minix/type.h
-do_exec.o:	/usr/include/signal.h
-do_exec.o:	/usr/include/string.h
-do_exec.o:	/usr/include/sys/dir.h
-do_exec.o:	/usr/include/sys/types.h
-do_exec.o:	/usr/include/timers.h
-do_exec.o:	do_exec.c
-
-do_exit.o:	../config.h
-do_exit.o:	../const.h
-do_exit.o:	../debug.h
-do_exit.o:	../glo.h
-do_exit.o:	../ipc.h
-do_exit.o:	../kernel.h
-do_exit.o:	../priv.h
-do_exit.o:	../proc.h
-do_exit.o:	../protect.h
-do_exit.o:	../proto.h
-do_exit.o:	../system.h
-do_exit.o:	../type.h
-do_exit.o:	/usr/include/ansi.h
-do_exit.o:	/usr/include/errno.h
-do_exit.o:	/usr/include/ibm/bios.h
-do_exit.o:	/usr/include/ibm/cpu.h
-do_exit.o:	/usr/include/ibm/interrupt.h
-do_exit.o:	/usr/include/ibm/portio.h
-do_exit.o:	/usr/include/ibm/ports.h
-do_exit.o:	/usr/include/limits.h
-do_exit.o:	/usr/include/minix/com.h
-do_exit.o:	/usr/include/minix/config.h
-do_exit.o:	/usr/include/minix/const.h
-do_exit.o:	/usr/include/minix/endpoint.h
-do_exit.o:	/usr/include/minix/ipc.h
-do_exit.o:	/usr/include/minix/sys_config.h
-do_exit.o:	/usr/include/minix/type.h
-do_exit.o:	/usr/include/sys/dir.h
-do_exit.o:	/usr/include/sys/types.h
-do_exit.o:	/usr/include/timers.h
-do_exit.o:	do_exit.c
-
-do_fork.o:	../config.h
-do_fork.o:	../const.h
-do_fork.o:	../debug.h
-do_fork.o:	../glo.h
-do_fork.o:	../ipc.h
-do_fork.o:	../kernel.h
-do_fork.o:	../priv.h
-do_fork.o:	../proc.h
-do_fork.o:	../protect.h
-do_fork.o:	../proto.h
-do_fork.o:	../system.h
-do_fork.o:	../type.h
-do_fork.o:	/usr/include/ansi.h
-do_fork.o:	/usr/include/errno.h
-do_fork.o:	/usr/include/ibm/bios.h
-do_fork.o:	/usr/include/ibm/cpu.h
-do_fork.o:	/usr/include/ibm/interrupt.h
-do_fork.o:	/usr/include/ibm/portio.h
-do_fork.o:	/usr/include/ibm/ports.h
-do_fork.o:	/usr/include/limits.h
-do_fork.o:	/usr/include/minix/com.h
-do_fork.o:	/usr/include/minix/config.h
-do_fork.o:	/usr/include/minix/const.h
-do_fork.o:	/usr/include/minix/endpoint.h
-do_fork.o:	/usr/include/minix/ipc.h
-do_fork.o:	/usr/include/minix/sys_config.h
-do_fork.o:	/usr/include/minix/type.h
-do_fork.o:	/usr/include/signal.h
-do_fork.o:	/usr/include/sys/dir.h
-do_fork.o:	/usr/include/sys/types.h
-do_fork.o:	/usr/include/timers.h
-do_fork.o:	do_fork.c
-
-do_getinfo.o:	../config.h
-do_getinfo.o:	../const.h
-do_getinfo.o:	../debug.h
-do_getinfo.o:	../glo.h
-do_getinfo.o:	../ipc.h
-do_getinfo.o:	../kernel.h
-do_getinfo.o:	../priv.h
-do_getinfo.o:	../proc.h
-do_getinfo.o:	../protect.h
-do_getinfo.o:	../proto.h
-do_getinfo.o:	../system.h
-do_getinfo.o:	../type.h
-do_getinfo.o:	/usr/include/ansi.h
-do_getinfo.o:	/usr/include/errno.h
-do_getinfo.o:	/usr/include/ibm/bios.h
-do_getinfo.o:	/usr/include/ibm/cpu.h
-do_getinfo.o:	/usr/include/ibm/interrupt.h
-do_getinfo.o:	/usr/include/ibm/portio.h
-do_getinfo.o:	/usr/include/ibm/ports.h
-do_getinfo.o:	/usr/include/limits.h
-do_getinfo.o:	/usr/include/minix/com.h
-do_getinfo.o:	/usr/include/minix/config.h
-do_getinfo.o:	/usr/include/minix/const.h
-do_getinfo.o:	/usr/include/minix/ipc.h
-do_getinfo.o:	/usr/include/minix/sys_config.h
-do_getinfo.o:	/usr/include/minix/type.h
-do_getinfo.o:	/usr/include/sys/dir.h
-do_getinfo.o:	/usr/include/sys/types.h
-do_getinfo.o:	/usr/include/timers.h
-do_getinfo.o:	do_getinfo.c
-
-do_getksig.o:	../config.h
-do_getksig.o:	../const.h
-do_getksig.o:	../debug.h
-do_getksig.o:	../glo.h
-do_getksig.o:	../ipc.h
-do_getksig.o:	../kernel.h
-do_getksig.o:	../priv.h
-do_getksig.o:	../proc.h
-do_getksig.o:	../protect.h
-do_getksig.o:	../proto.h
-do_getksig.o:	../system.h
-do_getksig.o:	../type.h
-do_getksig.o:	/usr/include/ansi.h
-do_getksig.o:	/usr/include/errno.h
-do_getksig.o:	/usr/include/ibm/bios.h
-do_getksig.o:	/usr/include/ibm/cpu.h
-do_getksig.o:	/usr/include/ibm/interrupt.h
-do_getksig.o:	/usr/include/ibm/portio.h
-do_getksig.o:	/usr/include/ibm/ports.h
-do_getksig.o:	/usr/include/limits.h
-do_getksig.o:	/usr/include/minix/com.h
-do_getksig.o:	/usr/include/minix/config.h
-do_getksig.o:	/usr/include/minix/const.h
-do_getksig.o:	/usr/include/minix/endpoint.h
-do_getksig.o:	/usr/include/minix/ipc.h
-do_getksig.o:	/usr/include/minix/sys_config.h
-do_getksig.o:	/usr/include/minix/type.h
-do_getksig.o:	/usr/include/signal.h
-do_getksig.o:	/usr/include/sys/dir.h
-do_getksig.o:	/usr/include/sys/sigcontext.h
-do_getksig.o:	/usr/include/sys/types.h
-do_getksig.o:	/usr/include/timers.h
-do_getksig.o:	do_getksig.c
-
-do_int86.o:	../config.h
-do_int86.o:	../const.h
-do_int86.o:	../debug.h
-do_int86.o:	../glo.h
-do_int86.o:	../ipc.h
-do_int86.o:	../kernel.h
-do_int86.o:	../priv.h
-do_int86.o:	../proc.h
-do_int86.o:	../protect.h
-do_int86.o:	../proto.h
-do_int86.o:	../system.h
-do_int86.o:	../type.h
-do_int86.o:	/usr/include/ansi.h
-do_int86.o:	/usr/include/errno.h
-do_int86.o:	/usr/include/ibm/bios.h
-do_int86.o:	/usr/include/ibm/cpu.h
-do_int86.o:	/usr/include/ibm/int86.h
-do_int86.o:	/usr/include/ibm/interrupt.h
-do_int86.o:	/usr/include/ibm/portio.h
-do_int86.o:	/usr/include/ibm/ports.h
-do_int86.o:	/usr/include/limits.h
-do_int86.o:	/usr/include/minix/com.h
-do_int86.o:	/usr/include/minix/config.h
-do_int86.o:	/usr/include/minix/const.h
-do_int86.o:	/usr/include/minix/endpoint.h
-do_int86.o:	/usr/include/minix/ipc.h
-do_int86.o:	/usr/include/minix/sys_config.h
-do_int86.o:	/usr/include/minix/type.h
-do_int86.o:	/usr/include/sys/dir.h
-do_int86.o:	/usr/include/sys/types.h
-do_int86.o:	/usr/include/timers.h
-do_int86.o:	do_int86.c
-
-do_iopenable.o:	../config.h
-do_iopenable.o:	../const.h
-do_iopenable.o:	../debug.h
-do_iopenable.o:	../glo.h
-do_iopenable.o:	../ipc.h
-do_iopenable.o:	../kernel.h
-do_iopenable.o:	../priv.h
-do_iopenable.o:	../proc.h
-do_iopenable.o:	../protect.h
-do_iopenable.o:	../proto.h
-do_iopenable.o:	../system.h
-do_iopenable.o:	../type.h
-do_iopenable.o:	/usr/include/ansi.h
-do_iopenable.o:	/usr/include/errno.h
-do_iopenable.o:	/usr/include/ibm/bios.h
-do_iopenable.o:	/usr/include/ibm/cpu.h
-do_iopenable.o:	/usr/include/ibm/interrupt.h
-do_iopenable.o:	/usr/include/ibm/portio.h
-do_iopenable.o:	/usr/include/ibm/ports.h
-do_iopenable.o:	/usr/include/limits.h
-do_iopenable.o:	/usr/include/minix/com.h
-do_iopenable.o:	/usr/include/minix/config.h
-do_iopenable.o:	/usr/include/minix/const.h
-do_iopenable.o:	/usr/include/minix/ipc.h
-do_iopenable.o:	/usr/include/minix/sys_config.h
-do_iopenable.o:	/usr/include/minix/type.h
-do_iopenable.o:	/usr/include/sys/dir.h
-do_iopenable.o:	/usr/include/sys/types.h
-do_iopenable.o:	/usr/include/timers.h
-do_iopenable.o:	do_iopenable.c
-
-do_irqctl.o:	../config.h
-do_irqctl.o:	../const.h
-do_irqctl.o:	../debug.h
-do_irqctl.o:	../glo.h
-do_irqctl.o:	../ipc.h
-do_irqctl.o:	../kernel.h
-do_irqctl.o:	../priv.h
-do_irqctl.o:	../proc.h
-do_irqctl.o:	../protect.h
-do_irqctl.o:	../proto.h
-do_irqctl.o:	../system.h
-do_irqctl.o:	../type.h
-do_irqctl.o:	/usr/include/ansi.h
-do_irqctl.o:	/usr/include/errno.h
-do_irqctl.o:	/usr/include/ibm/bios.h
-do_irqctl.o:	/usr/include/ibm/cpu.h
-do_irqctl.o:	/usr/include/ibm/interrupt.h
-do_irqctl.o:	/usr/include/ibm/portio.h
-do_irqctl.o:	/usr/include/ibm/ports.h
-do_irqctl.o:	/usr/include/limits.h
-do_irqctl.o:	/usr/include/minix/com.h
-do_irqctl.o:	/usr/include/minix/config.h
-do_irqctl.o:	/usr/include/minix/const.h
-do_irqctl.o:	/usr/include/minix/endpoint.h
-do_irqctl.o:	/usr/include/minix/ipc.h
-do_irqctl.o:	/usr/include/minix/sys_config.h
-do_irqctl.o:	/usr/include/minix/type.h
-do_irqctl.o:	/usr/include/sys/dir.h
-do_irqctl.o:	/usr/include/sys/types.h
-do_irqctl.o:	/usr/include/timers.h
-do_irqctl.o:	do_irqctl.c
-
-do_kill.o:	../config.h
-do_kill.o:	../const.h
-do_kill.o:	../debug.h
-do_kill.o:	../glo.h
-do_kill.o:	../ipc.h
-do_kill.o:	../kernel.h
-do_kill.o:	../priv.h
-do_kill.o:	../proc.h
-do_kill.o:	../protect.h
-do_kill.o:	../proto.h
-do_kill.o:	../system.h
-do_kill.o:	../type.h
-do_kill.o:	/usr/include/ansi.h
-do_kill.o:	/usr/include/errno.h
-do_kill.o:	/usr/include/ibm/bios.h
-do_kill.o:	/usr/include/ibm/cpu.h
-do_kill.o:	/usr/include/ibm/interrupt.h
-do_kill.o:	/usr/include/ibm/portio.h
-do_kill.o:	/usr/include/ibm/ports.h
-do_kill.o:	/usr/include/limits.h
-do_kill.o:	/usr/include/minix/com.h
-do_kill.o:	/usr/include/minix/config.h
-do_kill.o:	/usr/include/minix/const.h
-do_kill.o:	/usr/include/minix/ipc.h
-do_kill.o:	/usr/include/minix/sys_config.h
-do_kill.o:	/usr/include/minix/type.h
-do_kill.o:	/usr/include/signal.h
-do_kill.o:	/usr/include/sys/dir.h
-do_kill.o:	/usr/include/sys/sigcontext.h
-do_kill.o:	/usr/include/sys/types.h
-do_kill.o:	/usr/include/timers.h
-do_kill.o:	do_kill.c
-
-do_memset.o:	../config.h
-do_memset.o:	../const.h
-do_memset.o:	../debug.h
-do_memset.o:	../glo.h
-do_memset.o:	../ipc.h
-do_memset.o:	../kernel.h
-do_memset.o:	../priv.h
-do_memset.o:	../proc.h
-do_memset.o:	../protect.h
-do_memset.o:	../proto.h
-do_memset.o:	../system.h
-do_memset.o:	../type.h
-do_memset.o:	/usr/include/ansi.h
-do_memset.o:	/usr/include/errno.h
-do_memset.o:	/usr/include/ibm/bios.h
-do_memset.o:	/usr/include/ibm/cpu.h
-do_memset.o:	/usr/include/ibm/interrupt.h
-do_memset.o:	/usr/include/ibm/portio.h
-do_memset.o:	/usr/include/ibm/ports.h
-do_memset.o:	/usr/include/limits.h
-do_memset.o:	/usr/include/minix/com.h
-do_memset.o:	/usr/include/minix/config.h
-do_memset.o:	/usr/include/minix/const.h
-do_memset.o:	/usr/include/minix/ipc.h
-do_memset.o:	/usr/include/minix/sys_config.h
-do_memset.o:	/usr/include/minix/type.h
-do_memset.o:	/usr/include/sys/dir.h
-do_memset.o:	/usr/include/sys/types.h
-do_memset.o:	/usr/include/timers.h
-do_memset.o:	do_memset.c
-
-do_newmap.o:	../config.h
-do_newmap.o:	../const.h
-do_newmap.o:	../debug.h
-do_newmap.o:	../glo.h
-do_newmap.o:	../ipc.h
-do_newmap.o:	../kernel.h
-do_newmap.o:	../priv.h
-do_newmap.o:	../proc.h
-do_newmap.o:	../protect.h
-do_newmap.o:	../proto.h
-do_newmap.o:	../system.h
-do_newmap.o:	../type.h
-do_newmap.o:	/usr/include/ansi.h
-do_newmap.o:	/usr/include/errno.h
-do_newmap.o:	/usr/include/ibm/bios.h
-do_newmap.o:	/usr/include/ibm/cpu.h
-do_newmap.o:	/usr/include/ibm/interrupt.h
-do_newmap.o:	/usr/include/ibm/portio.h
-do_newmap.o:	/usr/include/ibm/ports.h
-do_newmap.o:	/usr/include/limits.h
-do_newmap.o:	/usr/include/minix/com.h
-do_newmap.o:	/usr/include/minix/config.h
-do_newmap.o:	/usr/include/minix/const.h
-do_newmap.o:	/usr/include/minix/endpoint.h
-do_newmap.o:	/usr/include/minix/ipc.h
-do_newmap.o:	/usr/include/minix/sys_config.h
-do_newmap.o:	/usr/include/minix/type.h
-do_newmap.o:	/usr/include/sys/dir.h
-do_newmap.o:	/usr/include/sys/types.h
-do_newmap.o:	/usr/include/timers.h
-do_newmap.o:	do_newmap.c
-
-do_nice.o:	../config.h
-do_nice.o:	../const.h
-do_nice.o:	../debug.h
-do_nice.o:	../glo.h
-do_nice.o:	../ipc.h
-do_nice.o:	../kernel.h
-do_nice.o:	../priv.h
-do_nice.o:	../proc.h
-do_nice.o:	../protect.h
-do_nice.o:	../proto.h
-do_nice.o:	../system.h
-do_nice.o:	../type.h
-do_nice.o:	/usr/include/ansi.h
-do_nice.o:	/usr/include/errno.h
-do_nice.o:	/usr/include/ibm/bios.h
-do_nice.o:	/usr/include/ibm/cpu.h
-do_nice.o:	/usr/include/ibm/interrupt.h
-do_nice.o:	/usr/include/ibm/portio.h
-do_nice.o:	/usr/include/ibm/ports.h
-do_nice.o:	/usr/include/limits.h
-do_nice.o:	/usr/include/minix/com.h
-do_nice.o:	/usr/include/minix/config.h
-do_nice.o:	/usr/include/minix/const.h
-do_nice.o:	/usr/include/minix/ipc.h
-do_nice.o:	/usr/include/minix/sys_config.h
-do_nice.o:	/usr/include/minix/type.h
-do_nice.o:	/usr/include/sys/dir.h
-do_nice.o:	/usr/include/sys/resource.h
-do_nice.o:	/usr/include/sys/types.h
-do_nice.o:	/usr/include/timers.h
-do_nice.o:	do_nice.c
-
-do_privctl.o:	../config.h
-do_privctl.o:	../const.h
-do_privctl.o:	../debug.h
-do_privctl.o:	../glo.h
-do_privctl.o:	../ipc.h
-do_privctl.o:	../kernel.h
-do_privctl.o:	../priv.h
-do_privctl.o:	../proc.h
-do_privctl.o:	../protect.h
-do_privctl.o:	../proto.h
-do_privctl.o:	../system.h
-do_privctl.o:	../type.h
-do_privctl.o:	/usr/include/ansi.h
-do_privctl.o:	/usr/include/errno.h
-do_privctl.o:	/usr/include/ibm/bios.h
-do_privctl.o:	/usr/include/ibm/cpu.h
-do_privctl.o:	/usr/include/ibm/interrupt.h
-do_privctl.o:	/usr/include/ibm/portio.h
-do_privctl.o:	/usr/include/ibm/ports.h
-do_privctl.o:	/usr/include/limits.h
-do_privctl.o:	/usr/include/minix/com.h
-do_privctl.o:	/usr/include/minix/config.h
-do_privctl.o:	/usr/include/minix/const.h
-do_privctl.o:	/usr/include/minix/ipc.h
-do_privctl.o:	/usr/include/minix/sys_config.h
-do_privctl.o:	/usr/include/minix/type.h
-do_privctl.o:	/usr/include/signal.h
-do_privctl.o:	/usr/include/sys/dir.h
-do_privctl.o:	/usr/include/sys/types.h
-do_privctl.o:	/usr/include/timers.h
-do_privctl.o:	do_privctl.c
-
-do_sdevio.o:	../config.h
-do_sdevio.o:	../const.h
-do_sdevio.o:	../debug.h
-do_sdevio.o:	../glo.h
-do_sdevio.o:	../ipc.h
-do_sdevio.o:	../kernel.h
-do_sdevio.o:	../priv.h
-do_sdevio.o:	../proc.h
-do_sdevio.o:	../protect.h
-do_sdevio.o:	../proto.h
-do_sdevio.o:	../system.h
-do_sdevio.o:	../type.h
-do_sdevio.o:	/usr/include/ansi.h
-do_sdevio.o:	/usr/include/errno.h
-do_sdevio.o:	/usr/include/ibm/bios.h
-do_sdevio.o:	/usr/include/ibm/cpu.h
-do_sdevio.o:	/usr/include/ibm/interrupt.h
-do_sdevio.o:	/usr/include/ibm/portio.h
-do_sdevio.o:	/usr/include/ibm/ports.h
-do_sdevio.o:	/usr/include/limits.h
-do_sdevio.o:	/usr/include/minix/com.h
-do_sdevio.o:	/usr/include/minix/config.h
-do_sdevio.o:	/usr/include/minix/const.h
-do_sdevio.o:	/usr/include/minix/devio.h
-do_sdevio.o:	/usr/include/minix/endpoint.h
-do_sdevio.o:	/usr/include/minix/ipc.h
-do_sdevio.o:	/usr/include/minix/sys_config.h
-do_sdevio.o:	/usr/include/minix/type.h
-do_sdevio.o:	/usr/include/sys/dir.h
-do_sdevio.o:	/usr/include/sys/types.h
-do_sdevio.o:	/usr/include/timers.h
-do_sdevio.o:	do_sdevio.c
-
-do_segctl.o:	../config.h
-do_segctl.o:	../const.h
-do_segctl.o:	../debug.h
-do_segctl.o:	../glo.h
-do_segctl.o:	../ipc.h
-do_segctl.o:	../kernel.h
-do_segctl.o:	../priv.h
-do_segctl.o:	../proc.h
-do_segctl.o:	../protect.h
-do_segctl.o:	../proto.h
-do_segctl.o:	../system.h
-do_segctl.o:	../type.h
-do_segctl.o:	/usr/include/ansi.h
-do_segctl.o:	/usr/include/errno.h
-do_segctl.o:	/usr/include/ibm/bios.h
-do_segctl.o:	/usr/include/ibm/cpu.h
-do_segctl.o:	/usr/include/ibm/interrupt.h
-do_segctl.o:	/usr/include/ibm/portio.h
-do_segctl.o:	/usr/include/ibm/ports.h
-do_segctl.o:	/usr/include/limits.h
-do_segctl.o:	/usr/include/minix/com.h
-do_segctl.o:	/usr/include/minix/config.h
-do_segctl.o:	/usr/include/minix/const.h
-do_segctl.o:	/usr/include/minix/ipc.h
-do_segctl.o:	/usr/include/minix/sys_config.h
-do_segctl.o:	/usr/include/minix/type.h
-do_segctl.o:	/usr/include/sys/dir.h
-do_segctl.o:	/usr/include/sys/types.h
-do_segctl.o:	/usr/include/timers.h
-do_segctl.o:	do_segctl.c
-
-do_setalarm.o:	../config.h
-do_setalarm.o:	../const.h
-do_setalarm.o:	../debug.h
-do_setalarm.o:	../glo.h
-do_setalarm.o:	../ipc.h
-do_setalarm.o:	../kernel.h
-do_setalarm.o:	../priv.h
-do_setalarm.o:	../proc.h
-do_setalarm.o:	../protect.h
-do_setalarm.o:	../proto.h
-do_setalarm.o:	../system.h
-do_setalarm.o:	../type.h
-do_setalarm.o:	/usr/include/ansi.h
-do_setalarm.o:	/usr/include/errno.h
-do_setalarm.o:	/usr/include/ibm/bios.h
-do_setalarm.o:	/usr/include/ibm/cpu.h
-do_setalarm.o:	/usr/include/ibm/interrupt.h
-do_setalarm.o:	/usr/include/ibm/portio.h
-do_setalarm.o:	/usr/include/ibm/ports.h
-do_setalarm.o:	/usr/include/limits.h
-do_setalarm.o:	/usr/include/minix/com.h
-do_setalarm.o:	/usr/include/minix/config.h
-do_setalarm.o:	/usr/include/minix/const.h
-do_setalarm.o:	/usr/include/minix/endpoint.h
-do_setalarm.o:	/usr/include/minix/ipc.h
-do_setalarm.o:	/usr/include/minix/sys_config.h
-do_setalarm.o:	/usr/include/minix/type.h
-do_setalarm.o:	/usr/include/sys/dir.h
-do_setalarm.o:	/usr/include/sys/types.h
-do_setalarm.o:	/usr/include/timers.h
-do_setalarm.o:	do_setalarm.c
-
-do_sigreturn.o:	../config.h
-do_sigreturn.o:	../const.h
-do_sigreturn.o:	../debug.h
-do_sigreturn.o:	../glo.h
-do_sigreturn.o:	../ipc.h
-do_sigreturn.o:	../kernel.h
-do_sigreturn.o:	../priv.h
-do_sigreturn.o:	../proc.h
-do_sigreturn.o:	../protect.h
-do_sigreturn.o:	../proto.h
-do_sigreturn.o:	../system.h
-do_sigreturn.o:	../type.h
-do_sigreturn.o:	/usr/include/ansi.h
-do_sigreturn.o:	/usr/include/errno.h
-do_sigreturn.o:	/usr/include/ibm/bios.h
-do_sigreturn.o:	/usr/include/ibm/cpu.h
-do_sigreturn.o:	/usr/include/ibm/interrupt.h
-do_sigreturn.o:	/usr/include/ibm/portio.h
-do_sigreturn.o:	/usr/include/ibm/ports.h
-do_sigreturn.o:	/usr/include/limits.h
-do_sigreturn.o:	/usr/include/minix/com.h
-do_sigreturn.o:	/usr/include/minix/config.h
-do_sigreturn.o:	/usr/include/minix/const.h
-do_sigreturn.o:	/usr/include/minix/ipc.h
-do_sigreturn.o:	/usr/include/minix/sys_config.h
-do_sigreturn.o:	/usr/include/minix/type.h
-do_sigreturn.o:	/usr/include/signal.h
-do_sigreturn.o:	/usr/include/string.h
-do_sigreturn.o:	/usr/include/sys/dir.h
-do_sigreturn.o:	/usr/include/sys/sigcontext.h
-do_sigreturn.o:	/usr/include/sys/types.h
-do_sigreturn.o:	/usr/include/timers.h
-do_sigreturn.o:	do_sigreturn.c
-
-do_sigsend.o:	../config.h
-do_sigsend.o:	../const.h
-do_sigsend.o:	../debug.h
-do_sigsend.o:	../glo.h
-do_sigsend.o:	../ipc.h
-do_sigsend.o:	../kernel.h
-do_sigsend.o:	../priv.h
-do_sigsend.o:	../proc.h
-do_sigsend.o:	../protect.h
-do_sigsend.o:	../proto.h
-do_sigsend.o:	../system.h
-do_sigsend.o:	../type.h
-do_sigsend.o:	/usr/include/ansi.h
-do_sigsend.o:	/usr/include/errno.h
-do_sigsend.o:	/usr/include/ibm/bios.h
-do_sigsend.o:	/usr/include/ibm/cpu.h
-do_sigsend.o:	/usr/include/ibm/interrupt.h
-do_sigsend.o:	/usr/include/ibm/portio.h
-do_sigsend.o:	/usr/include/ibm/ports.h
-do_sigsend.o:	/usr/include/limits.h
-do_sigsend.o:	/usr/include/minix/com.h
-do_sigsend.o:	/usr/include/minix/config.h
-do_sigsend.o:	/usr/include/minix/const.h
-do_sigsend.o:	/usr/include/minix/ipc.h
-do_sigsend.o:	/usr/include/minix/sys_config.h
-do_sigsend.o:	/usr/include/minix/type.h
-do_sigsend.o:	/usr/include/signal.h
-do_sigsend.o:	/usr/include/string.h
-do_sigsend.o:	/usr/include/sys/dir.h
-do_sigsend.o:	/usr/include/sys/sigcontext.h
-do_sigsend.o:	/usr/include/sys/types.h
-do_sigsend.o:	/usr/include/timers.h
-do_sigsend.o:	do_sigsend.c
-
-do_times.o:	../config.h
-do_times.o:	../const.h
-do_times.o:	../debug.h
-do_times.o:	../glo.h
-do_times.o:	../ipc.h
-do_times.o:	../kernel.h
-do_times.o:	../priv.h
-do_times.o:	../proc.h
-do_times.o:	../protect.h
-do_times.o:	../proto.h
-do_times.o:	../system.h
-do_times.o:	../type.h
-do_times.o:	/usr/include/ansi.h
-do_times.o:	/usr/include/errno.h
-do_times.o:	/usr/include/ibm/bios.h
-do_times.o:	/usr/include/ibm/cpu.h
-do_times.o:	/usr/include/ibm/interrupt.h
-do_times.o:	/usr/include/ibm/portio.h
-do_times.o:	/usr/include/ibm/ports.h
-do_times.o:	/usr/include/limits.h
-do_times.o:	/usr/include/minix/com.h
-do_times.o:	/usr/include/minix/config.h
-do_times.o:	/usr/include/minix/const.h
-do_times.o:	/usr/include/minix/endpoint.h
-do_times.o:	/usr/include/minix/ipc.h
-do_times.o:	/usr/include/minix/sys_config.h
-do_times.o:	/usr/include/minix/type.h
-do_times.o:	/usr/include/sys/dir.h
-do_times.o:	/usr/include/sys/types.h
-do_times.o:	/usr/include/timers.h
-do_times.o:	do_times.c
-
-do_trace.o:	../config.h
-do_trace.o:	../const.h
-do_trace.o:	../debug.h
-do_trace.o:	../glo.h
-do_trace.o:	../ipc.h
-do_trace.o:	../kernel.h
-do_trace.o:	../priv.h
-do_trace.o:	../proc.h
-do_trace.o:	../protect.h
-do_trace.o:	../proto.h
-do_trace.o:	../system.h
-do_trace.o:	../type.h
-do_trace.o:	/usr/include/ansi.h
-do_trace.o:	/usr/include/errno.h
-do_trace.o:	/usr/include/ibm/bios.h
-do_trace.o:	/usr/include/ibm/cpu.h
-do_trace.o:	/usr/include/ibm/interrupt.h
-do_trace.o:	/usr/include/ibm/portio.h
-do_trace.o:	/usr/include/ibm/ports.h
-do_trace.o:	/usr/include/limits.h
-do_trace.o:	/usr/include/minix/com.h
-do_trace.o:	/usr/include/minix/config.h
-do_trace.o:	/usr/include/minix/const.h
-do_trace.o:	/usr/include/minix/ipc.h
-do_trace.o:	/usr/include/minix/sys_config.h
-do_trace.o:	/usr/include/minix/type.h
-do_trace.o:	/usr/include/sys/dir.h
-do_trace.o:	/usr/include/sys/ptrace.h
-do_trace.o:	/usr/include/sys/types.h
-do_trace.o:	/usr/include/timers.h
-do_trace.o:	do_trace.c
-
-do_umap.o:	../config.h
-do_umap.o:	../const.h
-do_umap.o:	../debug.h
-do_umap.o:	../glo.h
-do_umap.o:	../ipc.h
-do_umap.o:	../kernel.h
-do_umap.o:	../priv.h
-do_umap.o:	../proc.h
-do_umap.o:	../protect.h
-do_umap.o:	../proto.h
-do_umap.o:	../system.h
-do_umap.o:	../type.h
-do_umap.o:	/usr/include/ansi.h
-do_umap.o:	/usr/include/errno.h
-do_umap.o:	/usr/include/ibm/bios.h
-do_umap.o:	/usr/include/ibm/cpu.h
-do_umap.o:	/usr/include/ibm/interrupt.h
-do_umap.o:	/usr/include/ibm/portio.h
-do_umap.o:	/usr/include/ibm/ports.h
-do_umap.o:	/usr/include/limits.h
-do_umap.o:	/usr/include/minix/com.h
-do_umap.o:	/usr/include/minix/config.h
-do_umap.o:	/usr/include/minix/const.h
-do_umap.o:	/usr/include/minix/ipc.h
-do_umap.o:	/usr/include/minix/sys_config.h
-do_umap.o:	/usr/include/minix/type.h
-do_umap.o:	/usr/include/sys/dir.h
-do_umap.o:	/usr/include/sys/types.h
-do_umap.o:	/usr/include/timers.h
-do_umap.o:	do_umap.c
-
-do_unused.o:	../config.h
-do_unused.o:	../const.h
-do_unused.o:	../debug.h
-do_unused.o:	../glo.h
-do_unused.o:	../ipc.h
-do_unused.o:	../kernel.h
-do_unused.o:	../priv.h
-do_unused.o:	../proc.h
-do_unused.o:	../protect.h
-do_unused.o:	../proto.h
-do_unused.o:	../system.h
-do_unused.o:	../type.h
-do_unused.o:	/usr/include/ansi.h
-do_unused.o:	/usr/include/errno.h
-do_unused.o:	/usr/include/ibm/bios.h
-do_unused.o:	/usr/include/ibm/cpu.h
-do_unused.o:	/usr/include/ibm/interrupt.h
-do_unused.o:	/usr/include/ibm/portio.h
-do_unused.o:	/usr/include/ibm/ports.h
-do_unused.o:	/usr/include/limits.h
-do_unused.o:	/usr/include/minix/com.h
-do_unused.o:	/usr/include/minix/config.h
-do_unused.o:	/usr/include/minix/const.h
-do_unused.o:	/usr/include/minix/ipc.h
-do_unused.o:	/usr/include/minix/sys_config.h
-do_unused.o:	/usr/include/minix/type.h
-do_unused.o:	/usr/include/sys/dir.h
-do_unused.o:	/usr/include/sys/types.h
-do_unused.o:	/usr/include/timers.h
-do_unused.o:	do_unused.c
-
-do_vcopy.o:	../config.h
-do_vcopy.o:	../const.h
-do_vcopy.o:	../debug.h
-do_vcopy.o:	../glo.h
-do_vcopy.o:	../ipc.h
-do_vcopy.o:	../kernel.h
-do_vcopy.o:	../priv.h
-do_vcopy.o:	../proc.h
-do_vcopy.o:	../protect.h
-do_vcopy.o:	../proto.h
-do_vcopy.o:	../system.h
-do_vcopy.o:	../type.h
-do_vcopy.o:	/usr/include/ansi.h
-do_vcopy.o:	/usr/include/errno.h
-do_vcopy.o:	/usr/include/ibm/bios.h
-do_vcopy.o:	/usr/include/ibm/cpu.h
-do_vcopy.o:	/usr/include/ibm/interrupt.h
-do_vcopy.o:	/usr/include/ibm/portio.h
-do_vcopy.o:	/usr/include/ibm/ports.h
-do_vcopy.o:	/usr/include/limits.h
-do_vcopy.o:	/usr/include/minix/com.h
-do_vcopy.o:	/usr/include/minix/config.h
-do_vcopy.o:	/usr/include/minix/const.h
-do_vcopy.o:	/usr/include/minix/ipc.h
-do_vcopy.o:	/usr/include/minix/sys_config.h
-do_vcopy.o:	/usr/include/minix/type.h
-do_vcopy.o:	/usr/include/sys/dir.h
-do_vcopy.o:	/usr/include/sys/types.h
-do_vcopy.o:	/usr/include/timers.h
-do_vcopy.o:	do_vcopy.c
-
-do_vdevio.o:	../config.h
-do_vdevio.o:	../const.h
-do_vdevio.o:	../debug.h
-do_vdevio.o:	../glo.h
-do_vdevio.o:	../ipc.h
-do_vdevio.o:	../kernel.h
-do_vdevio.o:	../priv.h
-do_vdevio.o:	../proc.h
-do_vdevio.o:	../protect.h
-do_vdevio.o:	../proto.h
-do_vdevio.o:	../system.h
-do_vdevio.o:	../type.h
-do_vdevio.o:	/usr/include/ansi.h
-do_vdevio.o:	/usr/include/errno.h
-do_vdevio.o:	/usr/include/ibm/bios.h
-do_vdevio.o:	/usr/include/ibm/cpu.h
-do_vdevio.o:	/usr/include/ibm/interrupt.h
-do_vdevio.o:	/usr/include/ibm/portio.h
-do_vdevio.o:	/usr/include/ibm/ports.h
-do_vdevio.o:	/usr/include/limits.h
-do_vdevio.o:	/usr/include/minix/com.h
-do_vdevio.o:	/usr/include/minix/config.h
-do_vdevio.o:	/usr/include/minix/const.h
-do_vdevio.o:	/usr/include/minix/devio.h
-do_vdevio.o:	/usr/include/minix/endpoint.h
-do_vdevio.o:	/usr/include/minix/ipc.h
-do_vdevio.o:	/usr/include/minix/sys_config.h
-do_vdevio.o:	/usr/include/minix/type.h
-do_vdevio.o:	/usr/include/sys/dir.h
-do_vdevio.o:	/usr/include/sys/types.h
-do_vdevio.o:	/usr/include/timers.h
-do_vdevio.o:	do_vdevio.c
-
-do_vm.o:	../config.h
-do_vm.o:	../const.h
-do_vm.o:	../debug.h
-do_vm.o:	../glo.h
-do_vm.o:	../ipc.h
-do_vm.o:	../kernel.h
-do_vm.o:	../priv.h
-do_vm.o:	../proc.h
-do_vm.o:	../protect.h
-do_vm.o:	../proto.h
-do_vm.o:	../system.h
-do_vm.o:	../type.h
-do_vm.o:	/usr/include/ansi.h
-do_vm.o:	/usr/include/errno.h
-do_vm.o:	/usr/include/ibm/bios.h
-do_vm.o:	/usr/include/ibm/cpu.h
-do_vm.o:	/usr/include/ibm/interrupt.h
-do_vm.o:	/usr/include/ibm/portio.h
-do_vm.o:	/usr/include/ibm/ports.h
-do_vm.o:	/usr/include/limits.h
-do_vm.o:	/usr/include/minix/com.h
-do_vm.o:	/usr/include/minix/config.h
-do_vm.o:	/usr/include/minix/const.h
-do_vm.o:	/usr/include/minix/ipc.h
-do_vm.o:	/usr/include/minix/sys_config.h
-do_vm.o:	/usr/include/minix/type.h
-do_vm.o:	/usr/include/sys/dir.h
-do_vm.o:	/usr/include/sys/types.h
-do_vm.o:	/usr/include/sys/vm.h
-do_vm.o:	/usr/include/timers.h
-do_vm.o:	do_vm.c
-
-do_vm_setbuf.o:	../config.h
-do_vm_setbuf.o:	../const.h
-do_vm_setbuf.o:	../debug.h
-do_vm_setbuf.o:	../glo.h
-do_vm_setbuf.o:	../ipc.h
-do_vm_setbuf.o:	../kernel.h
-do_vm_setbuf.o:	../priv.h
-do_vm_setbuf.o:	../proc.h
-do_vm_setbuf.o:	../protect.h
-do_vm_setbuf.o:	../proto.h
-do_vm_setbuf.o:	../system.h
-do_vm_setbuf.o:	../type.h
-do_vm_setbuf.o:	/usr/include/ansi.h
-do_vm_setbuf.o:	/usr/include/errno.h
-do_vm_setbuf.o:	/usr/include/ibm/bios.h
-do_vm_setbuf.o:	/usr/include/ibm/cpu.h
-do_vm_setbuf.o:	/usr/include/ibm/interrupt.h
-do_vm_setbuf.o:	/usr/include/ibm/portio.h
-do_vm_setbuf.o:	/usr/include/ibm/ports.h
-do_vm_setbuf.o:	/usr/include/limits.h
-do_vm_setbuf.o:	/usr/include/minix/com.h
-do_vm_setbuf.o:	/usr/include/minix/config.h
-do_vm_setbuf.o:	/usr/include/minix/const.h
-do_vm_setbuf.o:	/usr/include/minix/ipc.h
-do_vm_setbuf.o:	/usr/include/minix/sys_config.h
-do_vm_setbuf.o:	/usr/include/minix/type.h
-do_vm_setbuf.o:	/usr/include/sys/dir.h
-do_vm_setbuf.o:	/usr/include/sys/types.h
-do_vm_setbuf.o:	/usr/include/timers.h
-do_vm_setbuf.o:	do_vm_setbuf.c
Index: trunk/minix/kernel/system/Makefile
===================================================================
--- trunk/minix/kernel/system/Makefile	(revision 9)
+++ 	(revision )
@@ -1,153 +1,0 @@
-# Makefile for system library implementation
-
-# Directories
-u = /usr
-i = $u/include
-
-# Programs, flags, etc.
-CC =	exec cc $(CFLAGS) -c
-CPP =	$l/cpp
-LD =	$(CC) -.o
-CFLAGS = -I$i
-LDFLAGS = -i
-
-SYSTEM	= ../system.a
-
-# What to make.
-all build install: $(SYSTEM)
-
-OBJECTS	= \
-	$(SYSTEM)(do_unused.o) \
-	$(SYSTEM)(do_fork.o) \
-	$(SYSTEM)(do_exec.o) \
-	$(SYSTEM)(do_newmap.o) \
-	$(SYSTEM)(do_exit.o) \
-	$(SYSTEM)(do_trace.o) \
-	$(SYSTEM)(do_nice.o) \
-	$(SYSTEM)(do_times.o) \
-	$(SYSTEM)(do_setalarm.o) \
-	$(SYSTEM)(do_irqctl.o) \
-	$(SYSTEM)(do_devio.o) \
-	$(SYSTEM)(do_vdevio.o) \
-	$(SYSTEM)(do_int86.o) \
-	$(SYSTEM)(do_sdevio.o) \
-	$(SYSTEM)(do_copy.o) \
-	$(SYSTEM)(do_vcopy.o) \
-	$(SYSTEM)(do_umap.o) \
-	$(SYSTEM)(do_memset.o) \
-	$(SYSTEM)(do_privctl.o) \
-	$(SYSTEM)(do_segctl.o) \
-	$(SYSTEM)(do_getksig.o) \
-	$(SYSTEM)(do_endksig.o) \
-	$(SYSTEM)(do_kill.o) \
-	$(SYSTEM)(do_sigsend.o) \
-	$(SYSTEM)(do_sigreturn.o) \
-	$(SYSTEM)(do_abort.o) \
-	$(SYSTEM)(do_getinfo.o) \
-	$(SYSTEM)(do_iopenable.o) \
-	$(SYSTEM)(do_vm.o) \
-	$(SYSTEM)(do_vm_setbuf.o) \
-
-$(SYSTEM):	$(OBJECTS)
-	aal cr $@ *.o
-
-clean:
-	rm -f $(SYSTEM) *.o *~ *.bak 
-
-depend: 
-	/usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
-
-# Include generated dependencies.
-include .depend
-
-
-$(SYSTEM)(do_unused.o):	do_unused.c
-	$(CC) do_unused.c
-
-$(SYSTEM)(do_fork.o):	do_fork.c
-	$(CC) do_fork.c
-
-$(SYSTEM)(do_exec.o):	do_exec.c
-	$(CC) do_exec.c
-
-$(SYSTEM)(do_newmap.o):	do_newmap.c
-	$(CC) do_newmap.c
-
-$(SYSTEM)(do_exit.o):	do_exit.c
-	$(CC) do_exit.c
-
-$(SYSTEM)(do_trace.o):	do_trace.c
-	$(CC) do_trace.c
-
-$(SYSTEM)(do_nice.o):	do_nice.c
-	$(CC) do_nice.c
-
-$(SYSTEM)(do_times.o):	do_times.c
-	$(CC) do_times.c
-
-$(SYSTEM)(do_setalarm.o):	do_setalarm.c
-	$(CC) do_setalarm.c
-
-$(SYSTEM)(do_irqctl.o):	do_irqctl.c
-	$(CC) do_irqctl.c
-
-$(SYSTEM)(do_devio.o):	do_devio.c
-	$(CC) do_devio.c
-
-$(SYSTEM)(do_sdevio.o):	do_sdevio.c
-	$(CC) do_sdevio.c
-
-$(SYSTEM)(do_vdevio.o):	do_vdevio.c
-	$(CC) do_vdevio.c
-
-$(SYSTEM)(do_int86.o):	do_int86.c
-	$(CC) do_int86.c
-
-$(SYSTEM)(do_copy.o):	do_copy.c
-	$(CC) do_copy.c
-
-$(SYSTEM)(do_vcopy.o):	do_vcopy.c
-	$(CC) do_vcopy.c
-
-$(SYSTEM)(do_umap.o):	do_umap.c
-	$(CC) do_umap.c
-
-$(SYSTEM)(do_memset.o):	do_memset.c
-	$(CC) do_memset.c
-
-$(SYSTEM)(do_getksig.o):	do_getksig.c
-	$(CC) do_getksig.c
-
-$(SYSTEM)(do_endksig.o):	do_endksig.c
-	$(CC) do_endksig.c
-
-$(SYSTEM)(do_kill.o):	do_kill.c
-	$(CC) do_kill.c
-
-$(SYSTEM)(do_sigsend.o):	do_sigsend.c
-	$(CC) do_sigsend.c
-
-$(SYSTEM)(do_sigreturn.o):	do_sigreturn.c
-	$(CC) do_sigreturn.c
-
-$(SYSTEM)(do_getinfo.o):	do_getinfo.c
-	$(CC) do_getinfo.c
-
-$(SYSTEM)(do_abort.o):	do_abort.c
-	$(CC) do_abort.c
-
-$(SYSTEM)(do_privctl.o):	do_privctl.c
-	$(CC) do_privctl.c
-
-$(SYSTEM)(do_segctl.o):	do_segctl.c
-	$(CC) do_segctl.c
-
-$(SYSTEM)(do_iopenable.o):	do_iopenable.c
-	$(CC) do_iopenable.c
-
-$(SYSTEM)(do_vm.o):	do_vm.o
-do_vm.o:	do_vm.c
-	$(CC) do_vm.c
-
-$(SYSTEM)(do_vm_setbuf.o):	do_vm_setbuf.c
-	$(CC) do_vm_setbuf.c
Index: trunk/minix/kernel/system/do_abort.c
===================================================================
--- trunk/minix/kernel/system/do_abort.c	(revision 9)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_ABORT
- *
- * The parameters for this kernel call are:
- *    m1_i1:	ABRT_HOW 	(how to abort, possibly fetch monitor params)	
- *    m1_i2:	ABRT_MON_PROC 	(proc nr to get monitor params from)	
- *    m1_i3:	ABRT_MON_LEN	(length of monitor params)
- *    m1_p1:	ABRT_MON_ADDR 	(virtual address of params)	
- */
-
-#include "../system.h"
-#include <unistd.h>
-
-#if USE_ABORT
-
-/*===========================================================================*
- *				do_abort				     *
- *===========================================================================*/
-PUBLIC int do_abort(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_abort. MINIX is unable to continue. This can originate e.g.
- * in the PM (normal abort or panic) or TTY (after CTRL-ALT-DEL).
- */
-  int how = m_ptr->ABRT_HOW;
-  int proc_nr;
-  int length;
-  phys_bytes src_phys;
-
-  /* See if the monitor is to run the specified instructions. */
-  if (how == RBT_MONITOR) {
-
-      if(!isokendpt(m_ptr->ABRT_MON_ENDPT, &proc_nr)) return(EDEADSRCDST);
-      length = m_ptr->ABRT_MON_LEN + 1;
-      if (length > kinfo.params_size) return(E2BIG);
-      src_phys = numap_local(proc_nr,(vir_bytes)m_ptr->ABRT_MON_ADDR,length);
-      if (! src_phys) return(EFAULT);
-
-      /* Parameters seem ok, copy them and prepare shutting down. */
-      phys_copy(src_phys, kinfo.params_base, (phys_bytes) length);
-  }
-
-  /* Now prepare to shutdown MINIX. */
-  prepare_shutdown(how);
-  return(OK);				/* pro-forma (really EDISASTER) */
-}
-
-#endif /* USE_ABORT */
-
Index: trunk/minix/kernel/system/do_copy.c
===================================================================
--- trunk/minix/kernel/system/do_copy.c	(revision 9)
+++ 	(revision )
@@ -1,68 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_VIRCOPY, SYS_PHYSCOPY
- *
- * The parameters for this kernel call are:
- *    m5_c1:	CP_SRC_SPACE		source virtual segment
- *    m5_l1:	CP_SRC_ADDR		source offset within segment
- *    m5_i1:	CP_SRC_PROC_NR		source process number
- *    m5_c2:	CP_DST_SPACE		destination virtual segment
- *    m5_l2:	CP_DST_ADDR		destination offset within segment
- *    m5_i2:	CP_DST_PROC_NR		destination process number
- *    m5_l3:	CP_NR_BYTES		number of bytes to copy
- */
-
-#include "../system.h"
-#include <minix/type.h>
-
-#if (USE_VIRCOPY || USE_PHYSCOPY)
-
-/*===========================================================================*
- *				do_copy					     *
- *===========================================================================*/
-PUBLIC int do_copy(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Handle sys_vircopy() and sys_physcopy().  Copy data using virtual or
- * physical addressing. Although a single handler function is used, there 
- * are two different kernel calls so that permissions can be checked. 
- */
-  struct vir_addr vir_addr[2];	/* virtual source and destination address */
-  phys_bytes bytes;		/* number of bytes to copy */
-  int i;
-
-  /* Dismember the command message. */
-  vir_addr[_SRC_].proc_nr_e = m_ptr->CP_SRC_ENDPT;
-  vir_addr[_SRC_].segment = m_ptr->CP_SRC_SPACE;
-  vir_addr[_SRC_].offset = (vir_bytes) m_ptr->CP_SRC_ADDR;
-  vir_addr[_DST_].proc_nr_e = m_ptr->CP_DST_ENDPT;
-  vir_addr[_DST_].segment = m_ptr->CP_DST_SPACE;
-  vir_addr[_DST_].offset = (vir_bytes) m_ptr->CP_DST_ADDR;
-  bytes = (phys_bytes) m_ptr->CP_NR_BYTES;
-
-  /* Now do some checks for both the source and destination virtual address.
-   * This is done once for _SRC_, then once for _DST_. 
-   */
-  for (i=_SRC_; i<=_DST_; i++) {
-	int p;
-      /* Check if process number was given implictly with SELF and is valid. */
-      if (vir_addr[i].proc_nr_e == SELF)
-	vir_addr[i].proc_nr_e = m_ptr->m_source;
-      if (vir_addr[i].segment != PHYS_SEG &&
-	! isokendpt(vir_addr[i].proc_nr_e, &p))
-          return(EINVAL); 
-
-      /* Check if physical addressing is used without SYS_PHYSCOPY. */
-      if ((vir_addr[i].segment & PHYS_SEG) &&
-          m_ptr->m_type != SYS_PHYSCOPY) return(EPERM);
-  }
-
-  /* Check for overflow. This would happen for 64K segments and 16-bit 
-   * vir_bytes. Especially copying by the PM on do_fork() is affected. 
-   */
-  if (bytes != (vir_bytes) bytes) return(E2BIG);
-
-  /* Now try to make the actual virtual copy. */
-  return( virtual_copy(&vir_addr[_SRC_], &vir_addr[_DST_], bytes) );
-}
-#endif /* (USE_VIRCOPY || USE_PHYSCOPY) */
-
Index: trunk/minix/kernel/system/do_devio.c
===================================================================
--- trunk/minix/kernel/system/do_devio.c	(revision 9)
+++ 	(revision )
@@ -1,82 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_DEVIO
- *
- * The parameters for this kernel call are:
- *   m2_i3:	DIO_REQUEST	(request input or output)	
- *   m2_i1:	DIO_TYPE	(flag indicating byte, word, or long)
- *   m2_l1:	DIO_PORT	(port to read/ write)	
- *   m2_l2:	DIO_VALUE	(value to write/ return value read)	
- */
-
-#include "../system.h"
-#include <minix/devio.h>
-#include <minix/endpoint.h>
-
-#if USE_DEVIO
-
-/*===========================================================================*
- *			        do_devio                                     *
- *===========================================================================*/
-PUBLIC int do_devio(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-    struct proc *rp;
-    struct priv *privp;
-    port_t port;
-    struct io_range *iorp;
-    int i, size, nr_io_range;
-
-    rp= proc_addr(who_p);
-    privp= priv(rp);
-    if (!privp)
-    {
-	kprintf("no priv structure!\n");
-	goto doit;
-    }
-    if (privp->s_flags & CHECK_IO_PORT)
-    {
-	switch (m_ptr->DIO_TYPE)
-	{
-	case DIO_BYTE: size= 1; break;
-	case DIO_WORD: size= 2; break;
-	case DIO_LONG: size= 4; break;
-	default: size= 4; break;	/* Be conservative */
-	}
-	port= m_ptr->DIO_PORT;
-	nr_io_range= privp->s_nr_io_range;
-	for (i= 0, iorp= privp->s_io_tab; i<nr_io_range; i++, iorp++)
-	{
-		if (port >= iorp->ior_base && port+size-1 <= iorp->ior_limit)
-			break;
-	}
-	if (i >= nr_io_range)
-	{
-		kprintf(
-		"do_devio: I/O port check failed for proc %d, port 0x%x\n",
-			m_ptr->m_source, port);
-		return EPERM;
-	}
-    }
-
-doit:
-
-/* Process a single I/O request for byte, word, and long values. */
-    if (m_ptr->DIO_REQUEST == DIO_INPUT) { 
-      switch (m_ptr->DIO_TYPE) {
-        case DIO_BYTE: m_ptr->DIO_VALUE = inb(m_ptr->DIO_PORT); break; 
-        case DIO_WORD: m_ptr->DIO_VALUE = inw(m_ptr->DIO_PORT); break; 
-        case DIO_LONG: m_ptr->DIO_VALUE = inl(m_ptr->DIO_PORT); break; 
-    	default: return(EINVAL);
-      } 
-    } else { 
-      switch (m_ptr->DIO_TYPE) {
-        case DIO_BYTE: outb(m_ptr->DIO_PORT, m_ptr->DIO_VALUE); break;  
-        case DIO_WORD: outw(m_ptr->DIO_PORT, m_ptr->DIO_VALUE); break;  
-        case DIO_LONG: outl(m_ptr->DIO_PORT, m_ptr->DIO_VALUE); break;  
-    	default: return(EINVAL);
-      } 
-    }
-    return(OK);
-}
-
-#endif /* USE_DEVIO */
Index: trunk/minix/kernel/system/do_endksig.c
===================================================================
--- trunk/minix/kernel/system/do_endksig.c	(revision 9)
+++ 	(revision )
@@ -1,44 +1,0 @@
-/* The kernel call that is implemented in this file:
- *   m_type:	SYS_ENDKSIG
- *
- * The parameters for this kernel call are:
- *     m2_i1:	SIG_ENDPT  	# process for which PM is done
- */
-
-#include "../system.h"
-#include <signal.h>
-#include <sys/sigcontext.h>
-
-#if USE_ENDKSIG 
-
-/*===========================================================================*
- *			      do_endksig				     *
- *===========================================================================*/
-PUBLIC int do_endksig(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Finish up after a kernel type signal, caused by a SYS_KILL message or a 
- * call to cause_sig by a task. This is called by the PM after processing a
- * signal it got with SYS_GETKSIG.
- */
-  register struct proc *rp;
-  int proc;
-
-  /* Get process pointer and verify that it had signals pending. If the 
-   * process is already dead its flags will be reset. 
-   */
-  if(!isokendpt(m_ptr->SIG_ENDPT, &proc))
-    return EINVAL;
-
-  rp = proc_addr(proc);
-  if (! (rp->p_rts_flags & SIG_PENDING)) return(EINVAL);
-
-  /* PM has finished one kernel signal. Perhaps process is ready now? */
-  if (! (rp->p_rts_flags & SIGNALED)) 		/* new signal arrived */
-     if ((rp->p_rts_flags &= ~SIG_PENDING)==0)	/* remove pending flag */
-         lock_enqueue(rp);			/* ready if no flags */
-  return(OK);
-}
-
-#endif /* USE_ENDKSIG */
-
Index: trunk/minix/kernel/system/do_exec.c
===================================================================
--- trunk/minix/kernel/system/do_exec.c	(revision 9)
+++ 	(revision )
@@ -1,63 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_EXEC
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_ENDPT  		(process that did exec call)
- *    m1_p1:	PR_STACK_PTR		(new stack pointer)
- *    m1_p2:	PR_NAME_PTR		(pointer to program name)
- *    m1_p3:	PR_IP_PTR		(new instruction pointer)
- */
-#include "../system.h"
-#include <string.h>
-#include <signal.h>
-#include <minix/endpoint.h>
-
-#if USE_EXEC
-
-/*===========================================================================*
- *				do_exec					     *
- *===========================================================================*/
-PUBLIC int do_exec(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Handle sys_exec().  A process has done a successful EXEC. Patch it up. */
-  register struct proc *rp;
-  reg_t sp;			/* new sp */
-  phys_bytes phys_name;
-  char *np;
-  int proc;
-
-  if(!isokendpt(m_ptr->PR_ENDPT, &proc))
-	return EINVAL;
-
-  rp = proc_addr(proc);
-  sp = (reg_t) m_ptr->PR_STACK_PTR;
-  rp->p_reg.sp = sp;		/* set the stack pointer */
-#if (CHIP == M68000)
-  rp->p_splow = sp;		/* set the stack pointer low water */
-#ifdef FPP
-  /* Initialize fpp for this process */
-  fpp_new_state(rp);
-#endif
-#endif
-#if (CHIP == INTEL)		/* wipe extra LDT entries */
-  phys_memset(vir2phys(&rp->p_ldt[EXTRA_LDT_INDEX]), 0,
-	(LDT_SIZE - EXTRA_LDT_INDEX) * sizeof(rp->p_ldt[0]));
-#endif
-  rp->p_reg.pc = (reg_t) m_ptr->PR_IP_PTR;	/* set pc */
-  rp->p_rts_flags &= ~RECEIVING;	/* PM does not reply to EXEC call */
-  if (rp->p_rts_flags == 0) lock_enqueue(rp);
-  /* Save command name for debugging, ps(1) output, etc. */
-  phys_name = numap_local(who_p, (vir_bytes) m_ptr->PR_NAME_PTR,
-					(vir_bytes) P_NAME_LEN - 1);
-  if (phys_name != 0) {
-	phys_copy(phys_name, vir2phys(rp->p_name), (phys_bytes) P_NAME_LEN - 1);
-	for (np = rp->p_name; (*np & BYTE) >= ' '; np++) {}
-	*np = 0;					/* mark end */
-  } else {
-  	strncpy(rp->p_name, "<unset>", P_NAME_LEN);
-  }
-  return(OK);
-}
-#endif /* USE_EXEC */
-
Index: trunk/minix/kernel/system/do_exit.c
===================================================================
--- trunk/minix/kernel/system/do_exit.c	(revision 9)
+++ 	(revision )
@@ -1,93 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_EXIT
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_ENDPT		(slot number of exiting process)
- */
-
-#include "../system.h"
-
-#include <minix/endpoint.h>
-
-#if USE_EXIT
-
-FORWARD _PROTOTYPE( void clear_proc, (register struct proc *rc));
-
-/*===========================================================================*
- *				do_exit					     *
- *===========================================================================*/
-PUBLIC int do_exit(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_exit. A user process has exited or a system process requests 
- * to exit. Only the PM can request other process slots to be cleared.
- * The routine to clean up a process table slot cancels outstanding timers, 
- * possibly removes the process from the message queues, and resets certain 
- * process table fields to the default values.
- */
-  int exit_e;				
-
-  /* Determine what process exited. User processes are handled here. */
-  if (PM_PROC_NR == who_p) {
-      if (m_ptr->PR_ENDPT != SELF) { 		/* PM tries to exit self */
-          if(!isokendpt(m_ptr->PR_ENDPT, &exit_e)) /* get exiting process */
-	     return EINVAL;
-          clear_proc(proc_addr(exit_e));	/* exit a user process */
-          return(OK);				/* report back to PM */
-      }
-  } 
-
-  /* The PM or some other system process requested to be exited. */
-  clear_proc(proc_addr(who_p));
-  return(EDONTREPLY);
-}
-
-/*===========================================================================*
- *			         clear_proc				     *
- *===========================================================================*/
-PRIVATE void clear_proc(rc)
-register struct proc *rc;		/* slot of process to clean up */
-{
-  register struct proc *rp;		/* iterate over process table */
-  register struct proc **xpp;		/* iterate over caller queue */
-  int i;
-  int sys_id;
-  char saved_rts_flags;
-
-  /* Don't clear if already cleared. */
-  if(isemptyp(rc)) return;
-
-  /* Remove the process' ability to send and receive messages */
-  clear_endpoint(rc);
-
-  /* Turn off any alarm timers at the clock. */   
-  reset_timer(&priv(rc)->s_alarm_timer);
-
-  /* Make sure that the exiting process is no longer scheduled. */
-  if (rc->p_rts_flags == 0) lock_dequeue(rc);
-
-  /* Check the table with IRQ hooks to see if hooks should be released. */
-  for (i=0; i < NR_IRQ_HOOKS; i++) {
-      int proc;
-      if (rc->p_endpoint == irq_hooks[i].proc_nr_e) { 
-        rm_irq_handler(&irq_hooks[i]);	/* remove interrupt handler */
-        irq_hooks[i].proc_nr_e = NONE;	/* mark hook as free */
-      }
-  }
-
-  /* Release the process table slot. If this is a system process, also
-   * release its privilege structure.  Further cleanup is not needed at
-   * this point. All important fields are reinitialized when the 
-   * slots are assigned to another, new process. 
-   */
-  saved_rts_flags = rc->p_rts_flags;
-  rc->p_rts_flags = SLOT_FREE;		
-  if (priv(rc)->s_flags & SYS_PROC) priv(rc)->s_proc_nr = NONE;
-
-  /* Clean up virtual memory */
-  if (rc->p_misc_flags & MF_VM)
-  	vm_map_default(rc);
-}
-
-#endif /* USE_EXIT */
-
Index: trunk/minix/kernel/system/do_fork.c
===================================================================
--- trunk/minix/kernel/system/do_fork.c	(revision 9)
+++ 	(revision )
@@ -1,86 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_FORK
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_SLOT	 (child's process table slot)	
- *    m1_i2:	PR_ENDPT (parent, process that forked)	
- */
-
-#include "../system.h"
-#include <signal.h>
-#if (CHIP == INTEL)
-#include "../protect.h"
-#endif
-
-#include <minix/endpoint.h>
-
-#if USE_FORK
-
-/*===========================================================================*
- *				do_fork					     *
- *===========================================================================*/
-PUBLIC int do_fork(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Handle sys_fork().  PR_ENDPT has forked.  The child is PR_SLOT. */
-#if (CHIP == INTEL)
-  reg_t old_ldt_sel;
-#endif
-  register struct proc *rpc;		/* child process pointer */
-  struct proc *rpp;			/* parent process pointer */
-  int i, gen;
-  int p_proc;
-
-  if(!isokendpt(m_ptr->PR_ENDPT, &p_proc))
-	return EINVAL;
-  rpp = proc_addr(p_proc);
-  rpc = proc_addr(m_ptr->PR_SLOT);
-  if (isemptyp(rpp) || ! isemptyp(rpc)) return(EINVAL);
-
-  /* Copy parent 'proc' struct to child. And reinitialize some fields. */
-  gen = _ENDPOINT_G(rpc->p_endpoint);
-#if (CHIP == INTEL)
-  old_ldt_sel = rpc->p_ldt_sel;		/* backup local descriptors */
-  *rpc = *rpp;				/* copy 'proc' struct */
-  rpc->p_ldt_sel = old_ldt_sel;		/* restore descriptors */
-#else
-  *rpc = *rpp;				/* copy 'proc' struct */
-#endif
-  if(++gen >= _ENDPOINT_MAX_GENERATION)	/* increase generation */
-	gen = 1;			/* generation number wraparound */
-  rpc->p_nr = m_ptr->PR_SLOT;		/* this was obliterated by copy */
-  rpc->p_endpoint = _ENDPOINT(gen, rpc->p_nr);	/* new endpoint of slot */
-
-  /* Only one in group should have SIGNALED, child doesn't inherit tracing. */
-  rpc->p_rts_flags |= NO_MAP;		/* inhibit process from running */
-  rpc->p_rts_flags &= ~(SIGNALED | SIG_PENDING | P_STOP);
-  sigemptyset(&rpc->p_pending);
-
-  rpc->p_reg.retreg = 0;	/* child sees pid = 0 to know it is child */
-  rpc->p_user_time = 0;		/* set all the accounting times to 0 */
-  rpc->p_sys_time = 0;
-
-  /* Parent and child have to share the quantum that the forked process had,
-   * so that queued processes do not have to wait longer because of the fork.
-   * If the time left is odd, the child gets an extra tick.
-   */
-  rpc->p_ticks_left = (rpc->p_ticks_left + 1) / 2;
-  rpp->p_ticks_left =  rpp->p_ticks_left / 2;	
-
-  /* If the parent is a privileged process, take away the privileges from the 
-   * child process and inhibit it from running by setting the NO_PRIV flag.
-   * The caller should explicitely set the new privileges before executing.
-   */
-  if (priv(rpp)->s_flags & SYS_PROC) {
-      rpc->p_priv = priv_addr(USER_PRIV_ID);
-      rpc->p_rts_flags |= NO_PRIV;
-  }
-
-  /* Calculate endpoint identifier, so caller knows what it is. */
-  m_ptr->PR_ENDPT = rpc->p_endpoint;
-
-  return(OK);
-}
-
-#endif /* USE_FORK */
-
Index: trunk/minix/kernel/system/do_getinfo.c
===================================================================
--- trunk/minix/kernel/system/do_getinfo.c	(revision 9)
+++ 	(revision )
@@ -1,160 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_GETINFO
- *
- * The parameters for this kernel call are:
- *    m1_i3:	I_REQUEST	(what info to get)	
- *    m1_p1:	I_VAL_PTR 	(where to put it)	
- *    m1_i1:	I_VAL_LEN 	(maximum length expected, optional)	
- *    m1_p2:	I_VAL_PTR2	(second, optional pointer)	
- *    m1_i2:	I_VAL_LEN2_E	(second length or process nr)	
- */
-
-#include "../system.h"
-
-static unsigned long bios_buf[1024];	/* 4K, what about alignment */
-static vir_bytes bios_buf_vir, bios_buf_len;
-
-#if USE_GETINFO
-
-/*===========================================================================*
- *			        do_getinfo				     *
- *===========================================================================*/
-PUBLIC int do_getinfo(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Request system information to be copied to caller's address space. This
- * call simply copies entire data structures to the caller.
- */
-  size_t length;
-  phys_bytes src_phys; 
-  phys_bytes dst_phys; 
-  int proc_nr, nr_e, nr;
-
-  /* Set source address and length based on request type. */
-  switch (m_ptr->I_REQUEST) {	
-    case GET_MACHINE: {
-        length = sizeof(struct machine);
-        src_phys = vir2phys(&machine);
-        break;
-    }
-    case GET_KINFO: {
-        length = sizeof(struct kinfo);
-        src_phys = vir2phys(&kinfo);
-        break;
-    }
-    case GET_LOADINFO: {
-        length = sizeof(struct loadinfo);
-        src_phys = vir2phys(&kloadinfo);
-        break;
-    }
-    case GET_IMAGE: {
-        length = sizeof(struct boot_image) * NR_BOOT_PROCS;
-        src_phys = vir2phys(image);
-        break;
-    }
-    case GET_IRQHOOKS: {
-        length = sizeof(struct irq_hook) * NR_IRQ_HOOKS;
-        src_phys = vir2phys(irq_hooks);
-        break;
-    }
-    case GET_SCHEDINFO: {
-        /* This is slightly complicated because we need two data structures
-         * at once, otherwise the scheduling information may be incorrect.
-         * Copy the queue heads and fall through to copy the process table. 
-         */
-        length = sizeof(struct proc *) * NR_SCHED_QUEUES;
-        src_phys = vir2phys(rdy_head);
-	okendpt(m_ptr->m_source, &proc_nr);
-        dst_phys = numap_local(proc_nr, (vir_bytes) m_ptr->I_VAL_PTR2,
-                length); 
-        if (src_phys == 0 || dst_phys == 0) return(EFAULT);
-        phys_copy(src_phys, dst_phys, length);
-        /* fall through */
-    }
-    case GET_PROCTAB: {
-        length = sizeof(struct proc) * (NR_PROCS + NR_TASKS);
-        src_phys = vir2phys(proc);
-        break;
-    }
-    case GET_PRIVTAB: {
-        length = sizeof(struct priv) * (NR_SYS_PROCS);
-        src_phys = vir2phys(priv);
-        break;
-    }
-    case GET_PROC: {
-        nr_e = (m_ptr->I_VAL_LEN2_E == SELF) ?
-		m_ptr->m_source : m_ptr->I_VAL_LEN2_E;
-	if(!isokendpt(nr_e, &nr)) return EINVAL; /* validate request */
-        length = sizeof(struct proc);
-        src_phys = vir2phys(proc_addr(nr));
-        break;
-    }
-    case GET_MONPARAMS: {
-        src_phys = kinfo.params_base;		/* already is a physical */
-        length = kinfo.params_size;
-        break;
-    }
-    case GET_RANDOMNESS: {		
-        static struct randomness copy;		/* copy to keep counters */
-	int i;
-
-        copy = krandom;
-        for (i= 0; i<RANDOM_SOURCES; i++) {
-  		krandom.bin[i].r_size = 0;	/* invalidate random data */
-  		krandom.bin[i].r_next = 0;
-	}
-    	length = sizeof(struct randomness);
-    	src_phys = vir2phys(&copy);
-    	break;
-    }
-    case GET_KMESSAGES: {
-        length = sizeof(struct kmessages);
-        src_phys = vir2phys(&kmess);
-        break;
-    }
-#if DEBUG_TIME_LOCKS
-    case GET_LOCKTIMING: {
-    length = sizeof(timingdata);
-    src_phys = vir2phys(timingdata);
-    break;
-    }
-#endif
-    case GET_BIOSBUFFER:
-    	bios_buf_vir = (vir_bytes)bios_buf;
-    	bios_buf_len = sizeof(bios_buf);
-
-    	length = sizeof(bios_buf_len);
-    	src_phys = vir2phys(&bios_buf_len);
-	if (length != m_ptr->I_VAL_LEN2_E) return (EINVAL);
-	if(!isokendpt(m_ptr->m_source, &proc_nr))
-		panic("bogus source", m_ptr->m_source);
-	dst_phys = numap_local(proc_nr, (vir_bytes) m_ptr->I_VAL_PTR2, length); 
-	if (src_phys == 0 || dst_phys == 0) return(EFAULT);
-	phys_copy(src_phys, dst_phys, length);
-
-    	length = sizeof(bios_buf_vir);
-    	src_phys = vir2phys(&bios_buf_vir);
-    	break;
-
-    case GET_IRQACTIDS: {
-        length = sizeof(irq_actids);
-        src_phys = vir2phys(irq_actids);
-        break;
-    }
-
-    default:
-        return(EINVAL);
-  }
-
-  /* Try to make the actual copy for the requested data. */
-  if (m_ptr->I_VAL_LEN > 0 && length > m_ptr->I_VAL_LEN) return (E2BIG);
-  if(!isokendpt(m_ptr->m_source, &proc_nr)) 
-	panic("bogus source", m_ptr->m_source);
-  dst_phys = numap_local(proc_nr, (vir_bytes) m_ptr->I_VAL_PTR, length); 
-  if (src_phys == 0 || dst_phys == 0) return(EFAULT);
-  phys_copy(src_phys, dst_phys, length);
-  return(OK);
-}
-
-#endif /* USE_GETINFO */
-
Index: trunk/minix/kernel/system/do_getksig.c
===================================================================
--- trunk/minix/kernel/system/do_getksig.c	(revision 9)
+++ 	(revision )
@@ -1,47 +1,0 @@
-/* The kernel call that is implemented in this file:
- *   m_type:	SYS_GETKSIG
- *
- * The parameters for this kernel call are:
- *     m2_i1:	SIG_ENDPT  	# process with pending signals
- *     m2_l1:	SIG_MAP		# bit map with pending signals
- */
-
-#include "../system.h"
-#include <signal.h>
-#include <sys/sigcontext.h>
-#include <minix/endpoint.h>
-
-#if USE_GETKSIG
-
-/*===========================================================================*
- *			      do_getksig				     *
- *===========================================================================*/
-PUBLIC int do_getksig(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* PM is ready to accept signals and repeatedly does a kernel call to get 
- * one. Find a process with pending signals. If no signals are available, 
- * return NONE in the process number field.
- * It is not sufficient to ready the process when PM is informed, because 
- * PM can block waiting for FS to do a core dump.
- */
-  register struct proc *rp;
-
-  /* Find the next process with pending signals. */
-  for (rp = BEG_USER_ADDR; rp < END_PROC_ADDR; rp++) {
-      if (rp->p_rts_flags & SIGNALED) {
-	  /* store signaled process' endpoint */
-          m_ptr->SIG_ENDPT = rp->p_endpoint;
-          m_ptr->SIG_MAP = rp->p_pending;	/* pending signals map */
-          sigemptyset(&rp->p_pending); 		/* ball is in PM's court */
-          rp->p_rts_flags &= ~SIGNALED;		/* blocked by SIG_PENDING */
-          return(OK);
-      }
-  }
-
-  /* No process with pending signals was found. */
-  m_ptr->SIG_ENDPT = NONE; 
-  return(OK);
-}
-#endif /* USE_GETKSIG */
-
Index: trunk/minix/kernel/system/do_int86.c
===================================================================
--- trunk/minix/kernel/system/do_int86.c	(revision 9)
+++ 	(revision )
@@ -1,45 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_INT86
- *
- * The parameters for this kernel call are:
- *    m1_p1:	INT86_REG86     
- */
-
-#include "../system.h"
-#include <minix/type.h>
-#include <minix/endpoint.h>
-#include <ibm/int86.h>
-
-struct reg86u reg86;
-
-/*===========================================================================*
- *				do_int86					     *
- *===========================================================================*/
-PUBLIC int do_int86(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-  vir_bytes caller_vir;
-  phys_bytes caller_phys, kernel_phys;
-
-  caller_vir = (vir_bytes) m_ptr->INT86_REG86;
-  caller_phys = umap_local(proc_addr(who_p), D, caller_vir, sizeof(reg86));
-  if (0 == caller_phys) return(EFAULT);
-  kernel_phys = vir2phys(&reg86);
-  phys_copy(caller_phys, kernel_phys, (phys_bytes) sizeof(reg86));
-
-  level0(int86);
-
-  /* Copy results back to the caller */
-  phys_copy(kernel_phys, caller_phys, (phys_bytes) sizeof(reg86));
-
-  /* The BIOS call eats interrupts. Call get_randomness to generate some
-   * entropy. Normally, get_randomness is called from an interrupt handler.
-   * Figuring out the exact source is too complicated. CLOCK_IRQ is normally
-   * not very random.
-   */
-  lock(0, "do_int86");
-  get_randomness(CLOCK_IRQ);
-  unlock(0);
-
-  return(OK);
-}
Index: trunk/minix/kernel/system/do_iopenable.c
===================================================================
--- trunk/minix/kernel/system/do_iopenable.c	(revision 9)
+++ 	(revision )
@@ -1,34 +1,0 @@
-/* The system call implemented in this file:
- *   m_type:	SYS_IOPENABLE
- *
- * The parameters for this system call are:
- *    m2_i2:	IO_ENDPT	(process to give I/O Protection Level bits)
- *
- * Author:
- *    Jorrit N. Herder <jnherder@cs.vu.nl>
- */
-
-#include "../system.h"
-#include "../kernel.h"
-
-/*===========================================================================*
- *			        do_iopenable				     *
- *===========================================================================*/
-PUBLIC int do_iopenable(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-  int proc_nr;
-
-#if 1 /* ENABLE_USERPRIV && ENABLE_USERIOPL */
-  if (m_ptr->IO_ENDPT == SELF) {
-	proc_nr = who_p;
-  } else if(!isokendpt(m_ptr->IO_ENDPT, &proc_nr))
-	return(EINVAL);
-  enable_iop(proc_addr(proc_nr));
-  return(OK);
-#else
-  return(EPERM);
-#endif
-}
-
-
Index: trunk/minix/kernel/system/do_irqctl.c
===================================================================
--- trunk/minix/kernel/system/do_irqctl.c	(revision 9)
+++ 	(revision )
@@ -1,167 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_IRQCTL
- *
- * The parameters for this kernel call are:
- *    m5_c1:	IRQ_REQUEST	(control operation to perform)	
- *    m5_c2:	IRQ_VECTOR	(irq line that must be controlled)
- *    m5_i1:	IRQ_POLICY	(irq policy allows reenabling interrupts)
- *    m5_l3:	IRQ_HOOK_ID	(provides index to be returned on interrupt)
- *      ,,          ,,          (returns index of irq hook assigned at kernel)
- */
-
-#include "../system.h"
-
-#include <minix/endpoint.h>
-
-#if USE_IRQCTL
-
-FORWARD _PROTOTYPE(int generic_handler, (irq_hook_t *hook));
-
-/*===========================================================================*
- *				do_irqctl				     *
- *===========================================================================*/
-PUBLIC int do_irqctl(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-  /* Dismember the request message. */
-  int irq_vec;
-  int irq_hook_id;
-  int notify_id;
-  int r = OK;
-  int i;
-  irq_hook_t *hook_ptr;
-  struct proc *rp;
-  struct priv *privp;
-
-  /* Hook identifiers start at 1 and end at NR_IRQ_HOOKS. */
-  irq_hook_id = (unsigned) m_ptr->IRQ_HOOK_ID - 1;
-  irq_vec = (unsigned) m_ptr->IRQ_VECTOR; 
-
-  /* See what is requested and take needed actions. */
-  switch(m_ptr->IRQ_REQUEST) {
-
-  /* Enable or disable IRQs. This is straightforward. */
-  case IRQ_ENABLE:           
-  case IRQ_DISABLE: 
-      if (irq_hook_id >= NR_IRQ_HOOKS || irq_hook_id < 0 ||
-          irq_hooks[irq_hook_id].proc_nr_e == NONE) return(EINVAL);
-      if (irq_hooks[irq_hook_id].proc_nr_e != m_ptr->m_source) return(EPERM);
-      if (m_ptr->IRQ_REQUEST == IRQ_ENABLE)
-          enable_irq(&irq_hooks[irq_hook_id]);	
-      else 
-          disable_irq(&irq_hooks[irq_hook_id]);	
-      break;
-
-  /* Control IRQ policies. Set a policy and needed details in the IRQ table.
-   * This policy is used by a generic function to handle hardware interrupts. 
-   */
-  case IRQ_SETPOLICY:  
-
-      /* Check if IRQ line is acceptable. */
-      if (irq_vec < 0 || irq_vec >= NR_IRQ_VECTORS) return(EINVAL);
-
-      rp= proc_addr(who_p);
-      privp= priv(rp);
-      if (!privp)
-      {
-	kprintf("no priv structure!\n");
-	return EPERM;
-      }
-      if (privp->s_flags & CHECK_IRQ)
-      {
-	for (i= 0; i<privp->s_nr_irq; i++)
-	{
-		if (irq_vec == privp->s_irq_tab[i])
-			break;
-	}
-	if (i >= privp->s_nr_irq)
-	{
-		kprintf(
-		"do_irqctl: IRQ check failed for proc %d, IRQ %d\n",
-			m_ptr->m_source, irq_vec);
-		return EPERM;
-	}
-    }
-
-      /* Find a free IRQ hook for this mapping. */
-      hook_ptr = NULL;
-      for (irq_hook_id=0; irq_hook_id<NR_IRQ_HOOKS; irq_hook_id++) {
-          if (irq_hooks[irq_hook_id].proc_nr_e == NONE) {	
-              hook_ptr = &irq_hooks[irq_hook_id];	/* free hook */
-              break;
-          }
-      }
-      if (hook_ptr == NULL) return(ENOSPC);
-
-      /* When setting a policy, the caller must provide an identifier that
-       * is returned on the notification message if a interrupt occurs.
-       */
-      notify_id = (unsigned) m_ptr->IRQ_HOOK_ID;
-      if (notify_id > CHAR_BIT * sizeof(irq_id_t) - 1) return(EINVAL);
-
-      /* Install the handler. */
-      hook_ptr->proc_nr_e = m_ptr->m_source;	/* process to notify */   	
-      hook_ptr->notify_id = notify_id;		/* identifier to pass */   	
-      hook_ptr->policy = m_ptr->IRQ_POLICY;	/* policy for interrupts */
-      put_irq_handler(hook_ptr, irq_vec, generic_handler);
-
-      /* Return index of the IRQ hook in use. */
-      m_ptr->IRQ_HOOK_ID = irq_hook_id + 1;
-      break;
-
-  case IRQ_RMPOLICY:
-      if (irq_hook_id < 0 || irq_hook_id >= NR_IRQ_HOOKS ||
-               irq_hooks[irq_hook_id].proc_nr_e == NONE) {
-           return(EINVAL);
-      } else if (m_ptr->m_source != irq_hooks[irq_hook_id].proc_nr_e) {
-           return(EPERM);
-      }
-      /* Remove the handler and return. */
-      rm_irq_handler(&irq_hooks[irq_hook_id]);
-      break;
-
-  default:
-      r = EINVAL;				/* invalid IRQ_REQUEST */
-  }
-  return(r);
-}
-
-/*===========================================================================*
- *			       generic_handler				     *
- *===========================================================================*/
-PRIVATE int generic_handler(hook)
-irq_hook_t *hook;	
-{
-/* This function handles hardware interrupt in a simple and generic way. All
- * interrupts are transformed into messages to a driver. The IRQ line will be
- * reenabled if the policy says so.
- */
-  int proc;
-
-  /* As a side-effect, the interrupt handler gathers random information by 
-   * timestamping the interrupt events. This is used for /dev/random.
-   */
-  get_randomness(hook->irq);
-
-  /* Check if the handler is still alive. If not, forget about the
-   * interrupt. This should never happen, as processes that die 
-   * automatically get their interrupt hooks unhooked.
-   */
-  if(!isokendpt(hook->proc_nr_e, &proc)) {
-     hook->proc_nr_e = NONE;
-     return 0;
-  }
-
-  /* Add a bit for this interrupt to the process' pending interrupts. When 
-   * sending the notification message, this bit map will be magically set
-   * as an argument. 
-   */
-  priv(proc_addr(proc))->s_int_pending |= (1 << hook->notify_id);
-
-  /* Build notification message and return. */
-  lock_notify(HARDWARE, hook->proc_nr_e);
-  return(hook->policy & IRQ_REENABLE);
-}
-
-#endif /* USE_IRQCTL */
-
Index: trunk/minix/kernel/system/do_kill.c
===================================================================
--- trunk/minix/kernel/system/do_kill.c	(revision 9)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/* The kernel call that is implemented in this file:
- *   m_type:	SYS_KILL
- *
- * The parameters for this kernel call are:
- *     m2_i1:	SIG_ENDPT  	# process to signal/ pending		
- *     m2_i2:	SIG_NUMBER	# signal number to send to process
- */
-
-#include "../system.h"
-#include <signal.h>
-#include <sys/sigcontext.h>
-
-#if USE_KILL
-
-/*===========================================================================*
- *			          do_kill				     *
- *===========================================================================*/
-PUBLIC int do_kill(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_kill(). Cause a signal to be sent to a process. The PM is the
- * central server where all signals are processed and handler policies can
- * be registered. Any request, except for PM requests, is added to the map
- * of pending signals and the PM is informed about the new signal.
- * Since system servers cannot use normal POSIX signal handlers (because they
- * are usually blocked on a RECEIVE), they can request the PM to transform 
- * signals into messages. This is done by the PM with a call to sys_kill(). 
- */
-  proc_nr_t proc_nr, proc_nr_e;
-  int sig_nr = m_ptr->SIG_NUMBER;
-
-  proc_nr_e= m_ptr->SIG_ENDPT;
-	
-  if (proc_nr_e == SELF)
-	proc_nr_e= m_ptr->m_source;
-
-  if (!isokendpt(proc_nr_e, &proc_nr)) return(EINVAL);
-
-  if (sig_nr > _NSIG) return(EINVAL);
-  if (iskerneln(proc_nr)) return(EPERM);
-
-  /* Set pending signal to be processed by the PM. */
-  cause_sig(proc_nr, sig_nr);
-  if (sig_nr == SIGKILL)
-	clear_endpoint(proc_addr(proc_nr));
-  return(OK);
-}
-
-#endif /* USE_KILL */
-
Index: trunk/minix/kernel/system/do_memset.c
===================================================================
--- trunk/minix/kernel/system/do_memset.c	(revision 9)
+++ 	(revision )
@@ -1,29 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_MEMSET
- *
- * The parameters for this kernel call are:
- *    m2_p1:	MEM_PTR		(virtual address)	
- *    m2_l1:	MEM_COUNT	(returns physical address)	
- *    m2_l2:	MEM_PATTERN	(size of datastructure) 	
- */
-
-#include "../system.h"
-
-#if USE_MEMSET
-
-/*===========================================================================*
- *				do_memset				     *
- *===========================================================================*/
-PUBLIC int do_memset(m_ptr)
-register message *m_ptr;
-{
-/* Handle sys_memset(). This writes a pattern into the specified memory. */
-  unsigned long p;
-  unsigned char c = m_ptr->MEM_PATTERN;
-  p = c | (c << 8) | (c << 16) | (c << 24);
-  phys_memset((phys_bytes) m_ptr->MEM_PTR, p, (phys_bytes) m_ptr->MEM_COUNT);
-  return(OK);
-}
-
-#endif /* USE_MEMSET */
-
Index: trunk/minix/kernel/system/do_newmap.c
===================================================================
--- trunk/minix/kernel/system/do_newmap.c	(revision 9)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_NEWMAP
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_ENDPT		(install new map for this process)
- *    m1_p1:	PR_MEM_PTR		(pointer to the new memory map)
- */
-#include "../system.h"
-#include <minix/endpoint.h>
-
-#if USE_NEWMAP
-
-/*===========================================================================*
- *				do_newmap				     *
- *===========================================================================*/
-PUBLIC int do_newmap(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_newmap().  Fetch the memory map from PM. */
-  register struct proc *rp;	/* process whose map is to be loaded */
-  struct mem_map *map_ptr;	/* virtual address of map inside caller (PM) */
-  phys_bytes src_phys;		/* physical address of map at the PM */
-  int old_flags;		/* value of flags before modification */
-  int proc;
-
-  map_ptr = (struct mem_map *) m_ptr->PR_MEM_PTR;
-  if (! isokendpt(m_ptr->PR_ENDPT, &proc)) return(EINVAL);
-  if (iskerneln(proc)) return(EPERM);
-  rp = proc_addr(proc);
-
-  /* Copy the map from PM. */
-  src_phys = umap_local(proc_addr(who_p), D, (vir_bytes) map_ptr, 
-      sizeof(rp->p_memmap));
-  if (src_phys == 0) return(EFAULT);
-  phys_copy(src_phys,vir2phys(rp->p_memmap),(phys_bytes)sizeof(rp->p_memmap));
-
-#if (CHIP != M68000)
-  alloc_segments(rp);
-#else
-  pmmu_init_proc(rp);
-#endif
-  old_flags = rp->p_rts_flags;	/* save the previous value of the flags */
-  rp->p_rts_flags &= ~NO_MAP;
-  if (old_flags != 0 && rp->p_rts_flags == 0) lock_enqueue(rp);
-
-  return(OK);
-}
-#endif /* USE_NEWMAP */
-
Index: trunk/minix/kernel/system/do_nice.c
===================================================================
--- trunk/minix/kernel/system/do_nice.c	(revision 9)
+++ 	(revision )
@@ -1,61 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_NICE
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_ENDPT   	process number to change priority
- *    m1_i2:	PR_PRIORITY	the new priority
- */
-
-#include "../system.h"
-#include <minix/type.h>
-#include <sys/resource.h>
-
-#if USE_NICE
-
-/*===========================================================================*
- *				  do_nice				     *
- *===========================================================================*/
-PUBLIC int do_nice(message *m_ptr)
-{
-/* Change process priority or stop the process. */
-  int proc_nr, pri, new_q ;
-  register struct proc *rp;
-
-  /* Extract the message parameters and do sanity checking. */
-  if(!isokendpt(m_ptr->PR_ENDPT, &proc_nr)) return EINVAL;
-  if (iskerneln(proc_nr)) return(EPERM);
-  pri = m_ptr->PR_PRIORITY;
-  rp = proc_addr(proc_nr);
-
-  if (pri == PRIO_STOP) {
-
-      /* Take process off the scheduling queues. */
-      lock_dequeue(rp);
-      rp->p_rts_flags |= NO_PRIORITY;
-      return(OK);
-  }
-  else if (pri >= PRIO_MIN && pri <= PRIO_MAX) {
-
-      /* The value passed in is currently between PRIO_MIN and PRIO_MAX. 
-       * We have to scale this between MIN_USER_Q and MAX_USER_Q to match 
-       * the kernel's scheduling queues.
-       */
-      new_q = MAX_USER_Q + (pri-PRIO_MIN) * (MIN_USER_Q-MAX_USER_Q+1) / 
-          (PRIO_MAX-PRIO_MIN+1);
-      if (new_q < MAX_USER_Q) new_q = MAX_USER_Q;	/* shouldn't happen */
-      if (new_q > MIN_USER_Q) new_q = MIN_USER_Q;	/* shouldn't happen */
-
-      /* Make sure the process is not running while changing its priority. 
-       * Put the process back in its new queue if it is runnable.
-       */
-      lock_dequeue(rp);
-      rp->p_max_priority = rp->p_priority = new_q;
-      if (! rp->p_rts_flags) lock_enqueue(rp);
-
-      return(OK);
-  }
-  return(EINVAL);
-}
-
-#endif /* USE_NICE */
-
Index: trunk/minix/kernel/system/do_privctl.c
===================================================================
--- trunk/minix/kernel/system/do_privctl.c	(revision 9)
+++ 	(revision )
@@ -1,171 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_PRIVCTL
- *
- * The parameters for this kernel call are:
- *    m1_i1:	PR_ENDPT 	(process number of caller)	
- */
-
-#include "../system.h"
-#include "../ipc.h"
-#include <signal.h>
-
-#if USE_PRIVCTL
-
-#define FILLED_MASK	(~0)
-
-/*===========================================================================*
- *				do_privctl				     *
- *===========================================================================*/
-PUBLIC int do_privctl(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_privctl(). Update a process' privileges. If the process is not
- * yet a system process, make sure it gets its own privilege structure.
- */
-  register struct proc *caller_ptr;
-  register struct proc *rp;
-  register struct priv *sp;
-  int proc_nr;
-  int priv_id;
-  int old_flags;
-  int i;
-  phys_bytes caller_phys, kernel_phys;
-  struct io_range io_range;
-  struct mem_range mem_range;
-
-  /* Check whether caller is allowed to make this call. Privileged proceses 
-   * can only update the privileges of processes that are inhibited from 
-   * running by the NO_PRIV flag. This flag is set when a privileged process
-   * forks. 
-   */
-  caller_ptr = proc_addr(who_p);
-  if (! (priv(caller_ptr)->s_flags & SYS_PROC)) return(EPERM); 
-  if(!isokendpt(m_ptr->PR_ENDPT, &proc_nr)) return(EINVAL);
-  rp = proc_addr(proc_nr);
-
-  switch(m_ptr->CTL_REQUEST)
-  {
-  case SYS_PRIV_INIT:
-	if (! (rp->p_rts_flags & NO_PRIV)) return(EPERM);
-
-	/* Make sure this process has its own privileges structure. This may
-	 * fail, since there are only a limited number of system processes.
-	 * Then copy the privileges from the caller and restore some defaults.
-	 */
-	if ((i=get_priv(rp, SYS_PROC)) != OK) return(i);
-	priv_id = priv(rp)->s_id;		/* backup privilege id */
-	*priv(rp) = *priv(caller_ptr);		/* copy from caller */
-	priv(rp)->s_id = priv_id;		/* restore privilege id */
-	priv(rp)->s_proc_nr = proc_nr;		/* reassociate process nr */
-
-	for (i=0; i< BITMAP_CHUNKS(NR_SYS_PROCS); i++)	/* remove pending: */
-	      priv(rp)->s_notify_pending.chunk[i] = 0;	/* - notifications */
-	priv(rp)->s_int_pending = 0;			/* - interrupts */
-	sigemptyset(&priv(rp)->s_sig_pending);		/* - signals */
-
-	/* Now update the process' privileges as requested. */
-	rp->p_priv->s_trap_mask = FILLED_MASK;
-	for (i=0; i<BITMAP_CHUNKS(NR_SYS_PROCS); i++) {
-		rp->p_priv->s_ipc_to.chunk[i] = FILLED_MASK;
-	}
-	unset_sys_bit(rp->p_priv->s_ipc_to, USER_PRIV_ID);
-
-	/* All process that this process can send to must be able to reply. 
-	 * Therefore, their send masks should be updated as well. 
-	 */
-	for (i=0; i<NR_SYS_PROCS; i++) {
-	    if (get_sys_bit(rp->p_priv->s_ipc_to, i)) {
-		  set_sys_bit(priv_addr(i)->s_ipc_to, priv_id(rp));
-	    }
-	}
-
-	/* No I/O resources, no memory resources, no IRQs */
-	priv(rp)->s_nr_io_range= 0;
-	priv(rp)->s_nr_mem_range= 0;
-	priv(rp)->s_nr_irq= 0;
-
-	/* Done. Privileges have been set. Allow process to run again. */
-	old_flags = rp->p_rts_flags;		/* save value of the flags */
-	rp->p_rts_flags &= ~NO_PRIV; 		
-	if (old_flags != 0 && rp->p_rts_flags == 0) lock_enqueue(rp);
-	return(OK);
-  case SYS_PRIV_ADD_IO:
-	if (rp->p_rts_flags & NO_PRIV)
-		return(EPERM);
-
-	/* Only system processes get I/O resources? */
-	if (!(priv(rp)->s_flags & SYS_PROC))
-		return EPERM;
-
-	/* Get the I/O range */
-	caller_phys = umap_local(caller_ptr, D, (vir_bytes) m_ptr->CTL_ARG_PTR,
-		sizeof(io_range));
-	if (caller_phys == 0)
-		return EFAULT;
-	kernel_phys = vir2phys(&io_range);
-	phys_copy(caller_phys, kernel_phys, sizeof(io_range));
-	priv(rp)->s_flags |= CHECK_IO_PORT;	/* Check I/O accesses */
-	i= priv(rp)->s_nr_io_range;
-	if (i >= NR_IO_RANGE)
-		return ENOMEM;
-
-	priv(rp)->s_io_tab[i].ior_base= io_range.ior_base;
-	priv(rp)->s_io_tab[i].ior_limit= io_range.ior_limit;
-	priv(rp)->s_nr_io_range++;
-
-	return OK;
-
-  case SYS_PRIV_ADD_MEM:
-	if (rp->p_rts_flags & NO_PRIV)
-		return(EPERM);
-
-	/* Only system processes get memory resources? */
-	if (!(priv(rp)->s_flags & SYS_PROC))
-		return EPERM;
-
-	/* Get the memory range */
-	caller_phys = umap_local(caller_ptr, D, (vir_bytes) m_ptr->CTL_ARG_PTR,
-		sizeof(mem_range));
-	if (caller_phys == 0)
-		return EFAULT;
-	kernel_phys = vir2phys(&mem_range);
-	phys_copy(caller_phys, kernel_phys, sizeof(mem_range));
-	priv(rp)->s_flags |= CHECK_MEM;	/* Check I/O accesses */
-	i= priv(rp)->s_nr_mem_range;
-	if (i >= NR_MEM_RANGE)
-		return ENOMEM;
-
-#if 0
-	priv(rp)->s_mem_tab[i].mr_base= mem_range.mr_base;
-	priv(rp)->s_mem_tab[i].mr_limit= mem_range.mr_limit;
-	priv(rp)->s_nr_mem_range++;
-#endif
-
-	return OK;
-
-  case SYS_PRIV_ADD_IRQ:
-	if (rp->p_rts_flags & NO_PRIV)
-		return(EPERM);
-
-	/* Only system processes get IRQs? */
-	if (!(priv(rp)->s_flags & SYS_PROC))
-		return EPERM;
-
-	priv(rp)->s_flags |= CHECK_IRQ;	/* Check IRQs */
-
-	i= priv(rp)->s_nr_irq;
-	if (i >= NR_IRQ)
-		return ENOMEM;
-	priv(rp)->s_irq_tab[i]= m_ptr->CTL_MM_PRIV;
-	priv(rp)->s_nr_irq++;
-
-	return OK;
-
-  default:
-	kprintf("do_privctl: bad request %d\n", m_ptr->CTL_REQUEST);
-	return EINVAL;
-  }
-}
-
-#endif /* USE_PRIVCTL */
-
Index: trunk/minix/kernel/system/do_sdevio.c
===================================================================
--- trunk/minix/kernel/system/do_sdevio.c	(revision 9)
+++ 	(revision )
@@ -1,66 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_SDEVIO
- *
- * The parameters for this kernel call are:
- *    m2_i3:	DIO_REQUEST	(request input or output)	
- *    m2_i1:	DIO_TYPE	(flag indicating byte, word, or long)
- *    m2_l1:	DIO_PORT	(port to read/ write)	
- *    m2_p1:	DIO_VEC_ADDR	(virtual address of buffer)	
- *    m2_l2:	DIO_VEC_SIZE	(number of elements)	
- *    m2_i2:	DIO_VEC_PROC	(process where buffer is)	
- */
-
-#include "../system.h"
-#include <minix/devio.h>
-#include <minix/endpoint.h>
-
-#if USE_SDEVIO
-
-/*===========================================================================*
- *			        do_sdevio                                    *
- *===========================================================================*/
-PUBLIC int do_sdevio(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-  int proc_nr, proc_nr_e = m_ptr->DIO_VEC_ENDPT;
-  int count = m_ptr->DIO_VEC_SIZE;
-  long port = m_ptr->DIO_PORT;
-  phys_bytes phys_buf;
-
-  /* Check if process endpoint is OK. 
-   * A driver may directly provide a pointer to a buffer at the user-process
-   * that initiated the device I/O. Kernel processes, of course, are denied.
-   */
-  if (proc_nr_e == SELF)
-	proc_nr = who_p;
-  else
-	if(!isokendpt(proc_nr_e, &proc_nr))
-		return(EINVAL);
-  if (iskerneln(proc_nr)) return(EPERM);
-
-  /* Get and check physical address. */
-  if ((phys_buf = numap_local(proc_nr, (vir_bytes) m_ptr->DIO_VEC_ADDR, count)) == 0)
-      return(EFAULT);
-
-  /* Perform device I/O for bytes and words. Longs are not supported. */
-  if (m_ptr->DIO_REQUEST == DIO_INPUT) { 
-      switch (m_ptr->DIO_TYPE) {
-      case DIO_BYTE: phys_insb(port, phys_buf, count); break; 
-      case DIO_WORD: phys_insw(port, phys_buf, count); break; 
-      default: return(EINVAL);
-      } 
-  } else if (m_ptr->DIO_REQUEST == DIO_OUTPUT) { 
-      switch (m_ptr->DIO_TYPE) {
-      case DIO_BYTE: phys_outsb(port, phys_buf, count); break; 
-      case DIO_WORD: phys_outsw(port, phys_buf, count); break; 
-      default: return(EINVAL);
-      } 
-  }
-  else {
-      return(EINVAL);
-  }
-  return(OK);
-}
-
-#endif /* USE_SDEVIO */
-
Index: trunk/minix/kernel/system/do_segctl.c
===================================================================
--- trunk/minix/kernel/system/do_segctl.c	(revision 9)
+++ 	(revision )
@@ -1,80 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_SEGCTL
- *
- * The parameters for this kernel call are:
- *    m4_l3:	SEG_PHYS	(physical base address)
- *    m4_l4:	SEG_SIZE	(size of segment)
- *    m4_l1:	SEG_SELECT	(return segment selector here)
- *    m4_l2:	SEG_OFFSET	(return offset within segment here)
- *    m4_l5:	SEG_INDEX	(return index into remote memory map here)
- */
-#include "../system.h"
-#include "../protect.h"
-
-#if USE_SEGCTL
-
-/*===========================================================================*
- *			        do_segctl				     *
- *===========================================================================*/
-PUBLIC int do_segctl(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Return a segment selector and offset that can be used to reach a physical
- * address, for use by a driver doing memory I/O in the A0000 - DFFFF range.
- */
-  u16_t selector;
-  vir_bytes offset;
-  int i, index;
-  register struct proc *rp;
-  phys_bytes phys = (phys_bytes) m_ptr->SEG_PHYS;
-  vir_bytes size = (vir_bytes) m_ptr->SEG_SIZE;
-  int result;
-
-  /* First check if there is a slot available for this segment. */
-  rp = proc_addr(who_p);
-  index = -1;
-  for (i=0; i < NR_REMOTE_SEGS; i++) {
-      if (! rp->p_priv->s_farmem[i].in_use) {
-          index = i; 
-          rp->p_priv->s_farmem[i].in_use = TRUE;
-          rp->p_priv->s_farmem[i].mem_phys = phys;
-          rp->p_priv->s_farmem[i].mem_len = size;
-          break;
-      }
-  }
-  if (index < 0) return(ENOSPC);
-
-  if (! machine.prot) {
-      selector = phys / HCLICK_SIZE;
-      offset = phys % HCLICK_SIZE;
-      result = OK;
-  } else {
-      /* Check if the segment size can be recorded in bytes, that is, check
-       * if descriptor's limit field can delimited the allowed memory region
-       * precisely. This works up to 1MB. If the size is larger, 4K pages
-       * instead of bytes are used.
-       */
-      if (size < BYTE_GRAN_MAX) {
-          init_dataseg(&rp->p_ldt[EXTRA_LDT_INDEX+i], phys, size, 
-          	USER_PRIVILEGE);
-          selector = ((EXTRA_LDT_INDEX+i)*0x08) | (1*0x04) | USER_PRIVILEGE;
-          offset = 0;
-          result = OK;
-      } else {
-          init_dataseg(&rp->p_ldt[EXTRA_LDT_INDEX+i], phys & ~0xFFFF, 0, 
-          	USER_PRIVILEGE);
-          selector = ((EXTRA_LDT_INDEX+i)*0x08) | (1*0x04) | USER_PRIVILEGE;
-          offset = phys & 0xFFFF;
-          result = OK;
-      }
-  }
-
-  /* Request successfully done. Now return the result. */
-  m_ptr->SEG_INDEX = index | REMOTE_SEG;
-  m_ptr->SEG_SELECT = selector;
-  m_ptr->SEG_OFFSET = offset;
-  return(result);
-}
-
-#endif /* USE_SEGCTL */
-
Index: trunk/minix/kernel/system/do_setalarm.c
===================================================================
--- trunk/minix/kernel/system/do_setalarm.c	(revision 9)
+++ 	(revision )
@@ -1,74 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_SETALARM 
- *
- * The parameters for this kernel call are:
- *    m2_l1:	ALRM_EXP_TIME		(alarm's expiration time)
- *    m2_i2:	ALRM_ABS_TIME		(expiration time is absolute?)
- *    m2_l1:	ALRM_TIME_LEFT		(return seconds left of previous)
- */
-
-#include "../system.h"
-
-#include <minix/endpoint.h>
-
-#if USE_SETALARM
-
-FORWARD _PROTOTYPE( void cause_alarm, (timer_t *tp) );
-
-/*===========================================================================*
- *				do_setalarm				     *
- *===========================================================================*/
-PUBLIC int do_setalarm(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* A process requests a synchronous alarm, or wants to cancel its alarm. */
-  register struct proc *rp;	/* pointer to requesting process */
-  long exp_time;		/* expiration time for this alarm */
-  int use_abs_time;		/* use absolute or relative time */
-  timer_t *tp;			/* the process' timer structure */
-  clock_t uptime;		/* placeholder for current uptime */
-
-  /* Extract shared parameters from the request message. */
-  exp_time = m_ptr->ALRM_EXP_TIME;	/* alarm's expiration time */
-  use_abs_time = m_ptr->ALRM_ABS_TIME;	/* flag for absolute time */
-  rp = proc_addr(who_p);
-  if (! (priv(rp)->s_flags & SYS_PROC)) return(EPERM);
-
-  /* Get the timer structure and set the parameters for this alarm. */
-  tp = &(priv(rp)->s_alarm_timer);	
-  tmr_arg(tp)->ta_int = m_ptr->m_source;
-  tp->tmr_func = cause_alarm; 
-
-  /* Return the ticks left on the previous alarm. */
-  uptime = get_uptime(); 
-  if ((tp->tmr_exp_time != TMR_NEVER) && (uptime < tp->tmr_exp_time) ) {
-      m_ptr->ALRM_TIME_LEFT = (tp->tmr_exp_time - uptime);
-  } else {
-      m_ptr->ALRM_TIME_LEFT = 0;
-  }
-
-  /* Finally, (re)set the timer depending on the expiration time. */
-  if (exp_time == 0) {
-      reset_timer(tp);
-  } else {
-      tp->tmr_exp_time = (use_abs_time) ? exp_time : exp_time + get_uptime();
-      set_timer(tp, tp->tmr_exp_time, tp->tmr_func);
-  }
-  return(OK);
-}
-
-/*===========================================================================*
- *				cause_alarm				     *
- *===========================================================================*/
-PRIVATE void cause_alarm(tp)
-timer_t *tp;
-{
-/* Routine called if a timer goes off and the process requested a synchronous
- * alarm. The process number is stored in timer argument 'ta_int'. Notify that
- * process with a notification message from CLOCK.
- */
-  int proc_nr_e = tmr_arg(tp)->ta_int;		/* get process number */
-  lock_notify(CLOCK, proc_nr_e);		/* notify process */
-}
-
-#endif /* USE_SETALARM */
Index: trunk/minix/kernel/system/do_sigreturn.c
===================================================================
--- trunk/minix/kernel/system/do_sigreturn.c	(revision 9)
+++ 	(revision )
@@ -1,72 +1,0 @@
-/* The kernel call that is implemented in this file:
- *   m_type:	SYS_SIGRETURN
- *
- * The parameters for this kernel call are:
- *     m2_i1:	SIG_ENDPT  	# process returning from handler
- *     m2_p1:	SIG_CTXT_PTR 	# pointer to sigcontext structure
- *
- */
-
-#include "../system.h"
-#include <string.h>
-#include <signal.h>
-#include <sys/sigcontext.h>
-
-#if USE_SIGRETURN 
-
-/*===========================================================================*
- *			      do_sigreturn				     *
- *===========================================================================*/
-PUBLIC int do_sigreturn(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* POSIX style signals require sys_sigreturn to put things in order before 
- * the signalled process can resume execution
- */
-  struct sigcontext sc;
-  register struct proc *rp;
-  phys_bytes src_phys;
-  int proc;
-
-  if (! isokendpt(m_ptr->SIG_ENDPT, &proc)) return(EINVAL);
-  if (iskerneln(proc)) return(EPERM);
-  rp = proc_addr(proc);
-
-  /* Copy in the sigcontext structure. */
-  src_phys = umap_local(rp, D, (vir_bytes) m_ptr->SIG_CTXT_PTR,
-      (vir_bytes) sizeof(struct sigcontext));
-  if (src_phys == 0) return(EFAULT);
-  phys_copy(src_phys, vir2phys(&sc), (phys_bytes) sizeof(struct sigcontext));
-
-  /* Make sure that this is not just a jump buffer. */
-  if ((sc.sc_flags & SC_SIGCONTEXT) == 0) return(EINVAL);
-
-  /* Fix up only certain key registers if the compiler doesn't use
-   * register variables within functions containing setjmp.
-   */
-  if (sc.sc_flags & SC_NOREGLOCALS) {
-      rp->p_reg.retreg = sc.sc_retreg;
-      rp->p_reg.fp = sc.sc_fp;
-      rp->p_reg.pc = sc.sc_pc;
-      rp->p_reg.sp = sc.sc_sp;
-      return(OK);
-  }
-  sc.sc_psw  = rp->p_reg.psw;
-
-#if (CHIP == INTEL)
-  /* Don't panic kernel if user gave bad selectors. */
-  sc.sc_cs = rp->p_reg.cs;
-  sc.sc_ds = rp->p_reg.ds;
-  sc.sc_es = rp->p_reg.es;
-#if _WORD_SIZE == 4
-  sc.sc_fs = rp->p_reg.fs;
-  sc.sc_gs = rp->p_reg.gs;
-#endif
-#endif
-
-  /* Restore the registers. */
-  memcpy(&rp->p_reg, &sc.sc_regs, sizeof(struct sigregs));
-  return(OK);
-}
-#endif /* USE_SIGRETURN */
-
Index: trunk/minix/kernel/system/do_sigsend.c
===================================================================
--- trunk/minix/kernel/system/do_sigsend.c	(revision 9)
+++ 	(revision )
@@ -1,84 +1,0 @@
-/* The kernel call that is implemented in this file:
- *   m_type:	SYS_SIGSEND
- *
- * The parameters for this kernel call are:
- *     m2_i1:	SIG_ENDPT  	# process to call signal handler
- *     m2_p1:	SIG_CTXT_PTR 	# pointer to sigcontext structure
- *     m2_i3:	SIG_FLAGS    	# flags for S_SIGRETURN call	
- *
- */
-
-#include "../system.h"
-#include <signal.h>
-#include <string.h>
-#include <sys/sigcontext.h>
-
-#if USE_SIGSEND
-
-/*===========================================================================*
- *			      do_sigsend				     *
- *===========================================================================*/
-PUBLIC int do_sigsend(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-/* Handle sys_sigsend, POSIX-style signal handling. */
-
-  struct sigmsg smsg;
-  register struct proc *rp;
-  phys_bytes src_phys, dst_phys;
-  struct sigcontext sc, *scp;
-  struct sigframe fr, *frp;
-  int proc;
-
-  if (!isokendpt(m_ptr->SIG_ENDPT, &proc)) return(EINVAL);
-  if (iskerneln(proc)) return(EPERM);
-  rp = proc_addr(proc);
-
-  /* Get the sigmsg structure into our address space.  */
-  src_phys = umap_local(proc_addr(PM_PROC_NR), D, (vir_bytes) 
-      m_ptr->SIG_CTXT_PTR, (vir_bytes) sizeof(struct sigmsg));
-  if (src_phys == 0) return(EFAULT);
-  phys_copy(src_phys,vir2phys(&smsg),(phys_bytes) sizeof(struct sigmsg));
-
-  /* Compute the user stack pointer where sigcontext will be stored. */
-  scp = (struct sigcontext *) smsg.sm_stkptr - 1;
-
-  /* Copy the registers to the sigcontext structure. */
-  memcpy(&sc.sc_regs, (char *) &rp->p_reg, sizeof(struct sigregs));
-
-  /* Finish the sigcontext initialization. */
-  sc.sc_flags = SC_SIGCONTEXT;
-  sc.sc_mask = smsg.sm_mask;
-
-  /* Copy the sigcontext structure to the user's stack. */
-  dst_phys = umap_local(rp, D, (vir_bytes) scp,
-      (vir_bytes) sizeof(struct sigcontext));
-  if (dst_phys == 0) return(EFAULT);
-  phys_copy(vir2phys(&sc), dst_phys, (phys_bytes) sizeof(struct sigcontext));
-
-  /* Initialize the sigframe structure. */
-  frp = (struct sigframe *) scp - 1;
-  fr.sf_scpcopy = scp;
-  fr.sf_retadr2= (void (*)()) rp->p_reg.pc;
-  fr.sf_fp = rp->p_reg.fp;
-  rp->p_reg.fp = (reg_t) &frp->sf_fp;
-  fr.sf_scp = scp;
-  fr.sf_code = 0;	/* XXX - should be used for type of FP exception */
-  fr.sf_signo = smsg.sm_signo;
-  fr.sf_retadr = (void (*)()) smsg.sm_sigreturn;
-
-  /* Copy the sigframe structure to the user's stack. */
-  dst_phys = umap_local(rp, D, (vir_bytes) frp, 
-      (vir_bytes) sizeof(struct sigframe));
-  if (dst_phys == 0) return(EFAULT);
-  phys_copy(vir2phys(&fr), dst_phys, (phys_bytes) sizeof(struct sigframe));
-
-  /* Reset user registers to execute the signal handler. */
-  rp->p_reg.sp = (reg_t) frp;
-  rp->p_reg.pc = (reg_t) smsg.sm_sighandler;
-
-  return(OK);
-}
-
-#endif /* USE_SIGSEND */
-
Index: trunk/minix/kernel/system/do_times.c
===================================================================
--- trunk/minix/kernel/system/do_times.c	(revision 9)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_TIMES
- *
- * The parameters for this kernel call are:
- *    m4_l1:	T_ENDPT		(get info for this process)	
- *    m4_l1:	T_USER_TIME		(return values ...)	
- *    m4_l2:	T_SYSTEM_TIME	
- *    m4_l5:	T_BOOT_TICKS	
- */
-
-#include "../system.h"
-
-#include <minix/endpoint.h>
-
-#if USE_TIMES
-
-/*===========================================================================*
- *				do_times				     *
- *===========================================================================*/
-PUBLIC int do_times(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Handle sys_times().  Retrieve the accounting information. */
-  register struct proc *rp;
-  int proc_nr, e_proc_nr;
-
-  /* Insert the times needed by the SYS_TIMES kernel call in the message. 
-   * The clock's interrupt handler may run to update the user or system time
-   * while in this code, but that cannot do any harm.
-   */
-  e_proc_nr = (m_ptr->T_ENDPT == SELF) ? m_ptr->m_source : m_ptr->T_ENDPT;
-  if(e_proc_nr != NONE && isokendpt(e_proc_nr, &proc_nr)) {
-      rp = proc_addr(proc_nr);
-      m_ptr->T_USER_TIME   = rp->p_user_time;
-      m_ptr->T_SYSTEM_TIME = rp->p_sys_time;
-  }
-  m_ptr->T_BOOT_TICKS = get_uptime();  
-  return(OK);
-}
-
-#endif /* USE_TIMES */
-
Index: trunk/minix/kernel/system/do_trace.c
===================================================================
--- trunk/minix/kernel/system/do_trace.c	(revision 9)
+++ 	(revision )
@@ -1,146 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_TRACE
- *
- * The parameters for this kernel call are:
- *    m2_i1:	CTL_ENDPT	process that is traced
- *    m2_i2:    CTL_REQUEST	trace request
- *    m2_l1:    CTL_ADDRESS     address at traced process' space
- *    m2_l2:    CTL_DATA        data to be written or returned here
- */
-
-#include "../system.h"
-#include <sys/ptrace.h>
-
-#if USE_TRACE
-
-/*==========================================================================*
- *				do_trace				    *
- *==========================================================================*/
-#define TR_VLSIZE	((vir_bytes) sizeof(long))
-
-PUBLIC int do_trace(m_ptr)
-register message *m_ptr;
-{
-/* Handle the debugging commands supported by the ptrace system call
- * The commands are:
- * T_STOP	stop the process
- * T_OK		enable tracing by parent for this process
- * T_GETINS	return value from instruction space
- * T_GETDATA	return value from data space
- * T_GETUSER	return value from user process table
- * T_SETINS	set value from instruction space
- * T_SETDATA	set value from data space
- * T_SETUSER	set value in user process table
- * T_RESUME	resume execution
- * T_EXIT	exit
- * T_STEP	set trace bit
- *
- * The T_OK and T_EXIT commands are handled completely by the process manager,
- * all others come here.
- */
-
-  register struct proc *rp;
-  phys_bytes src, dst;
-  vir_bytes tr_addr = (vir_bytes) m_ptr->CTL_ADDRESS;
-  long tr_data = m_ptr->CTL_DATA;
-  int tr_request = m_ptr->CTL_REQUEST;
-  int tr_proc_nr_e = m_ptr->CTL_ENDPT, tr_proc_nr;
-  int i;
-
-  if(!isokendpt(tr_proc_nr_e, &tr_proc_nr)) return(EINVAL);
-  if (iskerneln(tr_proc_nr)) return(EPERM);
-
-  rp = proc_addr(tr_proc_nr);
-  if (isemptyp(rp)) return(EIO);
-  switch (tr_request) {
-  case T_STOP:			/* stop process */
-	if (rp->p_rts_flags == 0) lock_dequeue(rp);
-	rp->p_rts_flags |= P_STOP;
-	rp->p_reg.psw &= ~TRACEBIT;	/* clear trace bit */
-	return(OK);
-
-  case T_GETINS:		/* return value from instruction space */
-	if (rp->p_memmap[T].mem_len != 0) {
-		if ((src = umap_local(rp, T, tr_addr, TR_VLSIZE)) == 0) return(EIO);
-		phys_copy(src, vir2phys(&tr_data), (phys_bytes) sizeof(long));
-		m_ptr->CTL_DATA = tr_data;
-		break;
-	}
-	/* Text space is actually data space - fall through. */
-
-  case T_GETDATA:		/* return value from data space */
-	if ((src = umap_local(rp, D, tr_addr, TR_VLSIZE)) == 0) return(EIO);
-	phys_copy(src, vir2phys(&tr_data), (phys_bytes) sizeof(long));
-	m_ptr->CTL_DATA= tr_data;
-	break;
-
-  case T_GETUSER:		/* return value from process table */
-	if ((tr_addr & (sizeof(long) - 1)) != 0 ||
-	    tr_addr > sizeof(struct proc) - sizeof(long))
-		return(EIO);
-	m_ptr->CTL_DATA = *(long *) ((char *) rp + (int) tr_addr);
-	break;
-
-  case T_SETINS:		/* set value in instruction space */
-	if (rp->p_memmap[T].mem_len != 0) {
-		if ((dst = umap_local(rp, T, tr_addr, TR_VLSIZE)) == 0) return(EIO);
-		phys_copy(vir2phys(&tr_data), dst, (phys_bytes) sizeof(long));
-		m_ptr->CTL_DATA = 0;
-		break;
-	}
-	/* Text space is actually data space - fall through. */
-
-  case T_SETDATA:			/* set value in data space */
-	if ((dst = umap_local(rp, D, tr_addr, TR_VLSIZE)) == 0) return(EIO);
-	phys_copy(vir2phys(&tr_data), dst, (phys_bytes) sizeof(long));
-	m_ptr->CTL_DATA = 0;
-	break;
-
-  case T_SETUSER:			/* set value in process table */
-	if ((tr_addr & (sizeof(reg_t) - 1)) != 0 ||
-	     tr_addr > sizeof(struct stackframe_s) - sizeof(reg_t))
-		return(EIO);
-	i = (int) tr_addr;
-#if (CHIP == INTEL)
-	/* Altering segment registers might crash the kernel when it
-	 * tries to load them prior to restarting a process, so do
-	 * not allow it.
-	 */
-	if (i == (int) &((struct proc *) 0)->p_reg.cs ||
-	    i == (int) &((struct proc *) 0)->p_reg.ds ||
-	    i == (int) &((struct proc *) 0)->p_reg.es ||
-#if _WORD_SIZE == 4
-	    i == (int) &((struct proc *) 0)->p_reg.gs ||
-	    i == (int) &((struct proc *) 0)->p_reg.fs ||
-#endif
-	    i == (int) &((struct proc *) 0)->p_reg.ss)
-		return(EIO);
-#endif
-	if (i == (int) &((struct proc *) 0)->p_reg.psw)
-		/* only selected bits are changeable */
-		SETPSW(rp, tr_data);
-	else
-		*(reg_t *) ((char *) &rp->p_reg + i) = (reg_t) tr_data;
-	m_ptr->CTL_DATA = 0;
-	break;
-
-  case T_RESUME:		/* resume execution */
-	rp->p_rts_flags &= ~P_STOP;
-	if (rp->p_rts_flags == 0) lock_enqueue(rp);
-	m_ptr->CTL_DATA = 0;
-	break;
-
-  case T_STEP:			/* set trace bit */
-	rp->p_reg.psw |= TRACEBIT;
-	rp->p_rts_flags &= ~P_STOP;
-	if (rp->p_rts_flags == 0) lock_enqueue(rp);
-	m_ptr->CTL_DATA = 0;
-	break;
-
-  default:
-	return(EIO);
-  }
-  return(OK);
-}
-
-#endif /* USE_TRACE */
Index: trunk/minix/kernel/system/do_umap.c
===================================================================
--- trunk/minix/kernel/system/do_umap.c	(revision 9)
+++ 	(revision )
@@ -1,56 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_UMAP
- *
- * The parameters for this kernel call are:
- *    m5_i1:	CP_SRC_PROC_NR	(process number)	
- *    m5_c1:	CP_SRC_SPACE	(segment where address is: T, D, or S)
- *    m5_l1:	CP_SRC_ADDR	(virtual address)	
- *    m5_l2:	CP_DST_ADDR	(returns physical address)	
- *    m5_l3:	CP_NR_BYTES	(size of datastructure) 	
- */
-
-#include "../system.h"
-
-#if USE_UMAP
-
-/*==========================================================================*
- *				do_umap					    *
- *==========================================================================*/
-PUBLIC int do_umap(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Map virtual address to physical, for non-kernel processes. */
-  int seg_type = m_ptr->CP_SRC_SPACE & SEGMENT_TYPE;
-  int seg_index = m_ptr->CP_SRC_SPACE & SEGMENT_INDEX;
-  vir_bytes offset = m_ptr->CP_SRC_ADDR;
-  int count = m_ptr->CP_NR_BYTES;
-  int endpt = (int) m_ptr->CP_SRC_ENDPT;
-  int proc_nr;
-  phys_bytes phys_addr;
-
-  /* Verify process number. */
-  if (endpt == SELF)
-	proc_nr = who_p;
-  else
-	if (! isokendpt(endpt, &proc_nr))
-		return(EINVAL);
-
-  /* See which mapping should be made. */
-  switch(seg_type) {
-  case LOCAL_SEG:
-      phys_addr = umap_local(proc_addr(proc_nr), seg_index, offset, count); 
-      break;
-  case REMOTE_SEG:
-      phys_addr = umap_remote(proc_addr(proc_nr), seg_index, offset, count); 
-      break;
-  case BIOS_SEG:
-      phys_addr = umap_bios(proc_addr(proc_nr), offset, count); 
-      break;
-  default:
-      return(EINVAL);
-  }
-  m_ptr->CP_DST_ADDR = phys_addr;
-  return (phys_addr == 0) ? EFAULT: OK;
-}
-
-#endif /* USE_UMAP */
Index: trunk/minix/kernel/system/do_unused.c
===================================================================
--- trunk/minix/kernel/system/do_unused.c	(revision 9)
+++ 	(revision )
@@ -1,16 +1,0 @@
-/* This file provides a catch-all handler for unused kernel calls. A kernel 
- * call may be unused when it is not defined or when it is disabled in the
- * kernel's configuration.
- */
-#include "../system.h"
-
-/*===========================================================================*
- *			          do_unused				     *
- *===========================================================================*/
-PUBLIC int do_unused(m)
-message *m;				/* pointer to request message */
-{
-  kprintf("SYSTEM: got unused request %d from %d", m->m_type, m->m_source);
-  return(EBADREQUEST);			/* illegal message type */
-}
-
Index: trunk/minix/kernel/system/do_vcopy.c
===================================================================
--- trunk/minix/kernel/system/do_vcopy.c	(revision 9)
+++ 	(revision )
@@ -1,65 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_VIRVCOPY, SYS_PHYSVCOPY 
- *
- * The parameters for this kernel call are:
- *    m1_i3:	VCP_VEC_SIZE		size of copy request vector 
- *    m1_p1:	VCP_VEC_ADDR		address of vector at caller 
- *    m1_i2:	VCP_NR_OK		number of successfull copies	
- */
-
-#include "../system.h"
-#include <minix/type.h>
-
-#if (USE_VIRVCOPY || USE_PHYSVCOPY)
-
-/* Buffer to hold copy request vector from user. */
-PRIVATE struct vir_cp_req vir_cp_req[VCOPY_VEC_SIZE];
-
-/*===========================================================================*
- *				do_vcopy					     *
- *===========================================================================*/
-PUBLIC int do_vcopy(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Handle sys_virvcopy() and sys_physvcopy() that pass a vector with copy
- * requests. Although a single handler function is used, there are two
- * different kernel calls so that permissions can be checked.
- */
-  int nr_req;
-  vir_bytes caller_vir;
-  phys_bytes caller_phys;
-  phys_bytes kernel_phys;
-  phys_bytes bytes;
-  int i,s;
-  struct vir_cp_req *req;
-
-  /* Check if request vector size is ok. */
-  nr_req = (unsigned) m_ptr->VCP_VEC_SIZE;
-  if (nr_req > VCOPY_VEC_SIZE) return(EINVAL);
-  bytes = nr_req * sizeof(struct vir_cp_req);
-
-  /* Calculate physical addresses and copy (port,value)-pairs from user. */
-  caller_vir = (vir_bytes) m_ptr->VCP_VEC_ADDR;
-  caller_phys = umap_local(proc_addr(who_p), D, caller_vir, bytes);
-  if (0 == caller_phys) return(EFAULT);
-  kernel_phys = vir2phys(vir_cp_req);
-  phys_copy(caller_phys, kernel_phys, (phys_bytes) bytes);
-
-  /* Assume vector with requests is correct. Try to copy everything. */
-  m_ptr->VCP_NR_OK = 0;
-  for (i=0; i<nr_req; i++) {
-
-      req = &vir_cp_req[i];
-
-      /* Check if physical addressing is used without SYS_PHYSVCOPY. */
-      if (((req->src.segment | req->dst.segment) & PHYS_SEG) &&
-              m_ptr->m_type != SYS_PHYSVCOPY) return(EPERM);
-      if ((s=virtual_copy(&req->src, &req->dst, req->count)) != OK) 
-          return(s);
-      m_ptr->VCP_NR_OK ++;
-  }
-  return(OK);
-}
-
-#endif /* (USE_VIRVCOPY || USE_PHYSVCOPY) */
-
Index: trunk/minix/kernel/system/do_vdevio.c
===================================================================
--- trunk/minix/kernel/system/do_vdevio.c	(revision 9)
+++ 	(revision )
@@ -1,87 +1,0 @@
-/* The kernel call implemented in this file:
- *   m_type:	SYS_VDEVIO
- *
- * The parameters for this kernel call are:
- *    m2_i3:	DIO_REQUEST	(request input or output)	
- *    m2_i1:	DIO_TYPE	(flag indicating byte, word, or long)
- *    m2_p1:	DIO_VEC_ADDR	(pointer to port/ value pairs)	
- *    m2_i2:	DIO_VEC_SIZE	(number of ports to read or write) 
- */
-
-#include "../system.h"
-#include <minix/devio.h>
-#include <minix/endpoint.h>
-
-#if USE_VDEVIO
-
-/* Buffer for SYS_VDEVIO to copy (port,value)-pairs from/ to user. */
-PRIVATE char vdevio_buf[VDEVIO_BUF_SIZE];      
-PRIVATE pvb_pair_t *pvb = (pvb_pair_t *) vdevio_buf;           
-PRIVATE pvw_pair_t *pvw = (pvw_pair_t *) vdevio_buf;      
-PRIVATE pvl_pair_t *pvl = (pvl_pair_t *) vdevio_buf;     
-
-/*===========================================================================*
- *			        do_vdevio                                    *
- *===========================================================================*/
-PUBLIC int do_vdevio(m_ptr)
-register message *m_ptr;	/* pointer to request message */
-{
-/* Perform a series of device I/O on behalf of a non-kernel process. The 
- * I/O addresses and I/O values are fetched from and returned to some buffer
- * in user space. The actual I/O is wrapped by lock() and unlock() to prevent
- * that I/O batch from being interrrupted.
- * This is the counterpart of do_devio, which performs a single device I/O. 
- */ 
-  int vec_size;               /* size of vector */
-  int io_in;                  /* true if input */
-  size_t bytes;               /* # bytes to be copied */
-  vir_bytes caller_vir;       /* virtual address at caller */
-  phys_bytes caller_phys;     /* physical address at caller */
-  int i;
-    
-  /* Get the request, size of the request vector, and check the values. */
-  if (m_ptr->DIO_REQUEST == DIO_INPUT) io_in = TRUE;
-  else if (m_ptr->DIO_REQUEST == DIO_OUTPUT) io_in = FALSE;
-  else return(EINVAL);
-  if ((vec_size = m_ptr->DIO_VEC_SIZE) <= 0) return(EINVAL);
-  switch (m_ptr->DIO_TYPE) {
-      case DIO_BYTE: bytes = vec_size * sizeof(pvb_pair_t); break;
-      case DIO_WORD: bytes = vec_size * sizeof(pvw_pair_t); break;
-      case DIO_LONG: bytes = vec_size * sizeof(pvl_pair_t); break;
-      default:  return(EINVAL);   /* check type once and for all */
-  }
-  if (bytes > sizeof(vdevio_buf))  return(E2BIG);
-
-  /* Calculate physical addresses and copy (port,value)-pairs from user. */
-  caller_vir = (vir_bytes) m_ptr->DIO_VEC_ADDR;
-  caller_phys = umap_local(proc_addr(who_p), D, caller_vir, bytes);
-  if (0 == caller_phys) return(EFAULT);
-  phys_copy(caller_phys, vir2phys(vdevio_buf), (phys_bytes) bytes);
-
-  /* Perform actual device I/O for byte, word, and long values. Note that 
-   * the entire switch is wrapped in lock() and unlock() to prevent the I/O
-   * batch from being interrupted. 
-   */  
-  lock(13, "do_vdevio");
-  switch (m_ptr->DIO_TYPE) {
-  case DIO_BYTE: 					 /* byte values */
-      if (io_in) for (i=0; i<vec_size; i++)  pvb[i].value = inb(pvb[i].port); 
-      else       for (i=0; i<vec_size; i++)  outb(pvb[i].port, pvb[i].value); 
-      break; 
-  case DIO_WORD:					  /* word values */
-      if (io_in) for (i=0; i<vec_size; i++)  pvw[i].value = inw(pvw[i].port);  
-      else       for (i=0; i<vec_size; i++)  outw(pvw[i].port, pvw[i].value); 
-      break; 
-  default:            					  /* long values */
-      if (io_in) for (i=0; i<vec_size; i++) pvl[i].value = inl(pvl[i].port);  
-      else       for (i=0; i<vec_size; i++) outl(pvb[i].port, pvl[i].value); 
-  }
-  unlock(13);
-    
-  /* Almost done, copy back results for input requests. */
-  if (io_in) phys_copy(vir2phys(vdevio_buf), caller_phys, (phys_bytes) bytes);
-  return(OK);
-}
-
-#endif /* USE_VDEVIO */
-
Index: trunk/minix/kernel/system/do_vm.c
===================================================================
--- trunk/minix/kernel/system/do_vm.c	(revision 9)
+++ 	(revision )
@@ -1,224 +1,0 @@
-/* The system call implemented in this file:
- *   m_type:	SYS_VM_MAP
- *
- * The parameters for this system call are:
- *    m4_l1:	Process that requests map (VM_MAP_ENDPT)
- *    m4_l2:	Map (TRUE) or unmap (FALSE) (VM_MAP_MAPUNMAP)
- *    m4_l3:	Base address (VM_MAP_BASE)
- *    m4_l4:	Size  (VM_MAP_SIZE)
- *    m4_l5:	Memory address  (VM_MAP_ADDR)
- */
-#include "../system.h"
-
-#include <sys/vm.h>
-
-PRIVATE int vm_needs_init= 1;
-PRIVATE u32_t vm_cr3;
-
-FORWARD _PROTOTYPE( void vm_init, (void)				);
-FORWARD _PROTOTYPE( void phys_put32, (phys_bytes addr, u32_t value)	);
-FORWARD _PROTOTYPE( u32_t phys_get32, (phys_bytes addr)			);
-FORWARD _PROTOTYPE( void vm_set_cr3, (u32_t value)			);
-FORWARD _PROTOTYPE( void set_cr3, (void)				);
-FORWARD _PROTOTYPE( void vm_enable_paging, (void)			);
-FORWARD _PROTOTYPE( void map_range, (u32_t base, u32_t size,
-							u32_t offset)	);
-
-/*===========================================================================*
- *				do_vm_map				     *
- *===========================================================================*/
-PUBLIC int do_vm_map(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-	int proc_nr, do_map;
-	phys_bytes base, size, offset, p_phys;
-	struct proc *pp;
-
-	/* do_serial_debug= 1; */
-
-	if (vm_needs_init)
-	{
-		vm_needs_init= 0;
-		vm_init();
-	}
-
-	if (m_ptr->VM_MAP_ENDPT == SELF) {
-		proc_nr = who_p;
-	} else {
-		if(!isokendpt(m_ptr->VM_MAP_ENDPT, &proc_nr))
-			return EINVAL;
-	}
-
-	do_map= m_ptr->VM_MAP_MAPUNMAP;
-	base= m_ptr->VM_MAP_BASE;
-	size= m_ptr->VM_MAP_SIZE;
-	offset= m_ptr->VM_MAP_ADDR;
-
-	pp= proc_addr(proc_nr);
-	p_phys= umap_local(pp, D, base, size);
-	if (p_phys == 0)
-		return EFAULT;
-
-	if (do_map)
-	{
-		pp->p_misc_flags |= MF_VM;
-
-		map_range(p_phys, size, offset);
-	}
-	else
-	{
-		map_range(p_phys, size, p_phys);
-	}
-	vm_set_cr3(vm_cr3);
-
-	return OK;
-}
-
-/*===========================================================================*
- *				vm_map_default				     *
- *===========================================================================*/
-PUBLIC void vm_map_default(pp)
-struct proc *pp;
-{
-	phys_bytes base_clicks, size_clicks;
-
-	if (vm_needs_init)
-		panic("vm_map_default: VM not initialized?", NO_NUM);
-	pp->p_misc_flags &= ~MF_VM;
-	base_clicks= pp->p_memmap[D].mem_phys;
-	size_clicks= pp->p_memmap[S].mem_phys+pp->p_memmap[S].mem_len -
-		base_clicks;
-	map_range(base_clicks << CLICK_SHIFT, size_clicks << CLICK_SHIFT,
-		base_clicks << CLICK_SHIFT);
-	vm_set_cr3(vm_cr3);
-}
-
-PRIVATE void vm_init(void)
-{
-	int o;
-	phys_bytes p, pt_size;
-	phys_bytes vm_dir_base, vm_pt_base, phys_mem;
-	u32_t entry;
-	unsigned pages;
-
-	if (!vm_size)
-		panic("vm_init: no space for page tables", NO_NUM);
-
-	/* Align page directory */
-	o= (vm_base % PAGE_SIZE);
-	if (o != 0)
-		o= PAGE_SIZE-o;
-	vm_dir_base= vm_base+o;
-
-	/* Page tables start after the page directory */
-	vm_pt_base= vm_dir_base+PAGE_SIZE;
-
-	pt_size= (vm_base+vm_size)-vm_pt_base;
-	pt_size -= (pt_size % PAGE_SIZE);
-
-	/* Compute the number of pages based on vm_mem_high */
-	pages= (vm_mem_high-1)/PAGE_SIZE + 1;
-
-	if (pages * I386_VM_PT_ENT_SIZE > pt_size)
-		panic("vm_init: page table too small", NO_NUM);
-
-	for (p= 0; p*I386_VM_PT_ENT_SIZE < pt_size; p++)
-	{
-		phys_mem= p*PAGE_SIZE;
-		entry= phys_mem | I386_VM_USER | I386_VM_WRITE |
-			I386_VM_PRESENT;
-		if (phys_mem >= vm_mem_high)
-			entry= 0;
-		phys_put32(vm_pt_base + p*I386_VM_PT_ENT_SIZE, entry);
-	}
-
-	for (p= 0; p < I386_VM_DIR_ENTRIES; p++)
-	{
-		phys_mem= vm_pt_base + p*PAGE_SIZE;
-		entry= phys_mem | I386_VM_USER | I386_VM_WRITE |
-			I386_VM_PRESENT;
-		if (phys_mem >= vm_pt_base + pt_size)
-			entry= 0;
-		phys_put32(vm_dir_base + p*I386_VM_PT_ENT_SIZE, entry);
-	}
-	vm_set_cr3(vm_dir_base);
-	level0(vm_enable_paging);
-}
-
-PRIVATE void phys_put32(addr, value)
-phys_bytes addr;
-u32_t value;
-{
-	phys_copy(vir2phys((vir_bytes)&value), addr, sizeof(value));
-}
-
-PRIVATE u32_t phys_get32(addr)
-phys_bytes addr;
-{
-	u32_t value;
-
-	phys_copy(addr, vir2phys((vir_bytes)&value), sizeof(value));
-
-	return value;
-}
-
-PRIVATE void vm_set_cr3(value)
-u32_t value;
-{
-	vm_cr3= value;
-	level0(set_cr3);
-}
-
-PRIVATE void set_cr3()
-{
-	write_cr3(vm_cr3);
-}
-
-PRIVATE void vm_enable_paging(void)
-{
-	u32_t cr0;
-
-	cr0= read_cr0();
-	write_cr0(cr0 | I386_CR0_PG);
-}
-
-PRIVATE void map_range(base, size, offset)
-u32_t base;
-u32_t size;
-u32_t offset;
-{
-	u32_t curr_pt, curr_pt_addr, entry;
-	int dir_ent, pt_ent;
-
-	if (base % PAGE_SIZE != 0)
-		panic("map_range: bad base", base);
-	if (size % PAGE_SIZE != 0)
-		panic("map_range: bad size", size);
-	if (offset % PAGE_SIZE != 0)
-		panic("map_range: bad offset", offset);
-
-	curr_pt= -1;
-	curr_pt_addr= 0;
-	while (size != 0)
-	{
-		dir_ent= (base >> I386_VM_DIR_ENT_SHIFT);
-		pt_ent= (base >> I386_VM_PT_ENT_SHIFT) & I386_VM_PT_ENT_MASK;
-		if (dir_ent != curr_pt)
-		{
-			/* Get address of page table */
-			curr_pt= dir_ent;
-			curr_pt_addr= phys_get32(vm_cr3 +
-				dir_ent * I386_VM_PT_ENT_SIZE);
-			curr_pt_addr &= I386_VM_ADDR_MASK;
-		}
-		entry= offset | I386_VM_USER | I386_VM_WRITE |
-			I386_VM_PRESENT;
-#if 0	/* Do we need this for memory mapped I/O? */
-		entry |= I386_VM_PCD | I386_VM_PWT;
-#endif
-		phys_put32(curr_pt_addr + pt_ent * I386_VM_PT_ENT_SIZE, entry);
-		offset += PAGE_SIZE;
-		base += PAGE_SIZE;
-		size -= PAGE_SIZE;
-	}
-}
Index: trunk/minix/kernel/system/do_vm_setbuf.c
===================================================================
--- trunk/minix/kernel/system/do_vm_setbuf.c	(revision 9)
+++ 	(revision )
@@ -1,29 +1,0 @@
-/* The system call implemented in this file:
- *   m_type:	SYS_VM_SETBUF
- *
- * The parameters for this system call are:
- *    m4_l1:	Start of the buffer
- *    m4_l2:	Length of the buffer
- *    m4_l3:	End of main memory
- */
-#include "../system.h"
-
-#define VM_DEBUG 0		/* enable/ disable debug output */
-
-/*===========================================================================*
- *				do_vm_setbuf				     *
- *===========================================================================*/
-PUBLIC int do_vm_setbuf(m_ptr)
-message *m_ptr;			/* pointer to request message */
-{
-	vm_base= m_ptr->m4_l1;
-	vm_size= m_ptr->m4_l2;
-	vm_mem_high= m_ptr->m4_l3;
-
-#if VM_DEBUG
-	kprintf("do_vm_setbuf: got 0x%x @ 0x%x for 0x%x\n",
-		vm_size, vm_base, vm_mem_high);
-#endif
-
-	return OK;
-}
