xv6

port of xv6 to x86-64
git clone http://frotz.net/git/xv6.git
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2019-09-22 05:42Fix stuff to work better out of the boxBrian Swetland1+7-36
2018-03-28 23:18Merge pull request #2 from akoskovacs/static_assert_fixBrian Swetland1+3-1
2018-03-28 20:58Don't redefine static_assert, fixes compilation errorÁkos Kovács1+3-1
2015-10-23 19:58update README to reflect new upstream git repository and websiteBrian Swetland1+4-2
2014-01-06 03:08update notesBrian Swetland1+8-2
2014-01-06 02:50Attempt to use ACPI to configure multiprocessor mode.Brian Swetland1+2-1
2014-01-06 02:48Add minimal ACPI support -- locate CPUs, LAPICs, and IOAPICsBrian Swetland4+242-0
2014-01-06 02:48vm64: map 2GB of memory space at KERNBASEBrian Swetland1+12-6
2014-01-05 20:53console: reboot on ctrl-zBrian Swetland1+3-0
2014-01-05 20:49make procdump() work on x64Brian Swetland1+2-4
2014-01-05 20:48another 64bit header updateBrian Swetland1+1-1
2014-01-05 20:46provide getstackpcs() that takes an ebp to start unwinding fromBrian Swetland2+9-2
2014-01-05 02:35support systems where cpu# != apicidBrian Swetland4+19-8
2014-01-05 01:11update porting notesBrian Swetland1+5-4
2014-01-05 00:29re-enable SMP in 64bit modeBrian Swetland1+0-3
2014-01-05 00:26enable SMP in 64bit buildBrian Swetland3+32-1
2014-01-04 21:30entry64: remove uart debug chatterBrian Swetland1+0-7
2014-01-04 21:19need -aout flag to tell mboot.c32 to ignore the elf headersBrian Swetland1+1-1
2014-01-04 19:56notes on creating a syslinux based bootable imageBrian Swetland1+35-0
2014-01-04 19:55makefile: make memfs a build option instead of a targetBrian Swetland1+10-18
2014-01-04 04:53update top level readmeBrian Swetland1+14-6
2014-01-04 04:34update notesBrian Swetland1+9-7
2014-01-04 04:34makefile support for 32 and 64 bit buildsBrian Swetland1+37-25
2014-01-04 04:33usertest: disable some assembly that needs 64bit-izingBrian Swetland1+2-0
2014-01-04 04:3364bit vm/mmu and trap codeBrian Swetland3+201-3
2014-01-04 04:3264bit support in exec.c and proc.cBrian Swetland2+13-4
2014-01-04 04:30disable smp in 64bit mode for nowBrian Swetland1+3-0
2014-01-04 04:29don't compile entry page table in main in 64bit modeBrian Swetland1+2-0
2014-01-04 04:29add trapframe structure for 64bit modeBrian Swetland1+31-0
2014-01-04 00:28handle syscall arguments in 64bit modeBrian Swetland1+30-0
2014-01-03 04:13macro-ize access to device address spaceBrian Swetland4+7-3
2014-01-03 03:27fix mp structures to be 64bit safeBrian Swetland1+4-4
2014-01-03 01:38bootblock: use multiboot header for loading instead of ELF headerBrian Swetland1+44-22
2014-01-03 01:37provide extended multiboot header in the 32bit buildBrian Swetland1+6-1
2014-01-02 22:03spinlock: print backtrace when panic'ing on double-acquireBrian Swetland1+7-1
2014-01-02 22:02make getcallerpcs() correctly obtain backtraces on x84Brian Swetland1+4-0
2014-01-02 22:01make getcallerpcs() and callsites use 64bit friendly typesBrian Swetland4+4-4
2014-01-02 09:14update notesBrian Swetland1+9-6
2014-01-02 09:1364bit version of the init glueBrian Swetland1+30-0
2014-01-02 08:01elf: use 64bit elf headers when building in 64bit modeBrian Swetland1+16-3
2014-01-02 02:34entry64: leave all non-cs segment descriptors 0Brian Swetland1+0-2
2013-12-31 20:46update headers for 64bit supportBrian Swetland5+53-3
2013-12-31 19:26correctly print 64bit pointers (%p) in cprintf()Brian Swetland1+12-2
2013-12-31 19:08include/x86.h - use assembly forms that compile correctly in both 32 and 64bitBrian Swetland1+3-3
2013-12-31 17:59make things (mostly) 64bit safe and compileableBrian Swetland18+103-81
2013-12-31 17:18update notes, add comments on vm arrangementBrian Swetland1+16-2
2013-12-31 17:12x64 version of swtchBrian Swetland1+32-0
2013-12-31 02:17trap/vector/irq glue for the 64bit worldBrian Swetland2+73-0
2013-12-31 02:15wrmsr()Brian Swetland1+11-0
2013-12-30 15:16entry64: fix stack setup to survive kernel pagetable initBrian Swetland1+1-1
2013-12-30 14:02Notes on the adventures of cpu-local-storage on x86-64Brian Swetland2+148-0
2013-12-30 05:43notes on work in progressBrian Swetland1+70-0
2013-12-29 17:44update printf() and cprintf() to use stdarg.hBrian Swetland2+16-15
2013-12-28 22:04uart: provide earlyinit to allow cprintf to serial very early onBrian Swetland3+14-5
2013-12-29 12:0232->64bit multiboot supportBrian Swetland2+219-0
2013-12-28 15:45qemu: disable networking to avoid PXE boot attemptsBrian Swetland1+1-1
2013-12-28 14:19scheduler: halt and wait for irq if nothing was scheduleableBrian Swetland1+6-1
2013-12-28 14:17x86: add hlt() wrapperBrian Swetland1+6-0
2013-12-28 14:13a bit more cleanupBrian Swetland4+1-17
2013-12-28 14:10update readmeBrian Swetland1+7-0
2013-12-28 13:38move rest of source code to subdirs, tidy the build a bitBrian Swetland50+1004-981
2013-12-28 12:46remove packaging and printing supportBrian Swetland10+0-689
2013-12-28 12:27preserve original README and add a local branch README for clarityBrian Swetland2+13-44
2013-12-27 18:12make build on ubuntu 13.10Brian Swetland1+4-2
2013-12-27 18:10move userspace tools to user/ directoryBrian Swetland16+3-3
2013-12-27 18:04move includes to a subdirectoryBrian Swetland23+8-5
2013-03-04 21:16Correct a security bug in copyuvm()Stephen Tu2+4-2
2012-10-24 22:52Prevent extra rebuild of fs.img by keeping intermediate object files.Cam Tenny1+6-0
2012-09-11 01:58Use static assert instead of _LP64 (thanks Eddie!)Frans Kaashoek1+4-3
2012-09-07 21:39Remove -m32 flag from native gcc compiler But check that mkfs.c is building with LP64Frans Kaashoek2+5-1
2012-08-28 18:41make the book happyRobert Morris1+2-2
2012-08-28 18:11nitsRobert Morris2+12-12
2012-08-28 16:57Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris9+27-16
2012-08-28 16:57junkRobert Morris3+5-5
2012-08-24 18:51Various fixes and improvements to printpcsAustin Clements1+11-8
2012-08-23 13:35For the convenience of studentsFrans Kaashoek1+11-0
2012-08-23 01:25Use addr2line (or i386-jos-elf-addr2line, if you cross compile)Frans Kaashoek1+0-48
2012-08-23 01:24Runoff still complaints these lines are too long, but it is now ok on printoutFrans Kaashoek1+4-4
2012-08-23 00:54chmod +xFrans Kaashoek1+0-0
2012-08-23 00:51Decode getcallerpcs() (thanks to Peter Froehlich)Frans Kaashoek1+48-0
2012-08-23 00:28Remove left-over from some logging plan making complete syscalls atomic 0 is not a system call (thanks to Peter Froehlich)Frans Kaashoek2+1-4
2012-08-23 00:20Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Frans Kaashoek6+28-17
2012-08-23 00:19Remove unused argument to setupkvm (thanks to Peter Froehlich)Frans Kaashoek4+4-4
2012-08-23 00:13Remove unused argument from lapicinit (thanks to Peter Froehlich)Frans Kaashoek3+4-4
2012-08-23 00:07Fix from Peter FroehlichFrans Kaashoek1+1-1
2012-02-18 04:20Make fetchint and fetchstr use proc instead of taking a struct procAustin Clements3+13-13
2011-10-14 14:23don't let dirty blocks be evicted from cache!Robert Morris4+15-4
2011-10-11 14:11more FS comment clarificationRobert Morris1+62-45
2011-10-11 10:41clarify some FS commentsRobert Morris6+69-46
2011-09-30 19:28Fix compile error on newer gcc'sAustin Clements1+1-2
2011-09-27 17:00Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Frans Kaashoek10+94-785
2011-09-27 16:59Update stressfs to trigger race now the logging code serializes writesFrans Kaashoek1+17-5
2011-09-14 17:47Use | instead of + for entrypgdir. Linker doesn't get in our way here.Austin Clements1+2-2
2011-09-13 17:14eliminate enter_alloc -- use kalloc for everythingRobert Morris4+52-50
2011-09-13 16:28more regular kmap[] and descriptionRobert Morris3+27-24
2011-09-12 18:27comment nitsRobert Morris1+3-3
2011-09-07 20:39Remove unused 'state' variable that broke the build in recent gcc'sAustin Clements1+1-2
2011-09-07 16:42Rev 6Austin Clements0+0-0
2011-09-07 16:40Remove nice font from masterAustin Clements1+0-701
2011-09-07 16:38Fetch nice font from font branch, if possibleAustin Clements1+9-3
2011-09-07 15:57Move xv6 release tars/pdfs in to 6.828 repoAustin Clements7+0-0
2011-09-07 15:49Remove web directory; all cruft or moved to 6.828 repoAustin Clements40+0-8438
2011-09-07 15:36Make web page refer to git releasesAustin Clements1+13-6
2011-09-07 14:05Remove old book chaptersAustin Clements10+0-0
2011-09-06 03:45Re-alphabetize OBJSAustin Clements1+1-1
2011-09-05 19:30Note about the meaning of sheet1 in runoff.specAustin Clements1+1-0
2011-09-06 00:56sources -> sources and textFrans Kaashoek1+1-1
2011-09-06 00:54Shorten history of xv6 Cut section about commentary Add (failing) link to xv6 source section pointing to the text. Delete the incorrect/incomplete list of universities using jos/xv6Frans Kaashoek1+20-115
2011-09-05 19:22Setting indent-tabs-mode nil everywhere is dangerousAustin Clements1+2-3
2011-09-05 19:21Sync up clean and gitignore betterAustin Clements2+4-2
2011-09-05 16:54Update gitignoreAustin Clements1+1-2
2011-09-04 19:56Fix stale comments in entryother.SAustin Clements1+2-2
2011-09-04 19:51Make the ELF entry point a physical addressAustin Clements2+8-7
2011-09-04 19:19kernel depends on kernel.ldAustin Clements1+2-2
2011-09-04 19:19Add QEMUEXTRA environment to add extra QEMU arguments, like in JOSAustin Clements1+1-1
2011-09-03 14:21I can't do math; fix bug introduced in 5a9761Austin Clements1+1-1
2011-09-02 20:36A few missed xv6.pdf dependenciesAustin Clements1+1-1
2011-09-02 20:32Update year in URLAustin Clements1+1-1
2011-09-02 20:30Update index example in TOC footerAustin Clements1+4-4
2011-09-02 19:36Updated runoff spec; everything but ide.c is satisfiedAustin Clements1+19-11
2011-09-02 19:35Fix same wonky pagebreak bug in console.cAustin Clements1+1-1
2011-09-02 19:35Put filewrite in its own columnAustin Clements1+1-0
2011-09-02 19:29Fix weird pagebreak bugAustin Clements1+1-1
2011-09-02 19:27Fit exec on a page. AgainAustin Clements1+2-5
2011-09-02 19:20Shorten sys_unlink a little; create now fits in columnAustin Clements1+10-13
2011-09-02 19:14Add blank page to get our super FS spreads backAustin Clements1+4-0
2011-09-02 19:11Remove comment debug prints from log.c; now fits nicely in a spreadAustin Clements1+0-9
2011-09-02 19:08Define struct log separately from log to avoid confusing column breakerAustin Clements1+3-2
2011-09-02 19:08Comment balanceAustin Clements1+2-2
2011-09-02 19:07Remove unused headers from log.cAustin Clements1+0-3
2011-09-02 18:57Fit fs.h in one columnAustin Clements1+1-2
2011-09-02 18:52Remove data.S from runoff, tooAustin Clements1+0-1
2011-09-02 18:52Remove unused x86.h definitionsAustin Clements1+0-62
2011-09-02 18:51Nuke data.S, since we do have a custom linker script.Austin Clements4+13-31
2011-09-02 18:46Correct terminology in kernel.ldAustin Clements1+1-1
2011-09-02 18:37Oops, dropped a parenAustin Clements1+1-1
2011-09-02 18:37clear_pte_u -> clearpteuAustin Clements3+4-4
2011-09-02 18:35Move copy_pte_u; fits vm.c in one less column and aligns proc.hAustin Clements1+13-13
2011-09-02 18:34Cleanup comments and fit setupkvm on same page as kmap, which aligns lots of other thingsAustin Clements1+6-10
2011-09-02 18:28StyleAustin Clements1+7-7
2011-09-02 18:11Make mappages fit on the pageAustin Clements1+1-2
2011-09-02 18:00bootother -> entryother in READMEAustin Clements1+1-1
2011-09-02 01:29Skip missing page directories in deallocuvmAustin Clements1+3-1
2011-09-01 17:26Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris2+3-5
2011-09-01 17:25inaccessible page under the user stack page, to help exec deal w/ too-large argsRobert Morris4+21-4
2011-09-01 17:18Fix layoutFrans Kaashoek1+0-1
2011-09-01 16:18Have one definition of kernel stack sizeFrans Kaashoek1+3-4
2011-09-01 16:03Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris9+67-57
2011-09-01 16:02fix usertests to correctly test what happens when you call exec() with arguments that don't fit on a single page.Robert Morris4+26-13
2011-09-01 14:41Use stosl in memset; makes boot time bearableAustin Clements2+14-1
2011-09-01 14:25Fix layout issues for printed versionFrans Kaashoek7+55-57
2011-08-31 13:48move the kernel to 0x80000000Robert Morris3+4-3
2011-08-31 09:38simplify the end of entry.SRobert Morris1+8-9
2011-08-31 00:50enterpgdir -> entrypgdirRobert Morris3+24-11
2011-08-29 21:18Revert "Introduce and use sleeplocks instead of BUSY flags" My changes have a race with re-used bufs and the code doesn't seem to get shorter Keep the changes that fixed ip->off raceFrans Kaashoek12+61-105
2011-08-29 20:14Renumber I_VALID since I_BUSY is goneAustin Clements1+1-1
2011-08-29 20:12dir-locals.el to set style in EmacsAustin Clements1+5-0
2011-08-29 20:12Style nits; indentation and tabsAustin Clements5+37-37
2011-08-26 14:10Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Frans Kaashoek1+1-1
2011-08-26 14:08Introduce and use sleeplocks instead of BUSY flags Remove I_BUSY, B_BUSY, and intrans defs and usages One spinlock per buf to avoid ugly loop in bget fix race in filewrite (don't update f->off after releasing lock)Frans Kaashoek12+106-63
2011-08-26 10:47segment register -> segment descriptorRobert Morris1+1-1
2011-08-25 18:39Make cross reference with text workFrans Kaashoek1+2-2
2011-08-24 14:24Eliminate USERTOP; no use for it.Frans Kaashoek2+3-4
2011-08-23 00:07A commentFrans Kaashoek1+3-0
2011-08-23 00:05Remove sys_init syscall Invoke initlog from forkret on first user processFrans Kaashoek5+7-13
2011-08-22 01:14Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Frans Kaashoek2+66-18
2011-08-22 01:14delete dead codeFrans Kaashoek1+1-7
2011-08-19 17:30make dirlookup and dirlink more similarRobert Morris2+66-18
2011-08-18 00:52bootloader reads into a physical address (not a virtual address)Frans Kaashoek1+7-7
2011-08-18 00:23Make elf proghdr fields match what objdump printsFrans Kaashoek3+7-7
2011-08-17 00:23Switch back to #define for PHYSTOP. Using the E820 to retrieve the memory map is too complicated (must be done in 16-bit real-mode, probably enlarged bootblock beyond 512 bytes, and a #define requires less explanation).Frans Kaashoek3+8-14
2011-08-16 19:47Clean up memlayout.h Get rid of last instances of linear address and "la" Get ready for detecting physical memory dynamicallyFrans Kaashoek6+42-28
2011-08-16 00:32Update make cleanFrans Kaashoek1+1-1
2011-08-16 00:28Update list of files to include in printoutFrans Kaashoek1+7-3
2011-08-16 00:21Make Austin happier 2011Frans Kaashoek2+13-13
2011-08-16 00:11Avoid "boot" in xv6Frans Kaashoek11+43-51
2011-08-15 21:41Use 4Mbyte pages during bootFrans Kaashoek4+15-1035
2011-08-15 18:11Only commit log to disk if something was written in to it.Austin Clements1+7-5
2011-08-15 16:44Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris5+105-105
2011-08-15 16:44avoid deadlock by calling begin_trans() before locking any inodesRobert Morris5+66-15
2011-08-15 16:02Separate more clearly bootloader from xv6 by renaming multiboot.S to entry.S etc. Maybe the string boot shouldn't appear in xv6 code?Frans Kaashoek5+105-105
2011-08-12 16:02OopsFrans Kaashoek1+2-2
2011-08-12 13:26Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris1+7-1
2011-08-12 13:25log write() data usertest for big write()s push begin_trans/commit_trans down into syscallsRobert Morris7+144-44
2011-08-12 11:31Some commentsFrans Kaashoek1+7-1
2011-08-11 16:25Make AP processors boot using bootpgdir Remove device mapping from bootpgdir Remove unnecessary vmenable Set CPUS back to 2 in Makefile Passes all usertestsFrans Kaashoek5+42-65
2011-08-10 03:22One more low addressFrans Kaashoek1+3-1
2011-08-10 01:56Tiny bit of cleanupFrans Kaashoek1+7-7
2011-08-10 01:51Shorten boot assemblyFrans Kaashoek1+0-15
2011-08-10 01:49xFrans Kaashoek1+4-4
2011-08-10 01:47Remove jmpkstackFrans Kaashoek1+2-27
2011-08-10 01:37Use static page table for boot, mapping first 4Mbyte; no more segment trick 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)Frans Kaashoek9+1101-103
2011-08-10 01:33Use kernel virtual addresses for BIOS memory, etc.Frans Kaashoek1+8-8
2011-08-09 20:09Allow gas to use / as divide (instead of comment) Maybe not necessary, but don't want to waste time figuring this out againFrans Kaashoek1+1-1
2011-08-08 17:30One definition of several macros and constantsFrans Kaashoek7+25-33
2011-08-08 13:20Speedup sbrk tst a bit (forking 100Mbyte processes is slow)Frans Kaashoek1+10-4
2011-08-08 03:03Adjust sbrk test for large user address spaces All tests passFrans Kaashoek2+10-21
2011-08-07 16:30oopsFrans Kaashoek2+85-0
2011-08-01 01:27Don't map IO space in the user part of the address space Passes all tests now (but need to update usertests to allow for more than 640k)Frans Kaashoek2+11-10
2011-07-29 11:31Map kernel high Very important to give qemu memory through PHYSTOP :(Frans Kaashoek20+207-70
2011-07-28 00:49Merge commit 'origin/master' into pageFrans Kaashoek61+1576-1586
2011-07-28 00:35Dirt simple logging Passes usertests and stressfs Seems to recover correctly in a number of simple casesFrans Kaashoek11+244-47
2011-06-24 18:20Add -fno-omit-frame-pointer to compile flags.Austin Clements1+1-1
2011-06-24 09:26do not run past the end of the disk! [ cherry-picked de6075ff0978108daea1d658425bcb37663a98a0 ]Nickolai Zeldovich1+1-1
2011-04-28 12:01Russ's fix for panic remapFrans Kaashoek2+2-1
2011-02-28 14:32rebuild xv6-rev5.tar.gzRuss Cox1+0-0
2011-02-28 14:32fixes from Peter FroehlichRuss Cox3+8-8
2011-02-20 02:21web: rev5Russ Cox1+3-3
2011-02-20 02:19updated book pdfsRuss Cox10+0-0
2011-02-20 02:17xv6: formatting, cleanup, rev5 (take 2)Russ Cox17+193-197
2011-02-20 02:16xv6: formatting, cleanup, rev5Russ Cox3+7-0
2011-02-19 15:36xv6: refresh from 2010 pageRuss Cox14+166-683
2011-02-19 15:23xv6: link to xv6-rev4Russ Cox2+6-7
2011-01-11 18:54missing file memide.cRuss Cox1+58-0
2011-01-11 18:51more trivial cleanupRuss Cox3+13-16
2011-01-11 18:27multiboot support and memory-only (no disk) kernelRuss Cox2+97-2
2011-01-11 18:16mp: do not panic on surprising hwRuss Cox1+12-3
2011-01-11 18:01make new code like old codeRuss Cox21+227-199
2011-01-10 15:43mkfs: avoid clash with system struct statRuss Cox1+2-0
2011-01-02 22:59mkfs: avoid out of bounds access to sb in wsectRuss Cox1+3-1
2010-09-29 18:12even more fabulous execRobert Morris1+8-19
2010-09-27 20:17check exec() arg length fix double iunlockputRobert Morris1+8-3
2010-09-27 20:14copyout() copies data to a va in a pagetable, for exec() &c usertest that passes too many arguments, break execRobert Morris6+95-45
2010-09-20 10:00map kernel instructions r/oRobert Morris2+35-2
2010-09-19 17:48Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris1+2-2
2010-09-19 17:47my comment is wrong, exec handles BSS fineRobert Morris2+16-3
2010-09-19 11:18exec questionsRobert Morris2+9-3
2010-09-15 20:15Simplify boot loader by removing some JOS'ismsAustin Clements1+2-2
2010-09-13 19:34change some comments, maybe more informative delete most comments from bootother.S (since copy of bootasm.S) ksegment() -> seginit() move more stuff from main() to mainc()Robert Morris8+70-66
2010-09-03 19:47Rev 4Austin Clements2+1-1
2010-09-02 23:03Update example in TOC footerAustin Clements1+4-5
2010-09-02 23:01Consistent style in defs.hAustin Clements1+1-1
2010-09-02 22:54Get consoleintr back on one pageAustin Clements1+2-5
2010-09-02 22:50Get cgaputc and consputc back on the same pageAustin Clements1+2-6
2010-09-02 22:36Get rid of the blank page in picirq.c. It misaligs things now.Austin Clements2+2-29
2010-09-02 22:28Simplify allocuvm/deallocuvm to operate in a contiguous memory model. This 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).Austin Clements4+44-51
2010-09-02 21:03NitsAustin Clements1+3-1
2010-09-02 20:39Comment inituvm and loaduvmAustin Clements1+4-0
2010-09-02 20:36Fix comment capitalizationAustin Clements1+14-14
2010-09-02 20:23Rearrange vm.c so it's in logical order and prints nicely. Shorten a few functions in uninteresting ways to make them fit.Austin Clements2+137-137
2010-09-02 19:37Simplify inituvm and userinit by assuming initcode fits on a pageAustin Clements3+10-19
2010-09-02 19:18Simplify freevm using deallocuvmAustin Clements1+6-19
2010-09-02 18:30Oops. Broke the build when I rearranged proc.cAustin Clements2+3-0
2010-09-02 18:08Remove unused nop_pause function.Austin Clements2+2-6
2010-09-02 08:15Rearrange proc.h and proc.c to get our action-packed spreads back (mostly). They also make sense in this order, so it's not just for page layout.Austin Clements3+126-120
2010-09-02 08:06Re-re-arrange bootasm and bootother. We can't get bootasm and bootmain on the same page, but this will make them easier to flip between.Austin Clements2+2-2
2010-09-02 08:03I totally misunderstood the even/odd spec. Add some docs, remove my 'left+' hack, and orthogonalize left/right versus even/odd so you can specify them independently.Austin Clements2+16-8
2010-09-02 07:57Specify in runoff.spec which side sheet 1 is on, since it keeps changingAustin Clements2+12-9
2010-09-02 07:56Pack five columns into cross-ref. This saves us an entire page and fixes the single dangling line.Austin Clements1+1-1
2010-09-02 07:36Oops, missed a comment about the stack guardAustin Clements1+0-1
2010-09-02 07:25Add Nickolai and myself and scrunch two lines out of the text elsewhereAustin Clements1+5-5
2010-09-01 21:14Slight simplification of copyuvm. We could simplify other things now that processes are contiguous, but we'd have to think harder about the error paths.Austin Clements1+8-8
2010-09-01 20:46Remove the stack guard page. Processes are now contiguous from 0 to 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.Austin Clements3+42-24
2010-09-01 06:14Make it easy to change the number of CPUsAustin Clements1+4-1
2010-09-01 04:41Space policeAustin Clements6+45-45
2010-09-01 04:32Tab policeAustin Clements4+15-15
2010-09-01 04:31Merge branch 'master' of git+ssh://am.lcs/home/am0/6.828/xv6Austin Clements1+3-4
2010-09-01 04:27Fix similar leak in copyuvmAustin Clements1+6-2
2010-09-01 01:49Cleanup if allocuvm fails to alloc. Add a test.Austin Clements3+40-3
2010-08-31 23:21Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Robert Morris10+82-81
2010-08-31 23:21oops. last minute simplicifaction to kalloc().Robert Morris1+3-4
2010-08-31 21:52Page break kalloc.cAustin Clements1+1-0
2010-08-31 21:49Our proc.c alignment is perfect. Since ksegment/usegment went away, we get a column back, so we get our two action-packed spreads.Austin Clements1+2-3
2010-08-31 21:46Make it possible to express half-page preferencesAustin Clements1+5-4
2010-08-31 21:40Got the meat of spinlocks on one spreadAustin Clements1+1-0
2010-08-31 21:35Swap bootmain.c and bootother.S. This puts the whole boot process on one spread, though it separates the two asm files.Austin Clements1+1-1
2010-08-31 21:33Sheet 1 is a right page now because of the (much) longer cross-refAustin Clements1+6-5
2010-08-31 21:30print depends on runoff.specAustin Clements1+1-1
2010-08-31 21:07We don't use lesp/lebp and using them at all from C would be fraught with peril. Keep resp/rebp, but fix their code style.Austin Clements1+11-19
2010-08-31 20:54Page breaking of mmu.hAustin Clements1+14-17
2010-08-31 20:47Start PDE defs on new pageAustin Clements1+1-3
2010-08-31 20:43Follow xv6 code style. Also fixes indexing for these functionsAustin Clements1+12-6
2010-08-31 20:42Rearrange for better page breakingAustin Clements1+43-42
2010-08-31 20:26Fix too-long linesAustin Clements2+4-2
2010-08-31 20:18Rebalance TOCAustin Clements1+2-3
2010-08-31 20:13Acknowledge patchesAustin Clements1+3-0
2010-08-31 20:01Hopefully get the printf size spec right, regardless of compiler.Austin Clements1+2-2
2010-08-31 19:39no more pminit, or ELF header at 0x10000 kinit() knows about end and PHYSTOP map all of kernel read/write (rather than r/o instructions) thanks, austinRobert Morris5+13-49
2010-08-31 19:11mkfs must be compiled 32-bit. Fix mkfs warningsAustin Clements2+3-3
2010-08-31 19:05Infer qemu path, just like in JOSAustin Clements1+22-5
2010-08-31 19:01Infer TOOLPREFIX, just like in JOSAustin Clements1+17-1
2010-08-31 17:58Merge branch 'page' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 into pageFrans Kaashoek9+46-91
2010-08-31 16:54kalloc/kfree now only a page at a time do not keep sorted contiguous free listRobert Morris9+46-91
2010-08-30 21:28Merge branch 'page' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 into pageFrans Kaashoek7+7-23949
2010-08-30 21:14Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 into pageFrans Kaashoek1+7-3
2010-08-30 19:30Merge remote branch 'origin/master' into pageRobert Morris1+7-3
2010-08-30 16:22Fix for gdbstub argument change in qemu 0.11. Rename qemu-gdb-nox target to qemu-nox-gdb because you frequently want to add the gdb part, but rarely the nox part.Austin Clements1+7-3
2010-08-30 15:17oops ended up with 2x vm.cRobert Morris1+0-1
2010-08-30 14:23Merge remote branch 'origin/page' into pageRobert Morris2+2-0
2010-08-30 14:13xxRobert Morris3+4-4
2010-08-30 11:26no more xv6.pdf .psRobert Morris2+0-23941
2010-08-30 10:48we don't need CR0_WPRobert Morris1+1-3
2010-08-30 10:38set only PG and WP in vminit; the rest don't seem to be needed and are confusingRobert Morris3+5-3
2010-08-26 12:03Merge commit 'origin/page' into pageFrans Kaashoek21+351-167
2010-08-26 11:51add vm.cFrans Kaashoek2+2-0
2010-08-11 18:34uptime() sys call for benchmarking increase PHYSTOPRobert Morris9+47-9
2010-08-10 21:08allow sbrk(-x) to de-allocate user memoryRobert Morris4+89-4
2010-08-06 15:12fix corner cases in exec of ELF put an invalid page below the stack have fork() handle invalid pagesRobert Morris8+84-37
2010-08-06 01:16add some comments find out the hard way why user and kernel must have separate segment descriptorsRobert Morris6+30-19
2010-08-05 20:00remove some unused vm #defines fix corner cases with alignment when mapping kernel ELF fileRobert Morris4+28-66
2010-08-05 18:15move jkstack to main.c replace jstack with asm()sRobert Morris6+17-28
2010-08-05 16:10fix allocuvm() to handle sbrk() with non-page-granularity argument (maybe this never worked, but it works now)Robert Morris5+65-13
2010-07-28 18:38kill TLB shoot down codeFrans Kaashoek5+0-49
2010-07-26 12:10more cleanupFrans Kaashoek1+12-32
2010-07-26 00:30some cleanupFrans Kaashoek5+45-32
2010-07-23 16:52a few nits passes all tests on two-processor smpFrans Kaashoek3+1-4
2010-07-23 16:52oops, vm.cFrans Kaashoek1+353-0
2010-07-23 11:41Checkpoint page-table version for SMP Includes code for TLB shootdown (which actually seems unnecessary for xv6)Frans Kaashoek8+65-20
2010-07-02 21:45nitsFrans Kaashoek4+6-17
2010-07-02 18:51Initial version of single-cpu xv6 with page tablesFrans Kaashoek22+307-152
2010-02-06 21:08another rev2 -> rev3Russ Cox1+1-1
2010-02-06 20:55point at rev3Russ Cox1+2-2
2009-12-01 19:078ae0 instead of 8e00, thanks yandongFrans Kaashoek4+4-2
2009-11-23 22:50Add stressfs and gdbutil to distAustin Clements1+5-4
2009-11-23 22:47GDB utilitiesAustin Clements1+291-0
2009-11-23 22:27Add the test we used in lecture to creash the IDE system when the locks were moved around.Austin Clements2+39-0
2009-10-25 01:31Merge branch 'master' of git+ssh://am.lcs/home/am0/6.828/xv6Austin Clements1+3-1
2009-10-25 01:31Comment typoAustin Clements1+1-1
2009-10-07 21:42Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6Frans Kaashoek4+28-9
2009-10-07 21:42fine-tune commentFrans Kaashoek1+2-2
2009-10-07 19:31fine tune commentFrans Kaashoek1+3-1
2009-10-07 17:06Remove memcpy prototypes at Russ' request to prevent code from calling memcpy directly.Austin Clements3+1-2
2009-10-07 16:05Provide memcpy for compatibility with older versions of gccAustin Clements3+8-0
2009-10-05 17:20Record debug info for assmebly codeAustin Clements1+1-1
2009-10-01 02:32Handle backspace on serial input and output better. Better solutions are welcome.Austin Clements1+7-1
2009-10-01 02:09Be consistent with JOS make targetsAustin Clements1+5-1
2009-09-21 03:09Hack to make newlines on the serial port workAustin Clements1+3-0
2009-09-21 03:08Use the symbol fileAustin Clements1+3-4
2009-09-21 03:07xv6 runs the console on the serial port, not the parallel portAustin Clements1+2-2
2009-09-21 00:19nit in commentFrans Kaashoek1+1-1
2009-09-15 23:15add .gdbinit.tmpl to distSilas Boyd-Wickizer2+2-3
2009-09-15 23:15add uart.cSilas Boyd-Wickizer1+1-0
2009-09-15 21:21rev3Silas Boyd-Wickizer2+1-1
2009-09-15 21:21ignore .gitignoreSilas Boyd-Wickizer1+1-0
2009-09-15 21:15qemu-gdb target and scriptSilas Boyd-Wickizer2+41-2
2009-09-03 07:46new pdfRuss Cox2+1116-1115
2009-09-03 07:46formatting tweaksRuss Cox2+4-2
2009-09-02 17:09can set just %gs now.Russ Cox2+2-4
2009-09-02 17:07another attempt at cpu-local variables. this time do it ourselves instead of piggybacking on TLS. add -fno-pic to Makefile; pic code breaks our fake TLS.Russ Cox4+16-18
2009-09-02 17:06lapic: disable microdelay because it makes Bochs slowRuss Cox1+0-4
2009-09-02 14:59fix TLS again; still not quite but a lot better.Russ Cox2+7-3
2009-09-02 14:41Fix TLS for PIC systemsRuss Cox2+2-0
2009-09-02 06:03fix bootblock build with gcc 4.4Nickolai Zeldovich2+15-1
2009-08-31 06:02assorted fixes: * rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printoutRuss Cox23+2386-2328
2009-08-08 08:07shuffle and tweak for formatting. pdf has very good page breaks now. would be a good copy for fall 2009.Russ Cox24+6724-6527
2009-07-13 16:34exec tweaksRuss Cox1+11-6
2009-07-13 02:07remove //DOC in the right placeRuss Cox2+1-1
2009-07-13 01:56strip //DOC comments during printingRuss Cox1+1-0
2009-07-13 01:39mergeRuss Cox0+0-0
2009-07-13 01:33more doc tweaksRuss Cox4+52-54
2009-07-12 19:28undoSilas Boyd-Wickizer1+0-1
2009-07-12 19:17test commit emailSilas Boyd-Wickizer1+1-0
2009-07-12 02:28initproc, usegment, swtch tweaksRuss Cox4+46-60
2009-07-12 02:26spinlock: rename parameter lock -> lkRuss Cox1+15-15
2009-07-12 02:26mmu.h: unused SEG_NULLRuss Cox1+0-3
2009-07-12 02:26rearrangements and cleanup for textRuss Cox4+102-107
2009-07-12 02:24trap cleanupRuss Cox3+7-7
2009-07-12 02:15bootasm cleanupRuss Cox2+12-12
2009-07-12 01:17s/IRQ_OFFSET/T_IRQ0/: it's a trap number, not an irq number. move the SYSCALL number up, so does not overlap the IRQ traps.Russ Cox2+10-9
2009-05-31 05:13compile fixesrsc1+5-7
2009-05-31 05:12group locks into structs they protect. few naming nits.rsc10+82-80
2009-05-31 02:14usys.S: put before init.c, STUB -> SYSCALLrsc2+22-22
2009-05-31 02:11exec sanity checkrsc1+1-1
2009-05-31 02:07simplifyrsc3+16-29
2009-05-31 02:07use ftable like btable and itablersc1+21-22
2009-05-31 01:53fix bug fixrsc1+2-2
2009-05-31 01:44tidy fs.c; bmap callers always expected allocationrsc1+15-24
2009-05-31 01:34inode reuse bug.rsc1+1-1
2009-05-31 01:29bio.c: use struct like icache doesrsc1+31-30
2009-05-31 01:29ide.c: make names more regularrsc1+26-23
2009-05-31 01:12clean up %fs %gs usersc4+5-8
2009-05-31 01:00sync with c; .text is impliedrsc3+25-18
2009-05-31 00:59drop NADDRS and INDIRECT; too many namesrsc4+13-15
2009-05-31 00:39tab policersc4+42-42
2009-05-31 00:38move fork into proc.crsc3+25-28
2009-05-31 00:31missed this file in last checkinrsc1+6-1
2009-05-31 00:28Some proc cleanup, moving some of copyproc into allocproc.rsc9+147-118
2009-05-31 00:26move T_DIR etc into stat.h; move type uprsc3+6-5
2009-05-31 00:24Add serial port input/output. Delete parallel port output. Works well with qemu -nographic mode.rsc4+87-23
2009-05-31 00:23slight rearrangement; sleep on b not buf.rsc1+8-8
2009-05-26 16:58Add MIT license file; update xv6-rev2.tar.gz with LICENSE. Other files unchanged.rsc3+26-0
2009-03-08 22:07be consistent: no underscores in function namesrsc15+121-136
2009-03-08 21:41xv6: boot loader adjustmentsrsc4+41-31
2009-03-08 21:38xv6: use stosb for memsetrsc2+4-11
2009-03-08 21:27xv6/x86.h: add stosb, fix bugs in insl/outsl (rep not repne)rsc1+11-2
2009-03-08 20:56xv6/x86.h: inline assembly cleanuprsc1+8-8
2008-10-20 18:05Explain why itrunc() is OK w.r.t. crashes.rtm1+2-0
2008-10-17 12:42try harder to get directory refcounts rightkolya1+8-2
2008-10-16 15:18make mkdir crash-safer, as noticed by many students on midtermkolya1+11-7
2008-10-16 15:00free the indirect blockkolya1+1-0
2008-10-15 17:42as rtm noticed, avoid doubly-freeing pipe pagekolya1+4-3
2008-10-15 05:15indentkolya1+19-19
2008-10-15 05:14cleaner swtch.Skolya4+31-41
2008-10-15 05:01save cpus.intena in sched(), so we get the right EFLAGS.IF value once a timer-preempted kernel thread resumes execution in trap() after yield(). otherwise the kernel could get an arbitrary number of nested timer intrs.kolya1+5-1
2008-10-15 04:57check cp->killed before returning to user from a timer interruptkolya1+4-0
2008-10-15 04:54update .cvsignorekolya1+2-0
2008-10-12 20:19minor cleanupkolya2+3-3
2008-10-12 19:54minor cleanup with STUB macrokolya1+3-1
2008-10-12 18:45include explicitly initialized globals (int x = 0;) in cross-refs, also thanks to greg price.kolya2+2-5
2008-10-12 18:33fix: when two names only differed in case, crossrefs only included one of them. thanks to greg price.kolya1+1-1
2008-10-08 18:57be clear what the root i-number isrtm3+3-2
2008-09-28 10:53document lock->locked=0 vs xchg(&lock->locked, 0)rtm1+8-4
2008-09-24 18:20trap 9 does not push ec: fix from Greg Price <price@mit.edu>kolya1+1-1
2008-09-24 01:48always save and restore %fs, %gs to ensure old segment entries are never accessible to user from the hidden CPU segment registers.kolya2+12-4
2008-09-11 10:22restore std toolprefixrtm2+2-2
2008-09-11 10:20omit *.d from tar filertm3+2-3
2008-09-09 11:42add copyright noticekaashoek1+2-1
2008-09-03 14:10make bochsrc work for bochs 2.2.6kolya2+1-1
2008-09-03 14:05make pdf, ps, tarballkolya3+12698-12455
2008-09-03 12:29nits in index.txt add slides for shell, x86 intro, x86 virtual memory (deleted JOS from slides)kaashoek9+19-13
2008-09-03 04:50DO NOT MAIL: xv6 web pagesrsc37+9035-0
2008-08-28 17:57simplify growprocrtm1+2-3
2008-08-28 00:53avoid a bug w/ exit()rtm1+1-0
2008-08-28 00:52the old explanation of AP startup might have been correct, but I understand this one.rtm1+10-9
2008-08-22 00:26clean up circular buffers, so pipe can queue 512 bytes rather than 511kolya2+12-14
2008-08-21 23:24fix obvious printf nits after reading through codekolya2+2-2
2008-08-20 18:00now rev2rsc1+1-1
2008-08-20 18:00add nice fontrsc2+704-1
2008-08-20 18:00formatting updatesrsc2+33-43
2008-08-20 17:59bochs fasterrsc1+1-1
2008-08-20 17:46xv6: latest (as of January 2008)rsc2+0-0
2007-12-20 18:27oops - wrong bit (vic zandy)rsc1+1-1
2007-11-28 20:47fork minibugrsc2+27-1
2007-11-28 20:47More complete lapic startup (thanks Silas)rsc1+26-8
2007-11-28 20:17bda[0xE] is a 16-bit segment number, not a real address. So shift 4.rsc1+1-1
2007-10-20 18:25proc_wait -> waitrtm1+1-1
2007-10-12 04:21Model verifying that wakeup really can be called after release without causing deadlock.rsc2+150-0
2007-10-01 20:43Incorporate new understanding of/with Intel SMP spec.rsc5+25-36
2007-09-30 14:30Re: why cpuid() in locking code?rsc3+9-9
2007-09-30 14:20tricksrsc1+106-0
2007-09-27 21:37interrupts during system callsrsc1+1-1
2007-09-27 21:25Final word on the locking fiasco?rsc5+24-33
2007-09-27 21:02cleanerrsc2+3-11
2007-09-27 20:38yank out stack overflow checking uglinessrsc4+2-14
2007-09-27 20:32okay, that was long enough - revertrsc3+14-16
2007-09-27 20:29test: store curproc at top of stackrsc3+16-14
2007-09-27 20:25nitrsc1+1-1
2007-09-27 20:09rename splhi/spllo to pushcli/popclirsc6+22-22
2007-09-27 19:39overkill: use segments to catch stack overflow (delete before next year)rsc3+13-2
2007-09-27 19:35now spllo is okayrsc1+2-8
2007-09-27 19:33better lapic writes, suggested by cliffrsc1+26-19
2007-09-27 19:32use larger, allocated cpu stacksrsc2+16-23
2007-09-27 16:47don't call it ss - that's the stack segmentrsc1+2-2
2007-09-27 12:58kernel SMP interruptibility fixes.rsc10+107-33
2007-09-27 12:29use console lockrsc1+1-1
2007-09-27 12:29make slow bigdir last testrsc1+1-3
2007-09-27 11:27changes since two days ago:rsc1+1-2
2007-09-27 05:14use standard bios locationrsc1+1-2
2007-09-27 05:13believe it or not, this was workingrsc3+14-10
2007-09-26 23:32comment bochs nonsensersc1+2-0
2007-09-26 23:32various comment and print tweaksrsc1+7-6
2007-09-26 23:24debugging printsrsc1+3-0
2007-09-26 20:34Apparently the initial interrupt count lapic[TICR] must be set *after* initializing the lapic[TIMER] vector.rsc2+3-10
2007-09-25 16:15oops, interrupts on in syscall traps doesn't work after allrtm1+1-1
2007-09-25 15:23tell SETGATE to leave interrupts on for T_SYSCALL panic if unknown fault with CPL=0 (i.e. in kernel)rtm1+2-2
2007-09-19 23:49This should fix building on FreeBSDnelhage1+2-1
2007-09-18 00:41Fix compilation on 64-bit machines (thanks to andersk for patch)nelhage1+14-12
2007-09-15 20:05fix commentsrtm3+8-10
2007-09-05 15:55shrsc1+5-0
2007-08-31 19:55continuous quality managementrtm3+6-6
2007-08-30 18:36symlink implementationrsc1+151-0
2007-08-30 18:33do not toss .psrsc1+1-1
2007-08-30 18:30clumsy cdrsc1+8-0
2007-08-30 18:21make new Homework 8 workrtm2+1-2
2007-08-30 18:20oops - broke circular bufferrsc1+2-4
2007-08-30 18:19oops - broke arg countingrsc1+1-1
2007-08-30 17:39longjmp -> swtch in commentsrtm1+4-4
2007-08-30 14:12tweakrsc2+16-3
2007-08-30 14:11DO NOT MAIL: xv6-rev1rsc1+0-0
2007-08-30 14:09final xv6 for 2007rsc2+20342-17800
2007-08-29 19:20bootothers now in mainrsc1+3-3
2007-08-29 18:18spellingrtm1+3-4
2007-08-28 19:39final nitsrsc2+6-13
2007-08-28 19:30match READMErsc1+2-2
2007-08-28 19:30nitsrsc1+4-4
2007-08-28 19:25nitsrsc5+17-29
2007-08-28 19:14delete proc_ on proc_exit, proc_wait, proc_killrsc4+12-12
2007-08-28 19:04comments; rename irq_ to pic_rsc9+25-18
2007-08-28 18:37spaces around else for rtmrsc12+23-24
2007-08-28 18:32more consistent spacingrsc17+59-59
2007-08-28 18:23nitsrsc9+24-61
2007-08-28 18:04fix offsetsrsc1+2-2
2007-08-28 18:02more cmain -> bootmainrsc2+2-2
2007-08-28 17:49Change dev read/write functions to take inode* instead of minor number.rsc3+12-7
2007-08-28 17:48oopsrsc1+2-2
2007-08-28 13:01cmain -> bootmainrsc2+3-3
2007-08-28 12:52nitrsc1+1-3
2007-08-28 12:48replace setjmp/longjmp with swtchrsc7+55-86
2007-08-28 05:19never returns!rsc1+1-1
2007-08-28 05:01nitsrsc2+1-3
2007-08-28 05:00formattingrsc2+3-1
2007-08-28 05:00clumsy blank pages to make some files align betterrsc3+101-0
2007-08-28 04:41rename 8253pit -> timerrsc1+1-1
2007-08-28 04:40rename 8253pit.c to timer.crsc5+38-51
2007-08-28 04:26runoffrsc2+6-5
2007-08-28 04:26add grep; add lost echorsc2+108-0
2007-08-28 04:26avoid double echorsc1+0-1
2007-08-28 04:22remove _ from pipe; be like filersc4+12-12
2007-08-28 04:20clean up Makefile; add wcrsc2+108-77
2007-08-28 04:20add struct stat declrsc1+2-0
2007-08-28 04:20do not call proc_exit until lock droppedrsc1+18-20
2007-08-28 04:19oopsrsc1+1-1
2007-08-28 04:15handle printf("%s\n", 0)rsc1+2-0
2007-08-28 04:14nitrsc1+1-1
2007-08-28 04:13oopsrsc1+2-1
2007-08-28 04:13nitrsc4+11-13
2007-08-28 03:46formatting tweaksrsc1+66-55
2007-08-28 03:32comment non-check of cp->killedrsc1+1-0
2007-08-28 03:31No one is going to find this inode. There is only one ref to it -- the caller -- and no links to it.rsc1+1-1
2007-08-28 03:28New shell.rsc1+406-271
2007-08-28 03:28Move keyboard code into kbd.c; add backspace handling.rsc4+164-129
2007-08-28 02:39oopsrsc1+1-1
2007-08-27 23:55move mp.h to low-levelrsc1+1-4
2007-08-27 23:54no more ioapic.hrsc1+18-1
2007-08-27 23:53make code match commentrsc1+1-1
2007-08-27 23:53make code match commentrsc2+7-8
2007-08-27 23:53make code match commentrsc1+1-1
2007-08-27 23:32Rename main0 to main.rsc4+5-4
2007-08-27 23:26delete unnecessary #include linesrsc27+73-90
2007-08-27 22:53Simplify MP hardware code. Mainly delete unused constants and code.rsc6+210-450
2007-08-27 16:57Clean up lapic code.rsc3+123-177
2007-08-27 16:55nitsrsc1+6-6
2007-08-27 16:12nitsrsc1+13-17
2007-08-27 16:06nitsrsc1+10-12
2007-08-27 16:06oopsrsc1+1-0
2007-08-27 15:17Edit exec.rsc1+59-77
2007-08-27 14:39nitsrsc1+7-17
2007-08-27 14:37formatting shufflersc1+39-42
2007-08-27 14:35fileincref -> filedup (consistent with idup)rsc4+9-9
2007-08-27 14:31nitsrsc1+23-29
2007-08-27 14:23tell what an inode isrsc1+9-4
2007-08-27 14:20FS cleanup.rsc1+52-46
2007-08-27 14:09Another attempt at the bio.c comment.rsc3+36-39
2007-08-27 13:34Replace yield system call with sleep.rsc9+52-26
2007-08-27 13:11formatting, fix commentrsc1+21-16
2007-08-27 12:50make kfree loop same as kallocrsc1+5-8
2007-08-27 12:48nitsrsc3+5-3
2007-08-27 12:48cut bootmain to 1 sheetrsc1+8-28
2007-08-24 22:17shuffle for formattingrsc2+37-30
2007-08-24 22:17minor cleanupsrsc1+62-68
2007-08-24 21:33nitrsc1+1-1
2007-08-24 21:14nitsrsc1+2-4
2007-08-24 21:00first ever correct use of strncpyrsc3+17-24
2007-08-24 20:59remove unused variablersc1+1-1
2007-08-24 20:54Remove struct uinode. Remove type arg to mknod (assume T_DEV).rsc10+130-141
2007-08-24 20:28not first anymorersc1+2-3
2007-08-24 20:28nitsrsc5+51-52
2007-08-24 20:27alignrsc1+2-2
2007-08-24 20:22make wakeup1 staticrsc1+6-3
2007-08-24 20:20test that fork fails gracefullyrsc3+103-4
2007-08-24 20:06Reorder spinlock.c: acquire and release firstrsc1+26-25
2007-08-24 20:04Add yield system call, for zombie test program (bad idea?).rsc5+16-1
2007-08-24 20:03Remove puts in favor of printf. Allow multiple arguments to ls.rsc7+82-97
2007-08-24 19:52comment nitsrtm3+3-8
2007-08-24 19:46nitsrsc2+2-2
2007-08-24 19:37finish commentsrsc1+2-1
2007-08-24 19:36tweakrsc1+3-7
2007-08-24 19:32simplify ide queuing nits in commentsrtm8+79-89
2007-08-24 19:25bring bootasm and bootother more in syncrsc2+48-58
2007-08-24 18:52Rework comments a bit.rsc1+25-29
2007-08-24 14:56add missing iput() at end of _namei()rtm7+110-17
2007-08-24 12:55oops, O_CREATE doesn't truncate, so holes can't exist, thus no bugrtm1+0-71
2007-08-24 12:19test concurrent open/unlink of same file (ok) test files with holes (not ok)rtm1+89-3
2007-08-24 00:34comment what +m means; omit needless __rsc1+27-25
2007-08-24 00:02omit needless ampersandsrsc1+2-2
2007-08-23 23:58align, sortrsc1+121-124
2007-08-23 14:40Use parent pointer instead of ppid.rsc2+8-10
2007-08-23 14:35avoid hardcoding init as pid 1 proc[0]rsc1+13-7
2007-08-22 17:45my mistake found by robertrsc1+1-1
2007-08-22 14:38NREQUEST = NBUFrsc1+1-1
2007-08-22 14:21better commentrsc1+3-7
2007-08-22 06:20tweaksrsc3+23-23
2007-08-22 06:01PDF at http://am.lcs.mit.edu/~rsc/xv6.pdfrsc25+633-666
2007-08-22 05:57cleanuprsc1+12-14
2007-08-22 05:54add lnrsc2+20-1
2007-08-22 02:21check unlink of non-empty directoryrsc1+27-5
2007-08-21 20:01ARGMAX -> MAXARGSrsc1+3-3
2007-08-21 19:58remove namelen parameterrsc2+82-71
2007-08-21 19:22remove dead codersc1+0-16
2007-08-21 19:22Various cleanup:rsc12+455-414
2007-08-20 21:00bug in usertests!rsc1+2-2
2007-08-20 19:37checkpoint - simpler namei interfacersc4+135-121
2007-08-20 18:55no more wrsc1+6-6
2007-08-20 18:23shuffle fs.c in bottom-up orderrsc5+316-320
2007-08-14 19:42cleanup looprsc1+10-12
2007-08-14 19:41formatting, cleanuprsc1+55-57
2007-08-14 19:41formattingrsc1+2-0
2007-08-14 19:41nitrsc1+0-1
2007-08-14 19:41fixesrsc1+7-7
2007-08-14 19:31formatting; split kbd constants into kbd.hrsc3+177-184
2007-08-14 19:10i cannot prove that release before wakeup is wrong, but i cannot convince myself it is right eitherrsc1+2-8
2007-08-14 19:05formatting, simplifyrsc1+17-24
2007-08-14 18:46formatting, sleep bug fixrsc1+7-1
2007-08-14 18:42formattingrsc6+63-4
2007-08-14 14:24ide_write unused => gonersc1+0-27
2007-08-14 04:56Gcc expects to be able to pick up the return address off the stack, so put one there for it. (Bug was hidden by bad segment limits.)rsc1+11-4
2007-08-14 04:55Because limit gives the address of the last addressable byte in the segment, the limit argument to SEG16 and SEG needs to have 1 subtracted from it.rsc1+4-4
2007-08-14 04:06dittorsc1+1-1
2007-08-14 04:05Cannot use "g" as an arg constraint because some memory references aren't actually valid and gcc is a bit too smart in parsing (%0) and a bit too dumb in knowing which memory refs are not valid. Using "r" seems to constrain gcc to use a register as in (%eax) and not substitute a memory reference like (-36(%ebp)).rsc1+1-1
2007-08-10 17:53add test for rm .rsc2+41-3
2007-08-10 17:45nitrsc1+2-2
2007-08-10 17:45correct line numbersrsc1+4-1
2007-08-10 17:19add notersc2+9-3
2007-08-10 17:17and spinlockrsc1+4-1
2007-08-10 17:17avoid assignments in declarationsrsc8+44-36
2007-08-10 17:05replace bogus loops with slightly less bogus loops.rsc1+3-5
2007-08-10 17:02tweak kallocrsc1+7-7
2007-08-10 17:00cleanup mainrsc1+18-12
2007-08-10 16:52various cleanupsrsc1+42-55
2007-08-10 16:37Make cp a magic symbol.rsc10+32-41
2007-08-10 16:35move variable declaration uprsc1+3-2
2007-08-09 19:06The final curproc[cpu()] is now cprsc1+3-4
2007-08-09 19:05Clearer nameirsc1+106-69
2007-08-09 17:53oopsrsc1+1-1
2007-08-09 17:32try to use cp only for curproc[cpu()]rsc4+37-36
2007-08-09 16:56spacingrsc1+4-4
2007-08-08 10:32notesrsc1+13-0
2007-08-08 10:29check p->killed for long-lived sleepsrsc3+10-4
2007-08-08 10:272007rsc1+3-3
2007-08-08 10:27help gccrsc1+1-1
2007-08-08 09:53move ialloc body up, avoiding double check for end of looprsc1+7-11
2007-08-08 09:50panic like bgetrsc1+1-1
2007-08-08 09:50refactor bget to be more like iget - make it clear that sleep loopsrsc1+28-27
2007-08-08 09:44unusedrsc1+0-1
2007-08-08 09:43cleaner tablersc1+1-1
2007-08-08 09:42cleaner tablersc1+9-9
2007-08-08 09:41convert syscall dispatch to tablersc2+31-64
2007-08-08 09:32missing voidrsc3+13-13
2007-08-08 09:30fix error messagersc1+1-1
2007-08-08 09:30standardize on not using unsigned keywordrsc3+6-6
2007-08-08 09:30iincref returns new refrsc3+7-8
2007-08-08 09:29fix index bugrsc2+14-15
2007-08-08 09:17make ls work on directoriesrsc2+10-5
2007-08-08 09:12spacingrsc2+17-20
2007-08-08 09:10more bugsrsc2+3-10
2007-08-08 09:08fix . .. unlink bugrsc2+6-2
2007-08-08 09:02donersc1+0-3
2007-08-08 09:02add DPL_USER constantrsc4+8-6
2007-08-08 08:57set init namersc1+1-0
2007-08-08 08:57fix various bugsrsc2+9-14
2007-08-08 08:57silence warningrsc1+1-0
2007-08-08 08:57watch for zombiesrsc1+1-1
2007-08-08 08:56atoi, for killrsc2+12-0
2007-08-08 08:50add killrsc2+25-4
2007-08-08 08:44spacingrsc1+2-2
2007-08-08 08:40oopsrsc1+1-1
2007-08-08 08:39fix wait bug in initrsc2+4-7
2007-08-08 08:39handle EOF in shellrsc1+5-2
2007-08-08 08:38add zombie programrsc2+23-5
2007-08-08 08:38comment tweaks; more informative process listrsc1+17-3
2007-08-08 08:38save process name for debuggingrsc3+12-5
2007-08-08 08:37add safestrcpyrsc2+17-0
2007-08-08 08:27typorsc1+1-1
2007-08-08 08:04change gets to return \n, to distinguish 0-byte read from empty linersc1+1-1
2007-08-08 08:04add EOF handling to console_read - works with catrsc1+18-13
2007-08-08 07:43add rule to generate init.symrsc1+1-0
2007-08-08 07:41add bootmain.c to runoff.listrsc2+1-3
2007-06-29 17:35forgot to check in long agorsc1+3-0
2006-10-19 13:10bug reported by nelsonkaashoek1+3-0
2006-10-18 14:58record tim's bug and patchkaashoek1+3-2
2006-10-13 19:55a few noteskaashoek1+8-0
2006-09-17 22:01a few other nitskaashoek1+12-2
2006-09-17 19:21Have kernel build rule create kernel.sym, which can be used in Bochs to make breakpoint setting easier:rsc1+1-0
2006-09-17 19:19accumulate bugsrsc1+36-0
2006-09-08 16:19a copy of xv6.pdf that can be sent to turkey and duplexes correctlyrsc1+20918-0
2006-09-08 15:55sent to printer - CTC job 6955 40 copiesrsc1+0-0
2006-09-08 15:44dist tarballrsc1+0-0
2006-09-08 15:39fix toc examplersc1+6-6
2006-09-08 15:34tweakrsc1+1-0
2006-09-08 15:31shortenrsc1+9-13
2006-09-08 15:31unnecessary struct jmpbufrsc1+0-1
2006-09-08 15:18make lines shorterrsc1+2-2
2006-09-08 15:15nitrsc1+1-1
2006-09-08 15:14formatting nitsrsc4+17-13
2006-09-08 15:09only need a pagersc1+1-1
2006-09-08 15:07consistency.kaashoek2+45-42
2006-09-08 14:48use bootstrap processor as specified by MP table. typically 0, but not guaranteed.kaashoek2+9-6
2006-09-08 14:46update line numbersrsc1+6-6
2006-09-08 14:41xv6 stylersc1+22-23
2006-09-08 14:41dist rulesrsc1+32-2
2006-09-08 14:40tweaksrsc2+12-3
2006-09-08 14:40fix file namesrsc1+3-3
2006-09-08 14:36wording nitrsc1+1-1
2006-09-08 14:36some comment changeskaashoek7+15-16
2006-09-08 14:33move ide_intr lowerrsc1+9-9
2006-09-08 14:31tweak fs.h spacing; add commentrsc1+2-0
2006-09-08 14:29make trap fit on one pagersc1+6-12
2006-09-08 14:26move growproc up higherrsc1+21-20
2006-09-08 14:26++rsc1+1-1
2006-09-08 14:20make setjmp fit on one pagersc1+6-8
2006-09-08 14:19can break after }; toorsc1+1-1
2006-09-08 13:55fix various commentsrsc3+3-9
2006-09-08 13:53runoff changesrsc5+160-91
2006-09-08 13:44quietrsc1+2-2
2006-09-08 13:44stop using fd to name filesrsc2+60-60
2006-09-07 21:03minor makefile fixes for printing cut last line of readme so that readme fits on single pagekaashoek2+3-5
2006-09-07 20:28a bit more structurekaashoek1+8-3
2006-09-07 20:06explain how to usersc1+21-2
2006-09-07 20:06new targets bochs and qemursc1+31-21
2006-09-07 20:06fix testsrsc1+9-3
2006-09-07 19:37add copyright noticekaashoek1+3-0
2006-09-07 16:54debugging helprsc1+1-0
2006-09-07 16:54missing defrsc1+1-0
2006-09-07 16:54fix disk bugrsc1+3-0
2006-09-07 16:54better commentrsc1+1-1
2006-09-07 16:54check preconditions in schedrsc1+5-0
2006-09-07 16:53comment memory barriersrsc1+8-1
2006-09-07 16:53no recursive interruptsrsc1+34-31
2006-09-07 16:52debugging rearrangementsrsc1+12-10
2006-09-07 15:45debugging printsrsc3+40-13
2006-09-07 15:34allow long names againrsc1+7-8
2006-09-07 15:31remove bogus testrsc1+0-6
2006-09-07 15:31commentsrsc1+6-5
2006-09-07 15:29fix ide, pit interfacesrsc7+53-56
2006-09-07 15:15check super-long lookupsrsc1+7-1
2006-09-07 15:15clean namei search looprsc1+23-22
2006-09-07 14:39fix build bugrsc1+1-1
2006-09-07 14:38fix pipe bugrsc1+2-0
2006-09-07 14:28commentsrsc4+109-16
2006-09-07 14:17remove fstestkaashoek1+2-2
2006-09-07 14:13refactor syscall codersc6+193-243
2006-09-07 14:12more commentsrsc13+151-81
2006-09-07 14:10fix buildrsc2+8-8
2006-09-07 13:23one regression test programkaashoek5+894-941
2006-09-07 13:08remove _ prefixesrsc5+23-25
2006-09-07 13:07comment fixesrsc2+3-2
2006-09-07 13:07avoid system binary clashesrsc2+31-25
2006-09-07 13:07better page breaksrsc1+89-8
2006-09-07 03:16more simplifyingkaashoek1+12-15
2006-09-07 02:15get precedence of <, >, and | right simplifykaashoek2+52-60
2006-09-07 01:56more defensive programmingrsc1+4-1
2006-09-07 01:37run without lapic and ioapic, if they are not present if no lapic available, use 8253pit for clock now xv6 runs both on qemu (uniprocessor) and bochs (uniprocessor and MP)kaashoek12+129-48
2006-09-07 00:00nit in console interruptskaashoek2+3-3
2006-09-06 19:47fd.c -> file.crsc1+1-1
2006-09-06 19:43runoff fixesrsc1+50-41
2006-09-06 19:22runoff tweaksrsc4+11-9
2006-09-06 19:11goodbye lgrindrsc2+0-1079
2006-09-06 19:11clean up after mkfsrsc1+2-0
2006-09-06 19:08wrap long linesrsc18+181-154
2006-09-06 18:47for vs whilersc5+5-5
2006-09-06 18:47weird spacingrsc2+5-5
2006-09-06 18:43fd_* => file_*rsc6+41-41
2006-09-06 18:40fd.* -> file.*rsc9+157-157
2006-09-06 18:38struct fd -> struct filersc9+52-55
2006-09-06 18:21what is NULL?rsc1+1-1
2006-09-06 18:19renumber system callsrsc1+12-12
2006-09-06 18:19split syscall.c into sysfile.c and sysproc.crsc5+590-534
2006-09-06 18:18rm rmrsc1+3-0
2006-09-06 18:06writeable => writablersc5+11-11
2006-09-06 17:57break single-line if statementsrsc4+20-10
2006-09-06 17:54more named constantsrsc1+10-6
2006-09-06 17:53more tabs go awayrsc3+69-69
2006-09-06 17:50no /* */ commentsrsc22+350-374
2006-09-06 17:27standardize various * conventionsrsc43+503-503
2006-09-06 17:10standardize on unnamed args in prototypesrsc1+46-46
2006-09-06 17:06spacingrsc1+10-10
2006-09-06 17:04spacing fixes: no tabs, 2-space indents (for rtm)rsc33+916-908
2006-09-06 16:38print "0" for null stringrsc1+7-3
2006-09-06 16:36tweakrsc1+3-1
2006-09-06 16:35clear np->mem after freeingrsc1+1-0
2006-09-06 15:32some pipe support in sh bug in proc_waitkaashoek3+141-85
2006-09-06 01:25nitskaashoek3+8-22
2006-09-06 00:07change sections and order of files in printoutkaashoek1+15-7
2006-09-05 15:50New formatting scripts.rsc4+185-9
2006-09-04 12:41a few nitskaashoek3+1-4
2006-09-04 11:52nitsrtm2+11-13
2006-09-03 18:32nitskaashoek3+10-8
2006-09-03 17:34don't send keyboard interrupts to the second cpu, if we have only one cpu. xv6 seems to work fine on uniprocessor now.kaashoek2+3-3
2006-09-03 15:39remove duplication don't use the same name for two different pieces of codekaashoek8+13-17
2006-09-03 15:10centralize creditskaashoek8+15-15
2006-09-03 14:38index for printout some cleanupkaashoek2+854-5
2006-08-30 18:55complain if no disk 1 lots of cleanuprtm10+35-122
2006-08-29 21:35nitsrtm3+10-15
2006-08-29 19:59clear killed flag in exit idecref cwd in exitrtm6+12-12
2006-08-29 19:06prune unneeded panics and debug outputrtm15+84-172
2006-08-29 17:50better printoutkaashoek2+244-6
2006-08-29 17:01i broke sbrk, fix itrtm5+13-10
2006-08-29 14:45clean up stale error checks and panics delete unused functions a few commentsrtm11+46-347
2006-08-28 18:31some text in readme generate postscript printoutkaashoek3+32-1
2006-08-28 15:24remove smallcap versionkaashoek1+0-1
2006-08-26 16:31consistently ignore more than 14 chars in path component forbid create or write of existing directory mkdir("d1/d2/d3"), .. should refer to d2, not cwd mkdir increase parent link countrtm3+91-10
2006-08-26 15:06mkdir check error from mknod chdir return -1 if target not a dirrtm3+81-10
2006-08-25 01:37fstests bugsrtm1+5-5
2006-08-25 01:25fix writing the indirect blockrtm1+1-1
2006-08-25 01:11inode addrs[NDIRECT] -> NADDRS fix race in mknod / creat use last component in dirent in mknod, not pathrtm7+208-31
2006-08-25 00:43kill user process when it generates an unhandled trap (e.g., 13) fix bug in test code of mallockaashoek3+3-19
2006-08-24 19:24bug in sbrk test mallockaashoek4+49-8
2006-08-24 19:21big directory testrtm3+59-3
2006-08-24 17:28fix bugs in indirect-file code clean up test programkaashoek2+143-36
2006-08-24 02:44user-level malloc (untested) nit in sbrk indirect block fix dup to share fd structkaashoek10+210-52
2006-08-23 01:09i/o redirection in sh better parsing of sh commands (copied from jos sh) cat: read from 1 if no args sbrk system call, but untested getpid system call moved locks in keyboard intr, but why do we get intr w. null characters from keyboard?kaashoek15+429-69
2006-08-20 03:33compiling, but untested dupkaashoek3+24-12
2006-08-20 03:08removed block system call renumber system calls (run gmake clean!) skeleton for dup system callkaashoek7+43-59
2006-08-19 23:41chdir cd in shell nits in mkdir, ls, etc.kaashoek11+90-20
2006-08-16 01:56proc[0] can sleep(), at least after it gets to main00() proc[0] calls iget(rootdev, 1) before forking initrtm4+48-22
2006-08-15 22:18no more proc[] entry per cpu for idle loop 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].mpstackrtm8+456-616
2006-08-15 15:54oopskaashoek1+1-1
2006-08-15 15:53commented out code for cwdkaashoek8+24-4
2006-08-14 21:22user-level programs: mkdir and rm shell parses arguments (very simplistic) readme version of README (sh doesn't deal with capital characters) printf recognizes %c nicer output format for lskaashoek8+91-9
2006-08-14 14:13set size for directories correctly in wdir and mkfs mkdir ls shows stat info for each dir entrykaashoek5+36-14
2006-08-14 03:00start on mkdir statkaashoek7+73-7
2006-08-13 20:06wdir now uses readi/writeirtm2+13-33
2006-08-13 15:51fix iget() bug that allocated in-use inode[] entriesrtm7+20-61
2006-08-13 15:05don't print unallocated dir entrieskaashoek1+2-1
2006-08-13 12:22namei returns locked parent dir inode for create / unlink don't hold fd table lock across idecref() (latter does block i/o) idecref calls iput() in case last ref -> freeing inode dir size is 512 * # blocks, so readi/writei &c work unlink deletes dirent even if ip->nlink > 0rtm7+120-82
2006-08-13 05:28zero freed blocks multi-block directories track size of directory (size = number entries in use) should namei (and other code that scans through directories) scan through all blocks of a directory and not use size?kaashoek2+34-8
2006-08-13 02:12link()rtm11+149-39
2006-08-12 22:44zero out all of dirent.name when creating don't increase length of directoryrtm4+20-17
2006-08-12 22:34LRU disk cache replacementrtm5+51-12
2006-08-12 22:03free inode only when noone is holding a pointer to it. should fix open-unlink- read problem, but untestedkaashoek1+43-36
2006-08-12 17:17buffer cache, fifo replacementrtm4+24-5
2006-08-12 16:47mknod set nlink = 1 usertests for concurrent create/delete, and read() after unlink()rtm2+119-3
2006-08-12 11:38fix getblk to actually lock the block no more cons_put system calls usertests tests two processes writing filesrtm11+159-86
2006-08-12 04:33fstat primitive lskaashoek11+115-5
2006-08-12 01:25unlink,mknod,create with multi-component pathnames should work now remove console init code from userfskaashoek4+41-33
2006-08-11 18:18fix deadlock---iput(dp) asap working unlink, but doesn't free dir blocks that become empty remove out-of-date comment in ioapickaashoek5+73-33
2006-08-11 13:55init creates console, opens 0/1/2, runs sh sh accepts 0-argument commands (like userfs) reads from consolertm11+163-39
2006-08-10 22:08interrupts could be recursive since lapic_eoi() called before rti so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()rtm16+194-28
2006-08-10 02:07low-level keyboard input (not hooked up to /dev yet) 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...rtm14+249-14
2006-08-10 01:28printf convert userfs to use printf bfree ifree writei start on unlinkkaashoek11+238-42
2006-08-09 19:25iread for T_DEV O_RDWR, etc. create filekaashoek5+41-12
2006-08-09 17:25fix test program: don't close before writing set fd to writeable on open for writekaashoek3+1-11
2006-08-09 16:04devsw checkpoint: write(fd,"hello\n",6) where fd is a console dev almost workskaashoek9+68-2
2006-08-09 01:19oops, update directory inode tookaashoek1+9-2
2006-08-09 01:09block bitmap ballockaashoek3+103-30
2006-08-08 19:58fix race in holding() check in acquire() 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 filesrtm20+209-55
2006-08-08 18:07mknod,ialloc,iupdatekaashoek9+152-2
2006-08-07 01:38bwritekaashoek4+33-8
2006-08-06 20:28generalize async read to support write tookaashoek3+17-12
2006-08-04 18:23nitkaashoek2+18-20
2006-08-04 18:12better interrupt plan---this one appears to work ioapickaashoek11+217-12
2006-07-29 09:35open()rtm17+89-13
2006-07-29 01:20acquire+release ide_lock in ide_intrkaashoek1+3-1
2006-07-28 22:33exec argumentsrtm7+89-17
2006-07-27 21:10primitive execrtm10+243-42
2006-07-26 10:17updatertm1+3-2
2006-07-21 22:10nameirtm7+164-11
2006-07-21 13:18bread iget mkfs makes a file system image put this in your .bochsrc: ata0-slave: type=disk, mode=flat, path="fs.img", cylinders=1024, heads=1, spt=1rtm12+377-32
2006-07-20 09:07uint32_t -> uint &crtm17+252-271
2006-07-18 19:22prevent longjmp / forkret from writing over tf->edirtm3+9-6
2006-07-17 05:00add ide_lock for sleeprsc6+41-8
2006-07-17 01:58standarize on unix-like lowercase struct namesrsc10+59-59
2006-07-17 01:53no more cons_putc; real_cons_putc -> cons_putcrsc2+7-18
2006-07-17 01:52add uint and standardize on typedefs instead of unsignedrsc15+84-82
2006-07-17 01:51cleanerrsc1+2-2
2006-07-17 01:36goodbye PushRegsrsc4+6-9
2006-07-17 01:36cleanerrsc1+2-2
2006-07-17 01:25nitpicksrsc11+29-32
2006-07-16 16:55Eliminate annoying Pseudodesc structure. Eliminate unnecessary parts of mmu.h.rsc6+32-107
2006-07-16 16:06various little fixes that should have been in earlier checkinsrsc2+0-3
2006-07-16 16:05more idiomatic crsc1+5-8
2006-07-16 16:04no memlayout.hrsc1+0-1
2006-07-16 16:04was empty; gonersc1+0-0
2006-07-16 16:03fix main return typersc2+7-4
2006-07-16 16:00add %s to cprintf for cons_putsrsc3+23-1
2006-07-16 15:50Keep interrupts disabled during startup.rsc3+32-19
2006-07-16 15:41standardize on not using foo_ prefix in struct foorsc10+181-180
2006-07-16 15:40rename swtch.S to setjmp.Srsc1+0-0
2006-07-16 15:40standardize on #include "foo" not <foo>rsc2+5-5
2006-07-16 15:38add minimal comments to generator vector tablersc1+6-3
2006-07-16 15:38remove acquire1 and release1rsc2+4-18
2006-07-16 15:38add cons_puts for atomic (readable) outputrsc2+41-5
2006-07-16 15:36Add user.h for prototypes. Add cons_puts for cleaner output.rsc6+40-6
2006-07-16 15:35tidy uprsc1+24-13
2006-07-16 02:09Don't kill process when inside kernel.rsc1+10-3
2006-07-16 02:04more name cleanuprsc2+8-10
2006-07-16 01:52remove non-idiomatic increment/decrementrsc3+3-10
2006-07-16 01:49Rename fd_reference to more suggestive fd_incref. (Fd_reference sounds like it might just return the ref count.)rsc3+3-3
2006-07-16 01:47Attempt to clean up newproc somewhat.rsc7+98-79
2006-07-16 01:15New scheduler.rsc11+224-205
2006-07-16 01:12Undo change from this morning that wasn't intended to get in.rsc1+1-1
2006-07-15 17:24move everything having to do with proc_table_lock into proc.crsc4+62-47
2006-07-15 17:23silence load_icode signedness warningrsc1+3-3
2006-07-15 17:17Add void for ANSI Crsc1+11-13
2006-07-15 17:13Change fetchint, fetcharg, and putint to return -1 on error, 0 on success. They had been returning 0 on error, 1 on success, but all the callers were checking for return value < 0.rsc1+5-5
2006-07-15 12:03no more recursive locks 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 bytertm15+229-102
2006-07-12 17:19and the filekaashoek1+204-0
2006-07-12 17:00extract lapic code from mp.ckaashoek4+18-206
2006-07-12 15:35passes both usertests exit had acquire where I meant release swtch now checks that you hold no locksrtm6+34-31
2006-07-12 11:15i think my cmpxchg use was wrong in acquire 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)rtm11+85-32
2006-07-12 09:10cvs add spinlock.h fix race in schedule()rtm4+17-3
2006-07-12 01:48no more big kernel lock succeeds at usertests.c pipe testrtm15+202-95
2006-07-11 18:45give each cpu its own clock, so that preemption works on cpu 1rtm2+4-2
2006-07-11 17:39pre-empt both user and kernel, in clock interrupt usertest.c tests pre-emption kill()rtm12+152-47
2006-07-11 01:07Changes to allow use of native x86 ELF compilers, which on my Linux 2.4 box using gcc 3.4.6 don't seem to follow the same conventions as the i386-jos-elf-gcc compilers. Can run make 'TOOLPREFIX=' or edit the Makefile.rsc19+199-130
2006-07-10 19:06queue with disk requestskaashoek4+62-24
2006-07-10 16:27oopskaashoek1+8-0
2006-07-10 13:08read the disk using interruptskaashoek4+36-17
2006-07-06 21:47disable all interrupts when acquiring lock user program that makes a blocking system callkaashoek10+58-14
2006-07-05 20:00timer interrupts disk interrupts (assuming bochs has a bug)kaashoek9+198-151
2006-07-01 21:26swtch saves callee-saved registers swtch idles on per-CPU stack, not on calling process's stack fix pipe bugs usertest.c tests pipes, fork, exit, closertm14+212-55
2006-06-28 16:44disable interrupts when holding kernel lockkaashoek3+10-0
2006-06-28 16:35timer interruptskaashoek6+71-78
2006-06-27 14:35file descriptors pipesrtm16+424-39
2006-06-26 20:31system call return values initialize 2nd cpu's idtrtm6+43-19
2006-06-26 16:40stick mpstack in cpu structurekaashoek2+7-9
2006-06-26 15:11system call argumentsrtm7+65-7
2006-06-24 22:47boot more than two CPUs, each on own initial stackrtm4+35-24
2006-06-22 20:50bug in trapretrtm1+1-0
2006-06-22 20:47compile "user programs" curproc arrayrtm11+139-64
2006-06-22 15:51send console output to parallel portrtm2+22-0
2006-06-22 15:28oopskaashoek2+16-0
2006-06-22 01:28checkpoint. booting second processor. stack is messed up, but thanks to cliff and plan 9 code, at least boots and gets into C code.kaashoek13+505-151
2006-06-21 01:53start on MP; detect MP configurationkaashoek7+323-2
2006-06-16 20:29checkpointrtm5+228-7
2006-06-15 19:58sleep, wakeup, wait, exitrtm7+93-6
2006-06-15 16:02primitive fork and exit system callsrtm12+166-37
2006-06-13 22:08fix some trap bugsrtm4+26-6
2006-06-13 15:50foortm1+34-0
2006-06-13 15:50more or less take traps/interruptsrtm7+790-69
2006-06-12 15:27xxrtm2+81-5
2006-06-12 15:22importrtm18+1505-0