Browse Source

adding built kernel files,more formatting

tsdedhar 6 years ago
parent
commit
e164117860

+ 1 - 0
kern/build

@@ -0,0 +1 @@
+../build/kern

+ 785 - 0
kern/compile/ASST2/.depend

@@ -0,0 +1,785 @@
+__printf.o: ../../../common/libc/printf/__printf.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/stdarg.h
+snprintf.o: ../../../common/libc/printf/snprintf.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/stdarg.h
+atoi.o: ../../../common/libc/stdlib/atoi.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+bzero.o: ../../../common/libc/string/bzero.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+memcpy.o: ../../../common/libc/string/memcpy.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+memmove.o: ../../../common/libc/string/memmove.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strcat.o: ../../../common/libc/string/strcat.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strchr.o: ../../../common/libc/string/strchr.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strcmp.o: ../../../common/libc/string/strcmp.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strcpy.o: ../../../common/libc/string/strcpy.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strlen.o: ../../../common/libc/string/strlen.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strrchr.o: ../../../common/libc/string/strrchr.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+strtok_r.o: ../../../common/libc/string/strtok_r.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+autoconf.o: ../../compile/ASST2/autoconf.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../compile/ASST2/autoconf.h
+beep.o: ../../dev/generic/beep.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../dev/generic/beep.h autoconf.h
+console.o: ../../dev/generic/console.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/thread.h \
+  ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/synch.h \
+  ../../dev/generic/console.h ../../include/vfs.h ../../include/device.h \
+  autoconf.h
+random.o: ../../dev/generic/random.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/uio.h ../../include/kern/iovec.h \
+  ../../include/vfs.h ../../include/array.h ../../dev/generic/random.h \
+  ../../include/device.h autoconf.h
+rtclock.o: ../../dev/generic/rtclock.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/clock.h opt-synchprobs.h ../../dev/generic/rtclock.h \
+  autoconf.h
+beep_ltimer.o: ../../dev/lamebus/beep_ltimer.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/generic/beep.h ../../dev/lamebus/ltimer.h \
+  autoconf.h
+con_lser.o: ../../dev/lamebus/con_lser.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/generic/console.h ../../dev/lamebus/lser.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h autoconf.h
+emu_att.o: ../../dev/lamebus/emu_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/emu.h autoconf.h
+emu.o: ../../dev/lamebus/emu.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/stat.h \
+  ../../include/kern/stat.h ../../include/kern/stattypes.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h ../../include/uio.h ../../include/kern/iovec.h \
+  ../../include/synch.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../dev/lamebus/emu.h \
+  includelinks/platform/bus.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/threadlist.h ../../include/vfs.h ../../include/emufs.h \
+  ../../include/fs.h ../../include/vnode.h autoconf.h
+lamebus.o: ../../dev/lamebus/lamebus.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/thread.h \
+  ../../include/array.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../dev/lamebus/lamebus.h
+lhd_att.o: ../../dev/lamebus/lhd_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lhd.h ../../include/device.h autoconf.h
+lhd.o: ../../dev/lamebus/lhd.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/synch.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  includelinks/platform/bus.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/threadlist.h ../../include/vfs.h ../../include/array.h \
+  ../../dev/lamebus/lhd.h ../../include/device.h autoconf.h
+lrandom_att.o: ../../dev/lamebus/lrandom_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lrandom.h autoconf.h
+lrandom.o: ../../dev/lamebus/lrandom.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/uio.h ../../include/kern/iovec.h \
+  includelinks/platform/bus.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h ../../dev/lamebus/lrandom.h autoconf.h
+lser_att.o: ../../dev/lamebus/lser_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lser.h autoconf.h
+lser.o: ../../dev/lamebus/lser.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h includelinks/platform/bus.h \
+  includelinks/machine/vm.h ../../dev/lamebus/lamebus.h \
+  ../../include/cpu.h ../../include/threadlist.h ../../dev/lamebus/lser.h \
+  autoconf.h
+ltimer_att.o: ../../dev/lamebus/ltimer_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/ltimer.h autoconf.h
+ltimer.o: ../../dev/lamebus/ltimer.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/spl.h ../../include/clock.h \
+  opt-synchprobs.h includelinks/platform/bus.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h ../../dev/lamebus/ltimer.h autoconf.h
+ltrace_att.o: ../../dev/lamebus/ltrace_att.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../dev/lamebus/ltrace.h autoconf.h
+ltrace.o: ../../dev/lamebus/ltrace.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h includelinks/platform/bus.h includelinks/machine/vm.h \
+  ../../dev/lamebus/lamebus.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h ../../dev/lamebus/ltrace.h autoconf.h
+random_lrandom.o: ../../dev/lamebus/random_lrandom.c \
+  ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../dev/generic/random.h ../../include/device.h \
+  ../../dev/lamebus/lrandom.h autoconf.h
+rtclock_ltimer.o: ../../dev/lamebus/rtclock_ltimer.c \
+  ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../dev/generic/rtclock.h ../../dev/lamebus/ltimer.h autoconf.h
+sfs_fs.o: ../../fs/sfs/sfs_fs.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h ../../include/bitmap.h ../../include/uio.h \
+  ../../include/kern/iovec.h ../../include/vfs.h ../../include/device.h \
+  ../../include/sfs.h ../../include/fs.h ../../include/vnode.h \
+  ../../include/kern/sfs.h
+sfs_io.o: ../../fs/sfs/sfs_io.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/vfs.h \
+  ../../include/array.h ../../include/device.h ../../include/sfs.h \
+  ../../include/fs.h ../../include/vnode.h ../../include/kern/sfs.h
+sfs_vnode.o: ../../fs/sfs/sfs_vnode.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/stat.h \
+  ../../include/kern/stat.h ../../include/kern/stattypes.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h ../../include/bitmap.h ../../include/uio.h \
+  ../../include/kern/iovec.h ../../include/synch.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/vfs.h ../../include/device.h ../../include/sfs.h \
+  ../../include/fs.h ../../include/vnode.h ../../include/kern/sfs.h
+array.o: ../../lib/array.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h
+bitmap.o: ../../lib/bitmap.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/bitmap.h
+bswap.o: ../../lib/bswap.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h
+kgets.o: ../../lib/kgets.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+kprintf.o: ../../lib/kprintf.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/unistd.h \
+  ../../include/stdarg.h ../../include/cdefs.h ../../include/lib.h \
+  opt-noasserts.h ../../include/spl.h ../../include/thread.h \
+  ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/synch.h \
+  ../../include/mainbus.h ../../include/vfs.h
+misc.o: ../../lib/misc.c ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/kern/errmsg.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h
+queue.o: ../../lib/queue.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/queue.h
+uio.o: ../../lib/uio.c ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/proc.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/thread.h ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/copyinout.h
+proc.o: ../../proc/proc.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/proc.h \
+  ../../include/spinlock.h ../../include/cdefs.h \
+  includelinks/machine/spinlock.h ../../include/thread.h \
+  ../../include/array.h ../../include/lib.h opt-noasserts.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/current.h includelinks/machine/current.h \
+  ../../include/addrspace.h ../../include/vm.h includelinks/machine/vm.h \
+  ../../include/vnode.h ../../include/vfs.h ../../include/synch.h \
+  ../../include/kern/fcntl.h
+main.o: ../../startup/main.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/reboot.h ../../include/kern/unistd.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/spl.h ../../include/clock.h opt-synchprobs.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/proc.h \
+  ../../include/current.h includelinks/machine/current.h \
+  ../../include/synch.h ../../include/vm.h includelinks/machine/vm.h \
+  ../../include/mainbus.h ../../include/vfs.h ../../include/device.h \
+  ../../include/syscall.h ../../include/test.h ../../include/version.h \
+  autoconf.h
+menu.o: ../../startup/menu.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/reboot.h ../../include/kern/unistd.h \
+  ../../include/limits.h ../../include/kern/limits.h ../../include/lib.h \
+  ../../include/cdefs.h opt-noasserts.h ../../include/uio.h \
+  ../../include/kern/iovec.h ../../include/clock.h opt-synchprobs.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/proc.h \
+  ../../include/synch.h ../../include/vfs.h ../../include/sfs.h \
+  ../../include/fs.h ../../include/vnode.h ../../include/kern/sfs.h \
+  ../../include/syscall.h ../../include/test.h opt-synchprobs.h opt-sfs.h \
+  opt-net.h
+file_syscalls.o: ../../syscall/file_syscalls.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/unistd.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/uio.h ../../include/kern/iovec.h \
+  ../../include/syscall.h ../../include/vnode.h ../../include/vfs.h \
+  ../../include/array.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/thread.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/proc.h
+loadelf.o: ../../syscall/loadelf.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/proc.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/thread.h ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/addrspace.h \
+  ../../include/vm.h includelinks/machine/vm.h ../../include/vnode.h \
+  ../../include/elf.h includelinks/machine/elf.h
+proc_syscalls.o: ../../syscall/proc_syscalls.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/unistd.h ../../include/kern/wait.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/syscall.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/thread.h \
+  ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/proc.h \
+  ../../include/addrspace.h ../../include/vm.h includelinks/machine/vm.h \
+  ../../include/copyinout.h
+runprogram.o: ../../syscall/runprogram.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/proc.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/thread.h \
+  ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/addrspace.h \
+  ../../include/vm.h includelinks/machine/vm.h ../../include/vfs.h \
+  ../../include/syscall.h ../../include/test.h
+time_syscalls.o: ../../syscall/time_syscalls.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/clock.h opt-synchprobs.h \
+  ../../include/copyinout.h ../../include/syscall.h
+arraytest.o: ../../test/arraytest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/array.h ../../include/test.h
+bitmaptest.o: ../../test/bitmaptest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/bitmap.h ../../include/test.h
+fstest.o: ../../test/fstest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/uio.h ../../include/kern/iovec.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/synch.h \
+  ../../include/vfs.h ../../include/fs.h ../../include/vnode.h \
+  ../../include/test.h
+malloctest.o: ../../test/malloctest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/thread.h ../../include/array.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/synch.h ../../include/test.h
+synchtest.o: ../../test/synchtest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/clock.h opt-synchprobs.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/synch.h \
+  ../../include/test.h
+threadtest.o: ../../test/threadtest.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/thread.h ../../include/array.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/synch.h ../../include/test.h
+tt3.o: ../../test/tt3.c ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/wchan.h ../../include/thread.h ../../include/array.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/synch.h ../../include/test.h opt-synchprobs.h
+uw-tests.o: ../../test/uw-tests.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/synch.h \
+  ../../include/spinlock.h ../../include/cdefs.h \
+  includelinks/machine/spinlock.h ../../include/thread.h \
+  ../../include/array.h ../../include/lib.h opt-noasserts.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/test.h ../../include/uw-vmstats.h
+clock.o: ../../thread/clock.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/wchan.h ../../include/clock.h \
+  opt-synchprobs.h ../../include/thread.h ../../include/array.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../dev/lamebus/ltimer.h \
+  ../../include/current.h includelinks/machine/current.h
+spinlock.o: ../../thread/spinlock.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/spl.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/thread.h \
+  ../../include/array.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h
+spl.o: ../../thread/spl.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/spl.h ../../include/thread.h \
+  ../../include/array.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/current.h includelinks/machine/current.h
+synch.o: ../../thread/synch.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/wchan.h \
+  ../../include/thread.h ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/synch.h
+thread.o: ../../thread/thread.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/spl.h ../../include/wchan.h \
+  ../../include/thread.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/threadprivate.h ../../include/proc.h \
+  ../../include/current.h includelinks/machine/current.h \
+  ../../include/synch.h ../../include/addrspace.h ../../include/vm.h \
+  ../../include/mainbus.h ../../include/vnode.h opt-synchprobs.h
+threadlist.o: ../../thread/threadlist.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/thread.h ../../include/array.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h
+device.o: ../../vfs/device.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/stat.h \
+  ../../include/kern/stat.h ../../include/kern/stattypes.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/synch.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/vnode.h ../../include/device.h
+devnull.o: ../../vfs/devnull.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/uio.h ../../include/kern/iovec.h ../../include/vfs.h \
+  ../../include/array.h ../../include/device.h
+vfscwd.o: ../../vfs/vfscwd.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/stat.h ../../include/kern/stat.h \
+  ../../include/kern/stattypes.h ../../include/lib.h \
+  ../../include/cdefs.h opt-noasserts.h ../../include/uio.h \
+  ../../include/kern/iovec.h ../../include/proc.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/thread.h ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/vfs.h ../../include/fs.h \
+  ../../include/vnode.h
+vfslist.o: ../../vfs/vfslist.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/array.h ../../include/synch.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/vfs.h ../../include/fs.h \
+  ../../include/vnode.h ../../include/device.h
+vfslookup.o: ../../vfs/vfslookup.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/limits.h ../../include/kern/limits.h ../../include/lib.h \
+  ../../include/cdefs.h opt-noasserts.h ../../include/synch.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/vfs.h ../../include/array.h ../../include/fs.h \
+  ../../include/vnode.h
+vfspath.o: ../../vfs/vfspath.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/fcntl.h ../../include/limits.h \
+  ../../include/kern/limits.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/vfs.h ../../include/array.h \
+  ../../include/vnode.h
+vnode.o: ../../vfs/vnode.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/synch.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/vfs.h \
+  ../../include/array.h ../../include/vnode.h
+kmalloc.o: ../../vm/kmalloc.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/vm.h \
+  includelinks/machine/vm.h
+uw-vmstats.o: ../../vm/uw-vmstats.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/synch.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/spl.h \
+  ../../include/uw-vmstats.h
+trap.o: ../../arch/mips/locore/trap.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/signal.h \
+  includelinks/kern/machine/signal.h ../../include/kern/signal.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  includelinks/mips/specialreg.h includelinks/mips/trapframe.h \
+  ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/spl.h ../../include/thread.h \
+  ../../include/array.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/current.h includelinks/machine/current.h \
+  ../../include/vm.h ../../include/mainbus.h ../../include/syscall.h
+syscall.o: ../../arch/mips/syscall/syscall.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/kern/syscall.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h includelinks/mips/trapframe.h ../../include/thread.h \
+  ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/syscall.h
+cpu.o: ../../arch/mips/thread/cpu.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h includelinks/mips/specialreg.h \
+  includelinks/mips/trapframe.h includelinks/platform/maxcpus.h \
+  ../../include/cpu.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/vm.h ../../include/thread.h ../../include/array.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h
+switchframe.o: ../../arch/mips/thread/switchframe.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/thread.h ../../include/array.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/thread.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/threadprivate.h ../../arch/mips/thread/switchframe.h
+switch.o: ../../arch/mips/thread/switch.S \
+  includelinks/kern/mips/regdefs.h
+thread_machdep.o: ../../arch/mips/thread/thread_machdep.c \
+  ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/threadprivate.h
+threadstart.o: ../../arch/mips/thread/threadstart.S \
+  includelinks/kern/mips/regdefs.h
+dumbvm.o: ../../arch/mips/vm/dumbvm.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/spl.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/proc.h \
+  ../../include/thread.h ../../include/array.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h includelinks/mips/tlb.h \
+  ../../include/addrspace.h ../../include/vm.h includelinks/machine/vm.h
+ram.o: ../../arch/mips/vm/ram.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h ../../include/vm.h includelinks/machine/vm.h \
+  ../../include/mainbus.h
+adddi3.o: ../../../common/gcc-millicode/adddi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+anddi3.o: ../../../common/gcc-millicode/anddi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+ashldi3.o: ../../../common/gcc-millicode/ashldi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+ashrdi3.o: ../../../common/gcc-millicode/ashrdi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+cmpdi2.o: ../../../common/gcc-millicode/cmpdi2.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+divdi3.o: ../../../common/gcc-millicode/divdi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+iordi3.o: ../../../common/gcc-millicode/iordi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+lshldi3.o: ../../../common/gcc-millicode/lshldi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+lshrdi3.o: ../../../common/gcc-millicode/lshrdi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+moddi3.o: ../../../common/gcc-millicode/moddi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+muldi3.o: ../../../common/gcc-millicode/muldi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+negdi2.o: ../../../common/gcc-millicode/negdi2.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+notdi2.o: ../../../common/gcc-millicode/notdi2.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+qdivrem.o: ../../../common/gcc-millicode/qdivrem.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+subdi3.o: ../../../common/gcc-millicode/subdi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+ucmpdi2.o: ../../../common/gcc-millicode/ucmpdi2.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+udivdi3.o: ../../../common/gcc-millicode/udivdi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+umoddi3.o: ../../../common/gcc-millicode/umoddi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+xordi3.o: ../../../common/gcc-millicode/xordi3.c \
+  ../../../common/gcc-millicode/longlong.h ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/endian.h \
+  ../../include/kern/endian.h includelinks/kern/machine/endian.h \
+  ../../include/limits.h ../../include/kern/limits.h
+setjmp.o: ../../../common/libc/arch/mips/setjmp.S \
+  includelinks/kern/mips/regdefs.h
+copyinout.o: ../../vm/copyinout.c ../../include/types.h \
+  ../../include/kern/types.h includelinks/kern/machine/types.h \
+  includelinks/machine/types.h ../../include/kern/errno.h \
+  ../../include/lib.h ../../include/cdefs.h opt-noasserts.h \
+  ../../include/setjmp.h includelinks/kern/machine/setjmp.h \
+  ../../include/thread.h ../../include/array.h ../../include/spinlock.h \
+  includelinks/machine/spinlock.h ../../include/threadlist.h \
+  includelinks/machine/thread.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/vm.h \
+  includelinks/machine/vm.h ../../include/copyinout.h
+cache-mips161.o: ../../arch/mips/locore/cache-mips161.S \
+  includelinks/kern/mips/regdefs.h
+exception-mips1.o: ../../arch/mips/locore/exception-mips1.S \
+  includelinks/kern/mips/regdefs.h includelinks/mips/specialreg.h
+tlb-mips1.o: ../../arch/mips/vm/tlb-mips1.S \
+  includelinks/kern/mips/regdefs.h includelinks/mips/specialreg.h
+lamebus_machdep.o: ../../arch/sys161/dev/lamebus_machdep.c \
+  ../../include/types.h ../../include/kern/types.h \
+  includelinks/kern/machine/types.h includelinks/machine/types.h \
+  ../../include/kern/unistd.h ../../include/lib.h ../../include/cdefs.h \
+  opt-noasserts.h includelinks/mips/trapframe.h ../../include/cpu.h \
+  ../../include/spinlock.h includelinks/machine/spinlock.h \
+  ../../include/threadlist.h includelinks/machine/vm.h \
+  ../../include/spl.h ../../include/clock.h opt-synchprobs.h \
+  ../../include/thread.h ../../include/array.h \
+  includelinks/machine/thread.h ../../include/setjmp.h \
+  includelinks/kern/machine/setjmp.h ../../include/current.h \
+  includelinks/machine/current.h ../../include/synch.h \
+  ../../include/mainbus.h includelinks/sys161/bus.h \
+  ../../dev/lamebus/lamebus.h autoconf.h
+start.o: ../../arch/sys161/startup/start.S \
+  includelinks/kern/mips/regdefs.h includelinks/mips/specialreg.h

+ 15 - 0
kern/compile/ASST2/Makefile

@@ -0,0 +1,15 @@
+# Automatically generated by config; do not edit.
+#
+
+# Top of the kernel tree
+KTOP=../..
+# Top of the whole tree
+TOP=$(KTOP)/..
+# Debug vs. optimize
+KDEBUG=-g
+# Name of the kernel config file
+CONFNAME=ASST2
+
+.include "$(TOP)/mk/os161.config.mk"
+.include "files.mk"
+.include "$(TOP)/mk/os161.kernel.mk"

+ 410 - 0
kern/compile/ASST2/autoconf.c

@@ -0,0 +1,410 @@
+/* Automatically generated; do not edit */
+#include <types.h>
+#include <lib.h>
+#include "autoconf.h"
+
+static void autoconf_beep(struct beep_softc *, int);
+static void autoconf_con(struct con_softc *, int);
+static void autoconf_emu(struct emu_softc *, int);
+static void autoconf_lhd(struct lhd_softc *, int);
+static void autoconf_lrandom(struct lrandom_softc *, int);
+static void autoconf_lser(struct lser_softc *, int);
+static void autoconf_ltimer(struct ltimer_softc *, int);
+static void autoconf_ltrace(struct ltrace_softc *, int);
+static void autoconf_random(struct random_softc *, int);
+static void autoconf_rtclock(struct rtclock_softc *, int);
+static int nextunit_beep;
+static int nextunit_con;
+static int nextunit_emu;
+static int nextunit_lhd;
+static int nextunit_lrandom;
+static int nextunit_lser;
+static int nextunit_ltimer;
+static int nextunit_ltrace;
+static int nextunit_random;
+static int nextunit_rtclock;
+
+static
+int
+tryattach_emu_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct emu_softc *dev;
+	int result;
+
+	dev = attach_emu_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("emu%d at lamebus%d", devunit, busunit);
+	result = config_emu(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_emu = devunit+1;
+	autoconf_emu(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_ltrace_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct ltrace_softc *dev;
+	int result;
+
+	dev = attach_ltrace_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("ltrace%d at lamebus%d", devunit, busunit);
+	result = config_ltrace(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_ltrace = devunit+1;
+	autoconf_ltrace(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_ltimer_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct ltimer_softc *dev;
+	int result;
+
+	dev = attach_ltimer_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("ltimer%d at lamebus%d", devunit, busunit);
+	result = config_ltimer(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_ltimer = devunit+1;
+	autoconf_ltimer(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_lrandom_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct lrandom_softc *dev;
+	int result;
+
+	dev = attach_lrandom_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("lrandom%d at lamebus%d", devunit, busunit);
+	result = config_lrandom(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_lrandom = devunit+1;
+	autoconf_lrandom(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_lhd_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct lhd_softc *dev;
+	int result;
+
+	dev = attach_lhd_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("lhd%d at lamebus%d", devunit, busunit);
+	result = config_lhd(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_lhd = devunit+1;
+	autoconf_lhd(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_lser_to_lamebus(int devunit, struct lamebus_softc *bus, int busunit)
+{
+	struct lser_softc *dev;
+	int result;
+
+	dev = attach_lser_to_lamebus(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("lser%d at lamebus%d", devunit, busunit);
+	result = config_lser(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_lser = devunit+1;
+	autoconf_lser(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_beep_to_ltimer(int devunit, struct ltimer_softc *bus, int busunit)
+{
+	struct beep_softc *dev;
+	int result;
+
+	dev = attach_beep_to_ltimer(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("beep%d at ltimer%d", devunit, busunit);
+	result = config_beep(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_beep = devunit+1;
+	autoconf_beep(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_con_to_lser(int devunit, struct lser_softc *bus, int busunit)
+{
+	struct con_softc *dev;
+	int result;
+
+	dev = attach_con_to_lser(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("con%d at lser%d", devunit, busunit);
+	result = config_con(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_con = devunit+1;
+	autoconf_con(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_rtclock_to_ltimer(int devunit, struct ltimer_softc *bus, int busunit)
+{
+	struct rtclock_softc *dev;
+	int result;
+
+	dev = attach_rtclock_to_ltimer(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("rtclock%d at ltimer%d", devunit, busunit);
+	result = config_rtclock(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_rtclock = devunit+1;
+	autoconf_rtclock(dev, devunit);
+	return 0;
+}
+
+static
+int
+tryattach_random_to_lrandom(int devunit, struct lrandom_softc *bus, int busunit)
+{
+	struct random_softc *dev;
+	int result;
+
+	dev = attach_random_to_lrandom(devunit, bus);
+	if (dev==NULL) {
+		return -1;
+	}
+	kprintf("random%d at lrandom%d", devunit, busunit);
+	result = config_random(dev, devunit);
+	if (result != 0) {
+		kprintf(": %s\n", strerror(result));
+		/* should really clean up dev */
+		return result;
+	}
+	kprintf("\n");
+	nextunit_random = devunit+1;
+	autoconf_random(dev, devunit);
+	return 0;
+}
+
+
+static
+void
+autoconf_con(struct con_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_lser(struct lser_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+	{
+		if (nextunit_con <= 0) {
+			tryattach_con_to_lser(0, bus, busunit);
+		}
+	}
+}
+
+static
+void
+autoconf_lhd(struct lhd_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_emu(struct emu_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_random(struct random_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_ltimer(struct ltimer_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+	{
+		if (nextunit_beep <= 0) {
+			tryattach_beep_to_ltimer(0, bus, busunit);
+		}
+	}
+	{
+		if (nextunit_rtclock <= 0) {
+			tryattach_rtclock_to_ltimer(0, bus, busunit);
+		}
+	}
+}
+
+void
+autoconf_lamebus(struct lamebus_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+	{
+		int result, devunit=nextunit_emu;
+		do {
+			result = tryattach_emu_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+	{
+		int result, devunit=nextunit_ltrace;
+		do {
+			result = tryattach_ltrace_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+	{
+		int result, devunit=nextunit_ltimer;
+		do {
+			result = tryattach_ltimer_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+	{
+		int result, devunit=nextunit_lrandom;
+		do {
+			result = tryattach_lrandom_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+	{
+		int result, devunit=nextunit_lhd;
+		do {
+			result = tryattach_lhd_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+	{
+		int result, devunit=nextunit_lser;
+		do {
+			result = tryattach_lser_to_lamebus(devunit, bus, busunit);
+			devunit++;
+		} while (result==0);
+	}
+}
+
+static
+void
+autoconf_beep(struct beep_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_lrandom(struct lrandom_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+	{
+		if (nextunit_random <= 0) {
+			tryattach_random_to_lrandom(0, bus, busunit);
+		}
+	}
+}
+
+static
+void
+autoconf_rtclock(struct rtclock_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+static
+void
+autoconf_ltrace(struct ltrace_softc *bus, int busunit)
+{
+	(void)bus; (void)busunit;
+}
+
+void
+pseudoconfig(void)
+{
+}
+

+ 43 - 0
kern/compile/ASST2/autoconf.h

@@ -0,0 +1,43 @@
+/* Automatically generated; do not edit */
+#ifndef _AUTOCONF_H_
+#define _AUTOCONF_H_
+
+struct lamebus_softc;
+struct emu_softc;
+struct ltrace_softc;
+struct ltimer_softc;
+struct lrandom_softc;
+struct lhd_softc;
+struct lser_softc;
+struct beep_softc;
+struct con_softc;
+struct rtclock_softc;
+struct random_softc;
+
+void autoconf_lamebus(struct lamebus_softc *dev, int unit);
+
+struct emu_softc *attach_emu_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct ltrace_softc *attach_ltrace_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct ltimer_softc *attach_ltimer_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct lrandom_softc *attach_lrandom_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct lhd_softc *attach_lhd_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct lser_softc *attach_lser_to_lamebus(int devunit, struct lamebus_softc *bus);
+struct beep_softc *attach_beep_to_ltimer(int devunit, struct ltimer_softc *bus);
+struct con_softc *attach_con_to_lser(int devunit, struct lser_softc *bus);
+struct rtclock_softc *attach_rtclock_to_ltimer(int devunit, struct ltimer_softc *bus);
+struct random_softc *attach_random_to_lrandom(int devunit, struct lrandom_softc *bus);
+
+int config_emu(struct emu_softc *dev, int unit);
+int config_ltrace(struct ltrace_softc *dev, int unit);
+int config_ltimer(struct ltimer_softc *dev, int unit);
+int config_lrandom(struct lrandom_softc *dev, int unit);
+int config_lhd(struct lhd_softc *dev, int unit);
+int config_lser(struct lser_softc *dev, int unit);
+int config_beep(struct beep_softc *dev, int unit);
+int config_con(struct con_softc *dev, int unit);
+int config_rtclock(struct rtclock_softc *dev, int unit);
+int config_random(struct random_softc *dev, int unit);
+
+void pseudoconfig(void);
+
+#endif /* _AUTOCONF_H_ */

+ 113 - 0
kern/compile/ASST2/files.mk

@@ -0,0 +1,113 @@
+# Automatically generated by config; do not edit
+SRCS+=$(TOP)/common/libc/printf/__printf.c
+SRCS+=$(TOP)/common/libc/printf/snprintf.c
+SRCS+=$(TOP)/common/libc/stdlib/atoi.c
+SRCS+=$(TOP)/common/libc/string/bzero.c
+SRCS+=$(TOP)/common/libc/string/memcpy.c
+SRCS+=$(TOP)/common/libc/string/memmove.c
+SRCS+=$(TOP)/common/libc/string/strcat.c
+SRCS+=$(TOP)/common/libc/string/strchr.c
+SRCS+=$(TOP)/common/libc/string/strcmp.c
+SRCS+=$(TOP)/common/libc/string/strcpy.c
+SRCS+=$(TOP)/common/libc/string/strlen.c
+SRCS+=$(TOP)/common/libc/string/strrchr.c
+SRCS+=$(TOP)/common/libc/string/strtok_r.c
+SRCS+=$(KTOP)/compile/ASST2/autoconf.c
+SRCS+=$(KTOP)/dev/generic/beep.c
+SRCS+=$(KTOP)/dev/generic/console.c
+SRCS+=$(KTOP)/dev/generic/random.c
+SRCS+=$(KTOP)/dev/generic/rtclock.c
+SRCS+=$(KTOP)/dev/lamebus/beep_ltimer.c
+SRCS+=$(KTOP)/dev/lamebus/con_lser.c
+SRCS+=$(KTOP)/dev/lamebus/emu_att.c
+SRCS+=$(KTOP)/dev/lamebus/emu.c
+SRCS+=$(KTOP)/dev/lamebus/lamebus.c
+SRCS+=$(KTOP)/dev/lamebus/lhd_att.c
+SRCS+=$(KTOP)/dev/lamebus/lhd.c
+SRCS+=$(KTOP)/dev/lamebus/lrandom_att.c
+SRCS+=$(KTOP)/dev/lamebus/lrandom.c
+SRCS+=$(KTOP)/dev/lamebus/lser_att.c
+SRCS+=$(KTOP)/dev/lamebus/lser.c
+SRCS+=$(KTOP)/dev/lamebus/ltimer_att.c
+SRCS+=$(KTOP)/dev/lamebus/ltimer.c
+SRCS+=$(KTOP)/dev/lamebus/ltrace_att.c
+SRCS+=$(KTOP)/dev/lamebus/ltrace.c
+SRCS+=$(KTOP)/dev/lamebus/random_lrandom.c
+SRCS+=$(KTOP)/dev/lamebus/rtclock_ltimer.c
+SRCS+=$(KTOP)/fs/sfs/sfs_fs.c
+SRCS+=$(KTOP)/fs/sfs/sfs_io.c
+SRCS+=$(KTOP)/fs/sfs/sfs_vnode.c
+SRCS+=$(KTOP)/lib/array.c
+SRCS+=$(KTOP)/lib/bitmap.c
+SRCS+=$(KTOP)/lib/bswap.c
+SRCS+=$(KTOP)/lib/kgets.c
+SRCS+=$(KTOP)/lib/kprintf.c
+SRCS+=$(KTOP)/lib/misc.c
+SRCS+=$(KTOP)/lib/queue.c
+SRCS+=$(KTOP)/lib/uio.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/locore/trap.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/syscall/syscall.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/thread/cpu.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/thread/switchframe.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/thread/switch.S
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/thread/thread_machdep.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/thread/threadstart.S
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/vm/dumbvm.c
+SRCS.MACHINE.mips+=$(KTOP)/arch/mips/vm/ram.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/adddi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/anddi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/ashldi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/ashrdi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/cmpdi2.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/divdi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/iordi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/lshldi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/lshrdi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/moddi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/muldi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/negdi2.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/notdi2.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/qdivrem.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/subdi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/ucmpdi2.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/udivdi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/umoddi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/gcc-millicode/xordi3.c
+SRCS.MACHINE.mips+=$(TOP)/common/libc/arch/mips/setjmp.S
+SRCS.MACHINE.mips+=$(KTOP)/vm/copyinout.c
+SRCS+=$(KTOP)/proc/proc.c
+SRCS+=$(KTOP)/startup/main.c
+SRCS+=$(KTOP)/startup/menu.c
+SRCS.PLATFORM.sys161+=$(KTOP)/arch/mips/locore/cache-mips161.S
+SRCS.PLATFORM.sys161+=$(KTOP)/arch/mips/locore/exception-mips1.S
+SRCS.PLATFORM.sys161+=$(KTOP)/arch/mips/vm/tlb-mips1.S
+SRCS.PLATFORM.sys161+=$(KTOP)/arch/sys161/dev/lamebus_machdep.c
+SRCS.PLATFORM.sys161+=$(KTOP)/arch/sys161/startup/start.S
+SRCS+=$(KTOP)/syscall/file_syscalls.c
+SRCS+=$(KTOP)/syscall/loadelf.c
+SRCS+=$(KTOP)/syscall/proc_syscalls.c
+SRCS+=$(KTOP)/syscall/runprogram.c
+SRCS+=$(KTOP)/syscall/time_syscalls.c
+SRCS+=$(KTOP)/test/arraytest.c
+SRCS+=$(KTOP)/test/bitmaptest.c
+SRCS+=$(KTOP)/test/fstest.c
+SRCS+=$(KTOP)/test/malloctest.c
+SRCS+=$(KTOP)/test/synchtest.c
+SRCS+=$(KTOP)/test/threadtest.c
+SRCS+=$(KTOP)/test/tt3.c
+SRCS+=$(KTOP)/test/uw-tests.c
+SRCS+=$(KTOP)/thread/clock.c
+SRCS+=$(KTOP)/thread/spinlock.c
+SRCS+=$(KTOP)/thread/spl.c
+SRCS+=$(KTOP)/thread/synch.c
+SRCS+=$(KTOP)/thread/thread.c
+SRCS+=$(KTOP)/thread/threadlist.c
+SRCS+=$(KTOP)/vfs/device.c
+SRCS+=$(KTOP)/vfs/devnull.c
+SRCS+=$(KTOP)/vfs/vfscwd.c
+SRCS+=$(KTOP)/vfs/vfslist.c
+SRCS+=$(KTOP)/vfs/vfslookup.c
+SRCS+=$(KTOP)/vfs/vfspath.c
+SRCS+=$(KTOP)/vfs/vnode.c
+SRCS+=$(KTOP)/vm/kmalloc.c
+SRCS+=$(KTOP)/vm/uw-vmstats.c

+ 1 - 0
kern/compile/ASST2/includelinks/kern/machine

@@ -0,0 +1 @@
+mips

+ 1 - 0
kern/compile/ASST2/includelinks/kern/mips

@@ -0,0 +1 @@
+../../../../arch/mips/include/kern

+ 1 - 0
kern/compile/ASST2/includelinks/machine

@@ -0,0 +1 @@
+mips

+ 1 - 0
kern/compile/ASST2/includelinks/mips

@@ -0,0 +1 @@
+../../../arch/mips/include

+ 1 - 0
kern/compile/ASST2/includelinks/platform

@@ -0,0 +1 @@
+sys161

+ 1 - 0
kern/compile/ASST2/includelinks/sys161

@@ -0,0 +1 @@
+../../../arch/sys161/include

BIN
kern/compile/ASST2/kernel


+ 5 - 0
kern/compile/ASST2/opt-A0.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A0_H_
+#define _OPT_A0_H_
+#define OPT_A0 0
+#endif /* _OPT_A0_H_ */

+ 5 - 0
kern/compile/ASST2/opt-A1.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A1_H_
+#define _OPT_A1_H_
+#define OPT_A1 1
+#endif /* _OPT_A1_H_ */

+ 5 - 0
kern/compile/ASST2/opt-A2.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A2_H_
+#define _OPT_A2_H_
+#define OPT_A2 1
+#endif /* _OPT_A2_H_ */

+ 5 - 0
kern/compile/ASST2/opt-A3.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A3_H_
+#define _OPT_A3_H_
+#define OPT_A3 0
+#endif /* _OPT_A3_H_ */

+ 5 - 0
kern/compile/ASST2/opt-A4.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A4_H_
+#define _OPT_A4_H_
+#define OPT_A4 0
+#endif /* _OPT_A4_H_ */

+ 5 - 0
kern/compile/ASST2/opt-A5.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_A5_H_
+#define _OPT_A5_H_
+#define OPT_A5 0
+#endif /* _OPT_A5_H_ */

+ 5 - 0
kern/compile/ASST2/opt-dumbvm.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_DUMBVM_H_
+#define _OPT_DUMBVM_H_
+#define OPT_DUMBVM 1
+#endif /* _OPT_DUMBVM_H_ */

+ 5 - 0
kern/compile/ASST2/opt-net.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_NET_H_
+#define _OPT_NET_H_
+#define OPT_NET 0
+#endif /* _OPT_NET_H_ */

+ 5 - 0
kern/compile/ASST2/opt-netfs.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_NETFS_H_
+#define _OPT_NETFS_H_
+#define OPT_NETFS 0
+#endif /* _OPT_NETFS_H_ */

+ 5 - 0
kern/compile/ASST2/opt-noasserts.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_NOASSERTS_H_
+#define _OPT_NOASSERTS_H_
+#define OPT_NOASSERTS 0
+#endif /* _OPT_NOASSERTS_H_ */

+ 5 - 0
kern/compile/ASST2/opt-sfs.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_SFS_H_
+#define _OPT_SFS_H_
+#define OPT_SFS 1
+#endif /* _OPT_SFS_H_ */

+ 5 - 0
kern/compile/ASST2/opt-synchprobs.h

@@ -0,0 +1,5 @@
+/* Automatically generated; do not edit */
+#ifndef _OPT_SYNCHPROBS_H_
+#define _OPT_SYNCHPROBS_H_
+#define OPT_SYNCHPROBS 0
+#endif /* _OPT_SYNCHPROBS_H_ */

+ 3 - 0
kern/compile/ASST2/vers.c

@@ -0,0 +1,3 @@
+/* This file is automatically generated. Edits will be lost.*/
+const int buildversion = 1;
+const char buildconfig[] = "ASST2";

+ 1 - 0
kern/compile/ASST2/version

@@ -0,0 +1 @@
+1

+ 10 - 9
kern/include/proc.h

@@ -48,16 +48,17 @@ struct semaphore;
 /*
  * Process structure.
  */
-struct proc {
-	char *p_name;			/* Name of this process */
+struct proc
+{
+	char * p_name;			/* Name of this process */
 	struct spinlock p_lock;		/* Lock for this structure */
 	struct threadarray p_threads;	/* Threads in this process */
 
 	/* VM */
-	struct addrspace *p_addrspace;	/* virtual address space */
+	struct addrspace * p_addrspace;	/* virtual address space */
 
 	/* VFS */
-	struct vnode *p_cwd;		/* current working directory */
+	struct vnode * p_cwd;		/* current working directory */
 
 #ifdef UW
   /* a vnode to refer to the console device */
@@ -76,23 +77,23 @@ extern struct proc *kproc;
 
 /* Semaphore used to signal when there are no more processes */
 #ifdef UW
-extern struct semaphore *no_proc_sem;
+extern struct semaphore * no_proc_sem;
 #endif // UW
 
 /* Call once during system startup to allocate data structures. */
 void proc_bootstrap(void);
 
 /* Create a fresh process for use by runprogram(). */
-struct proc *proc_create_runprogram(const char *name);
+struct proc *proc_create_runprogram(const char * name);
 
 /* Destroy a process. */
-void proc_destroy(struct proc *proc);
+void proc_destroy(struct proc * proc);
 
 /* Attach a thread to a process. Must not already have a process. */
-int proc_addthread(struct proc *proc, struct thread *t);
+int proc_addthread(struct proc * proc, struct thread * t);
 
 /* Detach a thread from its process. */
-void proc_remthread(struct thread *t);
+void proc_remthread(struct thread * t);
 
 /* Fetch the address space of the current process. */
 struct addrspace *curproc_getas(void);

+ 5 - 5
kern/include/syscall.h

@@ -37,14 +37,14 @@ struct trapframe; /* from <machine/trapframe.h> */
  * The system call dispatcher.
  */
 
-void syscall(struct trapframe *tf);
+void syscall(struct trapframe * tf);
 
 /*
  * Support functions.
  */
 
 /* Helper for fork(). You write this. */
-void enter_forked_process(struct trapframe *tf);
+void enter_forked_process(struct trapframe * tf);
 
 /* Enter user mode. Does not return. */
 void enter_new_process(int argc, userptr_t argv, vaddr_t stackptr,
@@ -59,10 +59,10 @@ int sys_reboot(int code);
 int sys___time(userptr_t user_seconds, userptr_t user_nanoseconds);
 
 #ifdef UW
-int sys_write(int fdesc,userptr_t ubuf,unsigned int nbytes,int *retval);
+int sys_write(int fdesc,userptr_t ubuf,unsigned int nbytes,int * retval);
 void sys__exit(int exitcode);
-int sys_getpid(pid_t *retval);
-int sys_waitpid(pid_t pid, userptr_t status, int options, pid_t *retval);
+int sys_getpid(pid_t *  retval);
+int sys_waitpid(pid_t pid, userptr_t status, int options, pid_t * retval);
 
 #endif // UW
 

+ 60 - 50
kern/proc/proc.c

@@ -49,12 +49,12 @@
 #include <vnode.h>
 #include <vfs.h>
 #include <synch.h>
-#include <kern/fcntl.h>  
+#include <kern/fcntl.h>
 
 /*
  * The process for the kernel; this holds all the kernel-only threads.
  */
-struct proc *kproc;
+struct proc * kproc;
 
 /*
  * Mechanism for making the kernel menu thread sleep while processes are running
@@ -63,10 +63,10 @@ struct proc *kproc;
 /* count of the number of processes, excluding kproc */
 static volatile unsigned int proc_count;
 /* provides mutual exclusion for proc_count */
-/* it would be better to use a lock here, but we use a semaphore because locks are not implemented in the base kernel */ 
-static struct semaphore *proc_count_mutex;
+/* it would be better to use a lock here, but we use a semaphore because locks are not implemented in the base kernel */
+static struct semaphore * proc_count_mutex;
 /* used to signal the kernel menu thread when there are no processes */
-struct semaphore *no_proc_sem;   
+struct semaphore * no_proc_sem;
 #endif  // UW
 
 
@@ -74,18 +74,19 @@ struct semaphore *no_proc_sem;
 /*
  * Create a proc structure.
  */
-static
-struct proc *
-proc_create(const char *name)
+static struct proc * proc_create(const char * name)
 {
-	struct proc *proc;
+	struct proc * proc;
 
 	proc = kmalloc(sizeof(*proc));
-	if (proc == NULL) {
+	if (proc == NULL)
+	{
 		return NULL;
 	}
+	
 	proc->p_name = kstrdup(name);
-	if (proc->p_name == NULL) {
+	if (proc->p_name == NULL)
+	{
 		kfree(proc);
 		return NULL;
 	}
@@ -109,8 +110,7 @@ proc_create(const char *name)
 /*
  * Destroy a proc structure.
  */
-void
-proc_destroy(struct proc *proc)
+void proc_destroy(struct proc * proc)
 {
 	/*
          * note: some parts of the process structure, such as the address space,
@@ -131,14 +131,16 @@ proc_destroy(struct proc *proc)
 	 */
 
 	/* VFS fields */
-	if (proc->p_cwd) {
+	if (proc->p_cwd)
+	{
 		VOP_DECREF(proc->p_cwd);
 		proc->p_cwd = NULL;
 	}
 
 
 #ifndef UW  // in the UW version, space destruction occurs in sys_exit, not here
-	if (proc->p_addrspace) {
+	if (proc->p_addrspace)
+	{
 		/*
 		 * In case p is the currently running process (which
 		 * it might be in some circumstances, or if this code
@@ -149,7 +151,7 @@ proc_destroy(struct proc *proc)
 		 * half-destroyed address space. This tends to be
 		 * messily fatal.
 		 */
-		struct addrspace *as;
+		struct addrspace * as;
 
 		as_deactivate();
 		as = curproc_setas(NULL);
@@ -158,7 +160,8 @@ proc_destroy(struct proc *proc)
 #endif // UW
 
 #ifdef UW
-	if (proc->console) {
+	if (proc->console)
+	{
 	  vfs_close(proc->console);
 	}
 #endif // UW
@@ -174,11 +177,12 @@ proc_destroy(struct proc *proc)
         /* note: kproc is not included in the process count, but proc_destroy
 	   is never called on kproc (see KASSERT above), so we're OK to decrement
 	   the proc_count unconditionally here */
-	P(proc_count_mutex); 
+	P(proc_count_mutex);
 	KASSERT(proc_count > 0);
 	proc_count--;
 	/* signal the kernel menu thread if the process count has reached zero */
-	if (proc_count == 0) {
+	if (proc_count == 0)
+	{
 	  V(no_proc_sem);
 	}
 	V(proc_count_mutex);
@@ -190,24 +194,26 @@ proc_destroy(struct proc *proc)
 /*
  * Create the process structure for the kernel.
  */
-void
-proc_bootstrap(void)
+void proc_bootstrap(void)
 {
   kproc = proc_create("[kernel]");
-  if (kproc == NULL) {
+  if (kproc == NULL)
+  {
     panic("proc_create for kproc failed\n");
   }
 #ifdef UW
   proc_count = 0;
   proc_count_mutex = sem_create("proc_count_mutex",1);
-  if (proc_count_mutex == NULL) {
+  if (proc_count_mutex == NULL)
+  {
     panic("could not create proc_count_mutex semaphore\n");
   }
   no_proc_sem = sem_create("no_proc_sem",0);
-  if (no_proc_sem == NULL) {
+  if (no_proc_sem == NULL)
+  {
     panic("could not create no_proc_sem semaphore\n");
   }
-#endif // UW 
+#endif // UW
 }
 
 /*
@@ -216,24 +222,26 @@ proc_bootstrap(void)
  * It will have no address space and will inherit the current
  * process's (that is, the kernel menu's) current directory.
  */
-struct proc *
-proc_create_runprogram(const char *name)
+struct proc * proc_create_runprogram(const char * name)
 {
-	struct proc *proc;
-	char *console_path;
+	struct proc * proc;
+	char * console_path;
 
 	proc = proc_create(name);
-	if (proc == NULL) {
+	if (proc == NULL)
+	{
 		return NULL;
 	}
 
 #ifdef UW
 	/* open the console - this should always succeed */
 	console_path = kstrdup("con:");
-	if (console_path == NULL) {
+	if (console_path == NULL)
+	{
 	  panic("unable to copy console path name during process creation\n");
 	}
-	if (vfs_open(console_path,O_WRONLY,0,&(proc->console))) {
+	if (vfs_open(console_path,O_WRONLY,0,&(proc->console)))
+	{
 	  panic("unable to open the console during process creation\n");
 	}
 	kfree(console_path);
@@ -249,13 +257,15 @@ proc_create_runprogram(const char *name)
 	/* we do not need to acquire the p_lock here, the running thread should
            have the only reference to this process */
         /* also, acquiring the p_lock is problematic because VOP_INCREF may block */
-	if (curproc->p_cwd != NULL) {
+	if (curproc->p_cwd != NULL)
+	{
 		VOP_INCREF(curproc->p_cwd);
 		proc->p_cwd = curproc->p_cwd;
 	}
 #else // UW
 	spinlock_acquire(&curproc->p_lock);
-	if (curproc->p_cwd != NULL) {
+	if (curproc->p_cwd != NULL)
+	{
 		VOP_INCREF(curproc->p_cwd);
 		proc->p_cwd = curproc->p_cwd;
 	}
@@ -266,7 +276,7 @@ proc_create_runprogram(const char *name)
 	/* increment the count of processes */
         /* we are assuming that all procs, including those created by fork(),
            are created using a call to proc_create_runprogram  */
-	P(proc_count_mutex); 
+	P(proc_count_mutex);
 	proc_count++;
 	V(proc_count_mutex);
 #endif // UW
@@ -278,8 +288,7 @@ proc_create_runprogram(const char *name)
  * Add a thread to a process. Either the thread or the process might
  * or might not be current.
  */
-int
-proc_addthread(struct proc *proc, struct thread *t)
+int proc_addthread(struct proc * proc, struct thread * t)
 {
 	int result;
 
@@ -288,7 +297,8 @@ proc_addthread(struct proc *proc, struct thread *t)
 	spinlock_acquire(&proc->p_lock);
 	result = threadarray_add(&proc->p_threads, t, NULL);
 	spinlock_release(&proc->p_lock);
-	if (result) {
+	if (result)
+	{
 		return result;
 	}
 	t->t_proc = proc;
@@ -299,8 +309,7 @@ proc_addthread(struct proc *proc, struct thread *t)
  * Remove a thread from its process. Either the thread or the process
  * might or might not be current.
  */
-void
-proc_remthread(struct thread *t)
+void proc_remthread(struct thread * t)
 {
 	struct proc *proc;
 	unsigned i, num;
@@ -311,8 +320,10 @@ proc_remthread(struct thread *t)
 	spinlock_acquire(&proc->p_lock);
 	/* ugh: find the thread in the array */
 	num = threadarray_num(&proc->p_threads);
-	for (i=0; i<num; i++) {
-		if (threadarray_get(&proc->p_threads, i) == t) {
+	for (i=0; i<num; i++)
+	{
+		if (threadarray_get(&proc->p_threads, i) == t)
+		{
 			threadarray_remove(&proc->p_threads, i);
 			spinlock_release(&proc->p_lock);
 			t->t_proc = NULL;
@@ -329,15 +340,15 @@ proc_remthread(struct thread *t)
  * refcounted. If you implement multithreaded processes, make sure to
  * set up a refcount scheme or some other method to make this safe.
  */
-struct addrspace *
-curproc_getas(void)
+struct addrspace * curproc_getas(void)
 {
 	struct addrspace *as;
 #ifdef UW
-        /* Until user processes are created, threads used in testing 
+        /* Until user processes are created, threads used in testing
          * (i.e., kernel threads) have no process or address space.
          */
-	if (curproc == NULL) {
+	if (curproc == NULL)
+  {
 		return NULL;
 	}
 #endif
@@ -352,11 +363,10 @@ curproc_getas(void)
  * Change the address space of the current process, and return the old
  * one.
  */
-struct addrspace *
-curproc_setas(struct addrspace *newas)
+struct addrspace * curproc_setas(struct addrspace * newas)
 {
-	struct addrspace *oldas;
-	struct proc *proc = curproc;
+	struct addrspace * oldas;
+	struct proc * proc = curproc;
 
 	spinlock_acquire(&proc->p_lock);
 	oldas = proc->p_addrspace;