summaryrefslogtreecommitdiff
path: root/exec.c
AgeCommit message (Collapse)Author
2010-09-02Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This ↵Austin Clements
makes their interface match up better with proc->sz and also simplifies the callers (it even gets the main body of exec on one page).
2010-09-01Remove the stack guard page. Processes are now contiguous from 0 to ↵Austin Clements
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-01Tab policeAustin Clements
2010-08-06fix corner cases in exec of ELFRobert Morris
put an invalid page below the stack have fork() handle invalid pages
2010-07-23a few nitsFrans Kaashoek
passes all tests on two-processor smp
2010-07-23Checkpoint page-table version for SMPFrans Kaashoek
Includes code for TLB shootdown (which actually seems unnecessary for xv6)
2010-07-02Initial version of single-cpu xv6 with page tablesFrans Kaashoek
2009-08-30assorted fixes:Russ Cox
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout
2009-08-08shuffle and tweak for formatting.Russ Cox
pdf has very good page breaks now. would be a good copy for fall 2009.
2009-07-13exec tweaksRuss Cox
2009-05-31exec sanity checkrsc
2009-05-31Some proc cleanup, moving some of copyproc into allocproc.rsc
Also, an experiment: use "thread-local" storage for c and cp instead of the #define macro for curproc[cpu()].
2007-08-30oops - broke arg countingrsc
2007-08-28oopsrsc
2007-08-27delete unnecessary #include linesrsc
2007-08-27Edit exec.rsc
Do not commit to new memory image until nothing can go wrong, avoiding bad2 case. Be sure to allocate enough stack space for argv. Load executable before initializing stack, to keep ELF loops together. Make argv loop clearer.
2007-08-24Remove struct uinode.rsc
Remove type arg to mknod (assume T_DEV).
2007-08-22PDF at http://am.lcs.mit.edu/~rsc/xv6.pdfrsc
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:rsc
- 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].