Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-05-26 | Add MIT license file; update xv6-rev2.tar.gz with LICENSE. | rsc | 3 | -0/+26 | |
Other files unchanged. | |||||
2009-03-08 | be consistent: no underscores in function names | rsc | 15 | -136/+121 | |
2009-03-08 | xv6: boot loader adjustments | rsc | 4 | -31/+41 | |
do Bochs breakpoint and spin in bootasm.S. not needed in bootmain too. fix readseg bug (rounding of va). zero segments when memsz > filesz. no need to clear BSS in kernel main. make bootother.S like bootasm.S | |||||
2009-03-08 | xv6: use stosb for memset | rsc | 2 | -11/+4 | |
2009-03-08 | xv6/x86.h: add stosb, fix bugs in insl/outsl (rep not repne) | rsc | 1 | -2/+11 | |
2009-03-08 | xv6/x86.h: inline assembly cleanup | rsc | 1 | -8/+8 | |
2008-10-20 | Explain why itrunc() is OK w.r.t. crashes. | rtm | 1 | -0/+2 | |
2008-10-17 | try harder to get directory refcounts right | kolya | 1 | -2/+8 | |
2008-10-16 | make mkdir crash-safer, as noticed by many students on midterm | kolya | 1 | -7/+11 | |
2008-10-16 | free the indirect block | kolya | 1 | -0/+1 | |
2008-10-15 | as rtm noticed, avoid doubly-freeing pipe page | kolya | 1 | -3/+4 | |
2008-10-15 | indent | kolya | 1 | -19/+19 | |
2008-10-15 | cleaner swtch.S | kolya | 4 | -41/+31 | |
2008-10-15 | save cpus.intena in sched(), so we get the right EFLAGS.IF value once a | kolya | 1 | -1/+5 | |
timer-preempted kernel thread resumes execution in trap() after yield(). otherwise the kernel could get an arbitrary number of nested timer intrs. | |||||
2008-10-15 | check cp->killed before returning to user from a timer interrupt | kolya | 1 | -0/+4 | |
2008-10-15 | update .cvsignore | kolya | 1 | -0/+2 | |
2008-10-12 | minor cleanup | kolya | 2 | -3/+3 | |
2008-10-12 | minor cleanup with STUB macro | kolya | 1 | -1/+3 | |
2008-10-12 | include explicitly initialized globals (int x = 0;) in cross-refs, | kolya | 2 | -5/+2 | |
also thanks to greg price. | |||||
2008-10-12 | fix: when two names only differed in case, crossrefs only included one of them. | kolya | 1 | -1/+1 | |
thanks to greg price. | |||||
2008-10-08 | be clear what the root i-number is | rtm | 3 | -2/+3 | |
2008-09-28 | document lock->locked=0 vs xchg(&lock->locked, 0) | rtm | 1 | -4/+8 | |
2008-09-24 | trap 9 does not push ec: fix from Greg Price <[email protected]> | kolya | 1 | -1/+1 | |
2008-09-24 | always save and restore %fs, %gs to ensure old segment entries are never | kolya | 2 | -4/+12 | |
accessible to user from the hidden CPU segment registers. | |||||
2008-09-11 | restore std toolprefix | rtm | 2 | -2/+2 | |
2008-09-11 | omit *.d from tar file | rtm | 3 | -3/+2 | |
2008-09-09 | add copyright notice | kaashoek | 1 | -1/+2 | |
2008-09-03 | make bochsrc work for bochs 2.2.6 | kolya | 2 | -1/+1 | |
2008-09-03 | make pdf, ps, tarball | kolya | 3 | -12454/+12697 | |
2008-09-03 | nits in index.txt | kaashoek | 9 | -13/+19 | |
add slides for shell, x86 intro, x86 virtual memory (deleted JOS from slides) | |||||
2008-09-03 | DO NOT MAIL: xv6 web pages | rsc | 37 | -0/+9034 | |
2008-08-28 | simplify growproc | rtm | 1 | -3/+2 | |
2008-08-28 | avoid a bug w/ exit() | rtm | 1 | -0/+1 | |
2008-08-28 | the old explanation of AP startup might have been correct, but | rtm | 1 | -9/+10 | |
I understand this one. | |||||
2008-08-22 | clean up circular buffers, so pipe can queue 512 bytes rather than 511 | kolya | 2 | -14/+12 | |
2008-08-21 | fix obvious printf nits after reading through code | kolya | 2 | -2/+2 | |
2008-08-20 | now rev2 | rsc | 1 | -1/+1 | |
2008-08-20 | add nice font | rsc | 2 | -1/+704 | |
2008-08-20 | formatting updates | rsc | 2 | -43/+33 | |
2008-08-20 | bochs faster | rsc | 1 | -1/+1 | |
2008-08-20 | xv6: latest (as of January 2008) | rsc | 2 | -0/+0 | |
2007-12-20 | oops - wrong bit (vic zandy) | rsc | 1 | -1/+1 | |
2007-11-28 | fork minibug | rsc | 2 | -1/+27 | |
2007-11-28 | More complete lapic startup (thanks Silas) | rsc | 1 | -8/+26 | |
2007-11-28 | bda[0xE] is a 16-bit segment number, | rsc | 1 | -1/+1 | |
not a real address. So shift 4. Reported by Silas. Jim McKie says this code only matters on ancient EISA MP systems. | |||||
2007-10-20 | proc_wait -> wait | rtm | 1 | -1/+1 | |
2007-10-12 | Model verifying that wakeup really | rsc | 2 | -0/+150 | |
can be called after release without causing deadlock. | |||||
2007-10-01 | Incorporate new understanding of/with Intel SMP spec. | rsc | 5 | -36/+25 | |
Dropped cmpxchg in favor of xchg, to match lecture notes. Use xchg to release lock, for future protection and to keep gcc from acting clever. | |||||
2007-09-30 | Re: why cpuid() in locking code? | rsc | 3 | -9/+9 | |
rtm wrote: > Why does acquire() call cpuid()? Why does release() call cpuid()? The cpuid in acquire is redundant with the cmpxchg, as you said. I have removed the cpuid from acquire. The cpuid in release is actually doing something important, but not on the hardware. It keeps gcc from reordering the lock->locked assignment above the other two during optimization. (Not that current gcc -O2 would choose to do that, but it is allowed to.) I have replaced the cpuid in release with a "gcc barrier" that keeps gcc from moving things around but has no hardware effect. On a related note, I don't think the cpuid in mpmain is necessary, for the same reason that the cpuid wasn't needed in release. As to the question of whether acquire(); x = protected; release(); might read protected after release(), I still haven't convinced myself whether it can. I'll put the cpuid back into release if we determine that it can. Russ | |||||
2007-09-30 | tricks | rsc | 1 | -0/+106 | |