summaryrefslogtreecommitdiff
path: root/proc.c
AgeCommit message (Collapse)AuthorFilesLines
2007-08-23avoid hardcoding init as pid 1 proc[0]rsc1-7/+13
2007-08-22my mistake found by robertrsc1-1/+1
2007-08-22PDF at http://am.lcs.mit.edu/~rsc/xv6.pdfrsc1-59/+82
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
2007-08-21Various cleanup:rsc1-27/+23
- 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].
2007-08-20checkpoint - simpler namei interfacersc1-4/+9
2007-08-14nitrsc1-1/+0
2007-08-14Because limit gives the address of the last addressablersc1-4/+4
byte in the segment, the limit argument to SEG16 and SEG needs to have 1 subtracted from it.
2007-08-10Make cp a magic symbol.rsc1-10/+4
2007-08-09try to use cp only for curproc[cpu()]rsc1-9/+9
2007-08-08check p->killed for long-lived sleepsrsc1-1/+1
2007-08-08cleaner tablersc1-1/+1
2007-08-08cleaner tablersc1-9/+9
2007-08-08iincref returns new refrsc1-2/+1
2007-08-08add DPL_USER constantrsc1-2/+2
2007-08-08fix various bugsrsc1-2/+9
2007-08-08comment tweaks; more informative process listrsc1-3/+17
2006-09-08move growproc up higherrsc1-20/+21
2006-09-08fix various commentsrsc1-1/+1
2006-09-07check preconditions in schedrsc1-0/+5
2006-09-07debugging printsrsc1-0/+16
2006-09-07more commentsrsc1-1/+4
2006-09-07more defensive programmingrsc1-1/+4
2006-09-06fd_* => file_*rsc1-2/+2
2006-09-06fd.* -> file.*rsc1-1/+1
2006-09-06struct fd -> struct filersc1-6/+6
2006-09-06no /* */ commentsrsc1-5/+4
2006-09-06standardize various * conventionsrsc1-18/+18
2006-09-06clear np->mem after freeingrsc1-0/+1
2006-09-06some pipe support in shkaashoek1-2/+2
bug in proc_wait
2006-08-30complain if no disk 1rtm1-1/+1
lots of cleanup
2006-08-29nitsrtm1-9/+5
2006-08-29clear killed flag in exitrtm1-0/+4
idecref cwd in exit
2006-08-29prune unneeded panics and debug outputrtm1-28/+1
2006-08-29i broke sbrk, fix itrtm1-3/+3
2006-08-29clean up stale error checks and panicsrtm1-4/+4
delete unused functions a few comments
2006-08-24bug in sbrkkaashoek1-3/+2
test malloc
2006-08-24user-level malloc (untested)kaashoek1-4/+5
nit in sbrk indirect block fix dup to share fd struct
2006-08-23i/o redirection in shkaashoek1-0/+18
better parsing of sh commands (copied from jos sh) cat: read from 1 if no args sbrk system call, but untested getpid system call moved locks in keyboard intr, but why do we get intr w. null characters from keyboard?
2006-08-19chdirkaashoek1-2/+2
cd in shell nits in mkdir, ls, etc.
2006-08-15no more proc[] entry per cpu for idle looprtm1-39/+30
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-15commented out code for cwdkaashoek1-0/+3
2006-08-13link()rtm1-3/+0
2006-08-10interrupts could be recursive since lapic_eoi() called before rtirtm1-2/+14
so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()
2006-08-08fix race in holding() check in acquire()rtm1-4/+6
give cpu1 a TSS and gdt for when it enters scheduler() and a pseudo proc[] entry for each cpu cpu0 waits for each other cpu to start up read() for files
2006-07-29open()rtm1-2/+4
2006-07-27primitive execrtm1-0/+3
2006-07-18prevent longjmp / forkret from writing over tf->edirtm1-1/+1
2006-07-17add ide_lock for sleeprsc1-0/+12
2006-07-17standarize on unix-like lowercase struct namesrsc1-3/+3
2006-07-17add uint and standardize on typedefs instead of unsignedrsc1-6/+6