summaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)AuthorFilesLines
2007-08-28nitsrsc1-1/+1
2007-08-28rename 8253pit.c to timer.crsc1-2/+2
2007-08-28nitrsc1-1/+1
2007-08-28nitrsc1-6/+4
2007-08-27Rename main0 to main.rsc1-2/+2
2007-08-27delete unnecessary #include linesrsc1-11/+3
2007-08-27Simplify MP hardware code.rsc1-3/+31
Mainly delete unused constants and code. Move mp_startthem to main.c as bootothers.
2007-08-27Clean up lapic code.rsc1-7/+1
One initialization function now, not three. Use #defines instead of enums (consistent with other code, but sigh). Still boots in Bochs in SMP mode.
2007-08-24tweakrsc1-7/+3
2007-08-22PDF at http://am.lcs.mit.edu/~rsc/xv6.pdfrsc1-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-21remove dead codersc1-16/+0
2007-08-21Various cleanup:rsc1-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-20shuffle fs.c in bottom-up orderrsc1-1/+1
2007-08-14Gcc expects to be able to pick up the returnrsc1-4/+11
address off the stack, so put one there for it. (Bug was hidden by bad segment limits.)
2007-08-10avoid assignments in declarationsrsc1-2/+2
2007-08-08missing voidrsc1-1/+1
2007-08-08more bugsrsc1-3/+3
2007-08-08add DPL_USER constantrsc1-2/+2
2007-08-08set init namersc1-0/+1
2006-09-08formatting nitsrsc1-3/+6
2006-09-08only need a pagersc1-1/+1
2006-09-08use bootstrap processor as specified by MP table. typically 0, but notkaashoek1-5/+7
guaranteed.
2006-09-08some comment changeskaashoek1-2/+2
2006-09-07fix buildrsc1-4/+4
2006-09-07get precedence of <, >, and | rightkaashoek1-1/+1
simplify
2006-09-07run without lapic and ioapic, if they are not presentkaashoek1-2/+5
if no lapic available, use 8253pit for clock now xv6 runs both on qemu (uniprocessor) and bochs (uniprocessor and MP)
2006-09-06fd_* => file_*rsc1-1/+1
2006-09-06standardize various * conventionsrsc1-7/+7
2006-09-06spacing fixes: no tabs, 2-space indents (for rtm)rsc1-1/+1
2006-08-29prune unneeded panics and debug outputrtm1-26/+19
2006-08-29clean up stale error checks and panicsrtm1-4/+0
delete unused functions a few comments
2006-08-16proc[0] can sleep(), at least after it gets to main00()rtm1-18/+43
proc[0] calls iget(rootdev, 1) before forking init
2006-08-15no more proc[] entry per cpu for idle looprtm1-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-15oopskaashoek1-1/+1
2006-08-15commented out code for cwdkaashoek1-2/+5
2006-08-13link()rtm1-6/+0
2006-08-11init creates console, opens 0/1/2, runs shrtm1-4/+4
sh accepts 0-argument commands (like userfs) reads from console
2006-08-10interrupts could be recursive since lapic_eoi() called before rtirtm1-5/+13
so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()
2006-08-10low-level keyboard input (not hooked up to /dev yet)rtm1-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-09devswkaashoek1-0/+1
checkpoint: write(fd,"hello\n",6) where fd is a console dev almost works
2006-08-08fix race in holding() check in acquire()rtm1-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-04better interrupt plan---this one appears to workkaashoek1-0/+1
ioapic
2006-07-29open()rtm1-0/+2
2006-07-27primitive execrtm1-0/+1
2006-07-20uint32_t -> uint &crtm1-7/+7
2006-07-17standarize on unix-like lowercase struct namesrsc1-6/+6
2006-07-17add uint and standardize on typedefs instead of unsignedrsc1-3/+3
2006-07-16various little fixes that should have been in earlier checkinsrsc1-2/+0
2006-07-16fix main return typersc1-3/+6
2006-07-16Keep interrupts disabled during startup.rsc1-16/+27