- Feb 17, 2012
-
-
Austin Clements authored
Previously, these were inconsistent: they used their struct proc argument for bounds checking, but always copied the argument from the current address space (and hence the current process). Drop the struct proc argument and always use the current proc. Suggested by Carmi Merimovich.
-
- Oct 14, 2011
-
-
Robert Morris authored
-
- Sep 02, 2011
-
-
Austin Clements authored
-
- Aug 29, 2011
-
-
Frans Kaashoek authored
My changes have a race with re-used bufs and the code doesn't seem to get shorter Keep the changes that fixed ip->off race This reverts commit 3a5fa7ed. Conflicts: defs.h file.c file.h
-
- Aug 26, 2011
-
-
Frans Kaashoek authored
Remove I_BUSY, B_BUSY, and intrans defs and usages One spinlock per buf to avoid ugly loop in bget fix race in filewrite (don't update f->off after releasing lock)
-
- Aug 15, 2011
-
-
Robert Morris authored
-
- Aug 12, 2011
-
-
Robert Morris authored
usertest for big write()s push begin_trans/commit_trans down into syscalls
-
- Jan 11, 2011
-
-
Russ Cox authored
Variable declarations at top of function, separate from initialization. Use == 0 instead of ! for checking pointers. Consistent spacing around {, *, casts. Declare 0-parameter functions as (void) not (). Integer valued functions return -1 on failure, 0 on success.
-
- Sep 27, 2010
-
-
Robert Morris authored
usertest that passes too many arguments, break exec
-
- Jul 02, 2010
-
-
Frans Kaashoek authored
-
- Aug 30, 2009
-
-
Russ Cox authored
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout
-
- Aug 08, 2009
-
-
Russ Cox authored
pdf has very good page breaks now. would be a good copy for fall 2009.
-
- Jul 11, 2009
-
-
Russ Cox authored
-
- May 30, 2009
-
-
rsc authored
-
- Oct 17, 2008
-
-
kolya authored
-
- Oct 16, 2008
-
-
kolya authored
-
- Sep 26, 2007
-
-
rsc authored
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.
-
- Aug 28, 2007
- Aug 27, 2007
- Aug 24, 2007
- Aug 21, 2007
-
-
rsc authored
PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf Various changes made while offline. + bwrite sector argument is redundant; use b->sector. + reformatting of files for nicer PDF page breaks + distinguish between locked, unlocked inodes in type signatures + change FD_FILE to FD_INODE + move userinit (nee proc0init) to proc.c + move ROOTDEV to param.h + always parenthesize sizeof argument
-
rsc authored
-
rsc authored
Various cleanup: - Got rid of dummy proc[0]. Now proc[0] is init. - Added initcode.S to exec /init, so that /init is just a regular binary. - Moved exec out of sysfile to exec.c - Moved code dealing with fs guts (like struct inode) from sysfile.c to fs.c. Code dealing with system call arguments stays in sysfile.c - Refactored directory routines in fs.c; should be simpler. - Changed iget to return *unlocked* inode structure. This solves the lookup-then-use race in namei without introducing deadlocks. It also enabled getting rid of the dummy proc[0].
-
- Aug 20, 2007
-
-
rsc authored
-
- Aug 10, 2007
- Aug 09, 2007
- Aug 08, 2007
-
-
rsc authored
-
- Sep 07, 2006