summaryrefslogtreecommitdiff
path: root/exec.c
AgeCommit message (Collapse)AuthorFilesLines
2010-09-01Remove the stack guard page. Processes are now contiguous from 0 to ↵Austin Clements1-1/+0
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 Clements1-5/+5
2010-08-06fix corner cases in exec of ELFRobert Morris1-2/+5
put an invalid page below the stack have fork() handle invalid pages
2010-07-23a few nitsFrans Kaashoek1-1/+1
passes all tests on two-processor smp
2010-07-23Checkpoint page-table version for SMPFrans Kaashoek1-5/+1
Includes code for TLB shootdown (which actually seems unnecessary for xv6)
2010-07-02Initial version of single-cpu xv6 with page tablesFrans Kaashoek1-50/+40
2009-08-30assorted fixes:Russ Cox1-7/+7
* 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 Cox1-2/+4
pdf has very good page breaks now. would be a good copy for fall 2009.
2009-07-13exec tweaksRuss Cox1-6/+11
2009-05-31exec sanity checkrsc1-1/+1
2009-05-31Some proc cleanup, moving some of copyproc into allocproc.rsc1-1/+1
Also, an experiment: use "thread-local" storage for c and cp instead of the #define macro for curproc[cpu()].
2007-08-30oops - broke arg countingrsc1-1/+1
2007-08-28oopsrsc1-1/+1
2007-08-27delete unnecessary #include linesrsc1-1/+0
2007-08-27Edit exec.rsc1-77/+59
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.rsc1-5/+5
Remove type arg to mknod (assume T_DEV).
2007-08-22PDF at http://am.lcs.mit.edu/~rsc/xv6.pdfrsc1-12/+10
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-0/+136
- 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].