OS/161 was written by David A. Holland, with contributions from Amos Blackman Alexandra Fedorova Ada T. Lim Georgi Matev Jay Moorthi Geoffrey Werner-Allen Additional small patches and bug reports have been contributed by various other people, all of whom are (hopefully) listed below. ------------------------------------------------------------ 20140924 dholland OS/161 1.99.08 released. Consider this 2.0-RC1. 20140924 dholland Make km3 rotate object sizes as originally intended. 20140924 dholland Make frack print a visible divider when it syncs. 20140922 dholland Add /bin/tac, which uses unlinked scratch files. 20140919 dholland Allow giving testbin/bigfile the chunk size to write. 20140919 dholland Add a design doc about the structure of assignments. 20140919 dholland Make certain sfsck checks set the exit status properly. 20140918 dholland Provide general-purpose metadata I/O function in sfs. 20140916 dholland Remove size workaround in bigexec; fixed solution set. 20140904 dholland Fix problem with stray symlinks in $(OSTREE)/include. 20140904 dholland Change sfs_vnode->sv_v to sv_absvn for consistency. 20140904 dholland Add bloat test; it uses all available memory rapidly. 20140904 dholland Fix testbin/crash for gcc 4.8. 20140904 dholland Make testbin/filetest do something useful if no argv. 20140904 dholland Declare userland err* __DEAD. 20140904 dholland Add sys/cdefs.h and move userland __DEAD there. 20140903 dholland Simplify ram.c interface as suggested by my students. 20140829 dholland Add km4: a kmalloc test for multipage allocations. 20140829 dholland Add multiexec test for lots of procs in exec at once. 20140828 dholland Tighten asm constraints for gcc 4.8. 20140828 dholland Fix inlining for gcc 4.8, and a few other build issues. 20140825 dholland Remove vnode open count and VOP_INC/DECOPEN. 20140825 dholland Remove VOP_LASTCLOSE; nothing uses it any more. 20140825 dholland Don't fsync in sfs_lastclose; it's outdated practice. 20140825 dholland Remove DEVOP_LASTCLOSE; nothing uses it and we will ........ never add rewind-on-close tape devices. 20140825 dholland Use a separate spinlock for vnode refcounts. (Using ........ vfs_biglock causes sleeping while holding spinlocks.) 20140825 dholland Don't use sfs_io() for directory entries. 20140821 dholland Replace VOP_TRYSEEK with static VOP_ISSEEKABLE. 20140821 dholland Make devices check seek position validity on the fly. 20140806 dholland Make sfs_link reject directories. From Anne Madoff. 20140730 dholland Make testbin/hog run longer. 20140729 dholland Document psort's sizing knobs. 20140729 dholland Make psort big enough to be useful as a fs test. 20140729 dholland Add ARRAYCOUNT() macro for static array length. 20140729 dholland Add array_preallocate(). 20140729 dholland Make npages argument of alloc_kpages() unsigned. 20140729 dholland Tidy up construction/destruction of struct sfs_fs. 20140728 dholland Make sfs_read/writeblock take the buffer length. ........ (Always do that, even if it's the same everywhere.) 20140728 dholland struct sfs_super -> struct sfs_superblock. 20140728 dholland Adjust SFS code to make it more readily extensible. 20140728 dholland Always call SFS's free block bitmap the "freemap". 20140728 dholland Rename a bunch of the SFS constants for clarity. 20140725 dholland Add usemtest for checking the semfs semaphores. 20140724 dholland Make failed SFS writes not increase the file size. 20140724 dholland Distinguish MIPS 512M RAM limit and LAMEbus 508M limit. 20140722 dholland sfs_dir -> sfs_direntry, by popular demand. 20140722 dholland Add some notes about the atomicity of dup2(). 20140722 dholland Add notes about the limits of syscall atomicity in ........ multithreaded processes. From Jared Pochtar. 20140722 dholland Add redirect test to check stdin/stdout redirection. 20140722 dholland Fix emufs handling of seek positions beyond 2^32. 20140722 dholland Add bigseek test for checking seeks beyond 2^32. 20140721 dholland Add file open mode checks to badcall. 20140721 dholland Fix interaction of kmalloc guards and kmalloc labels. 20140721 dholland Be more conservative about panic on stray interrupt. 20140721 dholland Fix userland build to not rebuild unnecessarily. 20140721 dholland Fix userland build to not belch on removed .h files. 20140721 dholland In badcall, don't shout if mkdir isn't implemented. 20140717 dholland Fix misleading comments and variable names in proc.c. 20140716 dholland Add -w option to parallelvm to wait for forking. 20140716 dholland Replace a busywait in badcall with the new semaphores. 20140716 dholland Provide userlevel semaphores via semfs filesystem. ........ Open "sem:<name>", then read to P() and write to V(). 20140716 dholland Move the just-fail vnode op stubs to VFS. 20140710 dholland Added new test program: sbrktest. 20140710 dholland Make the libc qsort() actually quicksort. 20140709 dholland Ship qsort() in libc, not in sfsck's compat code. 20140709 dholland SWAP{S,L,LL} -> SWAP{16,32,64} in sfs tools. 20140709 dholland Fix reversed found/expected printout in frack check. 20140518 dholland Fix embarrasing sort bugs in native sfsck. 20140430 dholland Add poisondisk tool for testing file system recovery. 20140428 dholland Add hostcompat logic for 64-bit byte-swapping. 20140417 dholland Fix zero to use page-sized sbrk calls. 20140415 dholland Rewrite dumpsfs and make it much more useful. 20140414 dholland Fix missing initialization of cpu->c_spinlocks. 20140410 dholland Fix bug in malloc changes. Add assertion to malloctest. 20140326 dholland Make userlevel malloc allocate in page-sized chunks. 20140326 dholland Fix the (unused) 64-bit userlevel malloc code. 20140314 dholland Make forktest show how much output is expected. 20140220 dholland Add new sy4 test for CVs. 20140211 dholland Tidy some logic in thread_make_runnable. 20140211 dholland Mark threads READY when waking them. From Anne Madoff. 20140201 dholland Fix some outdated comments, reported by Emmet Jao. 20140128 dholland Fix default OSTREE in configure script. 20140123 dholland OS/161 1.99.07 released. 20140123 dholland Add "frack" test (filesystem recover and check). 20140123 dholland Add factorial test that computes using execv. 20140123 dholland Add fs6 test that creates lots of small files. 20140122 dholland Mark enter_new_process and related code __DEAD. 20140122 dholland Make the semaphore counter unsigned. 20140122 dholland When kmalloc gets a page, assert that it's aligned. 20140122 dholland Fix error leak in sfs_balloc; from Christian Anderson. 20140122 dholland Use ssize_t and pid_t more in unistd.h. 20140122 dholland Add discussion of ARG_MAX to execv man page. 20140122 dholland Add missing <stdbool.h> for userland. 20140122 dholland Added sparsefile test program for making sparse files. 20140122 dholland splx() needs to work before curcpu/curthread exists. 20140122 dholland Clarify that proc_remthread requires splhigh. 20140115 dholland Remove VOP_INIT/CLEANUP macros. Use vnode_init/cleanup. 20140115 dholland Make device open/close eachopen/lastclose like vnodes. 20140115 dholland Move vfs-level device ops to an ops table struct. 20140115 dholland Clarify/correct comments pertaining to O_APPEND. 20140114 dholland Reorganize SFS sources. 20131112 dholland In SFS, always provide N{,D,T}INDIRECT macros. 20131112 dholland Reorganize sfsck sources; rework and improve sfsck. 20131110 dholland Don't use uninitialized file permissions in badcall. 20131110 dholland Provide __UNUSED along with __PF and __DEAD. 20131108 dholland Rearrange (and fix) hacks for _exit() returning. ........ It now faults on "0xeeeee00f" if it can't exit. 20131107 dholland Handle TLB pipeline hazards correctly. 20131107 dholland Add some sample/experimental gdb scripts. 20131107 dholland Make the console polling logic not use internal vars. 20131107 dholland Have wchan_sleep assert if holding extra spinlocks. 20131107 dholland Don't use assignment numbers for kernel configs. 20131107 dholland Remove the synch problems from the base system. 20131107 dholland Rename src/user -> src/userland. Seems to be the best ........ choice among a number of unappealing alternatives. 20131105 dholland Disallow EINVAL for "no such process" in badcall. 20131105 dholland Clean up sh's use of exit codes. 20131105 dholland Have testbin/crash check the signal numbers produced. 20131105 dholland Create an array of all wchans for debug purposes. 20131105 dholland Rearranged wchan API to make wchans more like CVs. 20131105 dholland Print the processor ID and version correctly. 20131105 dholland Fix boot on pre-multiprocessor System/161. 20131105 dholland Parallelize the kernel depend logic. 20131104 dholland Add and use memory barrier ops header. Minor impact. 20131104 dholland Rename sfs_inode to sfs_dinode. 20131101 dholland Edit and revise the man pages. Add some missing ones. 20131101 dholland Updated the docs and specs for waitpid. 20131030 dholland Use execvp() in sh. Don't have to type /bin/cat now. 20131030 dholland Provide getenv() and execvp() in libc. 20131030 dholland enter_user_process() now accepts an environ pointer. 20131030 dholland Add quinthuge, quintmat, quintsort tests. 20131030 dholland Added a libtest with common stuff for testbin/. 20131030 dholland Rewrote the .depend-munging script to be readable. 20131030 dholland Use ENOSYS (standard) instead of EUNIMP (which isn't). 20131030 dholland Fix badcall to expect with null status to succeed. 20131030 dholland Don't use unportable function casts in sfs. 20131029 dholland Add a memory leak detection mode to kmalloc. 20131029 dholland Add more kmalloc debugging modes and checks. 20131028 dholland Move the whole-filesystem ops to an ops table struct. 20131028 dholland Use designated initializers for the vnode ops tables. 20131028 dholland Fix the way thread_panic zaps the run queue. 20131028 dholland Moved memset.c to common/ for use in the kernel. 20131028 dholland Mark thread_exit() __DEAD. 20131028 dholland Fix addrspace handling in proc_destroy(). 20131025 dholland Improved kmalloc to support larger kernel heaps. 20131025 dholland Add another kmalloc test, this one of variable size. 20131025 dholland Make printf accept %zd/%zu for size_t. 20130531 dholland Add tests for the threadlist code. 20130531 dholland Fix threadlist iterators again. From Steven Talbot. 20130531 dholland Do thread migration *before* running the scheduler. 20130531 dholland Add some more assertions to kfree. 20130531 dholland Make badcall understand wait-for-any waitpid(). 20130531 dholland Provide a predepend: hook for makefiles. 20130531 dholland Put .depend files in build tree where they belong. 20130531 dholland Fix depends bug in os161.hostcompile.mk. 20130531 dholland Remove getinterval(); replace with timespec arithmetic. 20130531 dholland Use struct timespec inside the kernel. 20130531 dholland Move kern/startup -> kern/main, like it was in 1.x. 20130531 dholland Add "zero" test; checks if the VM system zeros pages. 20130531 dholland Change as_activate() to always activate curproc's AS. 20130531 dholland Provide both thread and process structures by default. 20130530 dholland Fix the scheme for probing LAMEbus device versions; ........ don't require lockstep upgrades for System/161 changes. 20130530 dholland Fix typo in comment, from Saagar Deshpande. 20130530 dholland Add comment warning against borrowing from dumbvm. 20130530 dholland Increase DUMBVM_STACKPAGES so 64K argv blocks will fit. 20130514 dholland Teach sfsck to handle dirs with invalid inode numbers. 20130503 dholland Fix another problem in the inode array in sfsck. ........ Reported by multiple students. 20130429 dholland Fix sfsck bitmap-checking problem. 20130311 dholland Declare panic() and badassert() noreturn. 20130308 dholland Fix fd leak in badcall, found by George Kulakowski. 20130306 dholland Fix off_t printing in randcall, found by David Palmer. 20110427 dholland Fix typo in badcall, from Andy Brody. 20110425 dholland Fix catastrophic bug in sfsck. Found by Jim Danz. 20110420 dholland Add new bigexec test for checking large argvs. 20110319 dholland Use va_copy() in __printf. (At least if available.) 20110223 dholland array.h needs cdefs.h and lib.h. Caught by Amy Tai. 20110127 dholland Fix host-psort build problem caused by glibc on Linux. 20110126 dholland OS/161 1.99.06 released. 20110126 dholland Fix some parallel build problems. 20110126 dholland Rename fs5 test to "long stress test". 20110126 dholland Clarify that struct tlbshootdown is a placeholder. 20110126 dholland Fix randcall makefile to put calls.c in the build dir. 20110126 dholland VOP_OPEN -> VOP_EACHOPEN; VOP_CLOSE -> VOP_LASTCLOSE. 20110126 dholland Name struct spinlock's members splk_*, not lk_*. 20110126 dholland sfs_fs.c -> sfs_fsops.c, sfs_vnode.c -> sfs_vnops.c 20100819 dholland Fix the stray console IRQs problem properly. This ........ requires System/161 1.99.05 or higher. 20100819 dholland Revert start/endpolling hack for stray console IRQs. ........ (But keep the code for masking interrupts.) 20100819 dholland Don't leave the IPI spinlock dangling on a panic IPI. 20100108 dholland OS/161 1.99.05 released. 20100108 dholland Don't cut corners with relocs in mips-exception1.S. 20100108 dholland Rearrange how curthread/curcpu get defined, so the ........ mips gdb can see curthread. 20100108 dholland Disable BSS zeroing in loadelf, because VM systems ........ should already provide zeroed pages. Make dumbvm do so. 20100108 dholland Add ASST3-OPT optimizing config. 20100108 dholland Add the usermalloc design doc to design/. 20100108 dholland Add the shell's design doc to design/. 20100108 dholland Fix outdated comment in start.S. 20100108 dholland Move clocksleep() decl to <clock.h>. 20100107 dholland Clarify various comments that seem lacking. 20090427 dholland Fix miscommented uio direction constants. Doh. ........ Found by the students... 20090424 dholland Add missing as_activate(NULL) during thread exit. 20090416 dholland Fix err/warn vs. errx/warnx usage in various tests. ........ Mostly from Robert J. Helblin and Peter Salas. 20090413 dholland Use EFBIG, not EINVAL, for "file too large". 20090402 dholland Make sbrk badcall "unaligned negative" really negative. 20090402 dholland Add clarifying comments to struct tlbshootdown. 20090320 dholland Fix DEBUG() so it accepts zero vararg parameters. 20090214 dholland Remove some references to obsolete name "md_usermode". 20090213 dholland Note that wchans don't promise to be FIFO. 20090205 dholland Add missing 'volatile' to spinlock.h. 20090414 dholland OS/161 1.99.04 released. 20090414 dholland Fix typo in kern/sfs.h. 20090414 dholland Fix testbin/psort up so it works adequately on sfs. 20090413 dholland Make sfsck track indirect blocks in the free map right. 20090413 dholland Fix bug where sfsck chokes on size 0 directories. 20090413 dholland Fix case where sfsck can't add missing ./.. entries. 20090413 dholland Add sfsck, simple check/recovery tool for sfs. 20090402 dholland OS/161 1.99.03 released. 20090402 dholland Fix build of testbin/malloctest. 20090320 dholland Check CURCPU_EXISTS in spinlock_do_i_hold. 20090313 dholland Fix threadlist iterator macros. 20090219 dholland OS/161 1.99.02 released. 20090219 dholland Add missing W* macros with waitpid in testbin progs. 20090219 dholland Work around gcc tailcall bug affecting testbin/crash. 20090219 dholland Fix missing vfs_biglock ops in vfs_getcwd(). 20090219 dholland Fix bad userland declaration of lseek(). 20090219 dholland Fix userland .depend file generation. 20090219 dholland Add join32to64 and split64to32. 20090219 dholland Clarify some comments in the mips syscall.c. 20090219 dholland Make stack frames in assembly code 64-bit aligned. 20090217 dholland Fix some glitches in the shell. 20090210 dholland Fix interrupt level management in trap handling. 20090209 dholland The on-chip timers can't be used for clocksleep(). 20090203 dholland OS/161 1.99.01 released. 20090202 dholland Don't ever migrate curthread to another cpu. 20090202 dholland Use the W* wait macros in the shell. 20090202 dholland Document the W* wait macros. 20090202 dholland OS/161 1.99.00 released. 20090201 dholland Fix some bugs. 20090201 dholland Add an input buffer to the console device. 20090201 dholland Change kernel load address to waste less low memory. 20090201 dholland Implement kernel-side support for the GP register. 20090201 dholland Update man pages for 2.x. 20090201 dholland Remove the built-in copy of make. Too much realism; it creates unnecessary hassles. Just ship make with the toolchain. 200901** dholland Assorted major hacking to prepare first pre-2.0 tree. Multiprocessor support. Improve organization of source tree. Add the shell and user malloc to the base system. 20081224 dholland Begin importing OS/161 1.x bits. (OS/161 2.x branches off from what's projected to be OS/161 1.x release 1.12.) OS/161 1.x change log: ------------------------------------------------------------ 20090115 dholland Fix wrong comment in lib.h. 20090106 dholland Fix typo in error message in newvers.sh. 20080825 dholland Fix typo in comment in start.S. 20080825 dholland Add curspl assertion to thread_yield. (Reported by Melissa O'Neill a long time ago.) 20050913 dholland OS/161 1.11 released. 20050907 dholland Minor changes for clean build under gcc 4.0.1. 20050321 dholland Add volatile to testbin/ctest. (found by Qicheng Ma) 20050307 dholland Create <machine/ktypes.h> for vaddr_t/paddr_t. 20050228 dholland Some standards compliance. (found by R.L. West) 20040510 dholland Fix args handling in testbin/tail. (Lukasz Strozek) 20040204 dholland Be more consistent about refcounts in vfscwd.c. 20040203 dholland OS/161 1.10 released. 20040203 dholland Support for hosting OS/161 on Solaris. 20040202 dholland Update stdarg.h for gcc 3.x; remove machine/stdarg.h. 20031227 dholland OS/161 1.09 released. 20031224 dholland Add missing man page for triplesort. 20031224 dholland Fix failed compile in lnet.c, currently a null driver. 20031224 dholland Fix badcall so it doesn't blow up on empty stdin. 20031224 dholland Fix argument handling in bin/ln. (Hassan Sultan) 20031224 dholland Fix link count leak in sfs_rename. (Brian Greenberg) 20031224 dholland Fix silly use-after-free in an SFS mount error path. 20031224 dholland Fix unaligned sections in dumbvm. (Mike Hamburg) 20031224 dholland Change "asst1probs" to "synchprobs". 20031224 dholland Refer to assts by content, not number, where possible. 20031224 dholland Fix some nonsensical but working code in /bin/pwd. 20031224 dholland Update stack assertions in mips/trap.c for 4k stacks. 20031224 dholland Install kernels using their configuration name. 20031224 dholland Clarify some aspects of the locks/CVs API. 20031224 dholland Fix assorted comment typos and glitches. 20030626 dholland Commit the fix for a refcounting mistake in SFS. 20030626 dholland Fix glitch in one of the dup2 tests in testbin/badcall. 20030626 dholland Add missing sized type in mksfs/support.h. 20030626 dholland Fix "make depend" glitch in dumpsfs. 20030626 dholland Fix minor off-by-one error in menu code. 20030421 dholland Fix assertion failure in kernel heap dump code. 20030421 dholland Fix crash in testbin/dirconc. 20030309 dholland Make shell accept being run with argc==0. 20030309 dholland Add support for WNOHANG to shell. 20030221 dholland OS/161 1.08 released. 20030221 dholland Fix broken hostcompat build with some Linux libcs. 20030207 gwa/dholland Fix broken ASST1 build caused by rushed release. 20030131 dholland OS/161 1.07 released. 20030131 gwa New assignment 1 problems for 2003. 20030129 dholland Make console device full-duplex. 20030129 dholland Check for short reads when loading executable headers. 20030129 dholland Make rmtest a single standalone executable. 20030129 dholland Make first thread stack also 4k rather than 8k. 20030129 dholland Fix minor VFS bug handling multiple leading slashes. 20030129 dholland Remove code duplication in triple* tests. 20030129 dholland Add triplesort test (like triplemat). 20030128 dholland Make f_test a single standalone executable. 20030128 dholland Add t_ prefix to struct thread members for consistency. 20030128 dholland bzero by words instead of bytes when properly aligned. 20030128 dholland Add memcmp() to libc. 20030127 dholland Minor fixes to parallelvm. 20030117 dholland OS/161 1.06 released. 20030110 dholland Fix bug in setjmp/longjmp. 20030110 dholland Add small explanatory comment to dev/lamebus/emu.c. 20021120 dholland Have configure script provide NM and HOST_NM. 20021120 dholland Merge hostcompat fixes for Mac OS X. 20021001 dholland Avoid undefined C behavior in atoi(). 20020920 dholland Provide string names for mips trap codes. 20020920 dholland Fix handling of boot-time kernel memory faults. 20020917 dholland OS/161 1.05 released. 20020913 dholland Created this changelog from CVS log data. 20020904 dholland Cleanup/improvement for testbin/malloctest. 20020904 dholland Add code to shell to do timing of subprocesses. 20020904 dholland Adjust prototype for __time() for hostcompat reasons. 20020904 dholland Add parallelvm and dirconc to the default build. 20020904 dholland Add mode to testbin/crash to fork and run everything. 20020904 dholland Retry certain I/O errors in emufs and sfs. 20020904 dholland Make vfs_close not fail. 20020830 dholland Prohibit slashes and colons in volume names in mksfs. 20020830 dholland _O_RDWRMASK -> O_ACCMODE, per POSIX. 20020830 dholland Shrink kernel stacks from 8k to 4k. 20020830 dholland Merge the code for the 'p' and 's' menu commands. 20020830 dholland Don't use OPEN_MAX in the base system. 20020829 dholland Include a copy of the error strings in the kernel. 20020829 dholland Assert that spl is 0 on syscall entry and exit. 20020829 dholland Fixes and new tests for testbin/badcall. 20020829 dholland Add code and menu command for dumping kernel heap. 20020827 dholland Close current directory at shutdown time. 20020827 dholland Clear bootfs at shutdown time. 20020827 dholland Remove extraneous magic argument from free_kpages(). 20020827 dholland Fix dangling lock bug in emufs. 20020826 dholland Man page fixes for read, write, waitpid. 20020808 dholland Make Ant-32 port mostly work. 20020625 dholland Kernel makefile tweak for stupid makes. 20020618 dholland Fixes to the Ant-32 port. 20020617 dholland Update the (unreleased) Ant-32 port. 20020523 dholland Make matmult exit 1 on failure. 20020523 dholland Fix various forking userlevel tests to wait properly. 20020523 dholland Check for short reads when loading executables. 20020523 dholland Fix bug in tt3 test. 20020523 dholland Some make/build fixes. 20020523 dholland More mips calling conventions fixes. 20020522 dholland Fix bug in new mips exception code. 20020522 dholland Revamp testbin/badcall. 20020515 dholland Various accumulated minor cleanups and fixes. 20020515 dholland New tests: dirconc, parallelvm. 20020515 dholland Add missing V() in lhd driver. 20020515 dholland Fixes for the thread code. 20020515 dholland Tweak mips exception code for gdb's benefit. 20020515 dholland Clean up dumbvm code. 20020515 dholland Initialize mips stacks better, for gdb's benefit. 20020425 dholland Fixes for testbin/f_test. 20020424 dholland Fix kmalloc bug (found by Richard Eisenberg). 20020424 dholland Fix incorrect error codes in testbin/badcall. 20020424 dholland Move stray assert in vfs code. 20020407 dholland Fix off-by-one error in lhd driver. 20020325 dholland Fix memory leak in malloctest. 20020318 dholland Patch for race in thread_exit (fixed properly 5/15). 20020305 dholland Fix spl leak on thread_fork failure. 20020305 dholland Fix for testbin/crash. 20020216 dholland OS/161 1.04 released. 20020216 dholland Fix warning in kmalloc debugging code. 20020216 dholland Adjust testbin/badcall to assignment 2 requirements. 20020215 dholland Add cpu_halt() to supplement cpu_idle(), to fix crash. 20020215 dholland Fixes for matmult. 20020215 dholland Fix garbled comment in vm.h. 20020215 dholland Fix prototype of _exit(). 20020208 dholland Fix stack frame of mips __start for gdb's benefit. 20020208 dholland Fix queue bug. 20020208 dholland Fix bug in testbin/{badcall,crash,faulter}. 20020131 dholland OS/161 1.03 released. 20020131 dholland Yield more on thread start (OPT_ASST1PROBS only). 20020131 dholland Fix whalemating code to match assignment. 20020131 dholland New asst1 problems for 2002. 20020131 dholland Include fix in mips pcb.h. 20020130 fedorova Adjust tt3 iteration counts/sizes. 20020129 georgi Fix broken mksfs and dumpsfs build. 20020124 dholland Put time() in libc; add __time() syscall. 20020124 dholland Have hostcompat make stdout and stderr unbuffered. 20020124 dholland Add sample optimizing config (ASST2-OPT). 20020124 dholland New tests: dirseek, rmdirtest, triplemat. 20020123 dholland Move matmult2 over original matmult. 20020123 dholland Assert nobody's waiting when destroying a semaphore. 20020123 dholland Add driver for new ltrace device. 20020123 dholland Fix cosmetic bug in hardclock config. 20020121 dholland Support ls over emufs. 20020121 dholland Fix bug in copyinstr/copyoutstr code. 20020121 dholland Fix broken Linux build of libhostcompat. 20020119 dholland Alter dumbvm and loadelf for new toolchain. 20020117 dholland Check for stack overflow during context switch. 20020117 dholland Stop using -O2 with -g for mips. 20020117 dholland More mips calling conventions fixes. 20020117 dholland Correct the inline asm in spl.c. 20020117 dholland Remove machine/inlineasm.h; fold into spl.c. 20020117 dholland Avoid using default make-supplied CFLAGS. 20020117 dholland Fix use of libhostcompat in mksfs and dumpsfs. 20020117 dholland Fix cosmetic bug in configure script. 20020116 dholland Adjust various things for new toolchain. 20020110 dholland Install hostcompat includes properly. 20020110 dholland Various fixes for new gcc (3.0.3) and binutils. 20020104 dholland More man pages. 20020103 dholland Remove excess register saves from mips context switch. 20020103 dholland Move old getcwd to __getcwd; put POSIX getcwd in libc. 20020103 dholland Tinker with tt3 test. 20020102 dholland Change thread_fork so it can return errors. 20020102 dholland Preallocate various things to avoid dying in mi_switch. 20010925 dholland Add a bunch of consistency checks to sfs. 20010925 dholland Fix bug in new panic code. 20010925 dholland Add menu command to panic intentionally. 20010925 dholland Fix bug in emufs. 20010925 dholland memcpy by words instead of bytes when properly aligned. 20010925 dholland Use setjmp() and longjmp() for aborting copyin/copyout. 20010925 dholland Add code for setjmp() and longjmp(). 20010921 dholland Add VOP_KILL (undoes VOP_INIT, which can now fail too.) 20010921 dholland Fix race conditions in vnode reclaim. 20010921 dholland Fix VFS behavior for things like "rmdir foo:". 20010921 dholland OS/161 1.02 released. 20010921 dholland Revise device config/attach code. 20010920 dholland Standards compliance fixes for strchr/strrchr. 20010920 dholland Fix bug in system(). 20010919 dholland More man pages. 20010918 dholland Changed MAXNAMLEN to NAME_MAX. 20010918 dholland Fix bug in kernel menu pwd command. 20010918 dholland Panic handling improvements. 20010918 dholland Kernel bootup and shutdown cleanup. 20010918 dholland Fixes for testbin/badcall. 20010824 dholland Make config script probe for <err.h>. 20010821 dholland Changes to queue code for consistent naming. 20010808 dholland Add man pages. 20010808 dholland The shell can now use <err.h> again, so do so. 20010808 dholland Add explicit support for host-runnable programs. 20010807 dholland Clean up -nostdinc/-nostdlib handling. 20010807 dholland Fix bug in cp. 20010807 dholland New test in testbin/crash. 20010807 dholland Fixes for testbin/malloctest. 20010806 dholland Fix glitch in testbin/badcall. 20010806 dholland New test: randcall. 20010804 dholland Add missing strrchr proto to <string.h>. 20010803 dholland Clean up ls; among other things, fix ls -R. 20010803 dholland Fixes for testbin/badcall. 20010803 dholland Add memset() to libc. 20010803 dholland Split part of testbin/crash to new testbin/badcall. 20010802 dholland Add comments to testbin describing intended uses. 20010802 dholland Fix testbin/ctest to be large enough to be interesting. 20010802 dholland Fix testbin/sort to be quicksort instead of bubble. 20010802 dholland Various minor testbin fixes/cleanup. 20010802 dholland Add dummy <fcntl.h> to make porting easier. 20010802 dholland Add dummy <time.h> to make porting easier. 20010802 dholland Add dummy <sys/ioctl.h> to make porting easier. 20010802 dholland Add dummy <sys/reboot.h> to make porting easier. 20010802 dholland Add dummy <sys/wait.h> to make porting easier. 20010802 dholland Have kfree deadbeef out free blocks. 20010801 dholland Time execution of every kernel menu command. 20010801 dholland Add getinterval() function for subtracting times. 20010801 dholland Print commands as they execute from the command string. 20010801 dholland New test tt3; add atoi from libc to kernel build. 20010801 dholland Add memcpy from libc. 20010801 dholland Fix size_t and add memcpy() to libc. 20010801 dholland Reset mips TLB at boot time. 20010801 dholland Revise kernel menu layout. 20010801 dholland Add tests for arrays, bitmaps, queues, and semaphores. 20010801 dholland Add "reconfig" rule to kernel makefiles. 20010801 dholland Fix queue code. 20010731 dholland Move main.c from kern/thread to kern/main. 20010730 dholland Add kernel menu command to unmount things. 20010730 dholland Add vfs_unmountall() for shutdown time. 20010730 dholland Report mounts to the console as they happen. 20010730 dholland Abolish pointless kernel shutdown functions. 20010726 dholland Add random: device accessible through VFS. 20010726 dholland Add pseudorand device for when hardware is missing. 20010726 dholland Add config support for pseudo-devices. 20010724 dholland Yield randomly at thread start if OPT_ASST1PROBS set. 20010724 dholland Clarify comments in mips exception.S. 20010724 dholland Don't allow calling P() from an interrupt handler. 20010724 dholland Fixes for lser driver. 20010723 dholland More mips calling conventions fixes. 20010626 dholland Add pwd and sync to kernel menu. 20010626 dholland Massive changes to kernel menu UI. 20010619 dholland Change as_copy so it can return error codes. 20010619 dholland Merge bitmap_isset() from sol3. 20010619 dholland Various fixes for new dumbvm. 20010619 dholland Fix overly enthusiastic test in vnode_check(). 20010619 dholland Provide a sketch of the skeleton for doing fork. 20010618 dholland Add asserts to synch code. 20010618 dholland Clean up/clarify syscall entry code. 20010618 dholland New dumbvm supporting multiple address spaces. 20010618 dholland Remove mips dependencies from loadelf.c. 20010618 dholland Add hacks to prevent looping "Unknown syscall -1". 20010615 dholland Merge the kmalloc and kfree from sol3. 20010614 dholland Move kernel menu stuff to its own file. 20010614 dholland Fixes for sfs and vfs layer. 20010612 dholland Add sfs_rwblock to encapsulate sfs_device->d_io(). 20010612 dholland Add lbolt and clocksleep() functionality to kernel. 20010612 dholland Add -W to standard warning options. 20010611 dholland Abolish rcsids. 20010611 dholland Fix memory leak on error in thread_fork. 20010611 dholland Don't panic if kmalloc fails. Add checks. 20010611 dholland Add VOP_MAGIC to vnode ops tables, and lots of checks. 20010611 dholland Add array_setguy(). 20010608 dholland Add random() and srandom() to libc. 20010608 dholland Add some framework for user-level malloc to libc. 20010608 dholland Correct prototypes for read() and write(). 20010608 dholland kprintf synchronization cleanups. 20010523 dholland Allow DEL as well as BS for backspacing in shell. 20010523 dholland Add warning about the consequences of touching paddr 0. 20010523 dholland Fix open count handling on VOP_CLOSE error. 20010523 dholland New test: malloctest. 20010428 dholland Handle multiple leading slashes on pathnames. 20010423 dholland Fix deadlock in vfs layer. 20010423 dholland Fix bug in testbin/dirtest. 20010423 dholland Fix multiple bugs in ls. 20010422 dholland Fix bug in sfs. 20010419 dholland Fix bug in sfs (patch from Amos Blackman). 20010416 dholland Fix fstest code. 20010416 dholland Remove stray debug output from dumpsfs. 20010414 dholland Fix host mksfs/dumpsfs build on DU. 20010414 dholland Makefile fix: build mksfs and dumpsfs by default. 20010414 dholland Fix bug in sfs (found by Dafina Toncheva). 20010414 dholland Fix endianness bug in dumpsfs. 20010414 dholland Do a sync at shutdown time. 20010414 dholland Format depend.mk files consistently. 20010414 dholland Fix memory leak in sfs. 20010413 dholland Allow VOP_FSYNC on sfs directories. 20010412 dholland Detect infinite loop triggerable by uio misuse. 20010411 dholland Fix bug in bitmap code. 20010406 dholland Fix calling conventions in mips asm code. 20010323 dholland Fix multi-sector lhd I/Os (found by Jeff DeSoto). 20010322 dholland Fix bug in comment in pcb.c (found by Jeffrey Enos). 20010319 dholland Make matmult smaller. 20010318 moorthi Fix bug in array code. 20010314 dholland Fix bug in mv (found by Edward Lim). 20010314 dholland Fix bug in testbin/crash (found by Mike Vernal). 20010314 dholland Fix bug in bitmap code. 20010308 moorthi Fix bug in sfs. 20010226 dholland OS/161 1.01 released. 20010226 dholland Shell fixes. 20010226 dholland Add a lock to the console device. 20010226 dholland Fix another bug in copyin/copyout code. 20010226 dholland Add vfs_getdevname(). 20010226 dholland Use device name for FSes that don't return a volname. 20010226 dholland Fix two bugs in pwd. 20010226 dholland Make /bin/pwd work in emufs. 20010225 dholland Fix bug in mips trap code. 20010225 dholland Fix bug in mips copyin/copyout code. 20010224 dholland Add appropriate volatile keywords in various places. 20010224 dholland Fix synchronization in placeholder kmalloc. 20010221 dholland Fix bug in CV code. 20010208 dholland OS/161 1.00 released. 20010208 dholland Add EBADF to error list. 20010208 dholland Fix specification of VOP_STAT. 20010208 blackman Fix naming of queue functions. 20010208 blackman Driver for lrandom device. 20010207 dholland Check all calls to thread_fork for failure. 20010206 dholland Fix comment in mips/specialreg.h. 20010205 dholland Prevent recursive scheduler calls. (Fixes crash.) 20010205 dholland Make syscall wrapper generation more robust. 20010205 dholland Fix bug in cp. 20010202 dholland OS/161 0.99 released. 20010202 dholland Add host-sh (host-runnable version) to sh makefile. 20010202 dholland Add licensing boilerplate. 20010201 dholland Switch from getfilesize() to fstat(). 20010201 dholland Add system(). 20010130 dholland Add strtok() and strtok_r(). 20010129 dholland Add ELF code. 20010111 dholland Fix bug in ls. 20010103 dholland Initial checkin of development tree.