Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2010-09-01 | Remove the stack guard page. Processes are now contiguous from 0 to ↵ | Austin Clements | 1 | -19/+41 | |
proc->sz, which means our syscall argument validation is correct. Add a pointer validation test and remove the stack test, which tested for the guard page. | |||||
2010-09-01 | Space police | Austin Clements | 1 | -7/+7 | |
2010-08-31 | Cleanup if allocuvm fails to alloc. Add a test. | Austin Clements | 1 | -0/+36 | |
2010-08-11 | uptime() sys call for benchmarking | Robert Morris | 1 | -1/+23 | |
increase PHYSTOP | |||||
2010-08-10 | allow sbrk(-x) to de-allocate user memory | Robert Morris | 1 | -1/+56 | |
2010-08-06 | fix corner cases in exec of ELF | Robert Morris | 1 | -0/+24 | |
put an invalid page below the stack have fork() handle invalid pages | |||||
2010-08-05 | fix allocuvm() to handle sbrk() with non-page-granularity argument | Robert Morris | 1 | -0/+34 | |
(maybe this never worked, but it works now) | |||||
2009-05-31 | group locks into structs they protect. | rsc | 1 | -3/+2 | |
few naming nits. | |||||
2007-09-27 | make slow bigdir last test | rsc | 1 | -3/+1 | |
2007-09-27 | believe it or not, this was working | rsc | 1 | -1/+3 | |
the macro expansion of "char *cp;" turned into char *(curproc[cpu()]); which declares a dynamically sized array of char* called curproc. so then &cp == &(curproc[cpu()]) was actually a stack variable as "expected". it was one past the end of the array, but the implicit alloca allocated more than was necessary. do not tell me that making cp a #define was a bad idea. there are worse problems to fix. more on that later. | |||||
2007-09-26 | debugging prints | rsc | 1 | -0/+3 | |
2007-08-24 | test that fork fails gracefully | rsc | 1 | -0/+39 | |
2007-08-24 | add missing iput() at end of _namei() | rtm | 1 | -0/+95 | |
2007-08-24 | oops, O_CREATE doesn't truncate, so holes can't exist, thus no bug | rtm | 1 | -71/+0 | |
2007-08-24 | test concurrent open/unlink of same file (ok) | rtm | 1 | -3/+89 | |
test files with holes (not ok) | |||||
2007-08-22 | check unlink of non-empty directory | rsc | 1 | -5/+27 | |
2007-08-20 | bug in usertests! | rsc | 1 | -2/+2 | |
2007-08-10 | add test for rm . | rsc | 1 | -0/+41 | |
2007-08-10 | avoid assignments in declarations | rsc | 1 | -9/+10 | |
2007-08-08 | missing void | rsc | 1 | -10/+10 | |
2007-08-08 | standardize on not using unsigned keyword | rsc | 1 | -1/+1 | |
2006-09-07 | fix tests | rsc | 1 | -3/+9 | |
2006-09-07 | remove bogus test | rsc | 1 | -6/+0 | |
2006-09-07 | check super-long lookups | rsc | 1 | -1/+7 | |
2006-09-07 | one regression test program | kaashoek | 1 | -8/+890 | |
2006-09-06 | standardize various * conventions | rsc | 1 | -6/+6 | |
2006-08-29 | prune unneeded panics and debug output | rtm | 1 | -19/+29 | |
2006-08-29 | i broke sbrk, fix it | rtm | 1 | -3/+6 | |
2006-08-25 | kill user process when it generates an unhandled trap (e.g., 13) | kaashoek | 1 | -12/+0 | |
fix bug in test code of malloc | |||||
2006-08-24 | bug in sbrk | kaashoek | 1 | -3/+39 | |
test malloc | |||||
2006-08-19 | chdir | kaashoek | 1 | -0/+2 | |
cd in shell nits in mkdir, ls, etc. | |||||
2006-08-15 | no more proc[] entry per cpu for idle loop | rtm | 1 | -294/+0 | |
each cpu[] has its own gdt and tss no per-proc gdt or tss, re-write cpu's in scheduler (you win, cliff) main0() switches to cpu[0].mpstack | |||||
2006-08-13 | namei returns locked parent dir inode for create / unlink | rtm | 1 | -1/+1 | |
don't hold fd table lock across idecref() (latter does block i/o) idecref calls iput() in case last ref -> freeing inode dir size is 512 * # blocks, so readi/writei &c work unlink deletes dirent even if ip->nlink > 0 | |||||
2006-08-13 | link() | rtm | 1 | -0/+61 | |
2006-08-12 | LRU disk cache replacement | rtm | 1 | -2/+12 | |
2006-08-12 | buffer cache, fifo replacement | rtm | 1 | -1/+1 | |
2006-08-12 | mknod set nlink = 1 | rtm | 1 | -0/+114 | |
usertests for concurrent create/delete, and read() after unlink() | |||||
2006-08-12 | fix getblk to actually lock the block | rtm | 1 | -9/+119 | |
no more cons_put system calls usertests tests two processes writing files | |||||
2006-07-28 | exec arguments | rtm | 1 | -1/+1 | |
2006-07-17 | nitpicks | rsc | 1 | -11/+8 | |
2006-07-16 | Add user.h for prototypes. | rsc | 1 | -4/+8 | |
Add cons_puts for cleaner output. | |||||
2006-07-15 | no more recursive locks | rtm | 1 | -8/+34 | |
wakeup1() assumes you hold proc_table_lock sleep(chan, lock) provides atomic sleep-and-release to wait for condition ugly code in swtch/scheduler to implement new sleep fix lots of bugs in pipes, wait, and exit fix bugs if timer interrupt goes off in schedule() console locks per line, not per byte | |||||
2006-07-12 | passes both usertests | rtm | 1 | -2/+2 | |
exit had acquire where I meant release swtch now checks that you hold no locks | |||||
2006-07-12 | cvs add spinlock.h | rtm | 1 | -2/+2 | |
fix race in schedule() | |||||
2006-07-12 | no more big kernel lock | rtm | 1 | -2/+2 | |
succeeds at usertests.c pipe test | |||||
2006-07-11 | give each cpu its own clock, so that preemption works on cpu 1 | rtm | 1 | -2/+2 | |
2006-07-11 | pre-empt both user and kernel, in clock interrupt | rtm | 1 | -2/+47 | |
usertest.c tests pre-emption kill() | |||||
2006-07-01 | swtch saves callee-saved registers | rtm | 1 | -7/+33 | |
swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, close | |||||
2006-06-27 | file descriptors | rtm | 1 | -0/+30 | |
pipes |