Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2007-08-22 | PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf | rsc | 1 | -61/+21 | |
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 | remove dead code | rsc | 1 | -16/+0 | |
2007-08-21 | Various cleanup: | rsc | 1 | -80/+40 | |
- 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-20 | shuffle fs.c in bottom-up order | rsc | 1 | -1/+1 | |
2007-08-14 | Gcc expects to be able to pick up the return | rsc | 1 | -4/+11 | |
address off the stack, so put one there for it. (Bug was hidden by bad segment limits.) | |||||
2007-08-10 | avoid assignments in declarations | rsc | 1 | -2/+2 | |
2007-08-08 | missing void | rsc | 1 | -1/+1 | |
2007-08-08 | more bugs | rsc | 1 | -3/+3 | |
2007-08-08 | add DPL_USER constant | rsc | 1 | -2/+2 | |
2007-08-08 | set init name | rsc | 1 | -0/+1 | |
2006-09-08 | formatting nits | rsc | 1 | -3/+6 | |
2006-09-08 | only need a page | rsc | 1 | -1/+1 | |
2006-09-08 | use bootstrap processor as specified by MP table. typically 0, but not | kaashoek | 1 | -5/+7 | |
guaranteed. | |||||
2006-09-08 | some comment changes | kaashoek | 1 | -2/+2 | |
2006-09-07 | fix build | rsc | 1 | -4/+4 | |
2006-09-07 | get precedence of <, >, and | right | kaashoek | 1 | -1/+1 | |
simplify | |||||
2006-09-07 | run without lapic and ioapic, if they are not present | kaashoek | 1 | -2/+5 | |
if no lapic available, use 8253pit for clock now xv6 runs both on qemu (uniprocessor) and bochs (uniprocessor and MP) | |||||
2006-09-06 | fd_* => file_* | rsc | 1 | -1/+1 | |
2006-09-06 | standardize various * conventions | rsc | 1 | -7/+7 | |
2006-09-06 | spacing fixes: no tabs, 2-space indents (for rtm) | rsc | 1 | -1/+1 | |
2006-08-29 | prune unneeded panics and debug output | rtm | 1 | -26/+19 | |
2006-08-29 | clean up stale error checks and panics | rtm | 1 | -4/+0 | |
delete unused functions a few comments | |||||
2006-08-16 | proc[0] can sleep(), at least after it gets to main00() | rtm | 1 | -18/+43 | |
proc[0] calls iget(rootdev, 1) before forking init | |||||
2006-08-15 | no more proc[] entry per cpu for idle loop | rtm | 1 | -12/+11 | |
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-15 | oops | kaashoek | 1 | -1/+1 | |
2006-08-15 | commented out code for cwd | kaashoek | 1 | -2/+5 | |
2006-08-13 | link() | rtm | 1 | -6/+0 | |
2006-08-11 | init creates console, opens 0/1/2, runs sh | rtm | 1 | -4/+4 | |
sh accepts 0-argument commands (like userfs) reads from console | |||||
2006-08-10 | interrupts could be recursive since lapic_eoi() called before rti | rtm | 1 | -5/+13 | |
so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi() | |||||
2006-08-10 | low-level keyboard input (not hooked up to /dev yet) | rtm | 1 | -1/+1 | |
fix acquire() to cli() *before* incrementing nlock make T_SYSCALL a trap gate, not an interrupt gate sadly, various crashes if you hold down a keyboard key... | |||||
2006-08-09 | devsw | kaashoek | 1 | -0/+1 | |
checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works | |||||
2006-08-08 | fix race in holding() check in acquire() | rtm | 1 | -12/+23 | |
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-08-04 | better interrupt plan---this one appears to work | kaashoek | 1 | -0/+1 | |
ioapic | |||||
2006-07-29 | open() | rtm | 1 | -0/+2 | |
2006-07-27 | primitive exec | rtm | 1 | -0/+1 | |
2006-07-20 | uint32_t -> uint &c | rtm | 1 | -7/+7 | |
2006-07-17 | standarize on unix-like lowercase struct names | rsc | 1 | -6/+6 | |
2006-07-17 | add uint and standardize on typedefs instead of unsigned | rsc | 1 | -3/+3 | |
2006-07-16 | various little fixes that should have been in earlier checkins | rsc | 1 | -2/+0 | |
2006-07-16 | fix main return type | rsc | 1 | -3/+6 | |
2006-07-16 | Keep interrupts disabled during startup. | rsc | 1 | -16/+27 | |
2006-07-16 | standardize on not using foo_ prefix in struct foo | rsc | 1 | -15/+15 | |
2006-07-16 | Attempt to clean up newproc somewhat. | rsc | 1 | -2/+2 | |
Also remove all calls to memcpy in favor of memmove, which has defined semantics when the ranges overlap. The fact that memcpy was working in console.c to scroll the screen is not guaranteed by all implementations. | |||||
2006-07-16 | New scheduler. | rsc | 1 | -5/+5 | |
Removed cli and sti stack in favor of tracking number of locks held on each CPU and explicit conditionals in spinlock.c. | |||||
2006-07-15 | silence load_icode signedness warning | rsc | 1 | -3/+3 | |
2006-07-15 | no more recursive locks | rtm | 1 | -2/+2 | |
wakeup1() assumes you hold proc_table_lock sleep(chan, lock) provides atomic sleep-and-release to wait for condition ugly code in swtch/scheduler to implement new sleep fix lots of bugs in pipes, wait, and exit fix bugs if timer interrupt goes off in schedule() console locks per line, not per byte | |||||
2006-07-12 | extract lapic code from mp.c | kaashoek | 1 | -1/+4 | |
2006-07-12 | i think my cmpxchg use was wrong in acquire | rtm | 1 | -1/+12 | |
nesting cli/sti: release shouldn't always enable interrupts separate setup of lapic from starting of other cpus, so cpu() works earlier flag to disable locking in console output make locks work even when curproc==0 (still crashes in clock interrupt) | |||||
2006-07-12 | no more big kernel lock | rtm | 1 | -6/+6 | |
succeeds at usertests.c pipe test | |||||
2006-07-11 | give each cpu its own clock, so that preemption works on cpu 1 | rtm | 1 | -0/+2 | |