Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-01-31 | Read curproc from cpu structure, but be careful because after a schedule event | Frans Kaashoek | 1 | -7/+8 | |
myproc() points to a different thread. myproc(); sched(); myproc(); // this proc maybe different than the one before sched Thus, in a function that operates on one thread better to retrieve the current process once at the start of the function. | |||||
2017-01-31 | Start of an experiment to remove the use of gs for cpu local variables. | Frans Kaashoek | 1 | -7/+8 | |
2017-01-30 | Fix unsigned conversion bug. | Peter H. Froehlich | 1 | -1/+1 | |
Since readi() returns -1 for errors, checking with < against an unsigned value is inadvisable. Checking with != works as intended however. | |||||
2016-09-14 | Delete two left-over print statements | Frans Kaashoek | 1 | -2/+0 | |
2016-09-11 | Straight replacement of B_BUSY with a sleeping lock. | Frans Kaashoek | 1 | -0/+3 | |
2016-08-25 | add check for wrapping of address + size in exec() | MikeCAT | 1 | -0/+2 | |
2016-08-25 | add alignment check of virtual address to exec() | MikeCAT | 1 | -0/+2 | |
2014-08-27 | a start at concurrent FS system calls | Robert Morris | 1 | -4/+4 | |
2014-08-04 | every iput() and namei() must be inside a transaction | Robert Morris | 1 | -2/+8 | |
2012-08-22 | Remove unused argument to setupkvm (thanks to Peter Froehlich) | Frans Kaashoek | 1 | -1/+1 | |
2011-09-03 | I can't do math; fix bug introduced in 5a9761 | Austin Clements | 1 | -1/+1 | |
2011-09-02 | Fit exec on a page. Again | Austin Clements | 1 | -5/+2 | |
2011-09-02 | clear_pte_u -> clearpteu | Austin Clements | 1 | -1/+1 | |
2011-09-01 | inaccessible page under the user stack page, to help exec deal w/ too-large args | Robert Morris | 1 | -3/+6 | |
2011-08-17 | Make elf proghdr fields match what objdump prints | Frans Kaashoek | 1 | -2/+2 | |
2011-08-09 | Use static page table for boot, mapping first 4Mbyte; no more segment trick | Frans Kaashoek | 1 | -1/+1 | |
Allocate proper kernel page table immediately in main using boot allocator Remove pginit Simplify address space layout a tiny bit More to come (e.g., superpages to simplify static table) | |||||
2011-07-29 | Map kernel high | Frans Kaashoek | 1 | -0/+1 | |
Very important to give qemu memory through PHYSTOP :( | |||||
2011-02-19 | xv6: formatting, cleanup, rev5 (take 2) | Russ Cox | 1 | -44/+18 | |
2011-01-11 | make new code like old code | Russ Cox | 1 | -12/+12 | |
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. | |||||
2010-09-29 | even more fabulous exec | Robert Morris | 1 | -19/+8 | |
2010-09-27 | check exec() arg length | Robert Morris | 1 | -3/+8 | |
fix double iunlockput | |||||
2010-09-27 | copyout() copies data to a va in a pagetable, for exec() &c | Robert Morris | 1 | -35/+58 | |
usertest that passes too many arguments, break exec | |||||
2010-09-19 | my comment is wrong, exec handles BSS fine | Robert Morris | 1 | -3/+0 | |
2010-09-19 | exec questions | Robert Morris | 1 | -0/+6 | |
2010-09-02 | Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This ↵ | Austin Clements | 1 | -15/+11 | |
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-01 | Remove the stack guard page. Processes are now contiguous from 0 to ↵ | Austin Clements | 1 | -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-01 | Tab police | Austin Clements | 1 | -5/+5 | |
2010-08-06 | fix corner cases in exec of ELF | Robert Morris | 1 | -2/+5 | |
put an invalid page below the stack have fork() handle invalid pages | |||||
2010-07-23 | a few nits | Frans Kaashoek | 1 | -1/+1 | |
passes all tests on two-processor smp | |||||
2010-07-23 | Checkpoint page-table version for SMP | Frans Kaashoek | 1 | -5/+1 | |
Includes code for TLB shootdown (which actually seems unnecessary for xv6) | |||||
2010-07-02 | Initial version of single-cpu xv6 with page tables | Frans Kaashoek | 1 | -50/+40 | |
2009-08-30 | assorted fixes: | Russ Cox | 1 | -7/+7 | |
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout | |||||
2009-08-08 | shuffle and tweak for formatting. | Russ Cox | 1 | -2/+4 | |
pdf has very good page breaks now. would be a good copy for fall 2009. | |||||
2009-07-13 | exec tweaks | Russ Cox | 1 | -6/+11 | |
2009-05-31 | exec sanity check | rsc | 1 | -1/+1 | |
2009-05-31 | Some proc cleanup, moving some of copyproc into allocproc. | rsc | 1 | -1/+1 | |
Also, an experiment: use "thread-local" storage for c and cp instead of the #define macro for curproc[cpu()]. | |||||
2007-08-30 | oops - broke arg counting | rsc | 1 | -1/+1 | |
2007-08-28 | oops | rsc | 1 | -1/+1 | |
2007-08-27 | delete unnecessary #include lines | rsc | 1 | -1/+0 | |
2007-08-27 | Edit exec. | rsc | 1 | -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-24 | Remove struct uinode. | rsc | 1 | -5/+5 | |
Remove type arg to mknod (assume T_DEV). | |||||
2007-08-22 | PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf | rsc | 1 | -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-21 | Various cleanup: | rsc | 1 | -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]. |